收藏 分销(赏)

答辩倒计时专业系统设计.doc

上传人:精**** 文档编号:2999396 上传时间:2024-06-12 格式:DOC 页数:30 大小:335.04KB
下载 相关 举报
答辩倒计时专业系统设计.doc_第1页
第1页 / 共30页
答辩倒计时专业系统设计.doc_第2页
第2页 / 共30页
答辩倒计时专业系统设计.doc_第3页
第3页 / 共30页
答辩倒计时专业系统设计.doc_第4页
第4页 / 共30页
答辩倒计时专业系统设计.doc_第5页
第5页 / 共30页
点击查看更多>>
资源描述

1、答辩倒计时系统设计摘 要本设计是一种基于AT89C51单片机对答辩倒计时系统进行设计,根据单片机技术原理,通过硬件电路制作以及软件编译,设计制作出一种倒计时为15分钟答辩倒计时器。该倒计时器重要由按键电路、复位电路、晶振电路、数码管显示电路以及蜂鸣器构成。本倒计时系统可以在计时只剩余三分钟时发出声进行提示,并且结束时长鸣直至重启或关闭,由LED灯显示电源启动状况,由数码管显示实时时间。本设计重要特点是计时从15到00分钟倒计时系统,以便了在计时精度规定不高状况下计时,由于计时精度为1,因此系统电路比较简朴。此外硬件某些设立了复位、开始、暂停、停止按键,可以对倒计时系统进行计时控制。软件系统采用

2、C语言编写程序,硬件系统运用PROTEUS强大功能来实现,在仿真中可以观测到实际工作状态。核心字:倒计时系统;AT89C51单片机;Keil;Proteus目 录1 设计目与规定11.1 设计目11.2 设计规定12 系统硬件设计12.1 总体设计方案12.2 重要元件22.2.1 AT89C51单片机及其引脚阐明22.2.2 74LS24532.2.3 数码管:7SEG-MPX4-CC-BLUE42.3 局部电路设计42.3.1 晶振电路42.3.2 复位电路52.3.3 开关控制电路52.3.4 显示电路62.3.5 提示警告电路72.4 总体电路设计73 系统软件设计83.1 总体程序流

3、图83.2 倒计时器设计流程框图103.3 按键消抖流程框图104 仿真与调试114.1 上电后系统显示114.2 按下“开始键”114.3 按下“停止键”和“复位键”125 总结135.1 设计总结135.2 心得13参照文献14附录1 电路原理图15附录2 C语言源程序161 设计目与规定1.1 设计目本设计基于AT89C51单片机进行15分钟答辩倒计时系统设计。1 训练学生综合运用已学课程基本知识,独立进行单片机应用技术开发工作;2 掌握单片机程序设计、调试,应用电路设计、分析及调试检测。3 学习软硬件设计工作办法、工作内容、工作环节。4 提高编程、调试能力、理论联系实际能力,提高动手能

4、力和分析问题、解决问题能力。1.2 设计规定1 完毕15分钟倒计时,按下按键时计时器开始;2 在剩余3分钟时提示一次;3 时间届时蜂鸣器长响。2 系统硬件设计2.1 总体设计方案本次课程设计目是要设计一种倒计时系统,此电路能完毕一次15分钟倒计时功能,当计时剩余3分钟时蜂鸣器提示一次,当倒计时结束时蜂鸣器长鸣,只有按下停止键才可以停止。此外,此倒计时器可以手动复位,并有开始、停止、暂停等功能。详细设计思路为:1 运用单片机定期计数功能精准地完毕15分钟成倒计时功能,规定电路为9秒递减计时,每隔1秒钟计时器减1;2 电路具备时间显示功能,规定用数码管,能显示任意时刻剩余时间;3 上电时4个数码管

5、显示为:1500(即显示为15分钟);4 按下“开始键”计时器开始计时,在剩余3分钟时提示一次,响3声提示答辩者抓紧时间,时间届时蜂鸣器长响,按下“停止键”结束;5 具备复位、开始、暂停、停止功能:按下复位,显示为1500;按下开始,计时开始;按下暂停,倒计时暂停,再次按下,计时开始;按下停止,计时结束。本次课程设计运用MCS51单片机系列AT89C51为依托,运用P0-P3口用编程控制输入输出来实现倒计时功能:P1口为开关控制电路输入端,通过按压式键盘运用查询函数轮流查询有无键按下;P0口接共阴数码管,有上拉电阻;P2口为选取数码管,采用动态显示;P3口接蜂鸣器,做提示报警电路。基于这些设计

6、,本次设计硬件系统电路框图如图2.1所示。图2.1 硬件系统电路框图2.2 重要元件2.2.1 AT89C51单片机及其引脚阐明AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROMFalsh Programmable and Erasable Read Only Memory)低电压,高性能CMOS8位微解决器,俗称单片机12。AT89C2051是一种带2K字节闪烁可编程可擦除只读存储器单片机。单片机可擦除只读存储器可以重复擦除100次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业原则MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单

