用单片机内部定时器实现的数字钟-智能测控仪器设计-本科论文

上传人:仙*** 文档编号:200286754 上传时间:2023-04-14 格式:DOC 页数:20 大小:190.50KB
收藏 版权申诉 举报 下载
用单片机内部定时器实现的数字钟-智能测控仪器设计-本科论文_第1页
第1页 / 共20页
用单片机内部定时器实现的数字钟-智能测控仪器设计-本科论文_第2页
第2页 / 共20页
用单片机内部定时器实现的数字钟-智能测控仪器设计-本科论文_第3页
第3页 / 共20页
资源描述:

《用单片机内部定时器实现的数字钟-智能测控仪器设计-本科论文》由会员分享,可在线阅读,更多相关《用单片机内部定时器实现的数字钟-智能测控仪器设计-本科论文(20页珍藏版)》请在装配图网上搜索。

1、“智能测控仪器设计”课程项目设计总结报告项目名称: 用单片机内部定时器实现的数字钟 指导老师: 学 号: 专业年级: 完成时间: 2013 年 7 月 用单片机内部定时器实现的数字钟摘要:近年来随着计算机在社会领域的渗透和大规模集成电路的发展,单片机的应用正在不断地走向深入,由于它具有功能强,体积小,功耗低,价格便宜,工作可靠,使用方便等特点,因此特别适合于与控制有关的系统,越来越广泛地应用于自动控制,智能化仪器,仪表,数据采集,军工产品以及家用电器等各个领域,单片机往往是作为一个核心部件来使用,在根据具体硬件结构,以及针对具体应用对象特点的软件结合,以作完善。本文介绍了基于单片机AT89C5

2、1的数字钟的设计,详细讨论了它从软件上实现的过程,重点在时钟调整的方式:查询和中断的比较,然后,对数字钟的稳定性和精确性作了相关的讨论。在文章的最后,给出了采用中断方式实现的数字钟的源程序。本次设计通过对一个时钟显示、手动校时等功能的时间系统的设计,其中结合了LCD1602显示、单片机定时中断等技术。关键词:单片机的应用,AT89C51,LCD19Abstrct:In recent years along with computer penetration in the social sphere and the large scale integrated circuit developme

3、nt, MCU applications are constantly deepening, because it has strong function, small volume, low power consumption, low price, reliable work, so that the use is convenient wait for a characteristic, thus it is especially suitable for and control of relevant system, more and more widely and its appli

4、cation in automatic control, intelligent instruments, instrumentation, data acquisition, military products and household appliances and other fields, the microcontroller is often used as a core component to use, in accordance with the specific hardware structure, and the specific characteristics of

5、the target application software node, to make perfect. This article introduced based on the single-chip digital clock design, discussed in detail from the software implementation process, heavy in the clock adjustment way: queries and disruption of comparison, and then, on the digital clock made of

6、the stability and accuracy of closed the discussion. At the end of the article, gives the interrupt mode to achieve digital clock source. This design through to a clock display, manual school functions when the time system design, which combines the LCD1602 display, dynamic scanning, SCM timer inter

7、rupt technology.Key words: The application of MCU, AT89C51, LCD1. 项目研究意义与研究现状数字钟是采用数字电路实现对.时,分,秒.数字显示的计时装置,与机械式时钟相比具有更高的准确性和直观性,装置,具有更长的使用寿命,已得到广泛的使用。数字钟的设计方法有许多种,例如,可用中小规模集成电路组成电子钟;也可以利用专用的电子钟芯片配以显示电路及其所需要的外围电路组成电子钟;还可以利用单片机来实现电子钟等等。这些方法都各有其特点,其中利用单片机实现的电子钟具有编程灵活,并便于功能的扩展。数字钟广泛用于个人家庭,车站,码头办公室等公共场所,

8、成为人们日常生活中不可少的必需品,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表,钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的。因此,研究数字钟及扩大其应用,有着非常现实的意义。本课题研究的基于51单片机数字钟采用专用实时时钟芯片,走时准确,且具有掉电保持功能,采用新颖简单的图像点阵液晶显示,开机有启动画面,具有良好的人机界面;是很好的时间指示工具。2. 研

