基于MCS51单片机的多功能秒表设计《微机原理与应用》课程设计报告.docx
《基于MCS51单片机的多功能秒表设计《微机原理与应用》课程设计报告.docx》由会员分享,可在线阅读,更多相关《基于MCS51单片机的多功能秒表设计《微机原理与应用》课程设计报告.docx(37页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、微机原理与应用课程设计题目:基于MCS51单片机的多功能秒表设计中国矿业大学信息与电气工程学院微机原理与应用课程设计课程设计内容:1、完成就基于MCS51单片机的多功能秒表设计的软硬件设计和调试。2、完成课程设计报告的撰写。3、课程设计说明书要求:摘要、设计要求、系统结构、原理设计、各个模块的设计与实现、软件设计、调试过程、收获、体会及总结、参考文献、电路图和源程序。说明书使用A4打印纸计算机打印或手写,用Protel等绘图软件绘制电子线路图纸基本功能实现:1、设计多功能秒表,以百分之一秒的单位计时,并在数码管上显示计时时间;2、设置【开始键】【停止键】【存储键】【回放键】,上电后数码管显示P
2、,以示准备计时,按开始键启动计时;3、按存储键存储按键时刻的时间,允许一次启动最多按20次存储键;4、按停止键结束计时,显示最终的计时时间;5、按回放键每按一次依次显示存储序号和存储时间,最后一个存储时间回放结束后,再显示最终的计时时间,如此循环显示;扩展功能与创新 1、设置【倒计时键】,按下倒计时键,能够利用矩阵键盘手动设置初值,然后启动倒计时,直到计时为零,蜂鸣器发声,数码管闪烁;指导教师签名: 年 月 日系主任签名: 年 月 日基于MCS51单片机的多功能秒表设计摘要本设计是设计一个单片机控制的多功能秒表系统。近年来随着科技的飞速发展,单片机的应用正在不断地走向深入,同时带动着传统控制检
3、测日新月异的更新。在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面的知识是不够的,还要根据具体的硬件结构,以及针对具体的应用对象的软件结合,加以完善。秒表的出现,解决了传统的由于人为因素造成的误差和不公平性。本设计的多功能秒表系统采用AT89C51单片机为中心器件,利用其定时器/计数器定时和记数的原理,结合显示电路、LED数码管以及矩阵按键来设计计时器。将软、硬件有机地结合起来,使得系统能够正确地进行计数,并且结合相应的显示驱动程序,使数码管能够正确地显示时间、存储时间、暂停和倒计时。我设计的秒表可以同时记录二十个相对独立的时间,通过回放键来查看这二十个
4、不同的计时值,另外还能够设置初值进行倒计时,具有秒表该有的绝大部分功能,可谓功能强大。其中软件系统采用c51语言编写程序,包括显示程序,存储程序,回放程序,定时器中断,延时程序,按键消抖程序等,硬件系统利用PROTEUS强大的功能来实现,简单且易于观察,在仿真中就可以观察到实际的工作状态。 关键字:单片机;多功能秒表;PROTEUS目 录1.绪论 1.1设计目的 1.2 设计要求 1.3 设计意义2.系统方案比较及硬件设计 2.1系统总体方案 2.2硬件设计 2.2.1 89C51单片机 2.2.2晶体振荡电路 2.2.3复位电路2.2.4电源电路 2.2.5矩阵按键电路 2.2.6显示与蜂鸣
5、器电路2.2.7硬件电路图3.软件设计 3.1设计特点 3.2设计思路及程序流程图3.2.1系统主程序3.2.2其他子程序定时器初始化程序4.系统调试4.1硬件调试4.2软件调试5.课程设计体会参考文献附录附件1:元器件清单附件2:完整程序清单附件3:电路原理图附件4:PCB板电路附件5:操作说明书1.绪论1.1设计目的 设计一个单片机控制的多功能秒表系统。利用单片机的定时器/计数器定时和记数的原理,结合显示电路、LED数码管以及矩阵按键来设计秒表。将软、硬件有机地结合起来,使得系统能够正确地进行计时,同时具有开始/暂停,存储记录,回放计时,清零,设置初值倒计时等功能。1.2设计要求(1)设计
6、多功能秒表,以百分之一秒的单位计时,并在数码管上显示计时时间;(2)上电后数码管显示P,以示准备计时,按开始键启动计时;(3)key1:启动和停止。停止时按键启动计时,启动时按键停止计时。再按,则在原计时值基础上继续计时;(4)key2:存储和回放。当启动时,按键为存储;当停止时,按键为回放,且能将存储值循环回放;按回放键每按一次依次显示存储序号和存储时间,最后一个存储时间回放结束后,再显示最终的计时时间,如此循环显示;(5)key3:清零。清除存储值和计时值,回到初始状态,显示P;(6)key4:倒计时键。能够利用矩阵键盘手动设置初值,然后启动倒计时,直到计时为零,蜂鸣器发声,数码管闪烁,最
7、后显示00:00:00。1.3设计意义(1)通过本次课程设计可以使我们进一步熟悉和掌握单片机内部结构和工作原理,了解单片机应用系统设计的基本步骤和方法。(2)通过利用AT89C51单片机,理解单片机在自动化仪表中的作用以及掌握单片机的编程方法。(3)通过设计一个简单的实际应用输入及显示模拟系统,掌握单片机仿真软件PROTEUS的使用方法。 (4)该实验通过单片机的定时器/计数器定时和计数原理,设计简单的计时器系统,拥有正确的计时、暂停、清零、倒计时功能,并能同时记录多个相对独立的时间利用回放按钮查看多个不同的计时值,该种秒表在现实生活中应用广泛,具有现实意义。2系统方案比较及硬件设计2.1系统
8、总体方案方案一:采用数字逻辑芯片本系统有功能设置、数据装入、定时、显示、控制多个功能模块。各个状态保持或转移的条件依赖于键盘控制信号。由于键盘控制信号繁多,系统的逻辑状态以及相互转移更是复杂,用纯粹的数字电路或小规模的可编程逻辑电路实现该系统有一定的困难,需要用中大规模的可编程逻辑电路。这样,系统的成本就会急剧上升(相对于方案二)。因此,本设计并未采用这种方案。方案二:采用MCU内部定时器AT89C51内部含有2个定时器,可以利用一个定时器计时与一个定时器倒计时。再结合矩阵键盘控制,方便采集信号,而且结合编程,易于实现。由于方案二具有较好的灵活性、较少的电路器件和较高的性价比,而且通过精确的软
9、件补偿使精度完全可以满足控制需要,所以我们选择该方案完成设计。本系统采用AT89C51单片机为中心器件,利用其定时器/计数器定时和记数的原理,结合硬件电路如电源电路,晶振电路,复位电路,显示电路,以及一些矩阵按键电路等来设计计时器,将软、硬件有机地结合起来。其中软件系统采用汇编语言编写程序,包括显示,计数,中断,延时,按键消抖程序等,并在编程软件中调试运行,硬件系统利用PROTEUS强大的功能来实现,简单且易于观察,在仿真中就可以观察到实际的工作状态。系统电路原理框图如图1所示。 外围电路单片机显示电路电源电路路键盘电路图1 系统电路原理框图2.2硬件设计2.2.1 89C51单片机MCS-5
10、1系列单片机是8位单片机产品,89C51是其中的典型代表,基本模块包括以下几个部分:(1)CPU:89C51的CPU是8位的,另外89C51内部有1个位处理器(2)R0M:4KB的片内程序存储器,存放开发调试完成的应用程序(3)RAM:256B的片内数据存储器,容量小,但作用大(4)I/O口:P0-P3,共4个口32条双向且可位寻址的I/O口线(5)中断系统:共5个中断源,3个内部中断,2个外部中断(6)定时器/计数器:2个16位的可编程定时器/计数器(7)通用串行口:全双工通用异步接收器/发送器(8)振荡器:89C51的外接晶振与内部时钟振荡器为CPU提供时钟信号(9)总线控制:89C51对
11、外提供若干控制总线,便于系统扩展 89C51的引脚图如下:图2 89C51单片机引脚图 图3 晶体振荡电路图4 复位电路2.2.2晶体振荡电路(如图3所示)89C51芯片内部有一个高增益反相放大器,用于构成振荡器。引线 XTAL1和XTAL2分别为反向放大器的输入和输出,两端跨接石英晶体及两个电容就可构成稳定的自激振荡器。这里,我们选用51单片机12MHZ的内部振荡方式,电容器C1,C2起稳定振荡频率,并对振荡频率有微调作用,C1和C2可在20-100PF之间取值,这里取33PF。2.2.3 复位电路(如图4所示)采用上电加按键复位电路,上电后,由于电容充电,使RST持续一段高电平时间。当单片
12、机已在运行之中时,按下复位键也能使RST持续一段时间的高电平,从而实现上电加按键复位的操作。2.2.4电源电路 用于这里直接利用普中科技开发板进行硬件设计,而且电源在这里也不是我们应该重点考虑的部分,因此我们可以选择用蓄电池供电,或者采用USB线接+5V电源进行供电。在这里我选择后者,方便易用。2.2.5矩阵按键电路(如图5所示) 在矩阵按键电路中,我们可以在I/O口上直接接按键,或者通过I/O口设计一个键盘,然后通过键盘扫描程序判断是否有键按下等。键盘扫描电路节省I/O口,但编程有些复杂,将矩阵键盘按图中所示与89C51的P1口相连。在这里,我采用行扫描法编程读取键值,然后执行相应的操作,我
13、们将按键S0S9用于倒计时时候对秒表赋初值,按下则输入相应的键值,按键S10和是S11暂时留着备用,按键S12用于计时启动和停止,S13用于计时值存储和回放,S14用于秒表清零(相当于单片机手动复位),S15用于选择倒计时功能和启动倒计时。也就是说,S12S15四个按键都具有双重功能,但不会冲突,因为有前提条件,例如,S12启动和停止键,停止时按键启动计时,启动时按键停止计时。再按,则在原计时值基础上继续计时;S12存储和回放键。当启动时,按键为存储;当停止时,按键为回放。这样可以减少所使用的按键,而且操作方便,但是这对程序的编写要求就相应的提高了。对于按键的设计,采用了软件延时消抖的程序,使
14、系统的性能得到进一步的提升。当按键被按下时,相应的引脚被拉低,经扫描后,获得键值,并执行键功能程序,因此按下不同的按键,将执行不同的功能程序。 图5 矩阵按键电路2.2.6显示与蜂鸣器电路(如图6所示)方案一:使用数码管显示该方案控制最简单,根据设计要求显示格式XXXXXXXX。可以准确的显示计时时间,又由于数码管简单便宜且满足设计要求,而且成本较低,所以选着数码管显示比较合理。方案二:使用LCD12864液晶显示点阵液晶可以显示多种字符及图形,拥有友好的人机界面及强大的显示功能。特别适用于智能控制的可编程人性化显示。但是比较复杂。使用不方便。增加了难度。比较方案一和二, 我这里选择采用的是数
15、码管显示电路。用八个共阴极LED数码管显示,LED数码管内部有7个条形发光二极管和1个小圆点发光二极管组成,根据各管的亮暗组合成字符。在用数码管显示时,我们有静态和动态两种选择,静态显示程序简单,显示稳定,但是占用端口比较多;动态显示所使用的端口比较少,可以节省单片机的I/O口。在设计中,我们采用LED动态显示,用P0口驱动显示。由于P0口的输出级是开漏电路,用它驱动时需要外接上拉电阻才能输出高电平。秒表为计时和倒计时的时候,显示格式为XX-XX-XX,前两位为分钟,中间两位为秒,后面两位为10ms,加上中间两根横线刚好能在八段数码管中显示;当为回放显示存储数据时,由于需要显示至多二十组数据,
16、因此需要两位数码管显示存储次数,如果还按照刚才的显示方式则数码管不够用。因此为了方便观察,我采用的显示格式为XX.XX.XX.XX,前面两位为存储次数,中间每两位用1个小圆点发光二极管显示,便于区分。由于采用动态显示,我选用74LS138译码器作为共阴数码管的位选译码输入。 图6 数码管显示电路74LS138为3 线8 线译码器,共有 54/74S138和 54/74LS138两种线路结构型式,其工作原理如下:当一个选通端(S1)为高电平,另两个选通端()和)为低电平时,可将地址端(A2、A1、A0)的二进制编码在一个对应的输出端以低电平译出。因此,只要将AT89C51的P2.4,P2.3,P
17、2.2口与74LS138的A2、A1、A0口相连,即可以进行位选控制。其管脚图如图7,真值表如图8所示。 图7 74LS138管脚图 图8 3线-8线译码器74LS138的功能表蜂鸣器电路(如图9) 倒计时结束后,蜂鸣器发声,片刻后停止,利用AT89C51的P2.5口控制蜂鸣器发声。图9 蜂鸣器电路2.2.7硬件电路图(如图10所示)图10 硬件电路图3.软件设计3.1设计特点在软件设计中,一般采用模块化的程序设计方法,它具有明显的优点。把一个多功能的复杂的程序划分为若干个简单的、功能单一的程序模块,有利于程序的设计和调试,优化和分工,提高了程序的阅读性和可靠性,使程序的结构层次一目了然。应用
18、系统的程序由包含多个模块的主程序和各种子程序组成。各程序模块都要完成一个明确的任务,实现某个具体的功能,如:计数、延时、和显示等,在具体需要时调用相应的模块即可。功能描述:用八位LED数码管显示时间。十个初值输入键,一个开始/暂停键, 一个“记录/回放”键,一个复位键,一个“倒计时”键,可同时记录20个相对独立的时间,查看20个不同的计时值。这14个按键分别控制秒表的五个功能。3.2设计思路及程序流程图3.2.1系统主程序 设计思路:在主程序中进行定时器初始化,键扫描程序,显示程序,根据扫描到的键值进入相应的功能模块,执行相应的功能。具体键值及对应功能如下表:按键名(S0S15)键值(KeyV
19、alue)对应子程序实现功能S0S909倒计时,设初值S10S11S1212启动和停止S1313存储/回放子程序存储和回放计时S1414清零(复位)清零秒表S1515倒计时子程序倒计时功能注:1、 表格中空白处为未使用; 2、 S12键,启动和停止。停止时按键启动计时,启动时按键停止计时。再按,则在原计时值基础上继续计时;3 、S13键 存储和回放。当启动时,按键为存储;当停止时,按键为回放。 4、设置F0 开始标志位;F1 停止标志位;F2 倒计时标志位;主程序流程图如图11所示:图11 流程图源程序如下:void main() Timer0Configuration(); /定时器初始化
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机原理与应用 基于 MCS51 单片机 多功能 秒表 设计 微机 原理 应用 课程设计 报告
限制150内