基于52单片机电子时钟的设计论文(纯汇编语言编写) 联系客服

发布时间 : 星期六 文章基于52单片机电子时钟的设计论文(纯汇编语言编写)更新完毕开始阅读5d18cfa3767f5acfa1c7cdf9

将扫描zhengshi子程序。

zhengshi子程序能判断当前时间是否为整点,若为整点将使cxbs=0,且把hour由BCD码化为二进制存储在字节shengshu(为报时声数,将在baoshi子程序中使用)中,之后主程序将扫描baoshi子程序,即开始报时。

chuzhi=0, 由baoshi子程序可知,闹钟从0秒开始报时,当报时完毕将自

动令cxbs=1。

4.2.5 闹钟功能的说明:

当闹钟功能开启,即bj=0时,LCD上会出现相应的标示符号

此时,主

程序将扫描zhengshi子程序。zhengshi子程序对当前时间和闹钟时间进行比较,当它们的分、时全相等时开启中断sub1,否则关闭中断sub1。这样就可实现闹钟闹铃一分钟后自动停止鸣叫的要求。 4.2.6 加1、移位功能的说明:

将年份前两位与年(year)、月(month)、星期(week)、日(day)、时(hour)、分(min)、秒(sec)拆字后分别存储在DspBuf-2、DspBuf-1、DspBuf+0、DspBuf+1、DspBuf+2、DspBuf+3等13个字节中。而把它们的每一为在LCD上的显示位置地址放在如下表中:

tab4:db 80h,81h,82h,83h,85h,86h,88h,89h,8eh,0c2h,0c3h,0c5h,0c6h,0c8h,0c9h; 当前时间各编辑位在LCD上的位置表。然后执行mov r1,#DspBuf+12; inc @r1就可实现对秒个位加1。执行:dec r1和子程序www就可实现移位功能. 4.3 时钟模块设计

单片机要先从DS1302芯片中读取时钟数据,然后通过LCD显示出来。在读取DS1302的时间和日期之前,先要对DS1302进行赋初始时间并开启时钟。时钟被启动后若未接收到新的赋时间指令,其内部的时钟将一直不停的运行,以保证时间的实时性和准确性;期间单片机可随时读取DS1302内部时间和日期寄存器中的数值。

4.4 液晶显示模块设计

本设计液晶时钟显示系统设计上由液晶显示器显示、时钟芯片DS1302提供时间,可为使用者提供完整的时间信息。由于LED数码管只能显示数字而无法显示其他中英文字符,并对成本及功能考虑,因此从设计的成本及功能的角度考虑,

12

采用LCD一1602显示模块,它可以显示年、月、日、星期等中文字目。LCD一1602驱动电路简单,可以由单片机直接输出命令驱动。

5 实物调试及测试

5.1 实物图

图5.1 实物图

5.2 实物调试

(1)按下K1键进入调节功能选择状态

图5.2 K1键功能图

(2)按下2键有加1和显示调节闹钟界面的功能

(3)按下K3键进入光标移动功能,选择调节年、月、日和时间等 (4)按下K4显示出整点报时图标

图5.3 K4键功能图

13

5.3 测试结果及分析

引脚 40(VCC) 31(EA*) 30(ALE) 测试结果 电压值5.09V 电压值5.09V 波形为方波 表5-1 测试结果分析表

结论 良好 良好 良好 5.4仿真结果图如下所示

图5.4 K4仿真结果图

6 不足与展望

6.1 设计不足之处

(1)没有停止闹钟的硬件功能

(2)没有实现按键减1,只能加1调节时钟 (3)没有实现音乐整点报时

(4)没有安装三极管,蜂鸣器声音很小

14

6.2 设计的展望

(1)可以增加一个温度传感器以测量和显示温度 (2)实现阴历和阳历的转化

7设计心得

本文的电子钟系统是以单片机(STC89C52)为核心,时钟芯片DS1302、LED1602显示等部分组成。具体应用Keil2软件调试程序以及Proteus软件进行基于单片机的电子钟设计与仿真。实现了硬件软化的目的。

经过一段时间的课程设计,我们发现对于书上很多知识还不能灵活运用,有很多知识还要我们去学习。此次电子时钟的设计给我们奠定了一个实践的基础,很是受益匪浅。让我们认识到学习不但要立足于书本,而且要注重实践,要以解决理论和实际教学中的实际问题为目的。通过自己的手来解决问题比用脑子解决问题更加深刻。学习就应该采取理论与实践结合的方式,这种做法既有助于完成理论知识的巩固,而且可以加强我们的动手和解决实际问题的能力。

15