内容正文:
《单片机的C语言程序设计及应用》(电工版第4版)
期末复习卷(三)
时间:90分钟 总分:100分
班级 姓名 学号 成绩
一、选择题(本大题共15小题,每小题2分,共30分)
1.串行接口实现串行通信时,若两机的发送与接收可以同时进行,则称为
A.半双工传送 B.全双工传送 C.单工传送 D.双工传送
2.MCS-51单片机的复位信号的有效位是
A.高电平 B.低电平 C.脉冲 D.下降沿
3.在80c51的I/O口里,哪个I/O口在执行输出功能时没有内部上拉电阻
A.P0 B.P1 C.P2 D.P3
4.下列数据中有可能是八进制数的是
A.396 B.328 C.764 D.897
5.使用_nop_函数时,必须包含的库文件是
A.reg52.h B.intrins.h C.absacc.h D.stdio.h
6.若单片机的晶振为12MHz,设T1工作在方式0且需定时1ms,则定时器初值为
A.500 B.1000 C.2^13-1000 D.2^16-1000
7.在串行口工作于移位寄存器方式时,启动接收的是
A.RE B.RI C.REN和RI D.TR
8.MCS-51单片机的外部中断0的中断请求标志位是
A.EX0 B.TF0 C.IT0 D.IE0
9.51单片机的定时器/计数器工作方式2是
A.8位计数器结构 B.2个8位计数器结构
C.13位计数器结构 D.16位计数器结构
10.当IT0=1,外部中断信号是在什么情况下产生有效中断请求
A.上升沿 B.下降沿 C.高电平 D.低电平
11.单片机应用程序一般存放在
A.RAM B.ROM C.寄存器 D.CPU
12.DS18B20的总线方式是
A.1-wire B.I2C C.SPI D.SP2
13.用8051串行口扩展并行I/O口时,串行口工作方式应选择
A.方式3 B.方式2 C.方式1 D.方式0
14.使用8255A可以扩展出的I/O口线是
A.16根 B.22根 C.24根 D.32根
15.串行口工作方式0的波特率是
A./12 B.可变的 C./64 D./32或/64
二、判断题(本大题共5小题,每小题2分,共10分)
1.EA=1;语句用于开启所有中断。( )
2.在C51中,interrupt关键字后面的数字表示中断优先级。( )
3.P1=0xFF;语句会将P1口所有引脚设置为高电平。( )
4.51单片机的机器周期是时钟周期的12倍。( )
5.unsigned char类型变量的取值范围是-128到127。( )
三、填空题(本大题共10小题,每小题2分,共20分)
1.一个完整的微机系统由________和软件两大部分组成。
2.计算机的系统总线有地址总线、___________、控制总线。
3.C51程序的执行总是从__________函数开始。
4.DAC0832D/A转换器的11引脚和12引脚为电流输出端,为了输出模拟电压,电
流输出端需加___________。
5.单片机4个并行口中,还具有外中断,串行通信等第二功能的口是_______。
6.1个机器周期=___________个振荡周期。
7.8051系列单片机的存储器在物理结构上可分为片内、片外程序存储器和片内、片
外___________。
8.根据公共端的连接情况,8段LED数码显示器有共阴极和_________两种。
9.51单片机外部中断源包括和_________。
10.定时器/计数器1溢出中断的中断允许位是____________。
四、简答题(本大题共4小题,每小题5分,共20分)
1.8051单片机的基本存储结构分为哪几部分?各自的作用是什么?
2.如何用C51实现软件延时1ms(假设晶振12MHz)。
3.串口通信中,如何配置波特率为9600(12MHz晶振)。
4.解释sfr和sbit关键字的作用,并举例。
五、程序填空。按照题目要求,将正确的内容填入相应位置,使得程序完整(本题共1个小题,每空3分,共15分)
1.单片机AT89C51外接时钟频率为12MHz,用定时器/计数器1的工作模式1编程实现从P1.1输出周期为1s的方波。(请填空)
【1】
sbit P1_1=P1^1;
unsigned char i;
void main()
{ i=0;
【2】 ;
TH1=(65536-50000)/256; TL1=(65536-50000)%256;
EA=1;TR1=1;
【3】 ;
while(1) ; }
void time0_int() interrupt 【4】
{ TH1=(65536-50000)/256;
TL1=(65536-50000)%256;
i++;
if(i==10)
{ P1_1=!P1_1;
【5】 ;}
}
六、读程题(本大题共1小题,共5分)
1.利用单片机AT89C51的P1口作为共阴极数码管静态显示的控制口,该程序实现的功能是 。
#include<reg51.h>
void delay100ms( )
{ unsigned char a,b,c;
for(c=19;c>0;c--)
for(b=20;b>0;b--)
for(a=130;a>0;a--);}
void main()
{ P2=0x4f;
delay100ms( ) ;
P2=0x66;
delay100ms( );
While(1);}
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
学科网(北京)股份有限公司
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$$
《单片机的C语言程序设计及应用》(电工版第4版)
期末复习卷(三)
时间:90分钟 总分:100分
班级 姓名 学号 成绩
一、选择题(本大题共15小题,每小题2分,共30分)
1.串行接口实现串行通信时,若两机的发送与接收可以同时进行,则称为
A.半双工传送 B.全双工传送 C.单工传送 D.双工传送
【答案】B
2.MCS-51单片机的复位信号的有效位是
A.高电平 B.低电平 C.脉冲 D.下降沿
【答案】A
3.在80c51的I/O口里,哪个I/O口在执行输出功能时没有内部上拉电阻
A.P0 B.P1 C.P2 D.P3
【答案】A
4.下列数据中有可能是八进制数的是
A.396 B.328 C.764 D.897
【答案】C
5.使用_nop_函数时,必须包含的库文件是
A.reg52.h B.intrins.h C.absacc.h D.stdio.h
【答案】B
6.若单片机的晶振为12MHz,设T1工作在方式0且需定时1ms,则定时器初值为
A.500 B.1000 C.2^13-1000 D.2^16-1000
【答案】C
7.在串行口工作于移位寄存器方式时,启动接收的是
A.RE B.RI C.REN和RI D.TR
【答案】C
8.MCS-51单片机的外部中断0的中断请求标志位是
A.EX0 B.TF0 C.IT0 D.IE0
【答案】D
9.51单片机的定时器/计数器工作方式2是
A.8位计数器结构 B.2个8位计数器结构
C.13位计数器结构 D.16位计数器结构
【答案】A
10.当IT0=1,外部中断信号是在什么情况下产生有效中断请求
A.上升沿 B.下降沿 C.高电平 D.低电平
【答案】B
11.单片机应用程序一般存放在
A.RAM B.ROM C.寄存器 D.CPU
【答案】B
12.DS18B20的总线方式是
A.1-wire B.I2C C.SPI D.SP2
【答案】A
13.用8051串行口扩展并行I/O口时,串行口工作方式应选择
A.方式3 B.方式2 C.方式1 D.方式0
【答案】D
14.使用8255A可以扩展出的I/O口线是
A.16根 B.22根 C.24根 D.32根
【答案】C
15.串行口工作方式0的波特率是
A./12 B.可变的 C./64 D./32或/64
【答案】 A
二、判断题(本大题共5小题,每小题2分,共10分)
1.EA=1;语句用于开启所有中断。( )
【答案】正确
2.在C51中,interrupt关键字后面的数字表示中断优先级。( )
【答案】错误
3.P1=0xFF;语句会将P1口所有引脚设置为高电平。( )
【答案】正确
4.51单片机的机器周期是时钟周期的12倍。( )
【答案】正确
5.unsigned char类型变量的取值范围是-128到127。( )
【答案】错误
三、填空题(本大题共10小题,每小题2分,共20分)
1.一个完整的微机系统由________和软件两大部分组成。
【答案】硬件
2.计算机的系统总线有地址总线、___________、控制总线。
【答案】数据总线
3.C51程序的执行总是从__________函数开始。
【答案】main
4.DAC0832D/A转换器的11引脚和12引脚为电流输出端,为了输出模拟电压,电
流输出端需加___________。
【答案】电流/电压转换器
5.单片机4个并行口中,还具有外中断,串行通信等第二功能的口是_______。
【答案】P3口
6.1个机器周期=___________个振荡周期。
【答案】12
7.8051系列单片机的存储器在物理结构上可分为片内、片外程序存储器和片内、片
外___________。
【答案】数据存储器
8.根据公共端的连接情况,8段LED数码显示器有共阴极和_________两种。
【答案】共阳极
9.51单片机外部中断源包括和_________。
【答案】
10.定时器/计数器1溢出中断的中断允许位是____________。
【答案】ET1
四、简答题(本大题共4小题,每小题5分,共20分)
1.8051单片机的基本存储结构分为哪几部分?各自的作用是什么?
【答案】
ROM(程序存储器):存储程序代码,如Flash或掩膜ROM。
RAM(数据存储器):存储运行时变量,分为内部RAM(128B)和外部RAM(可扩展)。
SFR(特殊功能寄存器):控制外设和核心功能,如P0~P3、TMOD、SCON等。
【解析】
见答案
2.如何用C51实现软件延时1ms(假设晶振12MHz)?
【答案】
void delay1ms() {
unsigned int i;
for (i = 0; i < 120; i++);
}
【解析】
晶振12MHz则指令周期为1~4us。i=0~120,理论上周期为120~480us,但是实际测试值为1ms。所以该程序为延时1ms程序。
3.串口通信中,如何配置波特率为9600(12MHz晶振)?。
【答案】
SCON = 0x50;
TMOD |= 0x20;
TH1=0xFD;
TL1 = 0xFD;
TR1 = 1;
【解析】
SCON = 0x50; // 模式1,允许接收
TMOD |= 0x20; // T1模式2(自动重载)
TH1 = 0xFD; // 波特率9600
TL1 = 0xFD; // 波特率9600
TR1 = 1; // 启动T1
4.解释sfr和sbit关键字的作用,并举例。
【答案】
sfr:定义特殊功能寄存器,如sfr P0 = 0x80;。
sbit:定义寄存器某一位,如sbit LED = P1^0;
【解析】
见答案
五、程序填空。按照题目要求,将正确的内容填入相应位置,使得程序完整(本题共1个小题,每空3分,共15分)
1.单片机AT89C51外接时钟频率为12MHz,用定时器/计数器1的工作模式1编程实现从P1.1输出周期为1s的方波。(请填空)
【1】
sbit P1_1=P1^1;
unsigned char i;
void main()
{ i=0;
【2】 ;
TH1=(65536-50000)/256; TL1=(65536-50000)%256;
EA=1;TR1=1;
【3】 ;
while(1) ; }
void time0_int() interrupt 【4】
{ TH1=(65536-50000)/256;
TL1=(65536-50000)%256;
i++;
if(i==10)
{ P1_1=!P1_1;
【5】 ;}
}
【答案】
【1】#include<reg51.h>
【2】TMOD=0X10
【3】ET1=1
【4】3
【5】i=0
【解析】
【1】#include<reg51.h>。这是因为需要包含AT89C51的寄存器定义。
【2】TMOD=0X10。此操作是为了把定时器1设定为工作模式 1。
【3】ET1=1。这样就能使能定时器1 的中断。
【4】定时器1的中断号为3。
【5】在输出方波后将计数变量清零。
六、读程题(本大题共1小题,共5分)
1.利用单片机AT89C51的P1口作为共阴极数码管静态显示的控制口,该程序实现的功能是 。
#include<reg51.h>
void delay100ms( )
{ unsigned char a,b,c;
for(c=19;c>0;c--)
for(b=20;b>0;b--)
for(a=130;a>0;a--);}
void main()
{ P2=0x4f;
delay100ms( ) ;
P2=0x66;
delay100ms( );
While(1);}
【答案】
以100ms的时间间隔交替显示“3”和“4”
【解析】
该程序实现的功能是:以100ms的时间间隔交替显示“3”和“4”。具体分析如下:
硬件连接
单片机AT89C51的P1口作为共阴极数码管的控制口。说明0x4f为“3”,0x66为“4”
延时函数
void delay100ms( )通过嵌套循环实现延时。总延时约为100ms
主程序逻辑
P2=0x4f;数码管显示“3”。
delay100ms( ) ;延时100ms。
P2=0x66;数码管显示“4”。
delay100ms( );延时100ms。
While(1) 无限循环。
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
学科网(北京)股份有限公司
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$$