9、究的内容与预期目标2.1 研究内容单片机经过1、2、3、3代的发展,正朝着多功能、高性能、低电压、低功耗、低价格、大存储容量、强I/O功能及较好的结构兼容性方向发展。其发展趋势不外乎以下几个方面:1、多功能 单片机中尽可能地把所需要的存储器和I/O口都集成在一块芯片上,使得单片机可以实现更多的功能。比如A/D、PWM、PCA(可编程计数器阵列)、WDT(监视定时器-看家狗)、高速I/O口及计数器的捕获/比较逻辑等。有的单片机针对某一个应用领域,集成了相关的控制设备,以减少应用系统的芯片数量。例如,有的芯片以51内核为核心,集成了USB控制器、SMART CARD接口、MP3解码器、CAN或者I

10、*I*C总线控制器等,LED、LCD或VFD显示驱动器也开始集成在8位单片机中。2、高效率和高性能为了提高执行速度和执行效率,单片机开始使用RISC、流水线和DSP的设计技术,使单片机的性能有了明显的提高,表现为:单片机的时钟频率得到提高;同样频率的单片机运行效率也有了很大的提升;由于集成度的提高,单片机的寻址能力、片内ROM(FLASH)和RAM的容量都突破了以往的数量和限制。由于系统资源和系统复杂程度的增加,开始使用高级语言(如C语言)来开发单片机的程序。使用高级语言可以降低开发难度,缩短开发周期,增强软件的可读性和可移植性,便于改进和扩充功能。3、低电压和低功耗单片机的嵌入式应用决定了低

11、电压和低功耗的特性十分重要。由于CMOS等工艺的大量采用,很多单片机可以在更低的电压下工作(1.2V或0.9V),功耗已经降低到uA级。这些特性使得单片机系统可以在更小电源的支持下工作更长的时间。2.2 预期目标该多功能数字钟的设计,总体上大致可分为以下几个部分组成:1. 时钟电路部分;2.复位电路部分;3.LCD显示电路部分;4.按键选择电路部分;5. 蜂鸣器电路部分。系统原理框图如图1所示。整个电路的工作原理是由晶振芯片提供准确的时钟电路,由键盘调整数字钟的功能,并通过软件编程把时间数字通过LCD显示出来。时钟电路复位电路LCD显示电路按键选择电路AT89C51图1 系统原理框图3. 总体

12、结构设计1.系统的基本原理及设计思想本设计采用AT89C51单片机模块、晶振电路模块、复位电路模块、独立键盘模块和显示电路模块。晶振电路用于产生AT89C51单片机工作时所必需的控制信号。AT89C51单片机的内部电路正是在时钟信号的控制下,严格地按时序执行指令进行工作。在执行指令时,CPU首先到程序存储器中取出需要执行的指令操作码,然后译码,并由时序电路产生一系列控制信号完成指令所规定的操作。复位是单片机的初始化操作,只需给AT89C51的复位引脚RESET加上大于2个机器周期的高电平就可使AT89C51复位。当AT89C51进行复位时,PC初始化为0000H,使AT89C51单片机从程序存

13、储器的0000H单元开始执行程序。除了进入系统的正常初始化之外,当程序运行出错(如程序“跑飞”)或操作错误使系统处于“死锁”状态时,也需要按复位键即RESET为高电平,使AT89C51摆脱“跑飞”或“死锁”状态而重新启动程序。键盘的任务有三项:(1)首先判别是否有键按下。若有,进入下一步工作。(2)识别哪一个键被按下,并求出相应的键值。(3)根据键值,找到相应键值的处理程序入口。在本设计中,键盘具有向单片机输入数据、命令等功能,是人与单片机对话的主要手段。2.计时方案电脑数字钟的秒信号是利用AT89C51单片机内部定时器TO产生的。由于振荡器的晶振频率为12MHz,使得TO的最大定时时间远远小

14、于1秒,因此,在设计时采用了硬件计数与软件计数相结合的方式,即通过TO产生0.1S的时基信号,然后再利用软件进行计数,从而产生1秒钟的时间信号。在设计中,定时器TO采用了中断方式。当定时时间到时,定时器向CPU申请一次中断,CPU响应中断后转入中断服务程序,在TO的中断服务程序中实现时、分、秒的累加,即每产生一次中断,0.1S时基单元的内容加1,当0.1S时基单元的内容等于10时,便产生1S信号,使秒计数单元的内容加1,并将0.1S时基单元的内容清0;当秒计数单元计满60后,向分计数单元进位,使分计数单元的内容加1,并将秒计数单元的内容清0;当分计数单元计满60后,向时计数单元进位,使时计数单

