单片机实现数字钟_第1页
单片机实现数字钟_第2页
单片机实现数字钟_第3页
单片机实现数字钟_第4页
单片机实现数字钟_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、四川师范大学成都学院电子工程系课程设计报告四川师范大学成都学院电子技术课程设计单片机实现数字钟 学生姓名学 号所 在 系电子工程系专业名称电子信息工程(电子产品)班 级指导教师成 绩 四川师范大学成都学院二一三年六月摘要:20世纪末电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。现代生活的人们越来越重视起了时间观念,可以说是时间和金钱划上了等号。对于那些 对时间把握非常严格和准确的人或事来说,时间的不准确会带来非常大的麻烦。所以以数码管为显示器的时钟比

2、指针式的时钟表现出了很大的优势。数码管显示的时间简单明了而且读数快、时间准确显示到秒。而机械式的依赖于晶体震荡器可能会导致误差。数字钟是采用数字电路实现对“时”、“分”、“秒”数字显示的计时装置。数字钟的精度、稳定度远远超过老式机械钟。在这次设计中,我们采用LED数码管显示时、分、秒以24 小时计时方式根据数码管动态显示原理来进行显示。用12MHz的晶振产生振荡脉冲定时器计数。在此次设计中,电路具有显示时间的其本功能,还可以实现对时间的调整。数字钟是其小巧、价格低廉、走时精度高、使用方便功能多、便于集成化而受广大消费的喜爱因此得到了广泛的使用。关键字:数字电子钟,单片机Abstract: Th

3、e late 20th century, electronic technology has been rapid development in its promotion, penetration of modern electronic products will almost Fields, a strong impetus to the development of social productive forces and social improvement in the level of information, while also further improve the per

4、formance of modern electronic products, replacement products have become increasingly fast pace. Growing emphasis on modern life from the time the concept of time and money can be said to draw the equal sign. For those who are very strict and accurate grasp of time and things, time will not exactly

5、bring a very big trouble, so as to control the display of digital clock than the clock pointer showed a big advantage. Digital display of time reading simple and fast, accurate display of time to seconds. The mechanical oscillator depends on the crystal may lead to errors. Digital Clock is a digital

6、 circuit implementation of the "when", "sub", "seconds" The figures show the timing device. Digital clock precision, stability, far more than the old mechanical clock. In this design, we use LED digital display hours, minutes, seconds, to 24-hour time mode, according to

7、 digital control theory to dynamic display to display ,use the 12MHz crystal oscillation pulse, the timer count. In this design, the circuit has a display time of the this function, you can also realize the time adjustment. Digital clock is its compact, low cost, travel time and high precision, easy

8、 to use, features and more, easy integration and loved by the general consumer, so widely used. Key words: digital electronic clock,SCM目 录前言11. 设计原理21.1 AT89C52单片机结构和原理21.1.1 复位控制电路原理21.1.2 AT89C52单片机功能特性21.1.3 时钟控制电路原理41.1.4 74HC138片选作用42. 总体设计方案53. 模块电路设计53.1 单片机最小系统设计53.1.1 电源引脚63.1.2 复位 RST 963.

9、1.3 外接晶体引脚63.1.4 输入输出引脚73.2 时钟芯片83.2.1 数据手册84. 系统软件设计94.1 主程序流程图95. 设计总结117. 参考文献12附 录13附录1 系统程序设计13附录2 系统设计原理图18附录3 系统设计PCB19附录4 仿真全景图19附录5 实物全景图20附录6 实物运行图20前言时钟,自从它发明的那天起,就成为人类的朋友,但随着时间的推移,科学技术的不断发展,人们对时间计量的精度要求越来越高,应用越来越广。怎样让时钟更好的为人民服务,怎样让我们的老朋友焕发青春呢?这就要求人们不断设计出新型时钟。 现今,高精度的计时工具大多数都使用了石英晶体振荡器,由于

10、电子钟,石英表,石英钟都采用了石英技术,因此走时精度高,稳定性好,使用方便,不需要经常调校,数字式电子钟用集成电路计时,译码代替机械式传动,用LED显示器代替指针显示进而显示时间,减小了计时误差,这种表具有时,分,秒显示时间的功能,还可以进行时和分的校对,片选的灵活性好。 时钟电路在计算机系统中起着非常重要的作用,是保证系统正常工作的基础。在一个单片机应用系统中,时钟有两方面的含义:一是指为保障系统正常工作的基准振荡定时信号,主要由晶振和外围电路组成,晶振频率的大小决定了单片机系统工作的快慢;二是指系统的标准定时时钟,即定时时间,它通常有两种实现方法:一是用软件实现,即用单片机内部的可编程定时

