教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 高等教育 >

大工13秋《单片机原理及应用》大作业 - 单片机电子时钟设计--杨(4)

来源:网络收集 时间:2026-08-22
导读: 因定时器0工作在方式1,则50ms定时对应的定时器初值为:65536-50ms/2us=40536=9E58H,即TH0=9EH,TH0=58H。 但应当指出:CPU从响应T0中断到完成定时器初值重装这段时间,定时器T0并不停止工作,而是继续计数。因此

因定时器0工作在方式1,则50ms定时对应的定时器初值为:65536-50ms/2us=40536=9E58H,即TH0=9EH,TH0=58H。

但应当指出:CPU从响应T0中断到完成定时器初值重装这段时间,定时器T0并不停止工作,而是继续计数。因此,为了确保T0能准确定时50ms,重装的定时器初值必须加以修正,修正的定时器初值必须考虑到从原定时器初值中扣除计数器多计的脉冲个数。由于定时器计数脉冲的周期恰好和机器周期吻合,因此修正量等于CPU从响应中断到重装完TL0为止所用的机器周期数。CPU响应中断通常要3~8个机器周期。经过测试,定时器0重装的计数初值设为9E5FH~9E67H,可以满足精度要求。另外,MCS-51单片机只有二进制加法指令,而时间是按十进制递增,因此用加法指令后必须进行二-十进制转换。

计时模块流程图如下图所示。

保护现场 重装定时器初值 循环次数减1 否

满20次? 是 秒单元加1 否 60s到? 是 秒单元清0,分单元加1

否 60分到? 是 分单元清0,时单元加1 否 24小时到? 是 时单元清0 恢复现场 返回

计时模块流程图

(3)时间设置模块。该模块由键盘输入相应的数据来设置当前时间。程序通过调用一个键盘设置子程序通过键盘扫描将键入的6位时间值送入显示缓冲区。

设置时间后,时钟要从这个时间开始计时,而时分秒单元各占一个字节,键盘占6个字节。因此程序中要调用一个合字子程序将显示缓冲区中的6位BCD码合并为3位压缩BCD码,并送入计时缓冲区,作为当前计时起始时间。

该程序同时要检测输入时间值的合法性,若键盘输入的小时值大于23,分、秒值大于59,则不合法,将取消本次设置,清零重新开始计时。

时间设置和键盘设置子程序的流程图如下图所示。

保护现场 调用键盘设置子程序KETIN 调用合字子程序COMB 恢复现场 返回

时间设置流程图

保护现场 显示缓冲区首地址送R0键盘输入次数送R7 调用键盘扫描程序KEYSCAN 键号送@R0 显示缓冲区地址加1 循环次数减1 否 循环结束? 是 恢复现场 返回 键盘设置子程序流程图

(4)显示模块。该模块完成时分秒6位LED的动态显示。因为显示为6位,二计时是3个字节单元,为此,必须将3字节计时缓冲区中的时分秒压缩BCD码拆分为6字节BCD码,并送入显示缓冲区中。

当按下调整时间键后,在6位设置完成之前,这6个LED应该显示键人的数据,不显示当前的时间。为此,我们设置了一个计时显示允许标志位F0,

在时间设置期间F0=1,不调用刷新显示缓冲区的子程序。

显示程序流程图如下图所示。

保护现场 否 允许显示? 调用拆字程序 是 动态扫描显示 返回

显示程序流程图

扫描键盘 否 调用显示程序 有键按下? 是 调用显示程序 否 有键按下? 是 求取键号 返回

键盘扫描程序流程图

程序: ORG 0000H AJMP MAIN ORG 000BH

AJMP TIME ORG 0300H MAIN: mov 20h,#00h MOV 21H,#00H MOV 22H,#00H MOV 23H,#00H

MOV IP,#02H ;IP,IE初始化 MOV IE,#82H

MOV TMOD,#01H ;设定定时器工作方式? MOV TL0,#0B0H MOV TH0,#3CH SETB TR0 ;启动定时? MOV SP,#40H ;重设堆栈指针

NEXT: LCALL DISP ;调用显示子程序? LCALL KEY ;调用按键检测子程序 JZ NEXT ;

LCALL ANKEY ;调用按键处理子程序 SJMP NEXT ;重新循环 NOP NOP NOP

;定时中断处理程序: TIME: PUSH ACC ;保护现场 PUSH PSW

MOV TL0,#0B4H ;赋定时初值 MOV TH0,#3CH INC 20H ; MOV A,20H

大工13秋《单片机原理及应用》大作业 - 单片机电子时钟设计--杨(4).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/606696.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)