答辩倒计时系统设计.doc_第1页
答辩倒计时系统设计.doc_第2页
答辩倒计时系统设计.doc_第3页
答辩倒计时系统设计.doc_第4页
答辩倒计时系统设计.doc_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

答辩倒计时系统设计摘 要本设计是一个基于AT89C51单片机对答辩倒计时系统进行设计,依据单片机技术原理,通过硬件电路制作以及软件编译,设计制作出一个倒计时为15分钟的答辩倒计时器。该倒计时器主要由按键电路、复位电路、晶振电路、数码管显示电路以及蜂鸣器组成。本倒计时系统能够在计时只剩余三分钟时发出声进行提示,并且结束时长鸣直至重启或关闭,由LED灯显示电源的开启状况,由数码管显示实时时间。本设计主要特点是计时从15到00分钟的倒计时系统,方便了在计时精度要求不高的情况下计时,因为计时精度为1,所以系统电路比较简单。另外硬件部分设置了复位、开始、暂停、停止按键,可以对倒计时系统进行计时控制。软件系统采用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 总体程序流图83.2 倒计时器设计流程框图103.3 按键消抖流程框图104 仿真与调试114.1 上电后系统显示114.2 按下“开始键”114.3 按下“停止键”和“复位键”125 总结135.1 设计总结135.2 心得13参考文献14附录1 电路原理图15附录2 C语言源程序16 设计目的与要求1 设计目的与要求1.1 设计目的本设计基于AT89C51单片机进行15分钟的答辩倒计时系统的设计。1 训练学生综合运用已学课程的基本知识,独立进行单片机应用技术开发工作;2 掌握单片机程序设计、调试,应用电路设计、分析及调试检测。3 学习软硬件设计的工作方法、工作内容、工作步骤。4 提高编程、调试能力、理论联系实际的能力,提高动手能力和分析问题、解决问题的能力。1.2 设计要求1 完成15分钟的倒计时,按下按键时计时器开始;2 在剩下3分钟时提示一次;3 时间到时蜂鸣器长响。2 系统硬件设计2.1 总体设计方案本次课程设计的目的是要设计一个倒计时系统,此电路能完成一次15分钟的倒计时功能,当计时剩余3分钟时蜂鸣器提示一次,当倒计时结束时蜂鸣器长鸣,只有按下停止键才能够停止。另外,此倒计时器能够手动复位,并有开始、停止、暂停等功能。具体的设计思路为:1 利用单片机的定时计数功能精确地完成15分钟成倒计时功能,要求电路为9秒递减计时,每隔1秒钟计时器减1;2 电路具有时间显示功能,要求用数码管,能显示任意时刻的剩余时间;3 上电时4个数码管显示为:1500(即显示为15分钟);4 按下“开始键”计时器开始计时,在剩下3分钟时提示一次,响3声提醒答辩者抓紧时间,时间到时蜂鸣器长响,按下“停止键”结束;5 具有复位、开始、暂停、停止功能:按下复位,显示为1500;按下开始,计时开始;按下暂停,倒计时暂停,再次按下,计时开始;按下停止,计时结束。本次课程设计利用MCS51单片机系列AT89C51为依托,利用P0-P3口用编程控制输入输出来实现倒计时功能:P1口为开关控制电路的输入端,通过按压式键盘利用查询函数轮流查询有无键按下;P0口接共阴数码管,有上拉电阻;P2口为选择数码管,采用动态显示;P3口接蜂鸣器,做提示报警电路。基于这些设计,本次设计的硬件系统电路框图如图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和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。8051单片机包含中央处理器、程序存储器(ROM)、数据存储器(RAM)、定时/计数器、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线。AT89C51具有如下特点:40个引脚;4k Bytes Flash片内程序存储器;128 bytes的随机存取数据存储器(RAM);32个外部双向输入/输出(I/O)口;5个中断优先级2层中断嵌套中断;2个16位可编程定时计数器;2个全双工串行通信口;看门狗(WDT)电路;片内时钟振荡器。AT89C51单片机的引脚图如图2.2.1所示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口进行传输;发送时,当为高电平时,A、B口均为高阻态。其功能可用真值表1来表示。表1 74LS245共能表DIR操作LLB向A传输LLA向B传输H高阻态2.2.3 数码管:7SEG-MPX4-CC-BLUE单片机中通常使用7段LED作为显示电路,LED是发光二极管显示器的缩写。LED显示器由于结构简单,价格便宜,体积小,亮度高,电压低,可靠性高,寿命长,响应速度快,颜色鲜艳,配置灵活,与单片机接口方便而得到广泛应用。LED显示器是由若干个发光二极管组成显示字段的显示部件,当发光二极管导通时,相应的一个点或一个笔划发光,控制不同组合的二极管导通,就能显示出各种字符。因为共阴极的LED数码管它的驱动电流是分开的,在单片机进行动态扫描的时候不会影响彼此的电流,故该系统中的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-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的电位逐渐下降。图中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显示器内部由七个条形发光二极管和一个小圆点发光二极管组成,根据各管的亮暗组合成字符。常见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本系统的倒计时时间的最大范围是15分钟,显示格式是15.00,从格式可知数码管显示电路要用到4位数码管。本设计采用四段数码管7SEG-MPX4-CC-BLUE,分别用单片机的P0口和P1进行8个位的控制78。2 LED数码管的接口数码管的接口有静态接口和动态接口。静态驱动是指每个数码管的每一个段码都由一个单片机的I/O口进行驱动。数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一。它是将所有数码管的8个显示笔划的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路。位选通由各自独立的I/O线控制,具体显示取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮,通过分时轮流控制各个数码管的的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和输出XATL2组成晶振电路;用按键、电容、电阻组成RC回路,与RST相连组成复位电路;开始键、暂停键、停止键与P1口的1-3做成外围控制电路,同时用发光二级管与P1.4口相连组成状态电路,以显示电路工作状态;4段数码管与单片机P0通过74LS245同相三态双向总线收发器相连,进行数据交流;数码管的片选端与P2口相连,控制数码管的选通;系统的提示蜂鸣器与单片机的P3.0相连构成系统的提示警告电路。根据上述分析,可设计如图2.4所示的总体硬件电路图。图2.4 系统硬件设计总电路图3 系统软件设计3.1 总体程序流图根据系统设计要求以及对硬件电路的设计,可设计为如图3.1所示的主程序流程框图。7系统软件设计开始设置各中断服务程序的入口地址设置数码管显示初始状态相关寄存器清零扫描按键进行倒计时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 按键消抖流程框图9仿真与调试4 仿真与调试在系统硬件以及软件编译好之后,将程序加载到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,按下复位键后,数码管显示为15.00,其仿真电路显示如图4.3所示。(a) 按下停止键(b) 按下复位键图4.3 按下“停止键”和“复位键”的电路显示11总结5 总结5.1 设计总结1 软件、硬件设计的实现本次设计的硬件是利用单片机、74LS245同相三态双向总线收发器、数码管、蜂鸣器、按键等主要元器件组成,软件的设计是利用C语言进行编程,并在Keil进行编译调试,最后加载到单片机中进行仿真,因蜂鸣器不能够加载音乐,故此在设计中利用Speaker代替蜂鸣器。通过设计实现了系统设计所要求的功能:既能够准确实现答辩倒计时系统的15分钟的倒计时;能够在系统剩余3分钟时播放音乐,提示3秒钟;能够在倒计时结束后蜂鸣器长响,并且在按下“停止键”使蜂鸣器停止长响;对于外围的控制按键,实现了开始、暂停、停止等功能。2 设计的不足本次课程设计是用AT89C51单片机、各种芯片及接口电路设计答辩倒计时系统。经过认真地查找资料、编写程序以及调试程序,结果满足设计要求,仿真无误。实现了设计要求的功能。不足之处在于,该系统设计太局限,不能满足任意倒计时系统的需求。应该设计为可预置倒计时时间并能按照设置的时间进行倒计时,并有相关提示和警告功能。5.2 心得本次设计对于理论知识的要求很高,在设计过程中要根据设计要求不断修改设计方案,详细的查阅整理相关资料,再分别进行软硬件的设计,直到仿真成功,每一步对我来说都是挑战和进步。在此期间,巩固了所学的专业知识,也学到了其他很多新知识,同时也培养了我独立思考和动手的能力。13参考文献1 郭文川. 单片机原理与接口技术. 中国农业出版社,2007.82 武汉理工大学单片机原理与应用课程设计说明书3 /view/77c1e9fe770bf78a652954ee.html,2012.06.224 /html/s25/2011-10/710267.htm,2012.06.225 阎石. 数字电子技术基础. 第4版. 北京:高等教育出版社,20026 张迎新等. 单片机初级教程单片机基础. 北京:高等教育出版社,20047 李军. 51系列单片机高级实例开发指南. 北京:北京航空航天大学出版社,20048 张伟. 单片机原理及应用. 北京:机械工业出版社,20029 戢卫平,胡耀辉. 单片机系统开发实力经典. 北京:冶金工业出版社附录1 电路原理图附录一 系统设计原理图附录2 C语言源程序#include #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 = 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 = 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

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论