11、/计数器来实现。二是用专门的时钟芯片实现,典型的时钟芯片有:DS1302,DS12887,X1203等; 本文主要介绍用单片机内部的定时/计数器来实现电子时钟的方法,本设计由单片机AT89C52芯片和LED数码管为核心,辅以必要的电路,构成了一个单片机电子时钟。1.设计原理1.1 AT89C52单片机结构和原理1.1.1 复位控制电路原理复位是单片机的初始化操作,单片机在上电启动运行时,都需要先复位。其作用是使单片机和其他部件都处于一个确定的初始化状态,并从这个工作状态开始工作。但是单片机自身不能自动进行复位,必须使用外部复位电路来实现单片机的复位。单片机的外部复位电路有上电自动复位电路和按键

12、手动复位电路两种。我们采用的是按键手动复位,当复位按键按下后,复位端与VCC电源接通,电容迅速放电,使REST引脚为高电平;当复位键弹起后,VCC电源通过10K欧姆电阻对22uf电容重新充电,REST引脚端出现复位正脉冲。其持续时间取决于RC电路时间常数。复位控制电路图如图2所示:图2 复位控制电路图1.1.2 AT89C52单片机功能特性AT89C52是一个低电压,高性能CMOS8位单片机,片内含8k bytes的可反复擦写的Flash只读程序存储器和256 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通

13、用8位中央处理器和Flash存储单元,AT89C52单片机在电子行业中有着广泛的应用。AT89C52引脚分布图如图1所示:图1 AT89S52引脚分布图AT89C52主要性能: 与MCS-51单片机产品兼容 8K可反复写(>1000次)Flash ROM 时钟频率0-24MHZ 2个外部中断源 三级加密位 32个可编程I/O口线 三个16位定时器/计数器 六个中断源 可编程UART串行通道 低功耗空闲和掉电模式 掉电后中断可唤醒 2个外部中断源 掉电标识符1.1.3 时钟控制电路原理单片机的工作是在统一的时钟脉冲控制下进行的,这个时钟脉冲由单片机时钟电路发出,单片机的时钟产生有内部时钟和

14、外部时钟两种,我们采用的是内部时钟方式。此方式是利用芯片内部的振荡器,然后在引脚XTAL1和XTAL2两端接晶体振荡器,就构成了自激的振荡器,发出的脉冲直接送入内部时钟电路。外接晶振时,C4和C5的值通常选择为15PF33PF之间,电容对频率有微调作用。时钟控制电路图如图3所示:图3 时钟控制电路图1.1.4 74HC138片选作用HC138原理于高性能的存贮译码或要求传输延迟时间短的数据传输系统,在高性能存贮器系统中,用这种译码器可以提高译码系统的效率。将快速赋能电路用于高速存贮器时,译码器的延迟时间和存贮器的赋能时间通常小于存贮器的典型存取时间,这就是说由肖特基钳位的系统译码器所引起的有效

15、系统延迟可以忽略不计,同时打开需要的片选。本文中利用Y6、Y7打开数码管的位码和段码。图4:HC138片选。图4 HC138片选2.总体设计方案本设计主要由电源电路、复位电路、时钟电路、按键等电路组成。电源电路为系统提供电源,复位电路用于单片机的初始化操作,时钟电路用于是单片机工作在统一的时钟脉冲。再利用编写的程序烧入到芯片当中,刚开始有个初始值,再利用3个按键分别控制时钟的小时,分钟的快慢以及时间年月日的控制,正好起到了校正的作用。如图5所示:图5 系统设计框图3.模块电路设计3.1单片机最小系统设计最小系统电路图如图6所示:图6 最小系统设计图单片机的最小系统是由电源、复位、晶振、/EA=

16、1组成下面介绍下每一个组成部分。3.1.1电源引脚        (1)VCC(40脚):电源端,接+5V电源。  (2)VSS(20脚):接地端。 3.1.2 复位 RST 9在振荡器运行时,有两个机器周期(24个振荡周期)以上的高电平出现在此引腿时,将使单片机复位,只要这个脚都持高电平,52片便循环复位。复位后P0P3口均置1引脚表现为高电平,序计数器和特殊功能寄存器SFR全部清零。当复位脚由高电平变为低电平时,片为ROM的00H处开始运行程序。复位是由外部的复位电路来实现的。片内复位电路是复位引脚R