15、元的内容加1,并将分计数单元的内容清0;时计数单元计满24后清O。4.硬件设计4.1 单片机的选择本课程选用AT89C51型号的单片机。 AT89C51 是美国ATMEL 公司生产的低电压,高性能CMOS8 位单片机,片内含4k bytes 的可反复擦写的只读程序存 储器(PEROM)和128 bytes 的随机存取数据存储器(RAM ),器件采用ATMEL 公司的高密度、非易失性存储技术生产, 兼容标准MCS-51指令系统,片内置通用8 位 央处理器(CPU)和Flash 存储单元,功能强大AT89C51 单片机可为您提供许多高性价比的应用场合,可灵活应用于各种控制领域。主要性能参数: 1、

16、与MCS-51产指令系统完全兼容 2、 4k字节可重擦写Flash 闪速存储器 3、 1000 次擦写周期 4、 全静态操作:0Hz24MHz 5、 三级加密程序存储器 6、 1288 字节内部RAM 7、 32 个可编程I O口线 8、 2 个16 位定时计数器 4.2 定时/计数器8051系列单片机至少有两个16位内部定时器/计数器。8052有三个定时器/计数器,其中连个基本定时器/计数器是定时器/计数器0和定时器/计数器1。他们既可以编程为定时器使用,也可以编程为计数器使用。若是计数内部晶振驱动时钟,则它是定时器;若是计数8051的输入引脚的脉冲信号,则它是计数器。8051的T/C时加一

17、计数的。定时器实际上也是工作在技术方式下的,只不过对固定频率的脉冲计数;由于脉冲周期固定,由计数值可以计算出时间,有定时功能。当T/C工作在定时器时,对振荡源12分频的脉冲计数,即每个机器周期计数值加一,频率加=fosc/12。晶振为6MHz,计数频率=500KHz,每2Us计数加一。当T/C工作在计数器时,计数脉冲来自外部脉冲输入引脚T0或T1。当T0或T1脚上负跳变需2个机器周期,即24个振荡周期。所以T0或T1脚输入的计数外部脉冲的最高频率为fosc/12。当晶振为12MHz时,最高技术频率为500KHz,高于此频率将计数出错。4.3 显示电路1602字符型LCD简介1602LCD主要技

18、术参数:显示容量:162个字符芯片工作电压:4.55.5V工作电流:2.0mA(5.0V)模块最佳工作电压:5.0V引脚功能说明 表1:引脚接口说明表编号符号引脚说明编号符号引脚说明1VSS电源地9D2数据2VDD电源正极10D3数据3VL液晶显示偏压11D4数据4RS数据/命令选择12D5数据5R/W读/写选择13D6数据6E使能信号14D7数据7D0数据15BLA背光源正极8D1数据16BLK背光源负极第1脚:VSS为地电源。第2脚:VDD接5V正电源。第3脚:VL为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器

19、调整对比度。第4脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。第5脚:R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和R/W共同为低电平时可以写入指令或者显示地址,当RS为低电平R/W为高电平时可以读忙信号,当RS为高电平R/W为低电平时可以写入数据。第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。第714脚:D0D7为8位双向数据线。4.3.1 液晶显示器各种图形的显示原理字符型液晶显示模块是一种专门用于显示字母、数字、符号等点阵式LCD,目前常用16*1,16*2,20*2和40*2行等的模块。下面以长沙太阳人电子有限公司的

