首页 理论教育 STC15W4K32S4系列8051单片机实时时钟设计

STC15W4K32S4系列8051单片机实时时钟设计

时间:2023-11-02 理论教育 版权反馈
【摘要】:时钟的最小计时单位是秒,假如使用定时器的方式1,在6MHz的系统振荡频率下,最大的定时时间也只能达到约131ms。因此,可把定时器的定时时间定为100ms,这样,计数溢出10次即可得到时钟的最小计时单位秒,而计数10次可用软件累计溢出次数来实现。图7-9 主程序流程图图7-10 时钟中断服务程序流程图下面是简易实时时钟的参考程序。程序中,使用定时器/计数器T1作为100ms定时器,片内33H单元作为100ms计数单元,32H、31H、30H单元分别作为时、分、秒单元。

STC15W4K32S4系列8051单片机实时时钟设计

1.实时时钟实现的基本方法

实时时钟是以秒、分、时为单位进行计时的。时钟的最小计时单位是秒,假如使用定时器的方式1,在6MHz的系统振荡频率下,最大的定时时间也只能达到约131ms。因此,可把定时器的定时时间定为100ms,这样,计数溢出10次即可得到时钟的最小计时单位秒,而计数10次可用软件累计溢出次数来实现。

(1)定时器/计数器计数初值的计算

设定定时器/计数器工作在方式1,进行100ms的定时。单片机的晶振频率为6MHz,则机器周期Tcy=2μs,所以计数初值为

初值=最大计数值-定时时间/Tcy=216-100×103/2=15536D=3CB0H

(2)秒、分、时计时的实现

秒计时是采用中断方式进行溢出次数的累计得到的。从秒到分,从分到时可通过软件累加和比较的方法来实现。要求每满1秒,则“秒”单元中的内容加1;“秒”单元每满60,则“秒”单元清0,同时“分”单元中的内容加1;“分”单元每满60,则“分”单元清0,同时“时”单元中的内容加1;“时”单元每满24,则将“时”单元清0。

2.程序设计

(1)主程序的设计

主程序的主要功能是进行定时器/计数器的初始化,然后通过循环(或反复调用显示子程序)等待100ms定时中断的到来。时钟主程序流程图如图7-9所示。(www.xing528.com)

(2)中断服务程序的设计

中断服务程序的主要功能是实现秒、分、时的计时处理,流程图如图7-10所示。

978-7-111-51881-5-Chapter07-30.jpg

图7-9 主程序流程图

978-7-111-51881-5-Chapter07-31.jpg

图7-10 时钟中断服务程序流程图

下面是简易实时时钟的参考程序。程序中,使用定时器/计数器T1作为100ms定时器,片内33H单元作为100ms计数单元,32H、31H、30H单元分别作为时、分、秒单元。

978-7-111-51881-5-Chapter07-32.jpg

978-7-111-51881-5-Chapter07-33.jpg

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