17、ST通过一个斯密特触发器与复位电路相连,期密特器用来抑制噪声,输出在每个机器周期的S5P2,复位电路采样一次。复位电路通常采用上电自动复位和按钮复位两种方式,电路系统采用的是上电与按钮复位电路。当时钟频率选用6MHz时,取22F,s约为200,k约为1K。复位操作不会对内部RAM有所影响。3.1.3外接晶体引脚 XTAL1是片内振荡器的反相放大器输入端,XTAL2则是输出端,使用外部振荡器时,外部振荡信号应直接加到XTAL1,而XTAL2悬空。内部方式时,时钟发生器对振荡脉冲二分频。如晶振为12MHz,时钟频率就为6MHz。晶振的频率可以在1MHz-24MHz内选择。电容取30PF左右。系统的

18、时钟电路设计是采用的内部方式,即利用芯片内部的振荡电路。AT89单片机内部有一个用于构成振荡器的高增益反相放大器。引脚XTAL1和XTAL2分别是此放大器的输入端和输出端。这个放大器与作为反馈元件的片外晶体谐振器在一起构成一个自激振荡器。外接晶体谐振器以及电容C1和C2构成并联谐振电路,接在放大器的反馈回路中。对外接电容的值虽然没有严格的要求,但电容的大小会影响震荡器频率的高低、震荡器的稳定性、起振的快速性和温度的稳定性。因此,此系统电路的晶体振荡器的值为12MHz,电容应尽可能的选择陶瓷电容。电容值约为22F。在焊接刷电路板时,晶体振荡器和电容应尽可能安装得与单片机芯片靠近,以减少寄生电容,

19、更好地保证震荡器的稳定和可靠地工作。3.1.4输入输出引脚(1)P0端口P0.0-P0.7P0是一个8位漏极开路型双向I/O端口,端口置1(端口写1)作高阻抗输入端,为输出口时能驱动8个TTL。对内部Flash程序存储器编程时,收指令字节;校验程序时输出指令字节要求外接上拉电阻。在访问外部程序和外部数据存储器时,0口是分时转换的地址(低8位)/数据总线访问期间内部的上拉电阻起作用。(2) P1端口P1.0-1.7 P1是一个带有内部上拉电阻的8位双向I/0端口。输出时可驱动4个TTL。端口置1时,部上拉电阻将端口拉到高电平,输入用。对内部Flash程序存储器编程时,收低8位地址信息。(3) P

20、2端口P2.0-2.7 P2是一个带有内部上拉电阻的8位双向I/0端口。输出时可驱动4个TTL。端口置1时,部上拉电阻将端口拉到高电平,输入用。对内部Flash程序存储器编程时,收高8位地址和控制信息。在访问外部程序和16位外部数据存储器时,2口送出高8位地址。而在访问8位地址的外部数据存储器时其引脚上的内容在此期间不会改变。4) P3端口P3.0-3.7 P2是一个带有内部上拉电阻的8位双向I/0端口。输出时可驱动4个TTL。端口置1时,部上拉电阻将端口拉到高电平,输入用对内部Flash程序存储器编程时,控制信息。除此之外P3端口还用于一些专门功能。3.2 时钟芯片DS1302 是美国DAL

21、LAS公司推出的一种高性能、低功耗、带RAM的实时时钟电路,它可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V5.5V。采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。DS1302内部有一个31×8的用于临时性存放数据的RAM寄存器。DS1302是DS1202的升级产品,与DS1202兼容,但增加了主电源/双电源引脚,同时提供了对后背电源进行细小电流充电的能力。如图7所示:图7 时钟芯片3.2.1 数据手册 在使用DS1302时,我们可以利用数据手册来确定管脚的初值,就可以调节年、月、日以及小时、分钟、秒等的调

22、节了,同时还可以自动计算是否闰年,更好的节省了机器的运行速度,利用硬件直接执行。图8 数据手册4.系统软件设计系统的软件设计也是工具系统功能的设计。单片机软件的设计主要包括执行软件完成各种实质性功能的设计和监控软件的设计。单片机的软件设计通常要考虑以下几个方面的问题。1根据软件功能要求,将系统软件划分为若干个相对独立的部分,设计出合理的总体结构,使软件开发清晰、简洁和流程合理。 2培养良好的编程风格,如考虑结构化程序设计、实行模块化、子程序化。既便于调试、链接,又便于移植和修改。 3建立正确的数学模型,通过仿真提高系统的性能,并选取合适的参数。 4绘制程序流程图。 5合理分配系统资源。 6为程

23、序加入注释,提高可读性,实施软件工程。 7注意软件的抗干扰设计,提高系统的可靠。4.1主程序流程图这次的数字电子钟设计用到很多子程序,它们的流程图如下所示。 主程序是先开始,然后启动定时器,定时器启动后在进行按键检测,检测完后,就可以显示时间。如图9显示:图9 主程序流程图按键处理是先检测K1是否按下,若按下就暂停;否则就检测K2是否按下,若按下一次,若按下1次修改分钟;按下2次,修改小时;按下3次,修改日期,按下4次,修改月份;按下5次,修改年份;按键K3按下,进行K2键的时表示的日期进行自加;K4键按下,进行K2键的时表示的日期的自减;如果没有按下,就把时间显示出来。如图10所示:图10

