单片机实现数字钟 - 图文(3)

2019-01-26 20:53

四川师范大学成都学院电子工程系课程设计报告

3.1.1电源引脚

(1)VCC(40脚):电源端,接+5V电源。

(2)VSS(20脚):接地端。

3.1.2 复位 RST 9

在振荡器运行时,有两个机器周期(24个振荡周期)以上的高电平出现在此引腿时,将使单片机复位,只要这个脚都持高电平,52片便循环复位。复位后P0—P3口均置1引脚表现为高电平,序计数器和特殊功能寄存器SFR全部清零。当复位脚由高电平变为低电平时,片为ROM的00H处开始运行程序。复位是由外部的复位电路来实现的。片内复位电路是复位引脚RST通过一个斯密特触发器与复位电路相连,期密特器用来抑制噪声,输出在每个机器周期的S5P2,复位电路采样一次。复位电路通常采用上电自动复位和按钮复位两种方式,电路系统采用的是上电与按钮复位电路。当时钟频率选用6MHz时,取22μF,s约为200Ω,k约为1K。复位操作不会对内部RAM有所影响。

3.1.3外接晶体引脚

XTAL1是片内振荡器的反相放大器输入端,XTAL2则是输出端,使用外部振荡器时,外部振荡信号应直接加到XTAL1,而XTAL2悬空。内部方式时,时钟发生器对振荡脉冲二分频。如晶振为12MHz,时钟频率就为6MHz。晶振的频率可以在1MHz-24MHz内选择。电容取30PF左右。系统的时钟电路设计是采用的内部方式,即利用芯片内部的振荡电路。AT89单片机内部有一个用于构成振荡器的高增益反相放大器。引脚XTAL1和XTAL2分别是此放大器的输入端和输出端。这个放大器与作为反馈元件的片外晶体谐振器在一起构成一个自激振荡器。外接晶体谐振器以及电容C1和C2构成并联谐振电路,接在放大器的反馈回路中。对外接电容的值虽然没有严格的要求,但电容的大小会影响震荡器频率的高低、震荡器的稳定性、起振的快速性和温度的稳定性。因此,此系统电路的晶体振荡器的值为12MHz,电容应尽可能的选择陶瓷电容。电容值约为22μF。在焊接刷电路板时,晶体振荡器和电容应尽可能安装得与单片机芯片靠近,以减少寄生电容,更好地保证震荡器的稳定和可靠地工作。

6

四川师范大学成都学院电子工程系课程设计报告

3.1.4输入输出引脚

(1)P0端口[P0.0-P0.7]P0是一个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) P2端口[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 是美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟电路,它可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V~5.5V。采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。DS1302内部有一个31×8的用于临时性存放数据的RAM寄存器。DS1302是DS1202的升级产品,与DS1202兼容,但增加了主电源/双电源引脚,同时提供了对后背电源进行细小电流充电的能力。 如图7所示:

7

四川师范大学成都学院电子工程系课程设计报告

图7 时钟芯片

3.2.1 数据手册

在使用DS1302时,我们可以利用数据手册来确定管脚的初值,就可以调节

年、月、日以及小时、分钟、秒等的调节了,同时还可以自动计算是否闰年,更好的节省了机器的运行速度,利用硬件直接执行。

图8 数据手册

4.系统软件设计

系统的软件设计也是工具系统功能的设计。单片机软件的设计主要包括执行软件完成各种实质性功能的设计和监控软件的设计。单片机的软件设计通常要考虑以下几个方面的问题。

1根据软件功能要求,将系统软件划分为若干个相对独立的部分,设计出合理的总体结构,使软件开发清晰、简洁和流程合理。

2培养良好的编程风格,如考虑结构化程序设计、实行模块化、子程序化。既便于调试、链接,又便于移植和修改。

3建立正确的数学模型,通过仿真提高系统的性能,并选取合适的参数。 4绘制程序流程图。

8

四川师范大学成都学院电子工程系课程设计报告

5合理分配系统资源。

6为程序加入注释,提高可读性,实施软件工程。 7注意软件的抗干扰设计,提高系统的可靠。

4.1主程序流程图

这次的数字电子钟设计用到很多子程序,它们的流程图如下所示。 主程序是先开始,然后启动定时器,定时器启动后在进行按键检测,检测完后,就可以显示时间。如图9显示:

图9 主程序流程图

按键处理是先检测K1是否按下,若按下就暂停;否则就检测K2是否按下,若按下一次,若按下1次修改分钟;按下2次,修改小时;按下3次,修改日期,按下4次,修改月份;按下5次,修改年份;按键K3按下,进行K2键的时表示的日期进行自加;K4键按下,进行K2键的时表示的日期的自减;如果没有按下,就把时间显示出来。如图10所示:

9

四川师范大学成都学院电子工程系课程设计报告

图10 按键处理流程图

定时器中断时是先检测1秒是否到,1秒如果到,秒单元就加1;如果没到,就检测1分钟是否到,1分钟如果到,分单元就加1;如果没到,就检测1小时是否到,1 小时如果到,时单元就加1,如果没到,就显示时间。如图11所示:

10


单片机实现数字钟 - 图文(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:茹少锋教授管理运筹学课后答案

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: