1.如果采用晶振的频率为 3MHz,定时器/计数器 Tx(x=0,1)工作在方式 0、1、2 下,其方式 0 的最大定时时间为 ,方式 1 的最大定时时间为 ,方式 2 的最
大定时时间为 。
答:,,1024μs
2.定时器/计数器用作计数器模式时,外部输入的计数脉冲的最高频率为系统时钟频率的 。
答:1/24
3.定时器/计数器用作定时器模式时,其计数脉冲由 提供,定时时间与
有关。
答:系统时钟信号 12 分频后,定时器初值
4.定时器/计数器 T1 测量某正单脉冲的宽度,采用 方式可得到最大量程?若时
钟频率为 6MHz,求允许测量的最大脉冲宽度为 。
答:方式 1 定时,。
5. 定时器 T2 有 3 种工作方式: 、 和 ,可通过对寄存器
中的相关位进行软件设置来选择。
答:捕捉,重新装载(增计数或减计数),波特率发生器,T2CON
6. AT89S52单片机的晶振为6MHz,若利用定时器T1的方式1定时2ms,则(TH1)
= ,(TL1)= 。
答:FCH,18H。二、单选
1.定时器 T0 工作在方式 3 时,定时器 T1 有 种工作方式。
种 种 C.3 种 D.4 种
答:C
2. 定时器 T0、T1 工作于方式 1 时,其计数器为 位。
位 位 位 位答:B
3. 定时器 T0、T1 的 GATEx=1 时,其计数器是否计数的条件 。
A. 仅取决于 TRx 状态 B. 仅取决于 GATE 位状态
![]()
C. 是由 TRx 和INT x 两个条件来共同控制 D. 仅取决于INT x 的状态答:C
4. 定时器 T2 工作在自动重装载方式时,其计数器为 位。
位 B. 13 位 位 D. 16 位答:D
![]()
5. 要想测量INT 0 引脚上的正单脉冲的宽度,特殊功能寄存器 TMOD 的内容应为 。
B. 09H D. 00H
答:B
1.下列关于 T0、T1 的哪些说法是正确的。
A.特殊功能寄存器 SCON,与定时器/计数器的控制无关。对
B.特殊功能寄存器 TCON,与定时器/计数器的控制无关。错
C.特殊功能寄存器 IE,与定时器/计数器的控制无关。错
D.特殊功能寄存器 TMOD,与定时器/计数器的控制无关。错
2.定时器 T0、T1 对外部脉冲进行计数时,要求输入的计数脉冲的高电平或低电平的持续时间不小于 1 个机器周期。特殊功能寄存器 SCON 与定时器/计数器的控制无关。错
3.定时器 T0、T1 对外部引脚上的脉冲进行计数时,要求输入的计数脉冲的高电平和低电平的持续时间均不小于 2 个机器周期。对
1.定时器/计数器 T1、T0 的工作方式 2 有什么特点适用于哪些应用场合
答:方式 2 为初值自动装入的 8 位定时器/计数器,克服了在循环定时或循环计数应用时就存在用指令反复装入计数初值影响定时精度的问题。
2.THx 与 TLx(x=0,1)是普通寄存器还是计数器其内容可以随时用指令更改吗更改后的新值是立即刷新还是等当前计数器计满后才能刷新
答:THx 与 TLx(x=0,1)是计数器,其内容可以随时用指令更改,但是更改后的新值要等当前计数器计满后才能刷新。
3.如果系统的晶振的频率为 24MHz,定时器/计数器工作在方式 0、1、2 下,其最大定时时间各为多少?
答:晶振的频率为 24MHz, 机器周期为μs。
方式 0 最大定时时间=μs×213=μs×8192=4096μs
方式 1 最大定时时间=μs×216=μs×65536=327686μs
方式 2 最大定时时间=μs×28=μs×256=128μs
4.定时器/计数器 Tx(x=0,1)的方式 2 有什么特点适用于哪些应用场合
答:定时器/计数器的工作方式 2 具有自动恢复初值的特点,适用于精确定时,例如波特率的产生。
5.一个定时器的定时时间有限,如何用两个定时器的串行定时来实现较长时间的定时?
答:方法 1,在第一个定时器的中断程序里关闭本定时器的中断程序,设置和打开另一个定时器;在另一个定时器的中断程序中关闭本定时中断,设置和打开另一个定时器。这种方式的定时时间为两个定时器定时时间的和。
![]()
方法 2,一个作为定时器,在定时中断后产生一个外部计数脉冲(比如由接INT0 产
生),另一个定时器工作在计数方式。这样两个定时器的定时时间为一个定时器的定时时间乘以另一个定时器的计数值。
6.当定时器 T0 用于方式 3 时,应该如何控制定时器 T1 的启动和关闭?
答:由 TMOD 寄存器的 D6 位“C/T*”来控制定时器 T1 的启动和关闭。
7.THx 与 TLx(x=0,1)是普通寄存器还是计数器其内容可以随时用指令更改吗更改后的新值是立即刷新还是等当前计数器计满后才能刷新
答:THx 与 TLx (x=0,1)是由特殊功能寄存器构成的计数器,其内容可以随时用指令更 改,更改后的新值是立即刷新。但在读 THx、TLx 的值时,应该先读 THx 值,后读 TLx,再读 THx。若两次读得 THx 相同,则可确定读得的内容正确。若前后两次读得的 THx 有变化,再重复上述过程。
1.采用定时器/计数器 T0 对外部脉冲进行计数,每计数 100 个脉冲后,T0 转为定时工作方式。定时 1ms 后,又转为计数工作方式,如此循环不止。假定 AT89S51 单片机的晶体振荡器的频率为 6MHz,请使用方式 1 实现,要求编写程序。
答:定时器/计数器 T0 在计数和定时工作完成后,均采用中断方式工作。除了第一次计数工作方式设置在主程序完成外,后面的定时或计数工作方式分别在中断程序完成,用一标志位识别下一轮定时器/计数器 T0 的工作方式。参考程序如下:
ORG | 0000H | ||
LJMP | MAIN | ||
ORG | 000BH | ||
LJMP | IT0P | ||
MAIN: MOV | TMOD,#06H | ;定时器/计数器 T0 为计数方式 2 | |
MOV | TL0,#156 | ;计数 100 个脉冲的初值赋值 | |
MOV | TH0,#156 |
SETB | GATE | ;打开计数门 | ||
SETB | TR0 | ;启动 T0,开始计数 | ||
SETB | ET0 | ;允许 T0 中断 | ||
SETB | EA | ;CPU 开中断 | ||
CLR | F0 | ;设置下一轮为定时方式的标志位 | ||
WAIT: | AJMP | WAIT | ||
IT0P: | CLR | EA | ;CPU 关中断 | |
JB | F0,COUNT | ;F0=1,转计数方式设置 | ||
MOV | TMOD,#00H | ;定时器/计数器 T0 为定时方式 0 | ||
MOV | TH0,#0FEH | ;定时 1ms 初值赋值 | ||
MOV | TL0,#0CH | |||
SETB | EA | |||
RETI |
COUNT: MOV TMOD,#06H MOV TL0,#156
SETB EA
RETI
2.编写程序,要求使用 T0,采用方式 2 定时,在输出周期为 400μs,占空比为 10:1 的矩形脉冲。
答:据题意,从输出的矩形脉冲的高低电平的时间为 10:1,则高低电平的时间分别为μs和μs。如果系统采用 6MHz 晶振的话,Tcy=2μs,因此高低电平输出取整,则约为 364μ s 和 36μs。参考程序如下:
ORG | 0000H | |||
LJMP | MAIN | |||
ORG | 000BH | |||
LJMP | IT0P | |||
MAIN: | MOV | TMOD,#02H | ;定时器/计数器 T0 为定时方式 2 | |
MOV | TL0,#4AH | ;定时 364μs 初值赋值 | ||
SETB | TR0 | ;启动 T0,开始计数 | ||
SETB | ET0 | ;允许 T0 中断 | ||
SETB | EA | ;CPU 开中断 | ||
SETB | ||||
WAIT: | AJMP | WAIT |
IT0P: | CLR | EA | |
CLR | ;关中断 | ||
MOV | R0,#9 | ||
DLY: | DJNZ | R0,DLY | ;延时 36μs |
MOV | TL0,#4AH | ;定时 364μs 初值赋值 | |
SETB | |||
SETB | EA | ||
RETI |
3.编写程序要求:当引脚的电平正跳变时,对的输入脉冲进行计数;当引脚的电平负跳变时,停止计数,并将计数值写入 R0、R1(高位存 R1,低位存 R0)。
答:将的输入脉冲接入 INT0,即使用 T0 计数器完成对口的脉冲计数。参考程序如下:
ORG | 0000H | |
LJMP | MAIN | |
ORG | 000BH | |
LJMP | IT0P | |
MAIN: JNB | ,MAIN |
MOV | TMOD,#05H | ;定时器/计数器 T0 为计数方式 1 | |
SETB | TR0 | ;启动 T0,开始计数 | |
SETB | ET0 | ;允许 T0 中断 | |
SETB | EA | ;CPU 开中断 | |
WAIT: JB | ,WAIT | ||
CLR | EA | ||
CLR | TR0 | ||
MOV | R1,TH0 | ||
MOV | R0,TL0 | ||
AJMP | $ | ||
IT0P: | INC | R2 | |
RETI | |||