精确定时1秒钟闪灯〖AT89S52单片机入门教程〗
-
资源ID:441873
资源大小:41.58KB
全文页数:2页
- 资源格式: PDF
下载积分:2金贝
快捷下载
账号登录下载
微信登录下载
微信扫一扫登录
1、金锄头文库是“C2C”交易模式,即卖家上传的文档直接由买家下载,本站只是中间服务平台,本站所有文档下载所得的收益全部归上传人(卖家)所有,作为网络服务商,若您的权利被侵害请及时联系右侧客服;
2、如你看到网页展示的文档有jinchutou.com水印,是因预览和防盗链等技术需要对部份页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有jinchutou.com水印标识,下载后原文更清晰;
3、所有的PPT和DOC文档都被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;下载前须认真查看,确认无误后再购买;
4、文档大部份都是可以预览的,金锄头文库作为内容存储提供商,无法对各卖家所售文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;
5、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据;
6、如果您还有什么不清楚的或需要我们协助,可以点击右侧栏的客服。
|
下载须知 | 常见问题汇总
|
精确定时1秒钟闪灯〖AT89S52单片机入门教程〗
第7课,精确定时1秒钟闪灯 这一课,我们将学习如何精确定时1秒钟闪灯。上节介绍过,要精确定时,必须使用自装载方式。这里我们使用它工作在16时,有另一个位置专门装着16位预装载值,装载值立即被置入。这就保证了精确定时。 但是,即使是16位定时器,最长的溢出时间也就几十毫秒,要定时一秒,就需要一个变量来保存溢出的次数,积累到了多少次之后,才执行一次操作。这样就可以累加到1秒或者更长的时间才做一次操作了。 进入中断后,需要自己清除溢出标记,而51的其他定时器是自动清除的。请参考51单片机相关书籍。 如果使用下面我们就来计算: 仿真器的晶振是22118400秒钟可以执行1843200个机器周期。而们尽量应该让溢出中断的次数最少,这样对主程序的干扰也就最小。 选择每秒中断24次 ,每次溢出1843200/24=76800个机器周期,超出65536,无效。 选择每秒中断30次 ,每次溢出1843200/30=61440个机器周期 选择每秒中断32次 ,每次溢出1843200/32=57600个机器周期 选择每秒中断36次 ,每次溢出1843200/36=51200个机器周期 选择每秒中断40次 ,每次溢出1843200/40=46080个机器周期 从上面可以看到我们可以选择方式有很多,但是最佳的是每秒中断30次,每次溢出61440个机器周期。也就是赋定时器14404096,换成十六进制就是0从上面的计算也可以看出晶振2118400可以整除的倍数多,要准确定时非常方便。更常见的应用是在串口波特率上,使用22118400请打开程序,如图: 我们在定时器服务函数里,设置了一个静态变量t,静态变量的值在进入函数时是不会被初始化的,而是保持上次的值。它用来计数定时器的溢出次数,也就是溢出30次,就控制一次时的时间就正好是1秒,而且是精确的1秒!只与晶振的精度有关。 请编译,进入仿真,全速运行。可以看到,一秒,不断循环闪烁。 这种精确定时,可以用在时钟的计算、显示上。 作业: 1改为保持1秒闪烁的同时,让2改为保持1秒闪烁的同时,让