用定时器中断闪灯,定时器中断的学习〖AT89S52单片机入门教程〗
-
资源ID:441992
资源大小:76.38KB
全文页数:4页
- 资源格式: PDF
下载积分:2金贝
快捷下载
账号登录下载
微信登录下载
微信扫一扫登录
1、金锄头文库是“C2C”交易模式,即卖家上传的文档直接由买家下载,本站只是中间服务平台,本站所有文档下载所得的收益全部归上传人(卖家)所有,作为网络服务商,若您的权利被侵害请及时联系右侧客服;
2、如你看到网页展示的文档有jinchutou.com水印,是因预览和防盗链等技术需要对部份页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有jinchutou.com水印标识,下载后原文更清晰;
3、所有的PPT和DOC文档都被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;下载前须认真查看,确认无误后再购买;
4、文档大部份都是可以预览的,金锄头文库作为内容存储提供商,无法对各卖家所售文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;
5、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据;
6、如果您还有什么不清楚的或需要我们协助,可以点击右侧栏的客服。
|
下载须知 | 常见问题汇总
|
用定时器中断闪灯,定时器中断的学习〖AT89S52单片机入门教程〗
第6课,用定时器中断闪灯,定时器中断的学习 在第二课,我们学习了用指令延时闪灯,但是用指令方式闪灯有这一课,我们将学习如何使用定时器方式使灯闪烁。 中断的理解。 这里将涉及到单片机中断的应用,在程序),可能会有其它的更紧急的需要做的事情(中断服务程序),需要程序),做完了(中断服务程序)之后,又可以继续去运行先前的程序(主程序)。就像你正在吃饭,一边又在给水桶里放水,吃着吃着,水满了,你就得赶快去把水龙头关掉或者换一个空的水桶,再回来吃饭。 单片机的定时器就像是一个水桶,你让它启动了,也就是水龙头打开了;开始装水了;定时在每个机器周期不断自动加1,最后溢出了;水桶的水不断增加,最也就满出来了;定时器溢出时,你就要去做处理了;水桶的水满了,你也应该处理一下了;处理完后,单片机又可以回到刚刚开停止的地方继续运行;水桶处理了,先前你在做什么也可以继续去做什么了。 单片机的主程序是从0片机服务程序从哪里开始运行呢?在51里,有多个中断服务程序入口,0号入口是外中断0,地址在0号入口是定时器0,在0号入口是外中断1;地址在0号入口是定时器2;地址在0等。当中断发生时,程序就记下当前运行的位置,跳到对应的中断入口去运行中断服务程序,运行完之后,又跳回到原来的位置继续运行。 在不用理会中断服务程序放在哪里,会怎么跳转。你只要把某个函数标识为几号中断服务函数就可以了。在发生了对应的中断时,就会自动的运行这个函数。 请看一下相关的51的硬件的书,对定时器工作的寄存器设置做进一步的了解。也可以做完试验再了解,因为例程中都已经为您设置好了。 请看程序,主程序里的循环里是个死循环,什么也没有做,在实际应用中这里是放的主程序。 在定时器服务函数里,需要重新置入定时器的值,这样才能保证每次溢出时,都是你指定的时间。这里置入的是0需要走0成10进制也就是每65530个机器周期中断一次。我们仿真的晶振是2211840012个时钟一个机器周期。65530×12/22118400就是差不多28因为51的定时器最大只有0出的速度很快,无法做出更久的闪烁频率来,这一课就先观察一下这个28下一课我们会用静态变量的办法,做一个长达1秒钟的另外,由于51从中断发生到进入中断的时间不定,是3至8个机器周期,我们在进入了中断后才重新置新的定时器初始值,这样就会存在定时误差。也就是不是精确定时,如果要精确定时,需要使用定时器自动装载方式,也就是在定时器溢出的同时,硬件逻辑就自动把定时器初始值装载进去了,而不是在中断服务程序里赋初始值,这样就可以实现精确定时,误差只出现晶振的频率上。这是下一颗的内容。 现在请仔细研究一下程序,并编译,进入仿真,全速运行,观察运行结果。我们可以看到顺便,也请再练习一下停止,单步,断点等等的调试方法。 一个特殊的地方,使用能无法进入到中断服务函数中。这是因为中断函数可能在单步处理的瞬间已经运行过去了。如果要单步调试中断服务函数,请在中断服务函数内设置断点,再点全速。稍后就会停止在断点上,就可以继续单步运行了。 如图: 还有,在使用输入发现它等于0,而你明明在程序中置了1。 作业: 试着设置一个新的定时器初始值,看看闪烁频率会不会变化。注意如果太快,肉眼就无法观察到闪烁了。