基于89c52单片机的电子时钟设计(编辑修改稿)内容摘要:
将自动叠加一次 , 当闪烁第 60次时分钟将自动加 1。 下面讲述的便是按键的各种功能模式 : 1. 日期模式:按下 1键后,显示的是年月日可以进行调节,调节状态指示灯亮。 年份的调节:按下 6键时调节年份的千位以及百位,一次可叠加 1 按下 5键调节的是年份的十位和个位,同样的按下一次叠加 1 月份的调节: 4键便是调整月份的 ,按下一次便会叠加 1,当所显示的月份到达 12月时,再次叠加将会显示 1月 日的调整: 3键就是调节月份所属的日期,每叠加一位便会加 1,其中当为 12时日期最高显示为 31日,当为 11时显示的最高日期便为 30日,至于 2月当为所属的年份为 平年 或者 闰年 时,最高显示将不同分别为 28日和 29日。 平年和 闰年 的计算下面将会继续做详细的讨论。 2. 调时模式:按下 2键时,显示的是时分秒可以进行调节,且此时的调节指示灯亮。 时钟的调节:按下 6键时此时可以调节的是时钟,按下一次该位也将自动加 1,最高可显 示 23,最低显示 0。 分钟的调节:触动 5键可以进行分钟的调节,按一次分钟就加 1,当显示为 59时按 5键,分钟的显示将变为 0,此时时钟也将加 1。 秒的调节:按 4键将会使钟清零。 3. 闹铃模式: 3键为闹钟的调整,此时显示的是闹钟时刻的可调节,指示灯变亮。 闹铃调节相对应的按键: 5键,对应的是进行时钟的调整; 4键对应的是分钟的调整。 每按一次键时对应的位也将相应的加 1。 4. 倒计时模式:长按 4键进入倒计时模式,显示定时长度可进行相应的调节,同样的状态指示灯变亮。 定时调整相对应按键: 6键控制分的调节, 5键控制秒的调节, 4键启 动定时功能,边显示倒计时。 5. 按 5键铃声测试,扬声器播放音乐。 6. 按下 7键,进入秒表模式,显示秒表走时。 拨上 7键,秒表暂停;按下 7键,秒表又继续走时。 按下 8键,秒表清零。 0键 —— 调整状态指示灯灭,返回主程序,显示时间 日期模式调整完毕后,按 0键返回主程序,此时指示灯灭,显示调节好的时间 7. 按下 8键,数码管熄灭,时钟仍在走时,进入节能模式。 东华理工大学长江学院毕业设计(论文) 11 拨上 8键,数码管亮,恢复普通工作模式。 8. 9键为闹铃启动(停止)键,按下可以选择是否要闹铃,以及在闹铃响起时,按此键可以停止闹铃。 9. 10键为铃声选择开关,按下与否,可以选择两手音乐。 10. 11键为闹铃重响控制开关,重响功能开启时,从闹铃随音乐结束而结束的时刻开始,或从手动按 9键停止闹铃的时刻开始定时,一段时间后闹铃重响。 11. 12键为闹铃重响间隔选择开关,可选两个定时长度,以便在闹铃重响功能开启时,闹铃初次响后,过一段时间闹铃继续响。 程序主要模块 延时模块 数码管显示动态扫描时,用到延时程序,这里使用延迟 1ms 的程序,此程序需要反复调用程序如下: D_1MS: MOV R7,2 D_5: MOV R2,250 DJNZ R2,$ DJNZ R7,D_5 RET 除数码管动态扫描外,数码管的闪烁提示,以及音乐模块也用到了延时,只是延时的长短不同罢了。 中断服务程序 本实验中,计数器 T0,T1中断都有运用,其中 T0中断为时钟定时所用, T1中断用于音乐播放。 T0的定时长度为 ,工作于方式 1,计数 1次,时长 1us,故计数器计数 10000次,进入中断,计数初值为 6553610000=55536=0D8F0,装满定时器需要 ,从而 100次中断为一秒,一秒之后,判 断是否到 60秒,若不到则秒加一,然后返回,若到,则秒赋值为 0,分加一,依次类推。 包括日期显示的功能也是如此。 另外,由于要实现倒计时功能,因此在中断程序中还要加入减一的寄存器,需要时将其进行显示。 基东华理工大学长江学院毕业设计(论文) 12 于以上考虑,以 R3为倒计时中的秒, R4为倒计时的分,当秒加 1时 R3减一,减到 0之后,秒赋值为 59,分减一,直到分为 0。 以下为定时中断流程图: NO YES YES NO 进入 T0 定时中断 修正,重装计数初值 按 7 键 秒表的百分之一秒位,秒位,分位,时位的进位 DEC PNUM PNUM=0,已到 1 秒 MOV PNUM,100 重装中断计数值 INC SECOND 秒位加 1 R3,R4 所存定时长度减 1 分,时,日周,月,年的进位 RETI 中断返回 东华理工大学长江学院毕业设计(论文) 13 计数器 T1工作于方式 1, 当调用响铃程序时,其计数功能开启,为音乐音调不同频率的方波的形成,提供延时。 其中断服务程序就是根据音调改变音乐方波输出口电平的高低,用语句 CPL实现。 中断服务程序中日历的实现较为复杂,要考虑平年,闰年,特殊的 2月,每月的天数的不尽相同。 具体的逻辑判断方法为:首先,要考虑年份是不是闰年,闰年的判断方法是:将年份除以 100,若能整除,则将年份除以 400,若还能整除,则为闰年,若不能,则为平年;若不能被 100整除,则判断是否能被 4整除,若能,则为闰年,若不能则为平年。 只有 2月与平、闰年相关,因此在闰年和平年的子程序中,要判断是不是 2月,若是则在相应的年中进行日期的增加,若不是则转入平时的月份。 其中 12月是每月 31天, 11月为每月 30天。 日历进位判断流程图如下: 本实验用 8个数码管,刚好能显示年,月,日,扫描显示与时间的扫描显示类似。 年比较特殊,由两个寄存器存储,个位,十位为 0时,表明年数能被 100整除,若此时千位,百位 年份能否被 100 整除 N Y 年份是否能被 4 整除 年份是否能被 400 整除 N N 平年 闰年 Y Y 是不是 2 月 是不是 2 月 Y 日 =28 之后返回为 1 N N Y 日 =29 之后返回为 1 若月份为 12月则调用 31 天的程序 若月份为 11 则调用 30 天的程序 东华理工大学长江学院毕业设计(论文) 14 组成两位数能被 4整除,则年数被 400整除,为闰年。 若十位,个位组成两位数能被4整除,则年数能被 4整除,为闰年。 主程序 主程序主要对按键进行扫描,以及判断定时和闹铃时间是否已到,若到则调用相关程序,该段程序如下: MAIN: JNB ,DATETZ。 按下 0键,显示日 期并可对日期进行调整 JNB ,ZSTZ1。 按下。基于89c52单片机的电子时钟设计(编辑修改稿)
相关推荐
MOV R2,A。 SECONDS ACALL DISPLAY MOV DPTR,7D02H MOVX A,@DPTR MOV R1,A ACALL DISPLAY。 MINUTES MOV DPTR,7D04H MOVX A,@DPTR MOV R0,A。 HOURS ACALL DISPLAY ACALL DELAY 东华理工大学长江学院毕业设计(论文) 15 RET DISPLAY:
原理 及应用 四 、 系统电路设计 五、 结论 六 、 致谢 七 、 参考文献 主要参考文献(研究综述:作者、题目、杂志、卷号、页码) [1]蒋敏兰 ,胡生清 ,幸国全 .AD590 温度传感器的非线性补偿及应用 [J].传感器技术 ,2020,20(10):5455. [2]张志利 ,蔡伟 . 基于 AD590 的温度测控装置研究 [J].自动化与仪器仪表 , 2020, (2):3739.
波即可满足要求。 PID 控制 由单片机采用模糊 PID 算法 ,通过 Pvar、 Ivar、 Dvar(比例、积分、微分)三方面的结合调整形成一个模糊控制来解决惯性温度误差问题。 方案一的温度控制原理如下:本系统的温度控制器的制热 /制冷元件是 TEC。 TEC通过电流制热 /制冷时,热层结构存在梯形温差,越靠近 TEC 部分温度越高 /低。 当目标温度升高 /降低至设定温度时
..................................................... 15 晶振电路 .................................................................................................. 16 扬声器电路 .............................
使得设计产品只能输出低频波形。 当时专用于 信号处理的微处理器时钟频率只有 12MHz, A/D 和D/A 一般为 8 位,且内部存储容量也很小。 所以实际上能够产生波形的有效频宽不会超过 1MHz,再去考虑波形的平滑度和失真度,重复频宽不会超过河南科技大学本科毕业设计(论文) 3 10KHz。 80年代后期才真正克服软件的问题出现了几种高性能的函数发生器。 其中最具代表性的是 HP 公司推出的
决定了只适用于滴速的大范围粗略的调节,当涉及到细调节时难以控制,不易实现。 控制用电动机及驱动的选择与比较 方案一:采用直流电机 由于直流电机上电即转动,掉电后惯性较大,停机时还会转动一定角度后才可停下来。 转矩小、无抱死功能,如果要求准确停在一个位 置,其闭环算法较复杂。 方案二:采用步进电机 步进电机是一种用电脉冲进行控制,将电脉冲信号转换成相应角位移或线位移的电动机。