单片机原理复习题答案修正版.docx
《单片机原理复习题答案修正版.docx》由会员分享,可在线阅读,更多相关《单片机原理复习题答案修正版.docx(17页珍藏版)》请在冰豆网上搜索。
单片机原理复习题答案修正版
单片微机原理与接口技术(C51)复习题
(说明:
绿色为改动过的答案,黑色和蓝色为原答案)
一、选择题:
1、MCS-51系列的单片机中片内RAM的字节大小可能的是(C)
A、128MB、128KC、128D、64
2、C51语言提供的合法的数据类型关键字是(A)。
A、sfrB、BITC、CharD、integerr
3、片内RAM的位寻址区,位于地址(B)处。
A、00H~1FHB、20H~2FHC、30H~7FHD、80H~FFH
4、间接寻址片内数据存储区(256字节),所用的存储类型是(C)
A、dataB、bdataC、idataD、xdata
5、MCS-51单片机上电复位的信号是(D)
A、下降沿B、上升沿C、低电平D、高电平
6、可以将P1口的低4位全部置高电平的表达式是(B)
A、P1&=0x0fB、P1|=0x0fC、P1^=0x0fD、P1=~P1
7、一般单片机C51程序中,为了使程序执行的效率最高,函数参数传递时,函数参数的个数不能够超过(C)
A、1B、2C、3D、4
8、需要扩展一片外部RAM,大小32K字节,需要的地址线是(A)
A、15B、14C、13D、12
9、如果将中断优先级寄存器IP中,将IP设置为0x0A,则优先级最高的是(D)
A、外部中断1B、外部中断0
C、定时/计数器1D、定时/计数器0
10、单片机C51中用关键字(C)来改变寄存器组
A、interruptB、unsignedC、usingD、reentrant
11、存储32×32点阵的一个汉字信息,需要的字节数为( D)
A、16B、 32 C、 64D、 128
12、8255A是可编程的并行输入/输出接口芯片,作为基本输入输出方式,其方式是( A )
A、方式0B、方式1C、方式2D、方式3
13、8255A是可编程的并行输入/输出接口芯片,内部有( B )个8位的并行口。
A、2个 B、3个 C、4个 D、5个
14、设MCS-51单片机晶振频率为12MHz,定时器作定时器使用时,其最高的输入计数频率应为( B )
A、2MHzB、1MHzC、500kHzD、250kHz
15、当MCS-51单片机接有外部存储器,P2口可作为( D )。
A、数据输入口; B、数据的输出口;
C、准双向输入/输出口; D、输出高8位地址
16、使用宏来访问绝对地址时,一般需包含的库文件是( B )
A、reg51.h B、absacc.h C、intrins.h D、startup.h
17、单片机的定时器/计数器工作方式1是( D )。
A、8位计数器结构;B、2个8位计数器结构;
C、13位计数结构;D、16位计数结构
18、执行#definePA8255 XBYTE[0x3FFC],PA8255=Ox7e 后存储单元Ox3FFC的值是( A )
A、Ox7e B、8255H C、未定 D、7e
19、具有模数转换功能的芯片是( A )
A、ADC0809 B、DAC0832 C、MAX813 D、PCF8563
20、若MCS-51单片机使用晶振频率为6MHz时,其机器周期是( A )。
A、2μs B、4μs C、8μs D、1ms
21、MCS-5l单片机的堆栈区是设置在( C )中。
A、片内ROM区 B、片外ROM区 C、片内RAM区 D、片外RAM区
22、下列计算机语言中,CPU能直接识别的是( D )。
A、自然语言;B、高级语言; C、汇编语言;D、机器语言
23、使用_nop_()函数时,必须包含的库文件是(C)
A、reg52.hB、absacc.hC、intrins.hD、stdio.h
24、ADC0809的启动转换的信号是(D)
A、ALEB、EOCC、CLOCKD、START
25、串行口每一次传送( A)字符。
A、1个B、1串C、1波特D、1帧
26、在串行口工作于移位寄存器方式时,其接收由( C)来启动。
A、REN B、RI C、REN和RI D、TR
27、8031复位后,PC与SP的值为( B )
A、0000H,00H; B、0000H,07H;C、0003H,07H;D、0800H,00H
28、单片机应用程序一般存放在( B )
A、RAM; B、ROM; C、寄存器; D、CPU
29、已知某数的BCD码为0111010101000010则其表示的十进制数值为(B)
A、7542HB、7542C、75.42HD、75.42
30、若单片机的振荡频率为6MHz,设定时器工作在方式1需要定时1ms,则定时器初值应为(C)。
A、500B、1000C、216-500D、216-1000
31、MCS-51单片机在同一优先级的中断源同时申请中断时,CPU首先响应(A)。
A、外部中断0B、外部中断1
C、定时器0中断D、定时器1中断
32、MCS-51单片机的外部中断1的中断请求标志是(D)。
A、ET1B、TF1C、IT1D、IE1
33、10101.101B转换成十进制数是( D )。
(A)46.625(B)23.625(C)23.62(D)21.625
34、存储器的地址范围是0000H~0FFFH,它的容量为(D)。
(A)1KB(B)2KB(C)3KB(D)4KB
35、3D.0AH转换成二进制数是(A)。
(A)111101.0000101B(B)111100.0000101B
(C)111101.101B(D)111100.101B
36、73.5转换成十六进制数是(B)。
(A)94.8H(B)49.8H(C)111H(D)49H
37、8051单片机内有(B)个16位的定时/计数器,每个定时/计数器都有()种工作方式。
(A)4,5(B)2,4(C)5,2(D)2,3
38、若某存储器芯片地址线为12根,那么它的存储容量为(C)
A.1KBB.2KBC.4KBD.8KB
39、PSW=18H时,则当前工作寄存器是(D)
A.0组B.1组C.2组D.3组
40、控制串行口工作方式的寄存器是(C)
A.TCONB.PCONC.SCOND.TMOD
41、十进制29的二进制表示为原码(C)
A11100010B10101111C00011101D00001111
42、用MCS-51用串行扩展并行I/O口时,串行接口工作方式选择(A)
A、方式0B、方式1C、方式2D、方式3
43、MCS-51外扩ROM,RAM和I/O口时,它的数据总线是(A)
A、P0B、P1C、P2D、P3
44、-49D的二进制补码为.(11001111)
A11001111B11101101C0001000D11101100
45、MCS—51单片机外部有40个引脚,其中,地址锁存允许控制信号引脚是(A)
(A)ALE(B)
(C)
(D)RST
46、在工作方式0下计数器是由TH的全部8位和TL的5位组成,因此其计数范围是(C)
(A)1~8192(B)0~8191(C)0~8192(D)1~4096
47、串行通信的传送速率单位是波特,而且波特的单位是(B)
(A)字符/秒(B)位/秒(C)帧/秒(D)帧/分
48、8位二进制数,采用补码形式表示一个带符号数,它能表示的整数范围是____D___。
A、-127~+127;B、-128~+128;C、-127~+128;D、-128~+127
49、用二进制表示一个5位长的十进制数,至少需要用___A___位二进制数。
A、14;B、15;C、16;D、17
50、下列数据中有可能是八进制数的是:
A
A、764;B、238;C、396;D、789
51、已知:
带符号位二进制数X和Y的原码为[X[原=10011010B,[Y]原=11101011B,则[X+Y]补=__D______。
A、01111011B;B、10000101;C、11111011B;D、溢出
52、已知:
带符号位二进制数X和Y的补码为[X]补=11001000B,[Y]补=11101111,则[X+Y]真值=______B__。
A、-55;B、-73;C、+73;D、溢出
53、为实现微型机系统中数据总线的双向传送,必须采用__C_____来控制数据的流向。
A、寄存器;B、锁存器;C、三态门;D、传输器
54、一存储器芯片的存储容量为4K×8位,则它有__B_____根地址线。
A、11;B、12;C、13;D、14
55、CPU中程序计数器(PC)中存放的是__B______。
A、指令;B、指令地址;C、操作数;D、操作数地址
56、在微机系统中,实现模块(部件)之间相互连接的总线称为__D___。
A、外总线;B、串行总线;C、通信总线;D、系统总线
57、一台微型机具有4KB的连续存储器,其存储空间首地址为4000H,则末地址为___A____。
A、4FFFH;B、5000H;C、7FFFH;D、8000H
58、一台微型机,其存储器首地址为2000H,末址为5FFFH,存储容量为___D____KB。
A、4;B、8;C、12;D、16
59、微处理器用13条地址线寻址,其寻址范围为___D_____。
A、1KB;B、2KB;C、4KB;D、8KB
60、在CPU内部,反映程序运行状态或反映运算结果的一些特征寄存器是:
B
A、PC;B、PSW;C、A;D、SP
61、外部中断1固定对应的中断入口地址为_____C__。
A、0003H;B、000BH;C、0013H;D、001BH
62、各中断源发出的中断请求信号,都会标记在MCS-51系统中的_B_____。
A、TMOD;B、TCON/SCON;C、IE;D、IP
63、MCS-51单片机可分为两个优先级别。
各中断源的优先级别设定是利用寄存器____B____。
A、IE;B、IP;C、TCON;D、SCON
64、MCS-51单片机外扩存储器芯片时,4个I/O口中用作数据总线的是___B____。
A、P0口和P2口;B、P0口;C、P2口和P3口;D、P2口
65、计算机工作时,能写入也能读出的半导体存储器是___A_____。
A、RAM;B、ROM;C、磁盘;D、磁带
66、在串行异步通信时,传送一个具有奇偶校验位的ASCⅡ码字符,传送速率为1200波特,此时每秒传送的字符数最多为___D____个。
A、171;B、150;C、133;D、120
67、某系统拟采用的芯片为8051,采用自动重装初值的定时方式,则定时器的工作方式应采用____B____。
A、方式1;B、方式2;C、方式0;D、方式3
68、某系统采用芯片为8051,拟使用定时器/计数器0与定时器/计数器1,当TMOD的设置为50H,则两个定时器/计数器的工作方式为___B______:
A定时器/计数器0为方式0计数方式,定时器/计数器1为方式1定时方式。
B定时器/计数器0为方式0定时方式,定时器/计数器1为方式1计数方式。
C定时器/计数器0为方式1定时方式,时器/计数器1为方式0计数方式。
D定时器/计数器0为方式1计数方式,时器/计数器1为方式0定时方式。
69、同一优先级中的中断源优先权排队由中断系统的硬件确定,用户无法自行安排。
下面的同一优先级中断源排队正确的是___A____。
A、外部中断0比定时器/计数器0优先级高;
B、定时器/计数器0比外部中断0优先级高;
C、串行接口中断比外部中断1优先级高;
D、定时器/计数器1中断比串行接口中断优先级低。
70、8255多功能芯片的控制字寄存器的控制字有两种,一是方式控制字,另一个是置位、复位控制字。
下面叙述正确的是____C_____。
A、D7为1时为置位、复位控制字;
B、D7为0时为方式控制字;
C、D7为0时为置位、复位控制字;
D、以上均不对。
二、填空题
1、-32的补码为1100000B,补码11011010B代表的真值为-38D。
2、原码数BFH=191D,原码数6EH=110D。
3、MCS-51单片机上电复位时,CPU从_0000_H单元开始执行程序,SP=07H,第一个压入堆栈的数据将位于片内(片内,片外)RAM的08H单元。
4、堆栈的操作遵循先进后出的数据存储原则,针对堆栈的两种操作为PUSH_和POP。
5、MCS-51单片机PC的长度为16位;SP的长度为_8_位,数据指针DPTR的长度为16位。
6、8031由于其片内无_程序存储器,故使用时需将EA引脚接低电平;这时_P0_口作地址/数据总线,它传送地址码的低8_位,_P2_口作地址总线,传送地址码的_高8位。
7、MCS-51单片机有5个中断源。
上电复位时,同级中断的优先级另从高至低为_外部中断0、定时器/计数器0、外部中断1、定时器/计数器1和串行接口中断,若IP=00010100B,则优先级别最高者为外部中断1、最低者为定时器/计数器1。
8、MCS-51单片机8031中有2个16位的定时器/计数器,可以设定的工作方式有4种。
9、在异步通信中若每个字符由11位组成,串行口每秒传送250个字符,则对自学成才的波特率为2750bps。
10、若系统晶振频率fOSC=6MHz,则时钟周期为0.167μs,机器周期为_2_μs。
11、12根地址线可选4KB个存储单元,32KB存储单元需要_15根地址线。
12、三态缓冲器的“三态”是指_低电平态、高电平态和高阻态。
13、74LS377通常用来作简单_输出_口,而74LS244则常用来作简单_输入接口扩展。
14、一个8路的数据选择器有3个选择输入端。
15、当CPU访问由8155扩展的RAM时,8155的IO/M必须为低电平。
16、A/D转换器的作用是将模拟量转为_数字量,D/A转换器的作用则是将数字量转为模拟量。
17、若PSW=18H,则有效R0的地址为18H。
18、在定时器/计数器0的工作方式为方式3时,TH0溢出时,TF1标志将被硬件置1去请求中断。
19、欲使P1口的低四位输出0而高四位不变,应执行一条__ANLP1,#0F0H_指令。
20、设A=55H,R5=AAH,则执行ANLA,R5指令后的结果是A=00H,R5=AAH。
21、-32的补码为1100000B,补码11011010B代表的真值为-38D。
22、8031单片机因其片内无程序存储器,需将
引脚接低电平。
8031片外可直接寻址的存储空间达64KB。
23、MCS-51单片机PC的长度为16位;SP的长度为8位,DPTR的长度为16位。
当单片机上电复位时PC=0000H,SP=07_H,
24、若PSW为18H,则选取的是第3组通用寄存器。
25、8051单片机中片内RAM分为工作寄存区,位寻址区用户RAM区等三个区域。
26、每一条指令通常由操作码和操作数两部分组成。
27、MCS-51系统单片机的指令系统含有直接寻址、寄存器寻址、寄存器间接寻址、立即寻址、变址寻址、位寻址、相对寻址等寻址方式。
28、访问8051片外数据存储器单元(16位地址)的指令是_MOVX,@Ri和
MOVXA,@DPTR,它们采用的是间接寻址方式。
29、设A=55H,R1=0FH,则执行ANLA,R1指令后的结果是A=05H,
30、8051单片机中有_2个16位的定时/计数器,可以被设定的工作方式有4 种,其中方式2为8位可重装初值的定时计数器。
31、原码数CFH=207D,-100的补码=10011100H。
32、若A中数据为63H,则PSW的最低位为_0_。
33、8051有5_个中断源,2_个中断优先级,若已知IP=00010100B则中断优先级别最高者为_外部中断1,最低者为定时器/计数器1。
34、8051单片机的内部硬件结构包括:
CPU、RAM、ROM和定时器/计数器以及可编程并行I/O口、串行口、中断控制系统、时钟电路、位处理器等部件,这些部件通过内部总线 相连接。
35、通常,单片机上电复位时PC= 0000 H,SP= 07H;而工作寄存器则缺省采用第 0 组,这组寄存器的地址范围是从00至 07 H。
36、MCS-51单片机访问片外存储器时利用ALE 信号锁存来自 P0 口的低八位地址信号。
37、将8031片外程序存储器内的数据传送给A,可以采用的指令是 MOVXA,@Ri
38、若PSW为18H,则选择的是第_3组通用寄存器。
39、MCS-51单片机系列有5 个中断源,可分为2 个优先级。
上电复位时外部中断0中断源的优先级别最高。
40、当使用8031单片机时,需要扩展外部程序存储器,此时EA应为低 电平。
41、在串行通信中工作方式1是10位异步通信方式。
42、起止范围为0000H~3FFFH的存储器容量为16 KB。
43、MCS-51的堆栈只可设置在用户RAM(30H~7FH)中,堆栈寄存器sp是 8 位寄存器。
44、MCS-51单片机的P0~P3口均是准双向通用 I/O口,其中的P0口和P2口除了可以进行数据的输入、输出外,通常还用来构建系统的数据总线和地址总线。
12.RST是单片机的复位 引脚,ALE引脚是用来锁存地址的。
45、假定(SP)=40H , (39H)=30H,(40H)=60H。
执行下列指令:
POP DPH 60H
POP DPL 30H
后,DPTR的内容为0110000000110000,SP的内容是3EH。
46、单片机的复位操作是高电平(高电平/低电平),单片机复位后,堆栈指针SP的值是07H。
47、单片机程序的入口地址是0000H,外部中断1的入口地址是0013H_。
48若采用6MHz的晶体振荡器,则MCS-51单片机的振荡周期为_1/6us,机器周期为_2us_。
三、阅读和程序设计题
1、单片机晶振频率12MHz,应用定时器/计数器0方式1产生1ms的定时,并使P1.0输出周期为2ms的方波。
(此题可分为用中断方式和查询方式)。
P119-P120
(a)查询方式
#include
sbitP1_0=P1^0;
main(){
TMOD=0x01;//设置T0定时方式1(00000001B)
TR0=1;//启动T0
for(;;){
TH0=-(1000/256);//装载计数初值
TL0=-(1000%256);
do{}while(!
TF0);//查询等待TF0复位
P1_0=!
P1_0;//定时时间到P1.0反相
TF0=0;//TF0标志清0
}
}
(b)中断方式
#include
sbitP1_0=P1^0;
voidtimer0(void)interrupt1using1
{
P1_0=!
P1_0;//P1.0取反
TH0=-(1000/256);//装载计数初值
TL0=-(1000%256);
}
voidmain(void)
{
TMOD=0x01;//T0定时方式1
P1_0-0;
TH0=-(1000/256);//装载计数初值
TL0=-(1000%256);
EA=1;//开总中断
ET0=1;//开T0中断
TR0=1;//启动T0
do{}while
(1);
}
2、采用定时中断方式,实现下图跑马灯控制功能。
要求跑马灯的闪烁速率为每秒1次。
P127-P130
#defineucharunsignedchar//定义下一个方便后面使用
#include//包括一个51标准内核的头文件
bitldelay-0;//长定时溢出标志
Uchart=0;//定时溢出次数
voidmain(void){//主程序
ucharcodeledp[8]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};//跑马灯工作状态
ucharledi;//用来指示显示顺序
TOMD=0x01;//定义T0,方式1
TH0=0x3c;//T0初值,溢出20次为1s(按12MHz晶振计算)
TL0=0xb0;
TR0=1;//启动定时器
ET0=1;//打开定时器0中断
EA=1;//打开总中断
While
(1){//主程序循环
If(ldelay){//发现有时间溢出,进入处理
ldelay=0;//清除标志
P2=ledp[ledi];//读出一个值送到P2口
Ledi++;//指向下一个
If(ledi==8)ledi=0;//到了最后一个灯就换到第一个
}
}
}
//定时器0中断函数
timer0()interrupt1{
t++;
if(t==20){
t=0;
ldelay=1;//每次溢出一个标志,以便主程序处理
}
TH0=0x3c;//重置T0初值
TL0=0xb0;
}
3、编写一程序,将内部RAM中45H单元中的高4位清0,低4位置1后存回46H单元。
MOV45H,A
ANLA,#00001111B
ORLA,#00001111B
MOV46H,A
END
4、实验四LED灯和数码显示器中断控制。
#include
char
led_mod[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x58,0x5e,0x79,0x71};
sbitP0_4=P0^4;
intcount=0;
int0_key()interrupt0
{
P0_4=!
P0_4;
}
int1_key()interrupt2
{
count++;
if(coun