24、按键处理流程图 定时器中断时是先检测1秒是否到,1秒如果到,秒单元就加1;如果没到,就检测1分钟是否到,1分钟如果到,分单元就加1;如果没到,就检测1小时是否到,1 小时如果到,时单元就加1,如果没到,就显示时间。如图11所示:图11 按键时间的流程图 时间显示是先秒个位计算显示,然后是秒十位计算显示,再是分个位计算显示再然后是分十位显示,再就是时个位计算显示,最后是时十位显示。如图12所示:图12 按键累加的流程5.设计总结本设计以AT8C92单片机为核心部件,通过DS1302时钟芯片、HC138片选和LED数码管协同控制。通过这些软件程序、硬件和按键的协同下,通过LED数码管液晶显示器显示

25、时间、日期、。在设计中感谢我们的指导老师王川北老师的细心指导,也感谢和我一起做次此课程设计的同学,感谢你们对我的支持!在设计过程中我们也存在很多的问题主要有硬件的设计和软件的调试。其中最难,最麻烦,也是学到和掌握的东西最多的地方就是软件调试了,这其中包括程序的编写检验,这就要求我们必须对程序的每部分都很熟悉,掌握每句程序在整体中的作用。这样出现问题时我们才能根据问题改变程序内容而达到目的。程序编写上也出现了很多细节的错误,程序并不是一次性就编写好的,这主要也是由于我们没有把这方面的知识学扎实。所以我们要把一次课题设计好,不但要学习好课堂的知识,而且要注意各方面的细节。通过这次应用系统设计,在很

26、大程度上提高了我的独立思考能力,更为详细的学习了时钟运行的基本原理以及单片机的相关知识,也学会了写一篇应用控制系统论文的步骤和格式,有过这样的一次训练,我相信在接下来的毕业设计我们做得更好。7.参考文献1 谢维成单片机原理与应用及C51程序设计M. 北京:清华大学出版社,2005.4.100-1122 朱月秀单片机原理与应用M. 北京:北京科学出版社,2007.8.40-503 康光华电子技术基础M北京:高等教育出版社,2006.1.486-5004 戴仙金51单片机及其C语言程序开发实例M. 北京:清华大学出版社,2008.2.189-193附 录附录1系统程序设计/*功能介绍:按键一暂停按

27、键二:按第一次修改分钟按第二次修改小时按第三次修改日按第四次修改月按第五次修改年按第六次恢复显示按键三:进行加按键四:进行减*/#include<reg51.h>#define uchar unsigned char /宏定义#define uint unsigned intsbit DS_CLK= P1 7;sbit DS_IO = P2 3; /DS1302的控制管脚sbit DS_RST= P1 3;sbit HC138_A = P2 5;sbit HC138_B = P2 6; /74HC138的控制管脚sbit HC138_C = P2 7;sbit key1 = P30

28、; /按键定义sbit key2 = P31; sbit key3 = P32;sbit key4 = P33;void write_1302(uchar command,uchar value);/写指令与数据uchar read_1302(uchar command); /读指令与数据void init_1302(uchar addr);void fuzhi();void disptime();uchar w1= 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90;uchar w2= 0x80,0x40,0x20,0x10,0x08,0x04

29、,0x02,0x01;uchar a = 13,16,16,21,13,55;uchar b6 = 0;uchar nian,yue,ri,shi,fen,miao;bit flag = 0;uchar count = 0;uchar value = 0;uchar cnt = 0;void HC138(uchar c,uchar b,uchar a)HC138_C = c;HC138_B = b;HC138_A= a;void delay(uchar x)uchar i;while(x-)for(i = 0; i < 120; i +);void write_1302(uchar co

30、mmand,uchar value) /写指令与数据uchar i = 0;DS_RST = 0;DS_CLK = 0;DS_RST = 1;for(i = 0; i < 8; i +)DS_IO = command & 0x01;/从开始的位置往里面送指令DS_CLK = 0;DS_CLK = 1;command >>= 1;for(i = 0; i < 8; i +)DS_IO = value & 0x01;DS_CLK = 0;DS_CLK = 1;value >>= 1; uchar read_1302(uchar command)/读指令与数据uchar i = 0;uchar value = 0;DS_RST = 0;DS_CLK = 0; DS_RST = 1;for(i = 0;i < 8;i +)DS_IO = command & 0x01;/从开始的位置往里面送指令DS_CLK = 0;DS

温馨提示

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

评论

0/150

提交评论