多功能数字钟课程设计(23页).doc
《多功能数字钟课程设计(23页).doc》由会员分享,可在线阅读,更多相关《多功能数字钟课程设计(23页).doc(23页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、-多功能数字钟课程设计-第 23 页沈阳航空工业学院课 程 设 计(论文)题目 多功能数字钟的设计班 级 学 号 学 生 姓 名 指 导 教 师 目 录0. 前言31. 总体方案设计32. 硬件电路的设计42.1单片机主机系统电路的设计2.2汽车信号灯模拟系统电路的设计2.2.1输入口电路的设计2.2.2输出口电路的设计2.3汽车里程表模拟系统电路的设计3. 软件编程93.1 T1计数子程序的设计93.2 外部中断0子程序的设计93.3 外部中断1子程序的设计93.4 里程数处理及显示子程序的设计94. 系统调试和分析144.1 软件调试94.2 软硬联调94.3 调试问题及原因分析95. 结
2、论及进一步设想16参考文献17课设体会19附录 元件清单18附录 总体电路图18附录 源程序18小五字,宋体,为题目名称多功能数字钟的设计摘要:本文设计的是基于单片机的多功能数字钟的设计,本系统设计以AT89C51单片机为核心,分成四个模块,一是显示系统:此系统采用8位LED显示,实现时、分、秒的精确显示;二是时钟计算系统:此系统主要实现对外部脉冲的计数,并用LED数码管将其结果动态显示;三是闹钟定时系统:该系统主要实现闹钟的定时与响铃功能;四是12与24进制转换系统,此系统主要实现由12小时计时方式转换为24小时计时方式。, LED数码管的动态显示可以及时准确的将精确的时间显示出来,在实际应
3、用中很方便。关键词:AT89C51单片机;按键;脉冲计数;动态显示 0. 前言20世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。 时间对人们来说总是那么宝贵,工作的忙碌性和繁杂性容易使人忘记当前的时间。忘记了要做的事情,当事情不是很重要的时候,这种遗忘无伤大雅。但是,一旦重要事情,一时的耽误可能酿成大祸。目前,单片机正朝着高性能和多品种方向发展趋势将是进一步向着CMOS化、低功耗、小体积、大容量、高性能、低价格和外围电路内装化等几个方面发展
4、。下面是单片机的主要发展趋势。单片机应用的重要意义还在于,它从根本上改变了传统的控制系统设计思想和设计方法。从前必须由模拟电路或数字电路实现的大部分功能,现在已能用单片机通过软件方法来实现了。这种软件代替硬件的控制技术也称为微控制技术,是传统控制技术的一次革命。单片机模块中最常见的是数字钟,数字钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更更长的使用寿命,因此得到了广泛的使用。数字钟是采用数字电路实现对.时,分,秒.数字显示的计时装置,广泛用于个人家庭,车站, 码头办公室等公共场所,成为人们日常生活中不可少的必需品,由于数字集成电
5、路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表, 钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的。因此,研究数字钟及扩大其应用,有着非常现实的意义。在单片机技术日趋成熟的今天,其灵活的硬件电路的设计和软件的设计,让单片机得到了广泛的应用,几乎是从小的电子产品,到大的工业控制,单片机都起到了举足轻重的作用。单片机小的系统结构几乎是所有具有可编程硬件的一个缩影,可谓是“麻雀虽小
6、,肝胆俱全”,单片机的学习和研究是对微机系统学习和研究的简捷途径。1.总体方案设计单 片 机按键开关LED显示图1 多功能数字钟单片机模拟系统基本组成框图单的系统从而达到强化课本知识并灵活运用的目的。电子数字钟是日常生活钟随处可见的简单系统。对电子数字钟的设计比较容易联系实际并进行拓展, 在设计中我将力求尽可能跳出课本的样板,从现实生活中寻找设计原型和设计思路,争取有所突破电子时钟主要由显示模块,校时模块,时钟运算模块和12与24进制转换模块四大部分组成。其中校时模块和时钟运算模块要对时、分、秒的数值进行操作,并且秒计算到60时,要自己清零并向分进1;分计算到60时,要自己清零并向时进1;时计
7、算到24时,要清零。这样,才能循环记时。89C51是8位CPU,具有片内振荡器和时钟电路,2个16位的定时器/计数器,5个中断源,两个中断优先级。89C51单片机的时钟信号通常用内部振荡方式得到:在引脚XTAL1和XTAL2外接晶体振荡器(简称晶振)或陶瓷谐振器,就构成了内部振荡方式。由于单片机内部有一个高增益反相放大器,当外接晶振后,就构成了自激振荡器并产生振荡时钟脉冲.电容器Col,C02起稳定振荡频率、快速起振的作用,其电容值一般在5-30pF。晶振频率的典型值为12MHZ校时模块主要功能是修改时、分、秒内存单元的数值。每按一次键,对应的显示值便加1。分、 秒加到59后变为00;小时加到
8、23后再按键即变为00.再调校时均不向上一单位进位(例如分加到59后变为00;但小时不发生改变)。注意:在主程序中对时间进行调校前应关闭中断,以防在调校过程中定时中断服务程序也对时间进行修改而造成混淆。数字钟的设计首先要保证其走时尽可能准确,其次再根据人们日常的使用习惯来设定其附加功能。在设计中利用单片机定时计数器来完成走时并用两组输出口控制数码管来显示;通过编程向某一输出口输出方波实现报时及闹铃;利用输入端口外接各种开关来完成对走时及显示的控制(如预置时间等)。在设计中需要用到许多技巧。以下为我在学习单片机课程中总结的一些设计思想或方法:l 占空比概念在设计中的运用图2 占空比如图所示的一串
9、方波序列,导通时间同周期的比值即占空比。在用单片机控制对多个数码管的扫描显示中,数码管接收到的电压可以看成是一串方波序列,占空比控制了数码管的亮度。实际上对显示延时时间的调节就是调节数码管电压的占空比,当占空比大于一定数值的时候数码管可以显示,实验证明占空比在0.1时仍可以使数码管清晰显示。利用这个概念可以比较直观地理解显示延时的调节。l CPU的分时复用单片机只有一个CPU,因此在一个时间内只能执行一条语句,要使单片机同时控制多个外部元件(比如扬声器和数码管)就必须对单片机的CPU进行分时复用,让单片机在一小段时间内连续交替执行控制多个器件的语句,从表面上看,单片机便用一个CPU控制了多个元
10、件。本次课程设计中对整点报时和闹铃功能的实现便用到了这个概念。l 单片机位寻址区的使用单片机内部数据存储器由20H到2FH共有16个字节的位寻址区可以被作为程序执行过程中的状态参数,许多程序模块至于两个状态(比如闪烁与正常显示,报时与不报时等)用位寻址区中的某一位来记录程序执行状态,在需要对状态进行判断的时候十分方便并且节约空间,一个字节便可以判断八个状态,而非位寻址区的地址记录程序状态时可能需要先进行变换,增加了执行成本且容易出错。l检测开关时需要注意的问题对于用各种开关控制程序执行状态的程序设计中,需要注意实时地进行开关的检测,以确保一旦有开关动作,程序状态立即随之改变。此外,在用多个开关
11、控制不同执行状态时,应注意设置开关检测的优先级以防止多个开关同时按下时出现错误。l 系统资源分配与使用单片机有许多资源是有限的不能滥用,比如定时计数器T,外部中断等,在设计一个多模块程序时,要注意先做一个整体规划,把稀缺资源用在最需要用的地方。此外在有多个模块时,要注意模块间的数据传递,比如累加器A和进位标志C,在使用时要注意不能让前一个模块的数据对下一个模块产生不希望有的影响。在模块间的数据传递比较多时最好用固定的内部数据存储器,以避免冲突发生错误。2. 硬件电路设计由单片机硬件设计原理可知:(1)尽可能采用功能强的芯片,以简化电路;(2)留有余地。在设计硬件电路时,要考虑到将来修改、扩展的
12、方便。因此在AT89C51芯片本身的最小系统需求外,还选择了上拉电阻进行了简单的扩展。2.1单片机主机系统电路的设计单片机主机系统原理图如图3所示。图3 单片机主机系统原理图由图3可知,此系统有两部分:时钟电路和复位电路。时钟电路:AT89C51内部有一个用于构成震荡器的高增益反相放大器,引脚XTAL1和XTAL2分别是此放大器的输入端和输出端。这个放大器与作为反馈元件的片外晶体或陶瓷谐振器一起构成一个自激振荡器。外接晶体以及电容C1和C2构成并联谐振电路,接在放大器的反馈回路中。(晶体可在1.2MHz12MHz之间任选,电容C1和C2的典型值在20pF100pF之间选择)复位电路:本系统的复
13、位电路是采用按键复位的电路,复位输入引脚RET为AT89C51提供了初始化的手段。当89C51的ALE及PSEN两引脚输出高电平,RET引脚高电平到时,单片机复位。按下按钮,则直接把+5V加到了RET端从而复位称为手动复位。复位后,P0到P3并行I/O口全为高电平,其它寄存器全部清零,只有SBUF寄存器状态不确定。2.2多功能数字钟的时、分、秒的调制电路图4多功能数字钟的时、分、秒的调制电路分别设置了三个按键:set、up、down用于高低电平的输入。LED灯组与单片机AT89C51相连接至P0口,用于输出时间的状态。没有开关闭合时,时间处于正常显示状态, LED灯显示当时的时间。开关set键
14、按下时,如果按下一次,则可以对小时进行调整,若小时加1,则继续按up键,若需要小时减1,则需按down键;如果set键按下两次,则可以对分进行调整,具体原理与小时的调整一样;若果set键按下三次,则是对秒进行调整,具体原理 时、分相同。此系统减少了端口的使用,简化了电路,方便了电路以后的使用和修改。2.3多功能数字钟显示系统的设置:函数信号发生器输出脉冲作为输入接至P3.5口,由单片机内部计数器T1进行计数,选用7段6位共阳极数码管,与单片机的P0口相连,6个位选端分别与单片机的P2.0P2.5口相连组成显示电路,实现时间的动态显示。在多位LED显示时,为了简化电路,节省I/O口,降低成本,动
15、态显示方案具备一定的实用性,也是目前单片机数码管显示较为常用的一种显示方法。在本设计课题中采用的是7段6位共阳极LED数码管,它的引脚图如图7所示。BITBTI4I5I6I7BIT8图5 7段6位共阳极LED数码管引脚图7段LED数码管是利用7个LED(发光二极管)外加一个小数点的LED组合而成的显示设备,7段数码管分共阴和共阳两种显示方式,本设计中采用共阳极显示器。共阳极显示器的发光二极管的阳极连接在一起,当公共阳极接电源+5V时,当某个发光二极管的阴极接低电平时,发光二极管被点亮,相应的段被显示。通常将控制发光二极管发光的8位字节数据编码称为LED显示的段选码,要构成多位LED显示时,除需
16、要段选线外,还需要位选线,以确定段选码对应的显示位,位选线控制第几个LED显示。段选线控制显示字形。8个阴极分别与8个限流电阻相连,在接到相应的电路中(发光二极管的工作电流选取在10-20ma,限流电阻太大,数码管会太亮),其连接图如图6所示。图6 7段共阳极LED连接图多功能数字钟显示系统电路如图7所示,当按键按下输出脉冲时,内部定时器T1开始计数,脉冲数相当于时间,脉冲数通过单片机内部算法经数码管显示结果。按键set为多功能数字钟的调整键,模拟多功能数字钟时,LED数码管显示当前时间,并随时根据调整的时间进行实时的显示。图7多功能数字钟显示系统电路3. 软件编程在单片机系统的程序的设计开发
17、中,单片机就如同整个系统的交通中枢,而程序就是组成交通中枢的条条大道,各个部分的模块化的程序就是整个系统的组成成份。软件编写的好坏,语句运用的是否简洁直接关系单片机的工作效率。在各个模块化的程序中尽量用最少的语句作最多的事情,不让语句出现歧义,这样就可以使整个程序可以在系统中更好的运行,使单片机工作效率大大的提高。本系统编程部分是利用C语言完成的,采用模块化的设计方法,各子程序作为实现各部分功能和过程的入口,完成对灯的控制,脉冲计数和LED动态显示等部分的设计。该课题的软件设计采用了模块化设计的思想即将程序划分为若干个相对独立的功能模块,画出每一个功能模块的详细流程图,并根据流程图编写程序,最
18、后按照软件设计的总体结构框图,将各模块连接成一个完整的主程序。在主程序的设计中要合理地调用各模块程序。模块化设计的优点是:无论是硬件还是软件,每一个模块都相对独立,故能独立地进行设计、研制、调试和修改,从而使复杂的工作得以简化。模块之间的相互独立也有助于研制任务的分解和设计人员之间的分工合作,这样可提高工作效率和仪表的研制速度。本系统设计以AT89C51单片机为核心,分成四个模块,一是显示系统:此系统采用8位LED显示,实现时、分、秒的精确显示;二是时钟计算系统:此系统主要实现对外部脉冲的计数,并用LED数码管将其结果动态显示;三是闹钟定时系统:该系统主要实现闹钟的定时与响铃功能;四是12与2
19、4进制转换系统,此系统主要实现由12小时计时方式转换为24小时计时方式。, LED数码管的动态显示可以及时准确的将精确的时间显示出来,在实际应用中很方便。下面就其主要部分分别分析。3.1主程序流程图NN时钟电路复位电路关中断秒加1处理有键按 有键有键按下?调用键盘扫描子程序分键?分加1处理开中断初始化(定时器,显示区中断系统,计数单元等)N小时键?N中断0子程序返回NY计数器停止计数Ka是否被按下返回调用显示子程序开中断秒键?小时加1处理图6主程序流程图3.2定时中断流程图定时器中断处理NN重送初值保护现场计数单元加1到1秒?T秒加1B秒到60?T秒清0分加1B分到60?T分清0,小时加1B小
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 多功能 数字 课程设计 23
限制150内