单片机训练题集89.docx
《单片机训练题集89.docx》由会员分享,可在线阅读,更多相关《单片机训练题集89.docx(23页珍藏版)》请在冰点文库上搜索。
单片机训练题集89
一.单项选择题
1.单片机内部最核心的部分是:
B。
(A)输入/输出口(B)CPU(C)存储器(D)时钟电路
2.单片机CPU主要由A组成。
(A)运算器、控制器(B)加法器、寄存器
(C)运算器、加法器(D)运算器、译码器
3.单片机能直接识别的是:
C。
(A)汇编语言 (B)自然语言 (C)机器语言 (D)C语言
4.单片机能直接识别的是:
C。
(A)汇编语言 (B)BCD码 (C)二进制编码 (D)C语言
5.计算机能直接运行的程序是:
B。
(A)汇编源程序 (B)机器语言源程序 (C)高级语言程序 (D)C语言源程序
6.使用keil软件调试单片机C语言程序,首先要建立工程文件,工程文件含1个或多个C源程序,这个C源程序的扩展名为:
B。
(A).hex (B).c (C).asm (D).bin
7.使用keil软件调试单片机C语言程序是,首先要建立工程文件,工程文件含1个或多个C源程序,调试编译完成后的生成的文件的扩展名为:
A。
(A).hex (B).c (C).asm (D).bin
8.使用Proteus仿真时,单片机要载入的运行文件的扩展名为:
A。
(A).hex (B).c (C).asm (D).bin
9.单片机工作时,能写入又能读出的半导体存储器是:
A。
(A)RAM(B)ROM(C)磁盘(D)磁带
10.单片机工作时,只能读出的半导体存储器是:
B。
(A)RAM(B)ROM(C)磁盘(D)磁带
11.下列存储器属于数据存储器的是B。
(A)ROM(B)RAM(C)EPROM(D)EEPROM
12.单片机工作时,电可擦除的半导体存储器是:
C。
(A)RAM(B)ROM(C)EEPROM(D)磁带
13.下列单片机芯片中含有EEPROM的是:
D。
(A)8031(B)8051(C)8751(D)89C51
14.当使用的单片机只有内部ROM时,/EA应该接A电平。
(A)高(B)低(C)高或低均可(D)可不接
15.MCS-51复位后,寄存器P1的初始状态为C。
(A)00H(B)07H(C)FFH(D)0FH
16.MCS-51复位后,寄存器P3的初始状态为C。
(A)00H(B)07H(C)FFH(D)0FH
17.MCS-51复位后,寄存器P0的初始状态为C
(A)00H(B)07H(C)FFH(D)0FH
18.MCS-51复位后,寄存器P2的初始状态为C
(A)00H(B)07H(C)FFH(D)0FH
19.下列寄存器为16位的是C。
(A)SCON(B)TH0(C)DPTR(D)IP
20.SFR(特殊功能存储器)位于下列那种存储器中:
A。
(A)内部RAM(B)内部ROM(C)外部ROM(D)外部RAM
21.SFR区位于:
C中。
(A)片内RAM的低128字节(B)片内ROM的低128字节
(C)片内RAM的高128字节(D)片内ROM的高128字节
22.单片机的4个并行I/O端口作为通用I/O端口使用,在输出数据时,必须外接上拉电阻的是__A__。
(A)P0口(B)P1口(C)P2口(D)P3口
23.单片机的4个并行I/O端口作为通用I/O端口使用,在输出数据时,内部没有上拉电阻的是__A__。
(A)P0口(B)P1口(C)P2口(D)P3口
24.MCS-51系列单片机外扩存储器芯片时,4个I/O口中作为地址总线的是:
A 。
(A)P0口和P2口(B)P0口(C)P2口和P3口(D)P2口
25.当要扩展外部数据存储器时,地址总线是由_D__构成的。
(A)P0口输出16位地址(B)P0、P1口分别输出低8位和高8位地址
(C)P2口输出16位地址(D)P0、P2口分别输出低8位和高8位地址
26.当要扩展外部存储器时,分时复用做数据线和低8位地址总线是由_A__构成的。
(A)P0口(B)P1口(C)P2口(D)P3口
27.若晶体振荡频率为12MHz,则CPU执行一条单周期指令需要:
C us。
(A)2 (B)4 (C)1 (D)3
28.如果单片机的晶振频率为12MHz,则执行一条4周期的指令需要的时间为__B__s
(A)2us(B)4us(C)6us(D)1us
29.对于MCS-51单片机,机器周期与振荡周期的关系是:
B 。
(A)一个机器周期=6个振荡周期(B)一个机器周期=12个振荡周期
(C)一个振荡周期=6个机器周期(D)一个振荡周期=12个机器周期
30.同一优先级,若外部中断0,外部中断1,定时/计数器0,定时/计数器1,同时向CPU发出中断请求,CPU最先响应的是D。
(A)外部中断1 (B)定时/计数器0中断
(C)定时/计数器1中断 (D)外部中断0
31.不是MCS-51机响应中断的必要条件是C。
(A)TCON或SCON中的有关中断标志位为1。
(B)IE中断允许寄存器内的有关中断标志位为1
(C)IP中断优先级寄存器内的有关位置为1
(D)当前一条指令执行完
32.外部中断1中断源发出的中断请求信号,会标记在MCS-51系统中的D中。
(A)IE(B)SCON(C)TMOD(D)TCON
33.在MCS-51系统中,中断优先级寄存器是_B_.
(A)IE(B)IP(C)TMOD(D)TCON
34.若所有的中断源同时发出中断请求,下列_D_情况的中断优先顺序能实现。
(A)外部中断1>定时器T0中断>外部中断0
(B)串行口中断>定时器T0中断>外部中断1
(C)定时器T0中断>定时器T1断>外部中断0
(D)定时器T0中断>定时器T1断>串行口中断
35.若IE=14H,则哪个中断被允许___B____.
(A).外部中断0(B).外部中断1(C).定时器0中断(D).定时器1中断
36.设定定时计数器工作方式的特殊功能寄存器是D。
(A)TCON(B)PCON(C)SCON(D)TMOD
37.定时/计数器T0,如果以方式0工作,则是__A__位计数器
(A)13(B)16(C)8(D)两个8
38.在单片机里,若通过串行口传出数据,则只要将数据放入A寄存器,CPU就会主动将它传出?
(A)SBUF(B)PCON(C)SCON(D)SMOD
39.在单片机里,串行口的控制寄存器为C。
(A)SBUF(B)PCON(C)SCON(D)SMOD
40.串行口工作为方式0时,其波特率C。
(A)取决于定时器1的溢出率(B)取决于PCON中的SMOD位
(C)取决于时钟频率(D)取决于PCON中的SMOD位和定时器1的溢出率
41.串行口工作为方式1时,其波特率D。
(A)取决于定时器1的溢出率(B)取决于PCON中的SMOD位
(C)取决于时钟频率(D)取决于PCON中的SMOD位和定时器1的溢出率
42.串行口工作为方式3时,其波特率D。
(A)取决于定时器1的溢出率(B)取决于PCON中的SMOD位
(C)取决于时钟频率(D)取决于PCON中的SMOD位和定时器1的溢出率
43.在单片机里,若CPU完成串行口数据的接收将会D。
(A)将TI标记为0(B)将RI标记为0
(C)将TI标记为1(D)将RI标记为1
44.在单片机里,若CPU完成串行口数据的发送将会C。
(A)将TI标记为0(B)将RI标记为0
(C)将TI标记为1(D)将RI标记为1
45.串行口以方式1工作时,帧的格式是:
B位。
(A)9(B)10(C)8(D)11
46.串行口以方式2工作时,帧的格式是:
D位。
(A)9(B)10(C)8(D)11
47.串行口以方式3工作时,帧的格式是:
D位。
(A)9(B)10(C)8(D)11
48.下面哪个中断标志一定要软件清除:
C。
(A)IE0(B)IE1(C)TI(D)TF1
49.当采用中断方式进行串口数据的发送时,发送完一帧数据后,TI标记要:
C。
(A)自动清零(B)硬件清零(C)软件清零(D)软、硬件清零
50.下面哪个中断标志一定要软件清除:
B。
(A)IE1(B)RI(C)IE1(D)TF0
51.当采用中断方式进行串口数据的接收时,接收完一帧数据后,RI标记要:
C。
(A)自动清零(B)硬件清零(C)软件清零(D)软、硬件清零
52.当采用定时器1作为串口波特率发生器使用时,通常定时器工作在方式C
(A)0(B)1(C)2(D)3
53.A/D0809芯片是m路模拟输入的n位A/D转换器,m、n分别是C。
(A)8、9(B)8、16(C)8、8(D)1、8
54.DAC0832是一种B芯片。
(A)8位模拟量转换为数字量(B)8位数字量转换为模拟量
(C)16位模拟量转换为数字量(D)16位数字量转换为模拟量
55.DAC0832的工作方式通常有D。
(A)直通(B)单缓冲(C)双缓冲(D)单缓冲、双缓冲和直通
56.8255通常可作为扩展的A使用。
(A)并行I/O口(B)RAM(C)串行I/O口(D)ROM
57.如果把8051的P0.1、P0.0通过373锁存器同8255的A1、A0连接,若低8位地址为00H,则选择了8255A的端口的A。
(A)A口(B)B口(C)C口(D)控制寄存器
58.如果把8051的P0.1、P0.0通过373锁存器同8255的A1、A0连接,若低8位地址为01H,则选择了8255A的端口的B。
(A)A口(B)B口(C)C口(D)控制寄存器
59.如果把8051的P0.1、P0.0通过373锁存器同8255的A1、A0连接,若低8位地址为02H,则选择了8255A的端口的C。
(A)A口(B)B口(C)C口(D)控制寄存器
60.如果把8051的P0.7、P0.6通过373锁存器同8255的A1、A0连接,若低8位地址为C2H,则选择了8255A的端口的D。
(A)A口(B)B口(C)C口(D)控制寄存器
61.如果把8051的P0.7、P0.6通过373锁存器同8255的A1、A0连接,若低8位地址为02H,则选择了8255A的端口的A。
(A)A口(B)B口(C)C口(D)控制寄存器
62.如果把8051的P0.7、P0.6通过373锁存器同8255的A1、A0连接,若低8位地址为82H,则选择了8255A的端口的C。
(A)A口(B)B口(C)C口(D)控制寄存器
二、填空题
1.二进制数为00011110B,转化为十六进制数为0x1E。
2.二进制数为01000000,转化为十六进制数为0x40。
3.二进制数为00010100B,转化为十六进制数为0x14。
4.二进制数为00010110B,转化为十六进制数为0x16。
5.二进制数为01100100B,转化为十六进制数为0x64。
6.十六进制数为0xFE,转化为二进制数为11111110B。
7.十六进制数为0x8F,转化为二进制数为10001111B。
8.十六进制数为0x7D,转化为二进制数为01111101B。
9.十六进制数为0x5C,转化为二进制数为01011100B。
10.十六进制数为0x6B,转化为二进制数为01101011B。
11.十六进制数为0x3A,转化为二进制数为00111010B。
12.按冯.诺依曼结构,将计算机分为运算器、控制器、存储器、输入部分、输出部分五个部分。
13.CPU主要由运算器和控制器组成。
14.单片机与普通计算机的不同之处在于将CPU、_存储器__、和I/O三部分集成在一块芯片上。
15.单片机采用的是将程序存储器和数据存储器分开的哈佛结构,物理上可划分为__片内RAM、__片外RAM、__片内ROM_、_片外ROM____四个存储区域。
16.MCS-51系列单片机中,51子系列主要包括8051、8031、8751三种机型,52子系列主要包括8052、8032两种机型。
其中片内无ROM的机型是8031、_8032___,片内有4KB的ROM的机型是8051_、__8751__,片内有8KB的ROM的机型是_8052__。
17.MCS-51系列单片机中,片内无ROM的机型是8031,片内有4KBROM的机型是8051,片内有4KB的EPROM的机型是8751。
带有4K字节闪烁可编程可擦除ROM的机型是89C51
18.在8031单片机内部RAM高端128字节的地址空间称为SFR
19.在8031单片机内部其RAM低端128字节的地址空间称为内部RAM。
20.使用8051单片机时,若将/EA引脚接高电平,表示使用内部的ROM。
21.一个机器周期等于12个振荡周期。
22.已知MCS-51单片机系统是拥12MHZ的外部晶体振荡器,请问:
该单片机系统的机器周期是12/12MHZ
23.单片机的晶振频率为12MHZ,则执行一条_nop_()指令需要的时间是_1_us。
24.单片机的晶振频率为6MHZ,则执行一条_nop_()指令需要的时间是__2_us。
25.MCS-51提供5个中断源,2个优先级。
26.中断控制寄存器为IE,定时/计数器的工作方式寄存器为TMOD,中断优先级寄存器为IP。
27.软件设定外部中断0为边沿触发时,在程序中应加入IT0=1指令。
28.MCS-51单片机系列有5个中断源。
上电复位时同级中断的优先级别最高的是外部中断0,最低的是串行口中断。
29.已知:
TCON=0x38,SCON=0x02,则可以推断出有哪些中断源请求中断?
1.外部中断1、定时器0、串行口。
30.五个中断源处于,同一优先级,当有中断申请信号时,CPU最先响应外部中断0,最后响应串行口中断。
31.设定T1工作在定时方式,模式0,T0工作在计数方式,模式1,则TMOD的数值为0x50。
32.设定T0工作在定时方式,模式1,T1工作在计数方式,模式2,则TMOD的数值为0x61。
33.当Fosc=12MHz,T1工作在模式0时,最大可定时8192×1us、,工作在模式1时,最大可定时65536×1us。
34.当Fosc=12MHz,T1工作在模式1时,定时50ms,则定时器的初值为3CB0H。
35.内部定时/计数器作为定时器时,计数脉冲由振荡器/12产生,作为计数器时,计数脉冲有外部产生。
36.MCS-51系列单片机8031内部有2个16位的定时器/计数器,可以被设定的工作模式有4种。
37.外部中断请求信号有边沿触发和低电平触发两种方式。
38.已知:
TMOD=0x16则,可以推断出定时/计数器T0的工作方式是__2___,功能是(定时/计数)__计数____;定时/计数器T1的工作方式是___1___,功能是(定时/计数)___定时_____;
39.单片机定时器/计数器有四种工作方式,其中方式0为13位、方式1为16位。
40.已知MCS-51单片机系统是拥12MHZ的外部晶体振荡器,当定时器工作在方式2时,要求每记满250us便生产一次定时器溢出,请写出初值计算公式X=28-250=6和要预置的初始值0x06。
41.单片机串口有两条独立的数据线:
发送端TXD和接收端RXD。
42.单片机串口将P3.1引脚作为发送端TXD,将P3.0引脚作为接收端RXD。
43.在单片机串口通信时,若每帧字符由10位(8位+停止位+起始位)组成,串行口每秒传送1200帧字符,则波特率为_12000_bps。
44.在异步通信中若每帧字符由11位(8位+停止位+起始位+校验位)组成,串行口每秒传送250个字符,则对应的波特率为___2750_bps。
45.A/D转换器的作用是将模拟量转为数字量;D/A转换器的作用是将数字量转为模拟量。
46.DS18B20是单总线的集成智能温度传感器,它在生产时都被刻录了一个64位的二进制序列号,其中8位是器件的家族代码,表示产品的分类;接下来的48位是每个器件唯一的ID号,最后8位是CRC校验位。
47.DS18B20是单总线的集成智能温度传感器,它在生产时都被刻录了一个64位的二进制序列号,其中8位是器件的家族代码,表示产品的分类;接下来的48位是每个器件唯一的ID号,还有8位是CRC校验位。
48.单总线通常外接一个4.7K的上拉电阻,确保总线在闲置状态为高电平。
49.单总线网络的总线长度可达200米。
50.DS18B20的温度分布率有:
0.5℃、0.25℃、0.125℃和0.0625℃,其缺省状态是0.0625℃。
51.当要扩展外部数据存储器时,地址总线低8位和高8位分别由P0口和P2口输出,8位数据总线由P0口输入或输出。
52.8051外接数据存储的读选通信号是RD,写选通信号是WR。
53.8255可编程芯片通常作为__扩展并行I/O口__________使用,8255扩展I/O口时,可提供扩展__3__个I/O口。
54.8255A有3个8位并行I/O口分别是A口,B口,C口。
55.8255的控制寄存器是8位的寄存器,如果让8255工作在方式0,A口做输出,B口做输入,C口的PC7~PC4做输入,PC3~PC0做输出,则控制字的内容为0x8A。
56.8255的控制字的地址为8006H,其中8255的A1和A0由分别由两位地址线A2和A1控制,则8255的PA口地址为8000H,PB口地址为8002H,PC口地址为8004H。
三、画出硬件图、编写程序、阅读分析程序
1.最小系统图,按键复位、上电复位的电路分析
采用下图所示元器件,画出单片机的最小电路,含晶振电路、按键和上电复位电路。
答:
2.任意流水灯的电路图、程序设计
#include
voiddelay(unsignedcharx);
voidmain()
{
uchari;
uchardisplay[]={0xe7,0xdb,0xbd,0x7e};
while
(1){
for(i=0;i<4;i++)
{
P3=display[i];
delay(250);delay(250);
}
3.8联数码管循环显示的连接图、程序设计
下图中有8个共阴数码管、单片机、138译码器、排阻等器件,画出P0口对其段控,P2口通过138译码器对其位控的电路连线图,并编写按序循环显示012…8,9A…EF的程序。
答案:
#include
voiddelay(unsignedcharx);
voidmain()
{
unsignedcharcnt,tmp=(P2&0xf0)|0x8;//cnt用于选择段控数码;tmp用于位控,实现8个数码管循环显示,P2.34567高
unsignedcharled_table[16]={0x3f,0x6,0x5b,0x4f,0x66,0x6d,0x7d,0x7,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};//0-F共16个数,码表,用于段控
for(cnt=0;cnt<16;cnt++)
{
P2=tmp++;//选择显示数码管
if((tmp&0x0f)==0x0)tmp=(P2&0xf0)|0x8;//一个循环结束,再循环
P0=led_table[cnt];//显示数据
delay(250);delay(250);//延时约0.5s
}
}
请编写完整程序,在第2个数码管上,依次显示0,1,……,F。
答案:
#include
voiddelay(unsignedcharx);
voidmain()
{
unsignedcharcnt,tmp=(P2&0xf0)|0x9;
unsignedcharled_table[16]={0x3f,0x6,0x5b,0x4f,0x66,0x6d,0x7d,0x7,0x7f,
0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
for(cnt=0;cnt<16;cnt++)
{
P2=tmp;
P0=led_table[cnt];
delay(250);delay(250);
}
}
voiddelay(unsignedcharx)
{unsignedchark;
while(x--)
for(k=0;k<125;k++){}
}
4.4*4矩阵键盘的程序
图中有16个按键,下列程序实现了按键值的获取,请阅读并填写注释。
/*************获取按键值,一次按键处理一次*****************/
//键盘从左到右从上到下的键值依次为:
//0,1,2,3
//4,5,6,7
//8,9,10,11
//12,13,14,15
#include
#include
#defineucharunsignedchar
ucharkeyscan(void)
{
ucharscode,rcode,keycode,keycode_v;
P2=P2&0xf7;//关闭所有数码管,第4个管脚控制138不使能,
P1=0x0f;//使P1高4位为低电平,低4位为高电平
keycode=0;//无键按下时,键值为0,建立无效标志
if((P1&0x0f)!
=0x0f)//获取P1值,判断有没有按键
{
delay(10);//延时10ms消抖
P1=0x0f;
if((P1&0x0f)!
=0x0f)
{
sc