内容正文:
《单片机的C语言程序设计及应用》(电工版第4版)
第5章 定时器/计数器的C51编程 章节过关卷
考试时间:90分钟 满分:100分
姓名 班级 学号
1、 单项选择题(本题共10小题,每题2分,共20分)
1.8051单片机的定时器/计数器的数量为( )
A.1个 B.2个 C.3个 D.4个
【答案】B
2.定时器T0工作在模式1时,其最大计数值为( )
A.256 B.65536 C.8192 D.1024
【答案】B
3.控制定时器T0启动和停止的寄存器是( )
A.TMOD B.TCON C.SCON D.PCON
【答案】B
4.若要将T0配置为定时器模式(非计数器),需设置TMOD的位是( )
A.TMOD.0 B.TMOD.1 C.TMOD.4 D.TMOD.5
【答案】C
5.定时器T1的中断标志位是( )
A.TF0 B.TF1 C.TR1 D.IE1
【答案】B
6.以下可以启动定时器T0的语句是( )
A.TMOD=0x01; B.TR0=1; C.ET0=1; D.EA=1;
【答案】B
7.定时器T0的中断服务函数声明格式是( )
A.void T0_ISR() interrupt 0
B.void T0_ISR() interrupt 1
C.void T0_ISR() interrupt 2
D.void T0_ISR() interrupt 3
【答案】B
8.若系统晶振为12MHz,定时器T0在模式1下定时1ms,初始值应为( )
A.0xFC18 B.0xFE0C C.0xEE00 D.0xFFFF
【答案】B
9.TMOD寄存器的高4位用于配置的定时器是( )
A.T0 B.T1 C.T2 D.全部
【答案】B
10.定时器模式2的特点是( )
A.16位自动重装 B.8位自动重装
C.13位计数 D.分频输出
【答案】B
二、判断题(本题共15小题,每题2分,共30分)
1.TMOD寄存器用于控制定时器的启动和停止。( )
【答案】错误
2.定时器模式1是16位计数模式,最大计数值为65536。( )
【答案】正确
3.TMOD的高4位配置T0,低4位配置T1。( )
【答案】错误
4.定时器T0的中断号是0,T1的中断号是1。( )
【答案】错误
5.TCON寄存器的TF0位用于启动定时器T0。( )
【答案】错误
6.模式2是8位自动重装模式,THx存储重装值。( )
【答案】正确
7.定时器模式0是13位计数模式。( )
【答案】正确
8.定时器中断标志TFx在响应中断后会自动清零。( )
【答案】错误
9.ET0=1; 语句用于启动定时器T0。( )
【答案】错误
10.定时器中断服务函数必须用 interrupt 关键字声明。( )
【答案】正确
11.EA=1; 是开启总中断的必要条件。( )
【答案】正确
12.定时器T1的中断服务函数应声明为 interrupt 3。( )
【答案】正确
13.在中断服务函数中可以调用其他普通函数。( )
【答案】正确
14.定时器中断优先级由IP寄存器设置。( )
答案:正确
15.定时器T1在模式3下会停止工作。
答案:正确
三、填空题(本题共8小题,每空2分,共20分)
1.将T0设置为定时器模式1,TMOD应赋值为____。
【答案】0x01
2.启动定时器T0的语句是____。
【答案】TR0=1
3.定时器模式2是____位自动重装模式,TH0用于存储____。
【答案】8;重装值
4.定时器作为计数器使用时,T0的输入引脚是____,T1的输入引脚是____。
【答案】P3.4;P3.5
5.定时器T1模式2常用于____发生器。
【答案】波特率
6.定时器模式0是____位计数器模式。
【答案】13
7.定时器溢出标志位TF1位于TCON寄存器的第____位。
【答案】7
8.定时器初值计算公式是:初值=____-所需计数值。
【答案】最大值
四、简答题(本题共3小题,每题4分,共12分)
1.简述TMOD各位的含义。
【答案】
(1)GATE 门控位:决定相应的外部中断是否起作用
GATE=0 由运行控制位TR启动定时器/计数器;
GATE=1 由外中断请求信号和TR的组合状态启动定时器/计数器。
(2)C/T ̅:工作方式选择位
C/T ̅=0 定时器工作方式;
C/T ̅=1 计数器工作方式。
(3)M1M0:工作模式选择位
M1M0=00 模式0--13位定时器/计数器工作模式
M1M0=01 模式1--16位定时器/计数器工作模式
M1M0=10 模式2--常数自动装入的8位定时器/计数器工作模式
M1M0=11 模式3
2.初值TH0、TL0怎样计算。
【答案】
(1)计算定时器的计数次数(N)
定时器模式(对机器周期计数):N=12定时时间(秒)×晶振频率(Hz)/12
(2)根据工作方式确定初值(X)
方式0(13位定时器):
X=8192−N(TH0高8位,TL0低5位)
X=8192−N(TH0高8位,TL0低5位)
实际使用:TH0 = (8192 - N) >> 5; TL0 = (8192 - N) & 0x1F;
方式1(16位定时器):
X=65536−N(TH0高8位,TL0低8位)
X=65536−N(TH0高8位,TL0低8位)
方式2(8位自动重装):
X=256−N(TL0存初值,TH0存重装值)
X=256−N(TL0存初值,TH0存重装值)
3.简述TR0、TF0的含义及应用。
【答案】
(1)TR0(定时器0运行控制位)含义:位于TCON寄存器的第4位(地址88H),是定时器0的开关控制位,通过软件置1/清零来控制定时器0的运行状态。
(2)TF0(定时器0溢出标志位)含义:位于TCON寄存器的第5位,是定时器0的溢出状态标志位,硬件自动置1,需要软件清零。
五、程序填空。按照题目要求,将正确的内容填入相应位置,使得程序完整(每空3分,共18分)
1.假定51单片机外接6MHz晶振,通过定时器/计数器T0定时,在P1.0和P1.1分别产生周期为400μs和800μs的方波。请填空。
#include<reg51.h>
sbit Wave1=P1^0;
sbit Wave2=P1^1;
void T0ISR(void) interrupt 1
{ Wave1=~Wavel;
【1】; }
void T1ISR(void) interrupt 3
{ Wave2=~Wave2;
【2】;}
void main(void)
{ Wave2=0;
【3】;
TLO=0x9C;
TH0=0x38;
TR0=1;
ET0=1;
TR1=1;
ET1=1;
EA=1;
while(1); }
答案:
【1】TL0=0x9C
【2】TH0=0x38
【3】TMOD=0x03
解析:
【1】TL0=0x9C 重置计数初值
【2】TH0=0x38 重置计数初值
【3】TMOD=0x03 设置定时器T0为模式3
2.用定时器/计数器T0监视一生产线,每生产100个工件,发出一包装命令,包装成一箱,并记录其箱数。
#include<reg51.h>
sbit BAOZHUANG=P1^0;
void delayxms (unsigned int xms)
{ unsigned int t1,t2;
for(t1=xms;t1>0;t1--)
for(t2=110;t2>0;t2--);}
void main( )
{ 【1】;
BAOZHUANG=0;
【2】;
TH0=-100;
TLO=-100;
【3】;
ETO=1; TRO=1;
while(1);}
void count() interrupt 1
{ i=i+1;
BAOZHUANG=1;
delayxms(50);
BAOZHUANG=0; }
答案:
【1】i=0
【2】TMOD=0x06
【3】EA=1
解析:
【1】i=0,计件数为0。
【2】TMOD=0x06 配置定时器T0为 计数器模式(C/T0=1),工作方式2。
【3】EA=1 开启总中断。
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
$$
《单片机的C语言程序设计及应用》(电工版第4版)
第5章 定时器/计数器的C51编程 章节过关卷
考试时间:90分钟 满分:100分
姓名 班级 学号
1、 单项选择题(本题共10小题,每题2分,共20分)
1.8051单片机的定时器/计数器的数量为( )
A.1个 B.2个 C.3个 D.4个
2.定时器T0工作在模式1时,其最大计数值为( )
A.256 B.65536 C.8192 D.1024
3.控制定时器T0启动和停止的寄存器是( )
A.TMOD B.TCON C.SCON D.PCON
4.若要将T0配置为定时器模式(非计数器),需设置TMOD的位是( )
A.TMOD.0 B.TMOD.1 C.TMOD.4 D.TMOD.5
5.定时器T1的中断标志位是( )
A.TF0 B.TF1 C.TR1 D.IE1
6.以下可以启动定时器T0的语句是( )
A.TMOD=0x01; B.TR0=1; C.ET0=1; D.EA=1;
7.定时器T0的中断服务函数声明格式是( )
A.void T0_ISR() interrupt 0
B.void T0_ISR() interrupt 1
C.void T0_ISR() interrupt 2
D.void T0_ISR() interrupt 3
8.若系统晶振为12MHz,定时器T0在模式1下定时1ms,初始值应为( )
A.0xFC18 B.0xFE0C C.0xEE00 D.0xFFFF
9.TMOD寄存器的高4位用于配置的定时器是( )
A.T0 B.T1 C.T2 D.全部
10.定时器模式2的特点是( )
A.16位自动重装 B.8位自动重装
C.13位计数 D.分频输出
二、判断题(本题共15小题,每题2分,共30分)
1.TMOD寄存器用于控制定时器的启动和停止。( )
2.定时器模式1是16位计数模式,最大计数值为65536。( )
3.TMOD的高4位配置T0,低4位配置T1。( )
4.定时器T0的中断号是0,T1的中断号是1。( )
5.TCON寄存器的TF0位用于启动定时器T0。( )
6.模式2是8位自动重装模式,THx存储重装值。( )
7.定时器模式0是13位计数模式。( )
8.定时器中断标志TFx在响应中断后会自动清零。( )
9.ET0=1; 语句用于启动定时器T0。( )
10.定时器中断服务函数必须用 interrupt 关键字声明。( )
11.EA=1; 是开启总中断的必要条件。( )
12.定时器T1的中断服务函数应声明为 interrupt 3。( )
13.在中断服务函数中可以调用其他普通函数。( )
14.定时器中断优先级由IP寄存器设置。( )
15.定时器T1在模式3下会停止工作。( )
三、填空题(本题共8小题,每空2分,共20分)
1.将T0设置为定时器模式1,TMOD应赋值为____。
2.启动定时器T0的语句是____。
3.定时器模式2是____位自动重装模式,TH0用于存储____。
4.定时器作为计数器使用时,T0的输入引脚是____,T1的输入引脚是____。
5.定时器T1模式2常用于____发生器。
6.定时器模式0是____位计数器模式。
7.定时器溢出标志位TF1位于TCON寄存器的第____位。
8.定时器初值计算公式是:初值=____-所需计数值。
四、简答题(每题4分,共12分)
1.简述TMOD各位的含义。
2.初值TH0、TL0怎样计算。
3.简述TR0、TF0的含义及应用。
五、程序填空。按照题目要求,将正确的内容填入相应位置,使得程序完整(每空3分,共18分)
1.假定51单片机外接6MHz晶振,通过定时器/计数器T0定时,在P1.0和P1.1分别产生周期为400μs和800μs的方波。请填空。
#include<reg51.h>
sbit Wave1=P1^0;
sbit Wave2=P1^1;
void T0ISR(void) interrupt 1
{ Wave1=~Wavel;
【1】; }
void T1ISR(void) interrupt 3
{ Wave2=~Wave2;
【2】;}
void main(void)
{ Wave2=0;
【3】;
TLO=0x9C;
TH0=0x38;
TR0=1;
ET0=1;
TR1=1;
ET1=1;
EA=1;
while(1); }
2.用定时器/计数器T0监视一生产线,每生产100个工件,发出一包装命令,包装成一箱,并记录其箱数。
#include<reg51.h>
sbit BAOZHUANG=P1^0;
void delayxms (unsigned int xms)
{ unsigned int t1,t2;
for(t1=xms;t1>0;t1--)
for(t2=110;t2>0;t2--);}
void main( )
{ 【1】;
BAOZHUANG=0;
【2】;
TH0=-100;
TLO=-100;
【3】;
ETO=1; TRO=1;
while(1);}
void count() interrupt 1
{ i=i+1;
BAOZHUANG=1;
delayxms(50);
BAOZHUANG=0; }
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
$$