7、个芯片中,ATMELAT89C51是一种高效微控制器,AT89C2051是它一种精简版本。AT89C单片机为诸多嵌入式控制系统提供了一种灵活性高且价廉方案。8051单片机包括中央解决器、程序存储器(ROM)、数据存储器(RAM)、定期/计数器、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线。AT89C51具备如下特点:40个引脚;4k Bytes Flash片内程序存储器;128 bytes随机存取数据存储器(RAM);32个外部双向输入/输出(I/O)口;5个中断优先级2层中断嵌套中断;2个16位可编程定期计数器;2个全双工串行通信口;看门狗(WDT)电路;片

8、内时钟振荡器。AT89C51单片机引脚图如图2.2.1所示图2.2.1 AT89C51单片机引脚图2.2.2 74LS24574LS245是一中惯用芯片,可以用来驱动LED或者其她设备3。74LS245是8路同相三态双向总线收发器,可双向传播数据。74LS245还具备双向三态功能,既可以输出,也可以输入数据4。其引脚图如图2.2.2所示。图2.2.2 74LS245引脚图当8051单片机P0口总线负载达到或是超过P0最大负载能力时,必要接入74LS245总线驱动器;当片选端低电平有效时,DIR=“0”,信号由B口向A口进行传播;接受时“DIR=”;信号由A口向 B口进行传播;发送时,当为高电平

9、时,A、B口均为高阻态。其功能可用真值表1来表达。表1 74LS245共能表DIR操作LLB向A传播LLA向B传播H高阻态2.2.3 数码管:7SEG-MPX4-CC-BLUE单片机中普通使用7段LED作为显示电路,LED是发光二极管显示屏缩写。LED显示屏由于构造简朴,价格便宜,体积小,亮度高,电压低,可靠性高,寿命长,响应速度快,颜色鲜艳,配备灵活,与单片机接口以便而得到广泛应用。LED显示屏是由若干个发光二极管构成显示字段显示部件,当发光二极管导通时,相应一种点或一种笔划发光,控制不同组合二极管导通,就能显示出各种字符。由于共阴极LED数码管它驱动电流是分开,在单片机进行动态扫描时候不会

10、影响彼此电流,故该系统中4位LED数码管7SEG-MPX4-CC-BLUE,均用共阴极数码管。7SEG-MPX4-CC-BLUE预览图如图2.2.3所示。图2.2.3 7SEG-MPX4-CC-BLUE预览图2.3 局部电路设计2.3.1 晶振电路单片机时钟产生办法有两种:内部时钟方式和外部时钟方式。本系统中AT89C51单片机采用内部时钟方式。最惯用内部时钟方式是采用外接晶体和电容构成并联谐振回路。振荡晶体可在1.2MHz12MHz之间,电容值无严格规定。外部振荡方式是把已有时钟信号引入单片机内,这种方式宜用来使单片机时钟与外部信号保持一致。为了电路稳定性起见,晶振两引脚处接入两个10pF-

11、50pF瓷片电容接地来削减偕波对电路稳定性影响,设计是主流是接入两个33pF瓷片电容,故本次电路用33pF。本次设计晶振电路如图2.3.1所示。图2.3.1 晶振电路2.3.2 复位电路AT89C52单片机复位电路有上电复位、按键电平复位和按键脉冲复位。本次设计采用手动复位,可以在按下按键后是电路显示恢复到倒计时之初1500显示。其电路设计如图2.3.2所示。工作原理是:上电瞬间,RC电路充电,RESET引脚端浮现正脉冲,只要RESET保持10ms以上高电平,就能使单片机有效复位。上电自动复位电路由上电瞬间C与R构成充电电路,RESET端电位与电源Vcc相似,随着充电电流减少,RESET电位逐

12、渐下降。图中RC时间常数越大,上电时RESET端保持高电平时间越长,图中这组参数足以保证复位操作。图2.3.2 复位电路2.3.3 开关控制电路这里运用单片机P1端I/O口和开关相连实现按键控制,共有3个按键:开始键:按下后,倒计时系记录时开始。暂停键:此按键只有在倒计时进行时才有效。按下后,倒计时系统暂时停止计时;再次按下后,继续前面剩余时间继续实现倒数计时功能。停止键:按下后,倒计时系统停止工作。开关按键电路设计如图2.3.3所示。图2.3.3 开关控制电路2.3.4 显示电路1 LED显示屏原理LED有着显示亮度高、响应速度快特点,最惯用是七段式LED显示屏,又称数码管。七段LED显示屏

