xxxxxxxxxxx学校课程设计报告课程名称:单片机原理及应用课程设计设计题目:倒计时器系别:通信与控制工程系专业:电子信息工程班级:10级电信2班学生姓名:张帆杜斌学号:10409203、10409221起止日期:2012年12月24日~2013年1月6日指导教师:教研室主任:指导教师评语:指导教师签名:年月日成绩评定项目权重成绩张帆杜斌1、设计过程中出勤、学习态度等方面0.22、课程设计质量与答辩0.53、设计报告书写及图纸规范程度0.3总成绩教研室审核意见:教研室主任签字:年月日教学系审核意见:主任签字:年月日摘要本系统采用STC89C52作为主控芯片,设计一款的倒计时器,该倒计时器能在数码管显示倒计时的时间,时间可由按键进行设定,4位数码管做显示,能够实现5种倒计时模式,通过控制按键进行选择9999s-0s、999s-0s、99s-0s、9s-0s、开始值由人工输入-0s的特点。首先检测按键,当相应的按键按下时,进入相应的倒计时方式。工作方式五为可调初值的倒计时方式,初值也是通过独立按键来设定。定时中断二十次后即一秒后,初值自动减一。当初值减到零后,计时停止。关键词:STC89C52;数码管显示;独立按键;振荡电路0目录设计要求.....................................................................................................................................11方案论证与对比.....................................................................................................................11.1方案一...........................................................................................................................11.2方案二...........................................................................................................................11.3方案对比与选择...........................................................................................................12单元电路设计与计算.............................................................................................................22.1STC89C52简介..........................................................................................................................22.2时钟振荡电路的设计................................................................................................................32.3复位电路的设计..........................................................................................................................32.4数码管显示电路的设计................................................................................................42.5独立按键电路的设计...................................................................................................53系统软件设计.........................................................................................................................63.1倒计时主程序流程.......................................................................................................63.2定时器工作流程...........................................................................................................74系统功能测试与整体指标.....................................................................................................85详细仪器清单.........................................................................................................................96总结与思考及致谢...............................................................................................................10参考文献...................................................................................................................................10附录一:倒计时器DXP原理图............................................................................................11附录二:倒计时器电路PCB板图.........................................................................................12附录三:实物图.......................................................................................................................13附录四:程序...........................................................................................................................141倒计时器设计任务与要求本项目是由单片机执行设定的程序,在数码管显示倒计时的时间,且能由单片机接受矩阵键盘设定的时间。由4位数码管做显示,能够实现5种倒计时模式,通过控制按键进行选择9999s-0s、999s-0s、99s-0s、9s-0s、开始值由人工输入-0s。1方案论证与对比现在,在许多领域中,定时器得到了广泛的应用,比如在体育比赛中的计时器;游戏中的倒计时;红绿灯,交通控制器,闹钟等等。可见倒计时器在社会中的重要性。当然,设计倒计时器的方法很多,以下是两个设计方案。1.1方案一基于STC89S52单片机的LCD液晶显示模块1602显示的倒计时器。主要是以单片机来控制,用按键来设定倒计时初始时刻的值,用按键来进行倒计时初值的选择,LCD1602液晶作为显示模块来显示倒计时间。1.2方案二基于STC89S52单片机的数码管显示模块显示的倒计时器。主要是以单片机来控制,用按键来设定倒计时初始时刻的值,按键来进行倒计时初值的选择。采用以软件为主的接口方法,即不使用专门的硬件译码器,而采用软件程序进行译码。1.3方案对比与选择比较两个方案,我们发现,方案二总体比方案一好。首先方案一虽然硬件电路简单,但造价较高,且在编写程序实现所要求的功能时较难,而方案二所用的显示模块是比较熟悉的数码管,编写程序是相对容易,且电路造价不高,因此,综合考虑之后决定采用方案二。22单元电路设计LED数码管倒计时器以STC89C52单片机为核心,起着控制作用,系统包括四位数码管显示电路,按键电路,复位电路,时钟振荡电路。倒计时的总体框图如下图1所示:图1倒计时的总体框图2.1STC89C52简介STC89C52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。具有以下标准功能:8k字节Flash,512字节RAM,32位I/O口线,看门狗定时器,内置4KBEEPROM,MAX810复位电路,2个16位定时器/计数器,一个6向量2级中断结构,全双工串行口。另外STC89X52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。最高运作频率35MHz,6T/12T可选。时钟振荡电路数码管显示电路独立按键电路STC89C52复位电路3图2STC89C52引脚图2.2时钟振荡电路的设计单片机必须在时钟的驱动下才能工作。在单片机内部有一个时钟振荡电路,只要外界一个振荡源就能产生一定的时钟信号送到单片机内部的各个单元,决定单片机的工作速度。本系统使用的是内部时钟方式。时钟电路如下图2所示。一般选用石英晶体振荡器。此电路在加电大约延迟10ms后振荡器起振,在XTAL2引脚产生幅度为3V左右的正弦波时钟信号,其振荡频率主要由石英晶振的频率确定。电路中两个电容C1、C2的作用有两个:一是帮助振荡器起振;二是对振荡器的频率进行微调。本系统的C1、C2的值为30pf。图3时钟振荡电路2.3复位电路的设计在上电或复位过程中,控制CPU的复位状态:这段时间内让CPU保持复位状4态,而不是一上电或刚复位完毕就工作,防止CPU发出错误的指令、执行错误操作,也可以提高电磁兼容性能。无论用户使用哪种类型的单片机,总要涉及到单片机复位电路的设计。而单片机复位电路设计的好坏,直接影响到整个系统工作的可靠性。许多用户在设计完单片机系统,并在实验室调试成功后,在现场却出现了“死机”、“程序走飞”等现象,这主要是单片机的复位电路设计不可靠引起的。基本的复位方式基本的复位方式基本的复位方式基本的复位方式单片机在启动时都需要复位,以使CPU及系统各部件处于确定的初始状态,并从初态开始工作。89系列单片机的复位信号是从RST引脚输入到芯片内的施密特触发器中的。当系统处于正常工作状态时,且振荡器稳定后,如果RST引脚上有一个高电平并维持2个机器周期(24个振荡周期)以上,则CPU就可以响应并将系统复位。单