当前位置:文档之家› 倒计时器

倒计时器

一、设计目的:训练学生综合运用己学课程的基本知识,独立进行单片机应用技术开发工作, 掌握单片机程序设计、调试,应用电路设计、分析及调试检测。 二、设计要求: 1. 应用MCS-5l单片机设计红外防盗报警器; 2. 选用被动式红外防盗报警方式,报警输出采用声(喇叭)光(报警灯闪烁)报警; 3. 硬件设计根据设计的任务选定合适的单片机,根据控制对象设计接口电路。设计的单元电路 必须有工作原理,器件的作用,分析和计算过程; 4. 软件设计根据电路工作过程,画出软件流程图,根据流程图编写相应的程序,进行调试并打 印程序清单; 5. 原理图设计根据所确定的设计电路,利用Protel等有关工具软件绘制电路原理图、PCB板图、 提供元器件清单。 三、参考资料: [1] 单片微型计算机与接口技术,李群芳、黄建编著,电子工业出版社; [2] 单片机原理及应用,张毅刚编著,高等教育出版社; [3] 51系列单片机及C51程序设计,王建校,杨建国等编著,科学出版社; [4] 单片机原理及接口技术,李朝青编著,北京航空航天大学出版社;
2.5数码管显示电路
数码管分为共阳数码管和共阴数码管两种;
如上图所示:(a)为共阴数码管,给其高电平,数码管就会显
示。(b)为共阳数码管,给其低电平,数码管就会显示。数码管的八 段分别用二进制控制0和1的不同显示,就能显示出所要的数字。那么共 阳与共阴数码管的段码分别为: 共阳: {0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; 共阴:{0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d, 0x07,0x7f,0x6f}。 本系统的倒计时时间的最大范围是9999秒,显示格式是 9999/999/99/9。从格式可知数码管显示电路要用到4位数码管。考虑到 数码管的段和位比较多,本系统选着了两个4位一体的共阳数码管和一 个一位的共阳数码管。数码管有段选和位选控制,在此电路中有8个位 选,8个段选(每一个数码管的段选进行并联)。分别用单片机的P0口 和P1进行8个位的控制。
2.4按键电路
本系统的按键电路的作用是能够调整倒计时的初始值.倒计时是按 9999、999、99、9顺序排列显示的,用四个按键分别设定它们四种初始 状态,所达到的效果是按一下对应的键时,所对应的值出现。在程序 中,用K4对应9999的设定,K3对应999的设定,K2对应99的设定,K1对 应9的设定。另外K1按键不但作为可以设定9的初值,还可以起到暂停倒 计时运行的作用;即当系统在运行时,按K1键,系统暂停,如果继续按 K1键,则秒的值增加,完成的是设定9的功能。同样,K4也有两个功 能。一个是设定9999的初值,一个是起到开启系统的作用,即当系统处 于暂停时,按K4键,则系统开始运行,如果继续按K4键,则完成的是设 定天的初值的功能。如下图:
器,从此以后,单片机和专用处理器的发展便分道扬镳。 早期的单片机都是8位或4位的。其中最成功的是INTEL的8031, 因为简单可靠而性能不错获得了很大的好评。此后在8031上发展出了 MCS51系列单片机系统。基于这一系统的单片机系统直到现在还在广 泛使用。随着工业控制领域要求的提高,开始出现了16位单片机,但 因为性价比不理想并未得到很广泛的应用。90年代后随着消费电子产 品大发展,单片机技术得到了巨大提高。随着INTEL i960系列特别是 后来的ARM系列的广泛应用,32位单片机迅速取代16位单片机的高端 地位,并且进入主流市场。而传统的8位单片机的性能也得到了飞速 提高,处理能力比起80年代提高了数百倍。目前,高端的32位单片机 主频已经超过300MHz,性能直追90年代中期的专用处理器,而普通的 型号出厂价格跌落至1美元,最高端[1]的型号也只有10美元。当代单 片机系统已经不再只在裸机环境下开发和使用,大量专用的嵌入式操 作系统被广泛应用在全系列的单片机上。而在作为掌上电脑和手机核 心处理的高端单片机甚至可以直接使用专用的Windows和Linux操作系 统。
完成期限 2011.3.14—2011.3.18 指导教师 专业负责人 2011年 3 月 13 日
第一章 1.1单片机介绍
单片机介绍
单片微型计算机简称单片机,是典型的嵌入式微控制器 (Microcontroller Unit),常用英文字母的缩写MCU表示单片机, 它最早是被用在工业控制领域。单片机由芯片内仅有CPU的专用处理 器发展而来。最早的设计理念是通过将大量外围设备和CPU集成在一 个芯片中,使计算机系统更小,更容易集成进复杂的而对体积要求严 格的控制设备当中。INTEL的Z80是最早按照这种思想设计出的处理
速度,时钟电路的质量也直接影响单片机系统稳定性。常用的时钟电路 有两种方式:一种是内部时钟方式,另一种是外部时钟方式。 单片机必须在时钟的驱动下才能工作。在单片机内部有一个时钟振 荡电路,只要外界一个振荡源就能产生一定的时钟信号送到单片机内部 的各个单元,决定单片机的工作速度。本系统使用的是内部时钟方式。 一般选用石英晶体振荡器。此电路在加电大约延迟10ms后振荡器起振, 在XTAL2引脚产生幅度为3V左右的正弦波时钟信号,其振荡频率主要由 石英晶振的频率确定。电路中两个电容的作用有两个:一是帮助振荡器 起振;二是对振荡器的频率进行微调。如下图
} void main() { EA = 1; //允许CPU中断 ET0 = 1; //定时器0中断打开 TMOD = 0x1; //设定时器0为模式1,16位模式 TH0=0xB1; TL0=0xDF; //设定时值为 TR0 = 1; ds=0; KeyV = 0; TempKeyV = 0; jsflag=0; while(1); } void KeyAndDis_Time0(void) interrupt 1 using 2 { TH0=0xB1; TL0=0xDF; //设定时值为 if (!Key1) KeyV = 1; if (!Key2) KeyV = 2; if (KeyV!= 0) //有键按下 { Delay(10); //延时防抖 按下10ms再测 if (!Key1) TempKeyV = 1; if (!Key2) TempKeyV = 2; if (KeyV == TempKeyV)
1.2单片机的工作过程
单片机自动完成赋予它的任务的过程,也就是单片机执行程序的 过程,即一条指令的执行过程。所谓指令就是把要求单片机执行的各 种操作用的命令的形式写下来,这是设计人员赋予它的指令系统所决 定的。一条指令对应着一种基本操作;单片机所能执行的全部指令, 就是该单片机的指令系统,不同种类的单片机,其指令系统亦不同。 为使单片机能自动完成某一特定任务,必须把要解决的问题编成一系 列指令(这些指令必须是选定单片机能识别和执行的指令),这一系 列指令的集合就称为程序。程序需要预先存放在具有存储功能的部件 ——存储器中。存储器由许多存储单元组成,就像大楼由许多房间组 成一样,指令就存放在这些单元里,单元里的指令取出并执行就像大 楼里的每个房间被分配到了唯一一个房间号一样,每一个存储单元也 必须被分配到唯一的地址号,该地址号称为存储单元的地址,这样只 要知道了存储单元的地址,就可以找到这个存储单元,其中存储的指 令就可以被取出,然后再被执行
第三章 总电路、源程序及元器件清单 3.1总电路图
3.2 PCB制图
3.3源ቤተ መጻሕፍቲ ባይዱ序
#include<reg52.h> sbit Key1=P3^2;//定义四个按键 sbit Key2=P3^3;
sbit Key3=P3^4; sbit Key4=P3^5; unsigned char KeyV,TempKeyV; sbit P34=P1^3; //位选通 sbit P35=P1^2; sbit P36=P1^1; sbit P37=P1^0; sbit JDQ=P2^0; sbit beep=P2^1; unsigned int js; unsigned int ds; unsigned char jsflag; static unsigned int i; unsigned char code LEDDis[]= {0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0xFF,0xBF}; unsigned char code table[ ]={0x3F,0x06,0x5B,0x4F, 0x66,0x6D,0x7D,0x07, 0x7F,0x6F,0x77,0x7C, 0x39,0x5E,0x79,0x71};//共阳©二极管 void Delay(unsigned int ii) { unsigned int jj; for(;ii>0;ii--) for(jj=0;jj<125;jj++) {;} } void Delay500(unsigned int iii) { unsigned int jjj; for(;iii>0;iii--) for(jjj=0;jjj<60;jjj++) {;}
} if(KeyV==2) { jsflag=1; } } } if(jsflag==1){ JDQ=1; } if(ds==0){ JDQ=1; jsflag=1; KeyV=0; } P0=LEDDis[ds/1000]; P34=0; Delay500(5); P34=1; P0=LEDDis[ds/100%10]; P35=0; Delay500(5); P35=1; P0=LEDDis[ds/10%10]; P36=0; Delay500(5); P36=1; P0=LEDDis[ds%10]; P37=0; Delay500(5); P37=1;
2.3复位电路
复位在系统中,有时会出现显示不正常,为了调试方便,需要设计 一个复位电路。AT89C52单片机复位电路有上电复位、按键电平复位和 按键脉冲复位。本系统用的复位电路主要完成系统的上电复位和系统在 运行时用户的按键复位功能。复位电路可由简单的RC电路构成,也可使 用其它的相对复杂,但功能更完善的电路。 本系统采用的电路如图2所示。工作原理是:上电瞬间,RC电路充 电,RESET引脚端出现正脉冲,只要RESET保持10ms以上高电平,就能使 单片机有效的复位。当时钟频率选用12MHz时,C取10uF,R取10KΩ。上 电自动复位电路由上电瞬间C与R构成充电电路,RESET端的电位与电源 Vcc相同,随着充电电流的减少,RESET的电位逐渐下降。图中RC时间常 数越大,上电时RESET端保持高电平的时间越长,图中这组参数足以保 证复位操作。若复位电路失效,加电后CPU从一个随机的状态开始工 作,系统就不能正常运行。图中的按键S5的功能是按键复位,按下S5键 时RST为高电平,只要保持10ms以上的高电平,就可以时单片机复位。 按键复位用在系统运行时的复位,使系统重新运行。如下图:
相关主题