13、内部由七个条形发光二极管和一种小圆点发光二极管构成,依照各管亮暗组合成字符。常用LED管脚排列见下图,其中COM为公共点,依照内部发光二极管接线形式,可提成共阴极型和共阳极型,如图2.3.4-1所示。 (a) (b)图2.3.4-1 LED(a)为共阴数码管 (b)为共阳数码型对于共阴数码管,给其高电平数码管就会显示;对于共阳数码管,给其低电平数码管就会显示。数码管八段分别用二进制控制0和1不同显示,就能显示出所要数字。本系统设计采用共阴极数码管,设计时数码管段码为:0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f6本系统倒计时时间最大范畴是1

14、5分钟,显示格式是15.00,从格式可知数码管显示电路要用到4位数码管。本设计采用四段数码管7SEG-MPX4-CC-BLUE,分别用单片机P0口和P1进行8个位控制78。2 LED数码管接口数码管接口有静态接口和动态接口。静态驱动是指每个数码管每一种段码都由一种单片机I/O口进行驱动。数码管动态显示接口是单片机中应用最为广泛一种显示方式之一。它是将所有数码管8个显示笔划同名端连在一起,此外为每个数码管公共极COM增长位选通控制电路。位选通由各自独立I/O线控制,详细显示取决于单片机对位选通COM端电路控制,因此咱们只要将需要显示数码管选通控制打开,该位就显示出字形,没有选通数码管就不会亮,通

15、过度时轮流控制各个数码管COM端,使各个数码管轮流受控显示。动态显示效果和静态显示是同样,可以节约大量I/O端口,并且功耗更低79。本次电路设计采用是共阴极数码管,采用动态显示接口,通过动态扫描方式驱动,在单片机与数码管之间加74LS245进行锁存,故此设计显示电路如图2.3.4-2所示。图2.3.4-2 显示电路2.3.5 提示警告电路在设计中规定在倒计时剩余3分钟时,要有提示,倒计时结束时蜂鸣器可以长鸣,以提示计时结束。故提示警告电路设计如图2.3.5所示。图2.3.5 提示警告电路2.4 总体电路设计依照系统设计规定,可设计为:晶振两端与AT89C51方向放大器输入XATL1和输出XAT

16、L2构成晶振电路;用按键、电容、电阻构成RC回路,与RST相连构成复位电路;开始键、暂停键、停止键与P1口1-3做成外围控制电路,同步用发光二级管与P1.4口相连构成状态电路,以显示电路工作状态;4段数码管与单片机P0通过74LS245同相三态双向总线收发器相连,进行数据交流;数码管片选端与P2口相连,控制数码管选通;系统提示蜂鸣器与单片机P3.0相连构成系统提示警告电路。依照上述分析,可设计如图2.4所示总体硬件电路图。图2.4 系统硬件设计总电路图3 系统软件设计3.1 总体程序流图依照系统设计规定以及对硬件电路设计,可设计为如图3.1所示主程序流程框图。开始设立各中断服务程序入口地址设立

17、数码管显示初始状态有关寄存器清零扫描按键进行倒计时N时间到3分钟否?Y3秒钟提示进行倒计时N时间到0分钟否?Y蜂鸣器长响N按下停止键?Y进行倒计时图3.1 系统总流程框图3.2 倒计时器设计流程框图倒计时器设计流程框图如图3.2所示。开始计时寄存器清零设定定期器0工作方式判断接口地址为p1.0?NY为p1.1?开始计时YN暂停/重新开始计时为p1.2?Y停止计时N数码管显示复位图3.2 倒计时器射击流程框图3.3 按键消抖流程框图按键消抖设计流程框图如图3.3所示开始N有按键闭合?Y调用延时程序N有按键闭合?Y扫描按键地址图3.3 按键消抖流程框图4 仿真与调试在系统硬件以及软件编译好之后,将

18、程序加载到AY89C51上,进行15分钟倒计时仿真。4.1 上电后系统显示加载程序之后开始运营,上电后电路显示为15.00,如图4.1所示。图4.1 上电时显示电路显示4.2 按下“开始键”按下“开始键”之后,系统开始从15.00分钟倒计时,再剩余3分钟时,蜂鸣器响三声,数码管显示电路显示时间闪烁。倒计时过程中几种时刻显示如图4.2所示。(a) 时刻1 (b) 时刻2图4.2 倒计时仿真中几种时刻电路显示(c) 剩余3分钟时电路显示(d) 计时结束蜂鸣器长响时电路图4.2 倒计时仿真中几种时刻电路显示4.3 按下“停止键”和“复位键”按下停止键后,数码管显示为00.00,按下复位键后,数码管显

