《(29)--定时器应用单片机原理及应用.ppt》由会员分享,可在线阅读,更多相关《(29)--定时器应用单片机原理及应用.ppt(7页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、定时器应用一、使用定时器的方法一、使用定时器的方法1.设置模式寄存器TMOD,配置好工作模式。2.设置计数寄存器TH0和TL0的初值。3.设置控制寄存器TCON,通过TR0置1来让定时器开始计数。4.判断控制寄存器TCON的TF0位,监测定时器溢出情况。晶振是11.0592M,时钟周期就是1/11.0592M秒,机器周期就是12/11.0592M秒,若要定时20ms,即0.02秒,要经过x个机器周期得到0.02秒,下面来计算一下x*12/11.0592M=0.02,得到x=18432。16位定时器的溢出值是65556(因为65535再加1才是溢出),于是可以这样操作,先给TH0和TL0一个初始
2、值,让它们经过18432个机器周期后刚好达到65536,此时溢出,溢出后可以通过检测TF0的值得知,就刚好是0.02秒。那么初值y65536-1843247104,转成十六进制就是0 xB800,即TH00 xB8,TL00 x00。这样0.02秒的定时就做出来了。如果初始值直接给一个0 x0000,一直到65536溢出,定时器的定时值最大也就是71ms左右。运用倍数关系即可解决这个问题。二、定时器应用程序二、定时器应用程序TMOD=0 x01;/设置 T0 为模式 1TH0=0 xB8;/为 T0 赋初值 0 xB800TL0=0 x00;TR0=1;/启动 T0以1秒定时程序为例,来分析定时器的应用while(1)if(TF0=1)/判断 T0 是否溢出 TF0=0;/T0 溢出后,清零 TH0=0 xB8;/并重新赋初值 TL0=0 x00;cnt+;/计数值自加 1 if(cnt=50)/判断 T0 溢出是否达到 50 次 cnt=0;/达到 50 次后计数值清零 LED=LED;/LED 取反:0-1、1-0 谢谢!谢谢!