历史上的今天
今天是:2025年03月09日(星期日)
2018年03月09日 | 基于定时器/计数器的实时时钟的设计
2018-03-09 来源:eefocus
1.实现实时时钟的基本思想
时钟的最小计时单位是秒,如何获得1s的定时时间呢?使用定时器方式1,最大的定时时间也只能达到131 ms。可将定时器的定时时间定为100 ms,采用中断方式进行溢出次数的累计,计满10次,即得到秒计时。而计数10次可用循环程序的方法实现。
时钟运行时,在片内RAM中规定3个单元作为秒、分、时单元,具体安排如下;
42H:“秒”单元;41H“分”单元;40H:“时”单元
从秒到分,从分到时是通过软件累加并进行比较来实现的。要求每满1秒,则“秒”单元42H中的内容加1;“秒”单元满60,则“分”单元41H中的内容加1;“分”单元满60,则“时”单元40H中的内容加1;“时”单元满24,则将42H、41H、40H的内容全部清0。
2.程序设计
(1)主程序的设计。主程序的主要功能是进行定时器T0的初始化,并启动T0,然后通过反复调用显示子程序,等待100 ms定时中断的到来。主程序的流程如右图所示。
(2)中断服务程序的设计。中断服务程序(IT0P)的主要功能是实现秒、分、时的计时处理。
中断服务程序的流程如左图所示。
参考程序如下:



下一篇:中断请求的撤销
史海拾趣
|
2008新馆内,奔驰与宝马位置面对面,都可谓气势磅礴,奔驰携带34款新车出现在会场,阶梯式的排列两层。围观的、试驾的、拍照的拥挤不堪,当碰到一些问题想去咨询时,销售都一直忙着洽谈卖车的事情了,满头汗水,根本顾不上回答。奔驰的Smart系列吸 ...… 查看全部问答> |
|
#include sbit led1=P0^0; sbit led2=P0^1; sbit led3=P0^2; sbit led4=P2^7; sbit sound=P2^6; sbit scl=P3^7; sbit sda=P3^6; &nbs ...… 查看全部问答> |
|
《植物大战僵尸》的移植版本一直层出不穷,这版《植物大战僵尸》牛的是用了数万行JS代码纯手写的,而且背后作者还是辣妈…… 试想,可能我们周围还有很多像她这样的人:他们低调的活跃在网页开发或网页设计领域,他们身怀绝技却不为人所知 ...… 查看全部问答> |
|
本帖最后由 辛昕 于 2014-2-16 01:49 编辑 想了想,这个问题其实可以简化为 1.一个精密电流源; 2.一个精密电阻; 3.一个精密AD 再精密的东西都存在一定的误差范围。 那么,我该如何处理最后的结果 并评价其中 精密电阻 的 精度是否达标呢 ...… 查看全部问答> |
|
我们的S5PV210开发板有2个512内存DRAM0(0x2000_0000)和DRAM1(0x4000_0000),装的wince6.0系统。现在在做了自己的程序后,发现1G内存有点多,512就够用了,想做裁剪,但是修改的wince老是启动不成功。求助有经验的兄弟指点一下都要修改哪些文件, ...… 查看全部问答> |




