返回首页
当前位置: 主页 > 定时器/计数器 >

mcs-51单片机T0、T1的四种工作方式功能及定时初始值计算

时间:2009-08-16 09:45来源:未知 作者:牛牛 点击:
1、 方式0 当位M1M0=00时。T为13位计数器,THi是高8位,TLi是低5位。 设计数值为N,则计数初值X=2^13-N;2^13=8192=2000H 例1:设fosc=6MHz,要求用T1的方式0定时10ms,求TH1、TL1的初值。 设计数初值为X;由已知条件得:1个机器周期=12/fosc=2us; 10,000us
1、 方式0
当位M1M0=00时。T为13位计数器,THi是高8位,TLi是低5位。

设计数值为N,则计数初值X=2^13-N;2^13=8192=2000H

例1:设fosc=6MHz,要求用T1的方式0定时10ms,求TH1、TL1的初值。

设计数初值为X;由已知条件得:1个机器周期=12/fosc=2us;

10,000us=12/fosc*(2^13-X)us

X=2^13-10000/2=8192-5000=3192=0C78H

得:TL1=18H,TH1=63H

2、 方式1

当位M1M0=01时。T为16位计数器,THi是高8位,TLi是低8位。

设计数值为N,则计数初值X=2^16-N;2^16==65536=10000H

例2:设fosc=6MHz,要求用T1的方式1定时100ms,求TH1、TL1的初值。

设计数初值为X;由已知条件得:1个机器周期=12/fosc=2us;

100,000us=12/fosc*(2^16-X)us

X=2^16-100000/2=65536-50000=15536=3CB0H

得:TH1=3CH,TL1=0B0H

3、 方式2

当位M1M0=10时。T为自动重装初值的8位计数器,计数在TLi ,当TL溢出时,不仅使TF=1,同时将TH中的值自动送到TL,且TH的值不变。

设计数值为N,则计数初值X=2^8-N;2^8=256=100H
单片机


例3:设fosc=6MHz,要求用T1的方式2定时500us,求TH1、TL1的初值。

设计数初值为X;由已知条件得:1个机器周期=12/fosc=2us;

500us=12/fosc*(2^8-X)us

X=2^8-500/2=256-250=6

得:TH1=6H,TL1=6H,实际上只要给TH赋初值就行。

4、 方式3

当位M1M0=11时。只有T0才有方式3。若设T1为方式3,则使其停止工作。

T0为方式3时,TH0、TL0成为两个独立的8位计数器;TL0使用T0的控制资源:GATE、C//T、TR0、TF0、/INT0引脚等,可作为8位定时/计数器,而TH0占用T1的TR1、TF1,为固定的8位定时器。此时T1由方式位控制,方式3停止,方式0~2允许工作,但计数溢出时并不置TF1为1,即不能产生中断请求。此情况下,一般是把T1用作串行口的波特率发生器。
顶一下
(11)
84.6%
踩一下
(2)
15.4%
------分隔线----------------------------
推荐内容