单片机T0、T1的四种工作方式

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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

时间:2009-08-16 09:45来源:未知作者:牛牛点击:322次

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用作串行口的波特率发生器。

相关文档
最新文档