下载此文档

第7课,精确定时1秒钟闪灯.pdf


文档分类:IT计算机 | 页数:约2页 举报非法文档有奖
1/2
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/2 下载此文档
文档列表 文档介绍
第 7 课,精确定时 1 秒钟闪灯

这一课,我们将学习如何精确定时 1 秒钟闪灯。上节介绍过,要精确定时,必须使用
自装载方式。这里我们使用 T2 定时器,让它工作在 16bit 自动装载方式,这时,有另一个
位置专门装着 16 位预装载值,T2 溢出时,预装载值立即被置入。这就保证了精确定时。
但是,即使是 16 位定时器,最长的溢出时间也就几十毫秒,要定时一秒,就需要一个
变量来保存溢出的次数,积累到了多少次之后,才执行一次操作。这样就可以累加到 1 秒或
者更长的时间才做一次操作了。
T2 定时器有个特殊的地方,它进入中断后,需要自己清除溢出标记,而 51 的其他定时
器是自动清除的。请参考 51 单片机相关书籍。
如果使用 T2 定时器实现 1 秒精确定时?
下面我们就来计算:
仿真器的晶振是 22118400HZ,每秒钟可以执行 1843200 个机器周期。而 T2 每次溢出
最多 65536 个机器周期。我们尽量应该让溢出中断的次数最少,这样对主程序的干扰也就最
小。
选择每秒中断 24 次,每次溢出 1843200/24=76800 个机器周期,超出 65536,无效。
选择每秒中断 30 次,每次溢出 1843200/30=61440 个机器周期
选择每秒中断 32 次,每次溢出 1843200/32=57600 个机器周期
选择每秒中断 36 次,每次溢出 1843200/36=51200 个机器周期
选择每秒中断 40 次,每次溢出 1843200/40=46080 个机器周期
从上面可以看到我们可以选择方式有很多,但是最佳的是每秒中断 30 次,每次溢出
61440 个机器周期。也就是赋定时器 T2 初值 65536-61440=4096,换成十六进制就是
0x1000。
从上面的计算也可以看出晶振 2118400Hz 的好处,它可以整除的倍数多,要准确定时
非常方便。更常见

第7课,精确定时1秒钟闪灯 来自淘豆网m.daumloan.com转载请标明出处.

非法内容举报中心
文档信息
最近更新