如果晶振频率为6MHz时,定时/计数器在工作方式0、方式1、方式2下,其最大的定时时间为多少

如题所述

晶振频率为6MHz时,定时/计数器在工作方式0、方式1、方式2下,其最大的定时时间分别为:

16.384 mS;131.072 mS;0.512 mS;

根据计算公式,X=M-计数初值=M-(fosc*t)/12,其中X是计数初值,要得到最大定时时间X=0;M最大计数值,工作方式0时M=2^13=8192,工作方式1时M=2^16=65535,工作方式2时M=2^8=256。fosc晶振频率。

所以最大定时时间为:M-(fosc*t)/12=0,即t=12*M/(6*10^3)=2*10^(-3)*M

工作方式0 t=2*10^(-3)*8192=16.384 mS;

工作方式1 t=2*10^(-3)*65536=131.072 mS;

工作方式2 t=2*10^(-3)*256=0.512 mS;

定时/计数器在使用之前均需要进行初始化,写入计数初值。

扩展资料

定时器工作流程:

定时器工作的流程可以按照这个顺序(以51为例用定时器0方式一产生50毫秒的定时)

1、确定使用哪个定时器,使用哪种方式,这一步通过TMOD设置,TMOD的低四位是设置定时器0的,高四位是用来设置定时器1的,其中的M0,M1是用来设置定时器工作在哪种方式,GATE一般用不要设置,C/T是选择计数模式还是定时模式的,如:TMOD = 0X01,就说明定时器0工作在方式1。

2、接下来就要设置定时的时间,用定时器定时50毫秒,可以用这种方式TH0 = (65535 - 50000) / 256,TL0 = (65535 - 50000) % 256;可以这样理解:因为这是定时器的初值,也就是说计数脉冲就是在这个数的基础上向上递增,到达65535后就溢出产生中断。

3、第三步打开中断,使用IE寄存器,首先打开总中断EA = 1,这一步是所有中断所必须的,然后打开定时器0中断,ET0 =1。

4、这时准备工作结束,启动定时器,使用TCON寄存器,TR0 = 1,实现了一个50毫秒的定时。

参考资料来源:《单片机原理及应用》曹巧媛 编著  电子工业出版社  第四章 单片机定时功能及应用

第一节 定时计数器的结构与工作原理

参考资料来源:百度百科--定时器中断

温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-01-09
晶振频率为6MHZ,则振荡周期Tosc=1/6 uS。

工作方式0:此时为13位定时/计数器,则最大计数值为2的13次方(即8192)
工作方式1:为16位定时/计数器,则最大计数值为2的16次方(即65536)
工作方式2:为自动重装初值的8位定时器/计数器,则最大计数值为2的8次方(即256)

由于定时器/计数器每加1占用的时间为1个机器周期
因此各自最大定时时间如下:
工作方式0:最大定时时间 TM = 8192*MC
工作方式1:最大定时时间 TM = 65536*MC
工作方式2:最大定时时间 TM = 256*MC
其中MC为内部机器脉冲周期(即机器周期)

晶振为6MHz,如果按常规标准的12分频的51系列单片机算的话(MC = 12*Tosc = 2微秒)。
则各自最大定时时间如下:
工作方式0:最大定时时间 TM = 8192*MC =16384 uS
工作方式1:最大定时时间 TM = 65536*MC =131072 uS
工作方式2:最大定时时间 TM = 256*MC = 512 uS
其中MC为内部机器脉冲周期(即机器周期)本回答被提问者采纳
第2个回答  2015-10-17
  晶振频率为6MHZ,则振荡周期Tosc=1/6 uS。

  工作方式0:此时为13位定时/计数器,则最大计数值为2的13次方(即8192)
  工作方式1:为16位定时/计数器,则最大计数值为2的16次方(即65536)
  工作方式2:为自动重装初值的8位定时器/计数器,则最大计数值为2的8次方(即256)

  由于定时器/计数器每加1占用的时间为1个机器周期
  因此各自最大定时时间如下:
  工作方式0:最大定时时间 TM = 8192*MC
  工作方式1:最大定时时间 TM = 65536*MC
  工作方式2:最大定时时间 TM = 256*MC
  其中MC为内部机器脉冲周期(即机器周期)

  晶振为6MHz,如果按常规标准的12分频的51系列单片机算的话(MC = 12*Tosc = 2微秒)。
  则各自最大定时时间如下:
  工作方式0:最大定时时间 TM = 8192*MC =16384 uS
  工作方式1:最大定时时间 TM = 65536*MC =131072 uS
  工作方式2:最大定时时间 TM = 256*MC = 512 uS
  其中MC为内部机器脉冲周期(即机器周期)。
第3个回答  2011-12-28
最懒的方法,下一个‘单片机小精灵‘,定时器、精确延时、串口波特率等等通通轻松搞定。
第4个回答  2011-12-27
咦!?又来了!?昨天不早回了吗!?
http://zhidao.baidu.com/question/358479367.html?oldq=1