20、1602字符型液晶显示器为例,介绍其用法。一般1602字符型液晶显示器实物如图5,仿真图6:1线段的显示点阵图形式液晶由MN个显示单元组成,假设LCD显示屏有64行,每行有128列,每8列对应1字节的8位,即每行由16字节,共168=128个点组成,屏上6416个显示单元与显示RAM区1024字节相对应,每一字节的内容和显示屏上相应位置的亮暗对应。例如屏的第一行的亮暗由RAM区的000H00FH的16字节的内容决定,当(000H)=FFH时,则屏幕的左上角显示一条短亮线,长度为8个点;当(3FFH)=FFH时,则屏幕的右下角显示一条短亮线;当(000H)=FFH,(001H)=00H,(002

21、H)=00H,(00EH)=00H,(00FH)=00H时,则在屏幕的顶部显示一条由8段亮线和8条暗线组成的虚线。这就是LCD显示的基本原理。2字符的显示用LCD显示一个字符时比较复杂,因为一个字符由68或88点阵组成,既要找到和显示屏幕上某几个位置对应的显示RAM区的8字节,还要使每字节的不同位为“1”,其它的为“0”,为“1”的点亮,为“0”的不亮。这样一来就组成某个字符。但由于内带字符发生器的控制器来说,显示字符就比较简单了,可以让控制器工作在文本方式,根据在LCD上开始显示的行列号及每行的列数找出显示RAM对应的地址,设立光标,在此送上该字符对应的代码即可。4.3.2 时钟电路图2 时

22、钟电路图时钟是单片机的心脏,单片机各功能部件的运行都是以时钟频率为基准,有条不紊的一拍一拍地工作。因此,时钟频率直接影响单片机的速度,时钟电路的质量也直接影响单片机系统的稳定性。常用的时钟电路有两种方式:一种是内部时钟方式,另一种为外部时钟方式。本文用的是内部时钟方式。电路图如图7:MCS-51单片机内部有一个用于构成振荡器的高增益反相放大器,该高增益反向放大器的输入端为芯片引脚XTAL1,输出端为引脚XTAL2。这两个引脚跨接石英晶体振荡器和微调电容,就构成一个稳定的自激振荡器。4.3.3 按键电路图 3 独立式按键电路图独立式按键是各按键相互独立,每个按键占用一根I/O端线,每根I/O端线

23、上的按键工作状态不会影响其他I/O端线上按键的工作状态。如图9所示:独立式按键电路配置灵活,软件结构简单,但每个按键必须适用于按键数量较少的场合。本设计中用到4个按键数量较少,所以采用的是独立式按键。5软件设计系统的软件设计也是工具系统功能的设计。单片机软件的设计主要包括执行软件(完成各种实质性功能)的设计和监控软件的设计。单片机的软件设计通常要考虑以下几个方面的问题:(1)根据软件功能要求,将系统软件划分为若干个相对独立的部分,设计出合理的总体结构,使软件开发清晰、简洁和流程合理;(2)培养良好的编程风格,如考虑结构化程序设计、实行模块化、子程序化。既便于调试、链接,又便于移植和修改;(3)

24、建立正确的数学模型,通过仿真提高系统的性能,并选取合适的参数;(4)绘制程序流程图;(5)合理分配系统资源;(6)为程序加入注释,提高可读性,实施软件工程;(7)注意软件的抗干扰设计,提高系统的可靠性。5.1 主控模块设计开始初始化启动定时器,主程序开始运行按键检测时间显示图4 主程序流程图开始工作时,先把一切都初始化,然后单片机里的定时器开始工作,主程序开始运行,同时对按键进行检测,检测完就可以开始计时。以下是本实验程序:#include#include#includesbit RS=P20;sbit RW=P21;sbit E=P22;sbit BF=P07;sbit K1=P30;sbi

25、t K2=P32;sbit K3=P34;sbit K4=P36;unsigned char t;unsigned char s,m,h;unsigned char code string=Beijing Time;unsigned char code digit=0123456789;void delay(unsigned char i) unsigned char j; while(i-) for(j=0;j115;j+) ;unsigned char BusyTest() bit result; RS=0; RW=1; E=1; _nop_(); _nop_(); _nop_(); _n

26、op_(); result=BF; E=0; return result;void Write_com(unsigned char dicate) while(BusyTest()=1); RS=0; RW=0; E=0; _nop_(); _nop_(); P0=dicate; _nop_(); _nop_(); _nop_(); _nop_(); E=1; _nop_(); _nop_(); _nop_(); _nop_(); E=0;void WriteAddress(unsigned char x)Write_com(x|0x80);void WriteData(unsigned ch

27、ar y)while(BusyTest()=1); RS=1; RW=0; E=0; _nop_(); _nop_(); P0=y; _nop_(); _nop_(); _nop_(); _nop_(); E=1; _nop_(); _nop_(); _nop_(); _nop_(); E=0;void Lcdint() delay(15); Write_com(0x38); delay(5); Write_com(0x38); delay(5); Write_com(0x38); delay(5); Write_com(0x0c); delay(5);Write_com(0x06);dela