19、示为15.00,其仿真电路显示如图4.3所示。(a) 按下停止键(b) 按下复位键图4.3 按下“停止键”和“复位键”电路显示5 总结5.1 设计总结1 软件、硬件设计实现本次设计硬件是运用单片机、74LS245同相三态双向总线收发器、数码管、蜂鸣器、按键等重要元器件构成,软件设计是运用C语言进行编程,并在Keil进行编译调试,最后加载到单片机中进行仿真,因蜂鸣器不可以加载音乐,故此在设计中运用Speaker代替蜂鸣器。通过设计实现了系统设计所规定功能:既可以准的确现答辩倒计时系统15分钟倒计时;可以在系统剩余3分钟时播放音乐,提示3秒钟;可以在倒计时结束后蜂鸣器长响,并且在按下“停止键”使蜂

20、鸣器停止长响;对于外围控制按键,实现了开始、暂停、停止等功能。2 设计局限性本次课程设计是用AT89C51单片机、各种芯片及接口电路设计答辩倒计时系统。通过认真地查找资料、编写程序以及调试程序,成果满足设计规定,仿真无误。实现了设计规定功能。局限性之处在于,该系统设计太局限,不能满足任意倒计时系统需求。应当设计为可预置倒计时时间并能按照设立时间进行倒计时,并有有关提示和警告功能。5.2 心得本次设计对于理论知识规定很高,在设计过程中要依照设计规定不断修改设计方案,详细查阅整顿有关资料,再分别进行软硬件设计,直到仿真成功,每一步对我来说都是挑战和进步。在此期间,巩固了所学专业知识,也学到了其她诸

21、多新知识,同步也培养了我独立思考和动手能力。参照文献1 郭文川. 单片机原理与接口技术. 中华人民共和国农业出版社,.82 武汉理工大学单片机原理与应用课程设计阐明书3 ,.06.224 ,.06.225 阎石. 数字电子技术基本. 第4版. 北京:高等教诲出版社,6 张迎新等. 单片机初级教程单片机基本. 北京:高等教诲出版社,7 李军. 51系列单片机高档实例开发指南. 北京:北京航空航天大学出版社,8 张伟. 单片机原理及应用. 北京:机械工业出版社,9 戢卫平,胡耀辉. 单片机系统开发实力典型. 北京:冶金工业出版社附录1 电路原理图附录一 系统设计原理图附录2 C语言源程序#incl

22、ude #include #define uchar unsigned char#define uint unsigned intsbit Kstart = P10;sbit Kpause = P11;sbit Kstop = P12;sbit Beep = P30;sbit Alarm =P13;uchar code DSY_CODE= 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;uchar DSY_Buffer4=1,5,0,0;uint ClockNum = 1500;bit startflag = 0;bit stopflag =

23、 0;bit soundflag = 1;void InitTIMER0(void);void DelayMS(uint x) uchar i;while(x-) for(i=0;i120;i+);void Play(uchar t,uchar p) uchar i;for(i=0;ip;i+) Beep = Beep;DelayMS(t);Beep = 0;void Play1()while(soundflag) Beep = Beep;DelayMS(1);Beep = 0;void main() uchar i,m;InitTIMER0();startflag = 0;stopflag

24、= 1;Alarm = 1;Beep = 0;P0 = 0xff;P2 = 0xff;while(1) m = 0xfe;DSY_Buffer0 = ClockNum/1000;DSY_Buffer1 = (ClockNum%1000)/100;DSY_Buffer2 = (ClockNum%100)/10;DSY_Buffer3 = ClockNum%10;for(i=0;i4;i+)P2 = m; m = _crol_(m,1);/if(i=1)/DSY_CODEDSY_Buffer1 |= 0x80;P0 = (i=1)?(DSY_CODEDSY_Bufferi|0x80):DSY_CO

25、DEDSY_Bufferi);DelayMS(10);if(300=ClockNum)Play(3,300);else if(0=ClockNum)&(0=stopflag)&soundflag)Play1();if(!stopflag)ClockNum = 0;Alarm = 0;Beep = 0;void InitTIMER0(void)EA = 1; TMOD |= 0x01;/定期器0设立为16位手动重装载定期器 TH0 = 0x4c;TL0 = 0x00;/TH0=0x4C,TL0=0x00/50ms TR0 = 1; ET0 = 1;void timer0(void) interr

26、upt 1 static uint count = 0;TH0 = 0x4c;TL0 = 0x00;if(Kstart=0) while(Kstart=0);startflag = 1;if(0=stopflag) ClockNum = 1500;stopflag = 1;Alarm = 1;if(Kpause=0) while(Kpause=0);if(1500!=ClockNum)startflag = startflag;/soundflag = 1;if(Kstop=0) while(Kstop=0);stopflag = 0;soundflag = 0;if(count+=20)/1s count = 0;if(startflag)if(stopflag)if(0 = (ClockNum%100) ClockNum-=41;else ClockNum-;if(ClockNum = 0) stopflag = 0;soundflag = 1;

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服