1、当8051单片机上电开机后,运行的第一条指令放在( )存储器的()地址空间里。
A.数据存储器,0003H
B.程序存储器,0000H
C.寄存器, 0013H
D.外部程序存储器,000BH
答案:B
难易程度:易
答案解析:复位后寄存器的值
题型:单选题
2、有关存储器的说法,哪一个不正确( )。
A.数据存储器和程序存储器是两个独立的存储器
B.数据存储器的工作寄存器区域和位寻址区域相互独立,不重叠
C.特殊功能寄存器属于内部数据存储空间的一部分
D.内部数据存储器的位寻址区域与字节寻址区域相互独立,不重叠
答案:D
难易程度:中
答案解析:数据存储器的分区域使用
题型:单选题
3、8051单片机内部有4k字节的程序存储器,如果利用单片机的三总线外部再扩展64k字节程序存储器,那单片机的程序存储器的总容量是多少?
A.4k
B.60k
C.64k
D.68k
答案:C
难易程度:难
答案解析:内外程序存储空间同属一个地址空间,只有一套地址,16位地址只能访问64k存储空间
题型:单选题
4、如果8051需要处理外部0号中断请求,则该中断服务程序的第一条指令(中断函数入口)应位于程序存储器什么地址?
A.除0地址外的任意有效地址
B.0003H
C.0013H
D.0023H
答案:B
难易程度:易
答案解析:每种中断服务程序的入口地址都是固定的
题型:单选题
5、8051内部有128字节数据存储器,如果外部再扩展64k字节的数据存储器,那么8051数据存储器总容量多少?
A.128
B.65536
C.65664
D.65408
答案:C
难易程度:难
答案解析:内部数据存储器和外部数据存储器是两套独立的地址空间,要加起来
题型:单选题
6、8051单片机的IO口都有自己的存储器地址,请问访问IO对应的地址和访问00H到7FH范围的内部数据存储器有什么区别?(多选题)
A.访问IO口的指令与访问一般数据存储器的指令相同。
B.IO口连接引脚,但可以看做特殊的变量。
C.直接读取IO口,并不一定是上次写入的内容,具有易失性。
D.没有任何区别,完全一样。
答案:A,B,C
难易程度:难
答案解析:区分IO口与一般内部数据空间
题型:多选题
7、下面哪个标志位是8051程序状态字中没有的?
A.C标志,可以反应加减的进借位情况。
B.O标志,反应补码运算是否溢出。
C.P标志,反应累加器A中有奇数个1还是偶数个1。
D.Z标志,反应运算结果是否等于0。
答案:D
难易程度:易
答案解析:看PPT
题型:单选题
8、下面有关寄存器的说法哪些是不正确的?(多选)
A.8051的运算字长是8位,所以所有的寄存器都是8位寄存器。
B.16位寄存器DPTR是由DPH和DPL两个8位寄存器组成。
C.程序指针寄存器PC为16位寄存器,是因为程序存储器地址是16位。
D.工作寄存器R0-R7一共有8个,所以占用8个数据存储器空间。
答案:A,D
难易程度:中
答案解析:寄存器位宽有16位的,工作寄存器共占用32个地址空间
题型:多选题
9、51单片机运行最快的指令被称为单周期指令,请问单周期指令运行耗时多少个系统时钟周期?
A.1
B.2
C.6
D.12
答案:D
难易程度:易
答案解析:单周期指令就是指耗时一个机器周期,一个机器周期对应12个时钟周期
题型:单选题
10、8051复位后P0口和P1口的初始值为多少?如果用万用表测量P0.0和P1.0的电压分别为多少(P0口和P1口引脚均保持悬浮)?
A.P0=FFH,P1=FFH,P0.0约等于VCC,P1.0约等于VCC;
B.P0=00H,P1=00H,P0.0约等于GND,P1.0约等于GND;
C.P0=FFH,P1=FFH,P0.0约等于GND,P1.0约等于VCC;
D.P0=00H,P1=00H,P0.0约等于VCC,P1.0约等于GND;
答案:C
难易程度:易
答案解析:见课件PPT
题型:单选题
11、对于51单片机的四种工作状态“断电”,“掉电保持”,“冻结运行”,“正常运行”描述正确的是。(多选)
A.“断电”状态下单片机无功耗,所有变量丢失,引脚无电压输出。
B.“掉电保持”状态下单片机功耗很小,CPU停止运行,引脚维持输出,变量保持不变,只能复位唤醒。
C.“冻结运行”状态下单片机功耗降低,引脚维持输出,变量保持不变,可以通过中断唤醒。
D.“正常运行”状态下功耗最大,如果正常运行状态下,单片机程序只是反复查询未变状态或者仅仅调用延时程序,未做任何处理,是一种无效的能量浪费现象。
答案:A,B,C,D
难易程度:中
答案解析:通过降低无效的能量消耗来提高能效比
题型:多选题
12、下面哪个图是8051单片机正确的上电复位电路?
A.从左往右第1图
B.从左往右第2图
C.从左往右第3图
D.从左往右第4图
答案:B
难易程度:易
答案解析:见课件资料
题型:单选题
1、8051复位后默认使用第0组工作寄存器,请问指令“MOV R7,#20H”和“MOV 07H, #20H”的功能是否相同( ?);若把RS1,RS0改为01B,则R7对应的地址=( )
A.相同,0FH
B.不同,07H
C.相同,17H
D.不同,1FH
答案:A
难易程度:中
答案解析:工作寄存器位于内部数据存储器
题型:单选题
2、若把SP设置为40H,则8051的堆栈空间为();
A.40H-4FH
B.40H-FFH
C.41H-7FH
D.41H-4FH
答案:C
难易程度:中
答案解析:入栈是先加1在传数。
题型:单选题
3、以下是用C51语言定义的3个变量
unsigned char data var1 at 0x10;
unsigned char xdata var2 at 0x10;
unsigned char code var3 at 0x10;
请问var1,var2,var3都定义在地址“0x10”,这是否意味着这3个变量实际是同一个变量?
A.是的
B.不是
答案:B
难易程度:易
答案解析:位于不同存储空间。
题型:单选题
4、以下是用C51语言定义的2个变量
unsigned char bdata var4 at 0x20;
sbit var5 = var4^0;
请问变量var4变量的存放地址“0x20”能否改成“0x40”?为什么?
A.可以,存到另一个位置不影响程序运行。
B.不可以,因为内部数据存储空间[0X40]不支持位寻址,后面的var5的定义将失败。
答案:B
难易程度:易
答案解析:位变量只能放在位寻址区域。
题型:单选题
5、以下是用C51语言定义的2个变量
unsigned char bdata var4 at 0x20;
sbit var5 = var4^4;
请问位变量var5的地址是多少?
A.0x00
B.0x04
C.0x08
D.0x10
答案:B
难易程度:易
答案解析:位地址从字节地址0x20开始分配,所以0x20的第4位的位地址是0x04。
题型:单选题
6、以下是用C51语言定义的2个变量
unsigned char bdata var4 at 0x20;
sbit var5 = var4^0;
请问向var5赋值,是否会影响var4的内容?
A:会影响
B:不影响
答案:A
难易程度:易
答案解析:var4是var5的其中一位,当然影响。
题型:单选题
7、以下C语言代码定义了支持位寻址的变量x1,x1的8个位被分别定义为flag0到flag7,请问flag0和flag7的位地址是多少?
unsigned char bdata x_byte at 0x21;
sbit flag0 = x_byte^0;
sbit flag1 = x_byte^1;
sbit flag2 = x_byte^2;
sbit flag3 = x_byte^3;
sbit flag4 = x_byte^4;
sbit flag5 = x_byte^5;
sbit flag6 = x_byte^6;
sbit flag7 = x_byte^7;
A.08H,0FH
B.00H,07H
C.08H,09H
D.10H,17H
答案:A
难易程度:易
答案解析:位地址从字节地址0x20开始分配
题型:单选题
8、下面哪条用到P1端口的指令是“读-修改-写”指令?
A.MOV P1, A
B.MOV A, P1
C.ANL P1, A;P1 = P1 & A
D.XRL A, P1;A = A XRL P1
答案:B
难易程度:易
答案解析:位地址从字节地址0x20开始分配,所以0x20的第4位的位地址是0x04。
题型:单选题
9、80C51单片机开机后,运行以下程序:
MOV A, #03H; A=03H
MOV 01H, A; [01H]=03H, R1=03H
MOV R2, #02H; [02H]=02H, R2=02H
MOV R3, #05H; [03H]=05H, R3=05H
ADD A, R1; A=A+R1,A=03+03=06H
ADD A, R2; A=A+R2, A=06H+02H=08H
ADD A, @R1; R1=03H, @R1=05H, A=08H+05H=0DH=13
问运行上述程序后,A=13,0DH,0X0D
答案:0x0d;13
难易程度:难
答案解析:注意第2句话是在给R1赋值。
题型:填空题
1
十进制数13和19用压缩BCD码表示分别为13H和19H,如果要实现“压缩BCD码=压缩BCD码+压缩BCD码”即“32=13+19,即32H=13H+19H”,应该使用下面那段程序。
(5.0分)5.0 分
A、
MOV A,13H
ADD A,19H
B、
MOV A,13H
ADD A,19H
DA
C、
MOV A,13H
ADDC A,19H
D、
MOV A,13H
SUBB A,19H
正确答案: B 我的答案:B
答案解析:
先ADD,后DA调整。
2
下面哪一条指令是位操作指令。
(5.0分)5.0 分
A、
MOV A,20H
B、
MOV C,20H
C、
ORL A,#20H
D、
RET
正确答案: B 我的答案:B
答案解析:
出现C标志,这里的MOV是位传送。
3
跳转指令有两类,一类是直接跳转,一类是条件跳转,下面哪条跳转指令是条件跳转,必须要条件满足才能跳转。
(5.0分)5.0 分
A、
JC NEXT
B、
LJMP NEXT
C、
JMP @A+DPTR
D、
SJMP NEXT
正确答案: A 我的答案:A
答案解析:
JC必须要CF=1才会跳转。
4
运行完下面的哪些指令后,A有可能发生改变。
(5.0分)5.0 分
A、
连续运行2次“CPL A”
B、
连续运行8次“RR A”
C、
连续运行2次“XOR A,#0FFH”
D、
连续运行2次“ANL A,#0FH”
正确答案: D 我的答案:D
答案解析:
A和#0fH相与,会把高4位清零。
5
下面指令中哪一条是正确读取程序存储器的指令。
(5.0分)5.0 分
A、
MOVX A,@DPTR
B、
MOVC A,2000H
C、
MOVC A,@A+DPTR
D、
MOVX A,4000H
正确答案: C 我的答案:C
答案解析:
注意MOVC必须用双指针寻址。
6
若SP=50H,执行完两条入栈指令“PUSH A, PUSH B”后,SP应该等于( )。
(5.0分)5.0 分
A、
4FH
B、
50H
C、
51H
D、
52H
正确答案: D 我的答案:D
答案解析:
每次入栈SP会加1,入栈两次后SP=52H。
7下面4条MOV指令中哪一条是语法正确的MOV指令。(5.0分)5.0 分
A、
MOV R1,R0
B、
MOV A,@R3
C、
MOV 10H,20H
D、
MOV A,@DPTR
正确答案: C 我的答案:C
答案解析:
第1条出现两个R;第2条用R3做指针;第4条用DPTR做内部书记存储器的指针,都不对。
1、
已知8051单片机晶振频率=6MHz,阅读以下程序,请回答P1.0引脚输出信号频率和占空比分别为多少?。
#include <reg51.h>
sbit output = P1^0;
unsigned char counter=0;
void timer1int (void) interrupt 3
{
if(counter==4){
output = 1;
}else{
output = 0;
}
if(++counter>=5) counter = 0;
}
void main(void)
{
TMOD=0x20;
TH1=0x9c;
TR1=1;
ET1=1;
EA=1;
while(1){;}
}
(9.0分)
A、
频率=500Hz,占空比=20%
B、
频率=1000Hz,占空比=20%
C、
频率=2000Hz,占空比=80%
D、
频率=500Hz,占空比=80%
正确答案: B 我的答案:B
2、
已知8051单片机晶振频率=12MHz,以下程序要利用工作在方式1的定时器0的中断,输出500Hz方波,请把以下程序填写完整。
#include <reg51.h>
sbit output = P1^0;
void timer0int (void) interrupt 1
{
TH0=(第1空);//重装计数值,用16进制格式0x??填空
TL0=(第2空); //重装计数值,用16进制格式0x??填空
output = ~output;
}
void main(void)
{
TMOD=0x01;
TH0=(第3空); //初始化定时器,用16进制格式0x??填空
TL0=(第4空); //初始化定时器,用16进制格式0x??填空
(第5空)=1; //启动定时计数器0
(第6空)=1; //允许timer0中断
EA=1;
while(1){;}
}
(6.0分)
正确答案:
第一空:
0xfc;0XFC;0xFC;0Xfc
第二空:
0x18;0X18
第三空:
0xfc;0XFC;0xFC;0Xfc
第四空:
0x18;0X18
第五空:
tr0;TR0
第六空:
et0;ET0
1、
51单片机的串口工作在方式1,其通讯波特率由定时计数器1的溢出率决定,已知晶振频率为12MHz,定时计数器1工作在方式2(8位自动重装方式),计数初值为204,波特率加倍为SMOD=0,请问波特率等于( )
(5.0分)
A、
300
B、
600
C、
1200
D、
2400
正确答案: B 我的答案:B
2、以下是单片机串口方式1输出的波形,请从波形中判断传输的数据是()
A、
05H
B、
C0H
C、
50H
D、
0AH
正确答案: A 我的答案:A 得分: 5.0分
3、
单片机串口接收到有效数据后,以下哪些描述是正确的()
(5.0分)
A、
接收的数据存放在SBUF寄存器中。
B、
接收标志TI会置1。
C、
标志位RI会置1。
D、
如果EA和ES都有效的话,会自动调用串口中断服务程序。
正确答案: ACD 我的答案:ACD
lcd1602相关题目
1、向LCD1602液晶模块写命令时,应该先查询LCD1602是否准备好,以下哪条命令是正确的busy flag查询命令。
A、
B、
C、
D、
正确答案: A 我的答案:A
2
DAC0832转换的分辨率主要由哪项指标决定
(5.0分)
A、
参考电压
B、
位数
C、
外接运放
D、
建立时间
正确答案: B 我的答案:B 得分: 5.0分
3
以下对LCD1602写入显示内容描述不正确的是( )
(5.0分)
A、
LCD1602使用AC寄存器指向当前操作的地址位置。
B、
单片机读写LCD1602的存储器后AC会自动+1或-1。
C、
LCD1602需要单片机反复循环写入显示值,才能保证在液晶屏上稳定显示对应字符。
D、
LCD1602除了能显示字符库自带的字符,还可以显示自定义字符。
正确答案: C 我的答案:C 得分: 5.0分
二.多选题(共2题,10.0分)
1
影响DAC0832转换精度的因素由哪些(多选题)
(5.0分)
A、
参考电压的取值、精度和稳定度
B、
电路噪声水平
C、
外接运放的偏置、线性度、和噪声等。
D、
转换位数,线性误差。
正确答案: ABCD 我的答案:ABCD 得分: 5.0分
2
LCD1602液晶模块包含哪些部件(多选题)
(5.0分)
A、
2行16列的液晶屏
B、
液晶驱动控制器
C、
背光光源
D、
能运行完备指令集的CPU
正确答案: ABC 我的答案:ABC 得分: 5.0分