倒计时秒表 单片机
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
目录
一、设计目的 (1)
二、设计任务及要求 (2)
三、总体方案设计 (2)
四、硬件电路设计 (3)
1、各部分电路设计 (3)
2、整体电路图 (8)
五、软件设计 (9)
1、程序流程图 (9)
2、源程序 (9)
六、仿真效果 (9)
1、显示部分仿真效果 (9)
2、报警装置仿真效果 (10)
七、实物调试 (11)
八、设计总结 (11)
1、设计过程中遇到的问题及解决方法 (11)
2、设计体会 (12)
3、对设计的建议 (12)
参考文献 (13)
附录 (14)
一、设计目的
单片机课程设计中通过查阅资料、接口设计、程序设计、安装调试等环节,完成AT89S-51单片机多种资源应用并具有综合功能的小系统目标板的设计与编程应用,是同学们将课堂上学到的理论知识与实际应用结合起来,并能够对电子电路、电子元器件、印制电路板等方面的知识进一步加深认识,同时在软件编程、排错调试、焊接技术、相关仪器设备的使用技能等方面得到较全面的锻炼和提高,增进对单片机的感性认识,加深对单片机理论方面的理解,掌握单片机的内部功能模块的应用,如定时器/计数器、中断、片内外存贮器、I/O口、串行口通信等,强化单片机应用电路的设计与分析能力,提高学生在单片机应用方面的实践技能和科学作风,培育学生综合运用理论知识解决问题的能力,实现理论结合实际,学以至用的原则。运用所学的知识和自身课外的拓展学习加深对专业课的理解和学习,锻炼综合运用电路设计及相关电子仪器、单片机软硬件结合的理论,结合生产实际分析和解决工作工程实际问题的能力,加固、加深和扩展有关电子类,汇编语言,相关电子电路和仿真软件方面的知识和能力。
通过本次课程设计,应加强培养如下能力:
(1)加强自身独立的动手能力和思考解决问题的能力,提高创造能力。
(2)学会使用软件Proteus画原理图和仿真调试。
(3)通过本次课程设计加深对单片机课程的全面认识复习和掌握,对单片机课的应用进一步的了解。
(4)掌握定时器、外部中断的设置和编程原理。
(5)通过此次课程设计能够将单片机软硬件结合起来,对程序进行编辑,校验。
(6)该设计通过单片机的定时器/计数器定时和计数原理,设计简单的计时器系统,拥有正确的计时、暂停、清零功能,并同时可以用数码管显示,在现实生活中应用广泛,具有现实意义。
二、设计任务及要求
1、可以以实现正常秒表的所有功能,包括启动、暂停、复位等;
2、可以自由设定倒计时时间(10s 、20s 、30s ···),并进行倒计时;
3、显示方式自选;
4、任选一款51单片机;
5、扩展功能:在秒表的基础上增加时钟功能,倒计时完成时加入报警单元,如声音、灯光等
三、总体方案设计
本硬件设计总共包括六部分电路:数码管显示电路、时钟电路、复位电路、电源电路、控制电路、报警装置。总体设计框图如图1所示。
图1 总体设计方框图
S T C 89C 52 P0P2 P2 P1
数码管显示 时钟电路
复位电路
报警装置 电源电路 控制电路
四、硬件电路设计
1、各部分电路设计
(1)单片机
STC89C52是STC公司生产的一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash存储器。STC89C52使用经典的MCS-51内核,但做了很多的改进使得芯片具有传统51单片机不具备的功能。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。因此,本次课程设计选用了容易烧写程序并且有较大内存的STC89C52芯片。
仿真图中的单片机如图2所示。
图2 仿真图中的STC89C52芯片
(2)时钟电路
时钟是单片机的心脏,单片机的各个功能部件的运行都是以时钟的频率为基准的,有条不紊按部就班的运行工作。因此时钟频率直接影响单片机的运行速度,
时钟电路的质量也直接影响单片机的系统的稳定性。STC89C52单片机内部有一个用于构成振荡器的高增益反相放大器,该高增益反相放大器的输入端为芯片引脚XTAL1,输出端为引脚XTAL2,这两个引脚跨接石英晶体振荡器和微调电容,就构成了一个稳定的自激振荡器。
时钟电路有两种方式:
①内部时钟方式:当使用片内振荡器时,XTAL1(19脚)连接外部石英晶体和微调电容,XTAL2(18脚)连接外部石英晶体和微调电容。
②外部时钟方式:当采用外接时钟源时,XTAL1(19脚)接外部时钟振荡器的信号,XTAL2(18脚)悬空。
本次课程设计时钟电路采用的是内部时钟方式,该时钟电路如图3所示。
图3 时钟电路
(3)复位电路
单片机在启动时都需要复位,以使CPU及系统各部件处于确定的初始状态,并从初态开始工作。89系列单片机的复位信号是从RST引脚输入到芯片内的施密特触发器中的。当系统处于正常工作状态时,且振荡器稳定后,如果RST引脚上有一个高电平并维持2个机器周期(24个振荡周期)以上,则CPU就可以响应并将系统复位。单片机系统的复位方式有:手动按钮复位和上电复位。
①手动按钮复位:需要人为在复位输入端RST上加入高电平。一般采用的办法是在RST端和正电源Vcc之间接一个按钮。当人为按下按钮时,则Vcc的+5V 电平就会直接加到RST端。
②上电复位:只要在RST复位输入引脚上接一电容至Vcc端,下接一个电阻到地即可。上电复位的工作过程是在加电时,复位电路通过电容加给RST端一个短暂的高电平信号,此高电平信号随着Vcc对电容的充电过程而逐渐回落,即RST端的高电平持续时间取决于电容的充电时间。为了保证系统能够可靠地复位,RST端的高电平信号必须维持足够长的时间。上电时,Vcc的上升时间约为10ms,而振荡器的起振时间取决于振荡频率,另外,在复位期间,端口引脚处于随机状态,复位后,系统将端口置为全“l”态。
本次课程设计复位电路采用的是手动按钮复位,该复位电路如图4所示。
图4 复位电路
(4)数码管显示部分
LED数码管在单片机系统中应用非常普遍,LED数码管是由光二极管构成。常见的LED数码管为“8”字型的,共计八段。每一段对应一个发光二极管,这种数码管显示器通常有共阳极和共阴极接法。共阴极LED数码管的发光二极管的阴极连接在一起,通常此公共阴极接地。当某个发光二极管的阳极为高电平时,发光二极管点亮,相应的段被显示。同样,共阳极LED数码管的发光二极管的阳极连接在一起,通常此公共阳极接正电压。当某个发光二极管的阴极接低电平时,发光二极管被点亮,相应的段被显示。
此次选用的是共阴极的两位一体的LED数码管,数码管显示部分如图5所示。