【摘要】:定时/计数器工作在方式1时的电路结构如图5-5所示。欲实现该功能可以应用定时/计数器,为了让定时/计数器定时为50ms就能溢出,需要让定时/计数器工作在方式1,还要对定时/计数器设置定时初值。定时初值为216-t·fosc/12=65536-50×10-3×12×106/12=65536-50000=15536=3CB0H因此该定时器的初始化程序如下:
当M1=0、M0=1时,定时/计数器工作在方式1,它为16位计数器。除了计数位数不同外,定时/计数器在方式1的工作原理与方式0完全相同。定时/计数器工作在方式1时的电路结构如图5-5所示。
图5-5 定时/计数器T0在方式1时的电路结构
定时/计数器工作在方式1时的计数初值和定时初值的计算公式分别如下:
计数初值=216-计数值
定时初值=216-计数值=216-t·fosc/12
【例5-1】 如图5-6所示,利用定时/计数器控制LED的亮灭,发光与熄灭时间均为50ms。
图5-6 定时器实验图(www.xing528.com)
解答:在图5-6中,只需让单片机的P2.0端口先为高电平,再变为低电平,并且低电平持续时间为50ms,然后让P2.0端口恢复为高电平,也就是说,让P2.0端口输出一个宽度为50ms的低电平脉冲,这样就可以让VL2亮50ms的时间。
欲实现该功能可以应用定时/计数器,为了让定时/计数器定时为50ms就能溢出,需要让定时/计数器工作在方式1(为16位计数器),还要对定时/计数器设置定时初值。
定时初值为
216-t·fosc/12=65536-50×10-3×12×106/12=65536-50000=15536=3CB0H
因此该定时器的初始化程序如下(选择定时器T0与T1均可,本例选择T0):
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。