《通信原理课程设计基于单片机的数字时钟设计.doc》由会员分享,可在线阅读,更多相关《通信原理课程设计基于单片机的数字时钟设计.doc(12页珍藏版)》请在三一办公上搜索。
1、目 录1数字时钟介绍11.1 数字时钟结构11.2 方案选择11.3系统框图11.3.1晶体振荡器电路21.3.2时间计数器电路21.3.3复位电路21.3.4 按键部分31.3.5电源电路31.4 AT89C51单片机42软件设计82.1软件设计流程图如图2.1。82.2系统图82.3 软件流程:92.4 中断方式中需注意的问题92.5 准确定时的讨论92.6 软件消抖103 结束语10参考文献11基于单片机的数字时钟设计前言 20世纪以来,科学技术的不断发展,现代电子产品几乎运用到了社会的各个领域,并有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能得到了进一步提
2、高,产品更新换代的节奏也随之变得更快。 单片机就是单片微型计算机,他体积小,容量大,功耗低,性能高,价格低,正朝着高性能和多品种方向发展的趋势将进一步向CMOS化、外围电路内装化发展。51系列单片机是最典型,最具代表的。他是集成了CPU、RAM、ROM、定时器/计数器和多种功能的I/O接口电路等计算机的基本部件在一块芯片中,在单片机模块里比较常见有数字时钟,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字时钟的精度,远远超过老式钟表, 钟表的数字化给人们的生活带来了很大的方便,而且大大地扩展了钟表原先的报时功能,再者,数字时钟是用0数字电路技术实现时、分、秒计时的装置,比机械式时钟准
3、确性更高,数字时钟无机械装置,具有更长的使用寿命,所以这种时钟广泛用于个人家庭,车站, 码头办公室等公共场所。 1数字时钟介绍1.1 数字时钟结构数字时钟是指对1Hz标准频率进行计数的计数电路。由于计数的起始时间不可能与标准时间一致,所以需要加一个校时电路在电路中,同时1MHz的标准时间信号必须准确稳定。所以数字时钟中通常使用石英晶体振荡器电路。1.2 方案选择单片机模块方案:方案一:基本门电路的搭肩,通过基本门电路来实现数字时钟,电路结构比较为复杂,不容易调试。方案二:单片机编程,通过单片机设计电路,使用软件、硬件结合的方式,所以电路结构比较简单,调试也相对容易。与第一种方案比较优点是非常明
4、显的。所以我们选择了第二种方案。1.3系统框图此系统主要由电源电路、复位电路、时钟电路、数码管显示电路等电路组成。电源电路为系统提供电源;复位电路用于单片机的初始化操作;时钟电路用于是单片机工作在统一的时钟脉冲,并将数据发送到单片机中。单片机通过软件程序对信息进行计算解析,并将解析的结果通过数码管显示。AT89C51电源时钟电路复位电路8位LED显示器修改时钟电路下载电路图1.3-1 系统框图1.3.1晶体振荡器电路 晶体振荡器电路为数字时钟提供一个为12MHz的稳定准确的频率的方波信号,保证数字时钟准确,稳定的走时,晶体振荡器电路广泛运用于指针式的电子钟和数字显示的电子钟。图1.3.1-1
5、晶体振荡电路1.3.2时间计数器电路时间计数电路组成结构有秒个位和秒十位计数器,分个位和分十位计数器电路,秒个位,秒十位和分个位,分十位均60进制计数器。1.3.3复位电路MCS-51单片机的复位是由外部的复位电路来实现的。复位引脚RST通过一个斯密特触发器与复位电路相连,斯密特触发器用来抑制噪声,在每个机器周期的S5P2,斯密特触发器的输出电平由复位电路采样一次,然后才能得到内部复位操作所需要的信号。上电复位:上电复位电路是种简单的复位电路,只要在RST复位引脚接一个电容到VCC,接一个电阻到地就可以了。上电复位是指在给系统上电时,复位电路通过电容加到RST复位引脚一个短暂的高电平信号,这个
6、复位信号随着VCC对电容的充电过程而回落,所以RST引脚复位的高电平维持时间取决于电容的充电时间。为了保证系统安全可靠的复位,RST引脚的高电平信号必须维持足够长的时间。 图1.3.3-1 复位电路通过外部复位电路的电容充电来实现上电自动复位。Vcc的上升时间只要不超过1ms,自动上电复位就可以实现。1.3.4 按键部分本次共用了五个按扭开关作为键盘,调整时间和设置状态。图1.3.4-1 按键电路1.3.5电源电路电源电路是指提供给用电设备电力供应的电源部分的电路设计,使用的电路形式和特点。电源有交流电源也有直流电源。直流电源电路分为开关电源和非开关电源两种形式,电路也大不相同。图1.3.5-
7、1 电源电路1.4 AT89C51单片机AT89C51单片机是把微型计算机控制应用所必需的基本内容都集成在一个很小的集成电路芯片上。按功能划分,它由微处理器(CPU)、数据存储器(RAM)、程序存储器(ROM)、并行I/O口(4个8位I/O口)、串行口、定时器/计数器、中断系统及特殊功能寄存器等功能部件组成。AT89C51单片机内的几个部件包含有:l 一个8位CPU;l 一个片内振荡器及时钟电路;l 4K字节ROM程序存储器;l 128字节RAM数据存储器;l 两个16位定时器/计数器;l 可寻址64K外部数据存储器和64K外部程序存储器空间的控制电路;l 32条可编程的I/O线(四个8位并行
8、I/O端口);l 一个可编程全双工串行口;l 具有五个中断源、两个优先级嵌套中断结构。它们都是通过片内单一的总线连接成的,是CPU微处理器加上外围芯片的传统的基本结构模式。但是他采用特殊功能寄存器的集中控制方式对各种功能部件进行的控制,以实现不同的功能。图1.4-1 AT89C51单片机结构此次采用的是PDIP封装40管脚的单片机,各引脚如图所示。40个引脚中, 4组8位共32个I/O口,正电源和地线两根,外置石英振荡器的时钟线两根。图1.4-2 引脚图Vcc(40引脚): 接+5V电源。EA(31引脚): 外部程序存储器访问允许选择端。ALE(30引脚): 低8位地址锁存允许信号端。PSEN
9、(29引脚):读外部程序存储器的选通信号端。GND(20引脚): 接地。XTAL1(19引脚): 片内振荡器反相放大器和时钟发生器电路的输入端。XTAL2(18引脚): 片内震荡器反相放大器的输出端。RST(9引脚): 复位引脚,高电平有效。P0口:漏极开路的8位双向I/O口,名称为P0.0P0.7。P1口:8位准双向I/O口,具有内部上拉电阻,名称为P1.0P1.7。P2口:8位准双向I/O口,具有内部上拉电阻, 名称为P2.0P2.7。P3口:8位准双向I/O口,具有内部上拉电阻, 名称为P3.0P3.7。MCS-51是一个多中断源的单片机,具有5个中断源和2级中断优先权。中断源分别是外部
10、中断两个,定时中断两个和串行中断一个。u 外中断由外部原因引起的中断是外中断,共有两个中断源,外部中断0和外部中断1,中断请求信号分别由引脚INT0和INT1引入。外部中断请求有电平方式和脉冲方式两种信号方式。u 定时中断为满足定时或计数的需要而设置的中断即定时中断,片内有2个16位的定时器/计数器, 具有四种工作方式,分别是方式0、方式1、方式2、方式3。当程序进入中断服务后,标志位都可以由硬件清0。但是实际运行中,中断服务程序必须判定是否是TF2 或EXF2激活中断,标志位也必须由软件清0。定时器/计数器提供给用户使用的有:八位计数器TH和TL,以及有关的控制位。u 串行中断为串行数据传送
11、的需要而设置的中断即串行中断。1个全双工的串行口有四种工作方式,可用来进行串行通讯,扩展并行I/O口,甚至与多个单片机相连构成多机系统,从而使单片机的功能更强且应用更广。中断控制是指提供给用户使用的中断控制手段,实际上就是一些专用寄存器。在MCS-51单片机中,用于此目的的控制寄存器共有四个,即定时器控制寄存器、中断优先控制寄存器。中断允许控制寄存器、以及串行口控制寄存器。l 定时器控制寄存器(TCON) 保存外部中断请求和定时器的计数溢出的寄存器即为定时寄存器。寄存器的地址为88H,位地址是8FH88H。寄存器的内容和地址如表1.4-1所示: 表1.4-1 定时器控制寄存器位地址8F8E8D
12、8C8B8A8988位符号TF1TR1TF0TR0IE1IT1IE0IT0 此寄存器既有定时器/计数器的控制功能又有中断控制功能,其中与中断有关的控制位共六位:IE0和IE1 、IT0和IT1 以及TF0和TF1 。l 中断允许控制寄存器(IE)寄存器地址为A8H,位地址是AFHA8H。寄存器的内容和地址如表1.4-2所示: 表1.4-2 中断允许控制寄存器位地址AFAEADACABAAA9A8位符号EAESET1EX1ET0EX0这其中与中断有关的控制位共六位,分别是EA、EX0和EX1 、ET0和ET1 、ES。中断允许控制位=1,允许中断;中断允许控制位=0,禁止中断;l 中断优先级控制
13、寄存器(IP)MCS-51中各中断源的优先级由优先寄存器(IP)进行设定,其中断优先级控制只定义了高、低两个级。IP寄存器地址为B8H,位地址是BFHB8H。寄存器的内容和地址如表1.4-3所示: 表1.4-3 中断优先级控制寄存器的功能位地址BFBEBDBCBBBAB9B8位符号PSPT1PX1PT0PX0PS 串行中断优先级的设定位PT1 定时中断1优先级的设定位PX1 外部中断1优先级的设定位PT0 定时中断0优先级的设定位PX0 外部中断0优先级的设定位其中为0的位优先级为低;为1的位优先级为高。l 中断响应当系统查询到有效的中断请求时,接着就进行中断响应。中断响应主要是由硬件自动生成
14、一条格式为LCALL addr16的长调用指令, addr16是程序存储器中断区中相应中断的入口地址。在MCS-51单片机中入口地址是由系统设定好了。2软件设计2.1软件设计流程图软件设计流程图如图2.1-1。开始初始化程序读日历、时间将时间、日历分离显示子程序播报子程序结束图2.1-1 流程图2.2系统图显示程序包含三个方面的数据显示主要是日期时间、第一页数据的显示、第二页数据的显示。MCU控制芯片AT89C51复位时间设置LED显示图2.2-1 显示程序流程2.3 软件流程:数字钟的软件流程可分为以下几个功能模块:主程序:进行初始化和按键监控;计时子程序: 为定时器1中断服务的子程序,他完
15、成刷新计时缓冲区的功能;时间设置: 由按键输入数字,设置时间;显示: 完成6位动态显示;2.4 中断方式中需注意的问题在中断方式中,最好将定时器中断的优先级设置为最高级,在程序数据的稳定性方面应注意两个问题:第一,在低优先级中断响应时,应在入栈保护数据时禁止高优先级的中断响应。第二,在入栈保护系统数据后,对中断程序执行有影响的状态位,寄存器,必须恢复到复位状态的值。2.5 准确定时的讨论在程序中定时器一直处于运行状态,即是说定时器是在进行理想的运作,中断程序每隔0.1秒就要执行一次,在理想状态下,定时器定时是没有系统误差的,但是定时器中断溢出后,定时器从0开始计数,直到被重新置数,才开始正确定
16、时,所以中断溢出到中断响应,再从响应到定时器被重新置数,这期间消耗的时间造成了定时器定时的误差。如果在中断程序的一开始就给定时器置数,这样误差较小。如果数字钟设计为查询的方式或是在中断的方式下将定时器中断设置为最高级,在给系统定时值设置时,可以适当的扣除9个机器周期的时间值。但是如果在中断的情况下,没有将定时器中断设置为最高级,那就要看中断程序的大小,在定时值设置时,就应扣除相应的时间值。2.6 软件消抖此系统可以采用软件的方式来消除抖动。软件消抖有两种方式,分别是定时器定时和利用延时子程序。n 定时器定时消抖可设置标志位,在定时器中断中将其置位,在程序中查询。将其中断优先级设置为低于时钟的定
17、时中断,这样它就可以完全不影响时钟定时,也不影响显示模块扫描速度。n 在采用延时子程序时,如果显示模块的扫描速度不是很快,这时可能会影响到其显示的效果,但是在一般情况下,每秒钟的扫描次数应大于等于50次,否则,数码的显示就会出现闪烁的情况。因此,延时子程序的延时时间应该小于20毫秒,但是如果采用的是定时器定时的方式,延时时间就不影响时钟。如果,系统设计时采用的是中断的方式来完成相关操作,那么就可以采用软件的方式来消抖,其中中断不能连续执行,两次中断之间有一定的时间间隔。3 结束语本次设计主要是以AT89C51单片机为核心,制作一个数字时钟。在设计之中,进一步了解了单片机的应用,在设计过程中感受
18、到了单片机的重要性以及应用范围的广泛。在老师同学的帮助下通过DESIGNER和Keil软件设计了此次的实验。在这次设计中,我发现了很多问题,在画原理图的时候对元器件不熟悉,不能灵活应用DESIGNER软件等。编写程序也是一项很困难的事,由于对专业知识的遗忘和部分知识的不理解,在编程方面存在着很多的问题。本次的数字时钟设计,也让我知道了温度对系统的影响很大,在以后的设计中应注意温度的变化对系统的影响。经过这次单片机的课程设计实验,让我回顾了很多知识专业,更进一步加深了对AT89C51单片机的掌握,同时也巩固了我的编程思想。当然在很大程度上提高了自己的独立思考能力和动手能力。在设计中感谢指导老师细
19、心指导,也感谢和我一起作此课程设计的同学,感谢你们对我的支持!参考文献1 胡乾斌 李光斌 李玲 喻红. 单片微型计算机原理及应用. 华中科技大学出版社. 2005年8月第2版.2 任为民. 电子技术基础课程设计. 中央广播电视大学出版社. 1997年5月第1版.3 谭浩强. C程序设计(第二版). 清华大学出版社. 1999年12月第2版.。4 赵亮,候国锐.单片机c语言编程与实例.北京:人民邮电出版社, 20035 范风强,兰婵丽. 单片机语言C51应用实战集锦(修订版). 电子工业出版社.6 刘振海.单片机原理及应用技术.北京:高等教育出版社,2003 7 沈红卫.单片机应用系统设计实例与
20、分析.北京:北京航空航天大学出版社,20028 于复生,宋现春等,时钟芯片DS1302及其在数据记录中的应用 电子技术应用.2000年3月9 李宏.液晶显示器件应用技术.北京:机械工业出版社,200410 张景元.基于单片机的多用途定时器的设计与实现.电子工程师2000年第8期11 李洪涛.一种单片机控制的定时打铃器.电子世界.1990年第2期12 何业军 李超.基于单片机控制的高精度定时打铃器的设计.电子技术.2001年第7期13 关宗安 仲丛久.基于单片机实现的多路定时控制器的设计.沈阳航空工业学院学报.2004年6月.14 范立南.单片微机接口与控制技术.沈阳:辽宁大学出版社,199615 张友德.单片微型机原理、应用与实践.上海:复旦大学出版社,199216 李华.MCS-51系列单片机实用接口技术.北京:北京航空航天大学出版社,1993