28、y(5);Write_com(0x01);delay(5);void Displayhour() unsigned char i,j; i=h/10; j=h%10; WriteAddress(0x44); WriteData(digiti); WriteData(digitj);void Displayminute() unsigned char i,j; i=m/10; j=m%10; WriteAddress(0x47); WriteData(digiti); WriteData(digitj);void Displaysecond() unsigned char i,j; i=s/10

29、; j=s%10; WriteAddress(0x4a); WriteData(digiti); WriteData(digitj);void main()unsigned char i; Lcdint(); TMOD=0x01; EA=1; ET0=1; TH0=(65536-50000)/256; TL0=(65536-50000)%256; TR0=1; t=0; s=0; m=0; h=0;WriteAddress(0x02); i=0; while(stringi!=0) WriteData(stringi);i+; WriteAddress(0x46); WriteData(:);

30、 WriteAddress(0x49); WriteData(:); while(1) Displayhour(); delay(5); Displayminute(); delay(5); Displaysecond(); delay(5); if(K1=0) delay(15); if(K1=0) h+; if(h=24) h=0; while(K1=0); delay(15); if(K2=0) delay(15); if(K2=0) m+; if(m=60) m=0; while(K2=0); delay(15); if(K3=0) delay(15); if(K3=0) m-; if

31、(m=0) m=59; while(K3=0); delay(15); if(K4=0) delay(15); if(K4=0) h-; if(h=0) h=23; while(K4=0); delay(15); void timer0(void) interrupt 1 t+;if(t=20) t=0; s+; if(s=60) s=0; m+; if(m=60) m=0; h+; if(h=24) h=0; TH0=(65536-50000)/256; TL0=(65536-50000)%256; 图5 实验结果图6. 结果与讨论7. 体会与建议经过将近一个月学习和设计,我收获颇多,有深刻

32、的心得体会。让我受益匪浅。关于单片机方面的知识,我学到了许多关于单片机系统开发的知识,使我们各个方面都得到了充分的锻炼。通过本次设计,使我更加扎实的掌握了有关电子线路、单片机方面的知识,在设计过程中虽然遇到了一些问题,但经过一次又一次的讨论,一遍又一遍的检查我们终于找出了问题所在,也暴露出了前期在这方面的知识欠缺和经验不足。实践才能出真知,实践才是检验真理的唯一标准,唯有通过亲自动手制作,才能令我们掌握的知识不再是一些纸上谈兵的东西。在这次的设计中,我们遇到了很多困难,过程很艰难,但是我们都克服了,我们不断发现错误,不断改正,不断领悟,不断获取。我们也曾灰心,也曾茫然,也曾不知所措,从一开始的

33、自信满满,到最后的紧张繁杂,所有的这些都令我们回味无穷,这已经成为了我们人生的一个宝藏。我想今后的学习和工作也是这样的,汗水见证着成功,我想不久之后,我们都已经走入了社会,在某个阳光明媚的夏日,午后醒来,突然想起大学经历的时候,最先映入脑海里的就是这门课程吧,就是这些为了一个共同的目标,相互合作,共同奋斗的日子吧。通过这次设计,我掌握了常用元件的识别和测试;熟悉了常用仪器、仪表;了解了电路的连线方法;以及如何提高电路的性能等等。我相信在接下来的日子里,我会更深刻地去研究它,发掘它。在这次的设计里,我觉得过得很充实。不仅培养了我们独立思考、动手操作的能力,在各种其它能力上也都有了提高。更重要的是,让我们学会了很多学习的方法,而这是日后最实用的,真的是受益匪浅。要面对社会的挑战,只有不断的学习、实践,再学习、再实践。这对于我们的将来也有很大的帮助。以后,不管有多苦,我想我们都能变苦为乐,找寻有趣的事情,发现其中珍贵的事情。汗水,是我们努力的过程,更是成功的使者。

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!