单片机期末复习试题.docx
《单片机期末复习试题.docx》由会员分享,可在线阅读,更多相关《单片机期末复习试题.docx(13页珍藏版)》请在冰豆网上搜索。
![单片机期末复习试题.docx](https://file1.bdocx.com/fileroot1/2023-2/8/069ad490-6653-4371-8c51-0d86d63bff9b/069ad490-6653-4371-8c51-0d86d63bff9b1.gif)
单片机期末复习试题
期末复习题
一、填空题(每空1分)
1、已知X=-54,则X的原码(用八位二进制表示)是(),反码是(),补码是()。
2、十进制数1755转换为二进制数是(),转换为十六进制数是(),74.5用BCD码表示为()。
3、指令MOVA,R0、指令INC30H和指令MOVCA,A+DPTR源操作数的寻址方式分别是()、()、()。
4、指令系统按机器周期数来分,可分为双周期指令、()指令和()指令。
5、片RAM中位寻址区的地址从()单元到()单元。
6、设(A)=8CH,(R0)=30H,(30H)=9FH,(CY)=1,当执行指令ADDCA,R0后,(A)=(),(30H)=(),(CY)=(),(OV)=(),(P)=()。
7、某一存储器芯片容量为8K×8,则该芯片有()根数据线,()根地址线。
8、若RS1=(),RS0=(),则工作寄存器R0~R7对应的地址为08H~0FH。
9、设(A)=8FH,(R0)=20H,(20H)=5CH,(CY)=1,当执行指令SUBBA,R0后,(A)=(),(R0)=(),(CY)=()。
10、ACALL、LCALL指令的调用围分别是()、()。
11、8031单片机最多可外扩()字节数据存储器。
12、位地址15H指的是片RAM地址为()单元的()位。
1.十六进制数256H转化为十进制数为,转化为二进制数为。
2.PSW中有符号数运算的溢出标志位为,如字节数据运算不溢出,则运算结果必须在-~+围。
3.[+127]原=,[+127]反=,[+127]补=。
[-37]原=,[-37]反=,[-37]补=。
4.8031单片机片(有/无)ROM,对于8031单片机系统,其引脚
=。
5.若(PSW)=18H,则R0 ~R7的字节地址围为~。
6.字节地址的末位为和的特殊功能寄存器可以位寻址,该类寄存器如。
7.指令AJMP的跳转围为,若超出此围则用指令。
8.执行指令MOV20H,#55H和指令MOVC,00H后,(CY)=,(00H)=,这里00H是(位/字节)地址。
9.若(PSW)=91H,(A)=85H,执行指令ADDCA,#0ABH后,(A)=,(CY)=,(AC)=。
10.堆栈的栈顶位置由指针指向,堆栈的操作遵循先进后出、的原则,堆栈的操作用指令和指令。
1、已知X=-32,则X的原码(用八位二进制表示)是(),反码是(),补码是()。
2、MCS—51单片机的CPU由()和()两大部分组成。
3、位地址10H指的是地址为()单元的()位。
4、指令MOVCA,A+PC源操作数的寻址方式是()。
5、若RS0=1,RS1=0,则当前选用第()组工作寄存器。
6、SP寄存器专用于存放()。
1、已知X=-32,则X的原码(用八位二进制表示)是(),反码是(),补码是()。
2、MCS—51单片机的CPU由()和()两大部分组成。
3、位地址10H指的是地址为()单元的()位。
4、指令MOVCA,A+PC源操作数的寻址方式是()。
5、若RS0=1,RS1=0,则当前选用第()组工作寄存器。
6、SP寄存器专用于存放()。
1.0456H的十进制数值为,二进制数值为。
2.[-47]原=,[-47]反=,[-47]补=。
3.345.45的BCD吗值为。
4.若(PSW)=98H,则工作寄存器R0~R7对应于部RAM的地址为~。
5.51系列单片机部RAM可位寻址的单元字节地址围为~,相应的位地址空间位地址围为~。
6.SFR中字节地址能被整除的寄存器可位寻址。
7.字节数据无符号数的运算围为~,有符号数的运算围为~,两者的运算标志为分别为CY和。
8.8031单片机片(有/无)ROM或EPROM,用8031组成控制系统的电路图中,
应接(高/低)电平。
9.若(PSW)=90H,(R0)=45H,(45H)=0A5H,(A)=56H,则执行指令
ADDCA,R0后,(A)=,(CY)=,(AC)=。
10.若(20H)=77H,执行指令MOVC,00H后,(CY)=,(00H)=,这里20H为地址,00H为地址。
11.堆栈的栈顶位置由指针指向,堆栈的操作遵循先进后出、的原则,堆栈的操作用PUSH指令和指令。
12.跳转指令AJMP的跳转围为,超过此围则用指令跳转。
二、判断题(对划“√”,错划“×”,本题共10小题,每小题1分,共10分)
1、()INCR5
2、()MOVCA,A+PC
3、()XCHR0,20H
4、()MOVXA,R3
5、()XRLA,30H
6、()MOVACC.7,C
7、()SWAPR1
8、()RL20H
9、()JCR0,F5H
10、()CJNEA,LOOP
1.MOVA,30H()2.CJNE30H,#00H,LOOP()
3.MOVC,20H()4.ADD40H,#00H()
5.PUSH20H()6.ANLA,40H()
7.MOV30H,#30H()8.MOVX30H,R0()
9.MOV20H,R0()10.CLRR3()
1、()MOV20H,R1
2、()MOVXR1,A
3、()POPACC
4、()DECR2
5、()ORLA,R2
6、()CPLA
7、()SWAPR5
8、()CLRET0
9、()0000H:
LJMP0FFFH
10、()CJNER1,#30H,50H
1、()MOV20H,R1
2、()MOVXR1,A
3、()POPACC
4、()DECR2
5、()ORLA,R2
6、()CPLA
7、()SWAPR5
8、()CLRET0
9、()0000H:
LJMP0FFFH
10、()CJNER1,#30H,50H
MOVR1,R2()MOVCA,A+DPTR()
CJNEA,#11H,LOOP()ANL30H,A()
PUSHR1()MOV20H,#20H()
DECDPTR()MOVA,#256H()
MOVXA,R1()JNZLOOP()
三、单项选择题(请在每小题的4个备选答案中,选出一个最佳答案,共5小题;每小题1分,共5分)
1、指令AJMP的跳转围为()。
A.任意围B.-128到+127C.64KBD.2KB
2、计算机能直接识别的语言是()。
A.汇编语言B.自然语言C.机器语言D.硬件和软件
3、在CPU部,反映程序运行状态或反映运算结果一些特征的寄存器是()。
A.PCB.PSWC.AD.SP
4、判断是否有进位时用PSW的()标志位。
A.CYB.OVC.PD.RS0
5、单片机复位时PC的容为()。
A.0000HB.FFFFHC.1000HD.0FFFH
四、名词解释(本题5小题,每小题3分,共15分)
1、ALU——
2、EPROM——
3、时钟周期——
4、机器周期——
5、指令周期——
6、SFR——
7、PC——
五、写出下列程序的执行结果或完成的功能(本题5小题,每小题4分,共20分)
1、MOVR0,#10H
MOVR1,#30H
MOVR7,#20H
LOOP:
MOVA,R0
MOVXR1,A
INCR0
INCR1
DJNZR7,LOOP
RET
功能:
2、已知:
(SP)=60H,(60H)=01H,(CY)=1。
分析执行指令
MOVA,#5DH
ANLA,#3CH
SUBBA,#30H
PUSHACC
后,结果:
(CY)=()、(SP)=()、(A)=()、(61H)=()。
3、MOVR0,#20H
MOVR7,#20H
CLRA
LOOP:
MOVR0,A
INCR0
INCA
DJNZR7,LOOP
RET
功能:
4、已知:
(R0)=32H,(A)=48H,(32H)=80H,(CY)=1,(40H)=4FH。
分析执行指令
MOVA,R0
ADDA,40H
MOV40H,A
XRLA,#3EH
SWAPA
后,结果:
(A)=()、(40H)=()、(CY)=()、(P)=()。
5、MOVDPTR,#2000H
MOVR6,#00H
MOVR7,#30H
LOOP:
MOVXA,DPTR
CJNEA,#0FFH,NEXT
INCR6
NEXT:
INCDPTR
DJNZR7,LOOP
RET
功能:
六、编写指令完成下述功能(本题5小题,每小题4分,共20分)
1、ROM6000H单元容送片RAM20H。
2、判别,若片RAM20H和30H的容不相等则跳转到地址NEXT处,否则顺序执行。
设目标地址在当前PC的127B与-128B围。
3、设片RAM20H单元存放一负数的原码,求其反码,并存放回原单元。
4、对片外RAM2000H单元容进行操作,保留其高4位,并将其低4位清0后放入原单元。
5、将片外RAM8000H单元的容传送到片外RAM30H单元。
七.详细分析下列程序段,写出下列程序段的执行结果或完成的功能(每题5分,共20分)。
1、ORG1000H
MOVR0,#30H
MOVR2,#10H
MOVDPTR,#8000H
LOOP:
MOVXA,DPTR
MOVR0,A
INCR0
INCDPTR
DJNZR2,LOOP
功能:
2、已知:
(SP)=60H,(20H)=3BH,(60H)=01H,(CY)=1。
分析执行指令
MOVA,#5AH
ADDCA,20H
PUSHACC
结果:
(CY)=()、(SP)=()、(61H)=()、(A)=()、(20H)=()。
3、MOVDPTR,#8000H
MOVR6,#00H
MOVR1,#20H
LOOP:
MOVXA,DPTR
CJNEA,#30H,NEXT
INCR6
NEXT:
INCDPTR
DJNZR1,LOOP
RET
功能:
4、MOVR0,#20H
MOVR1,#10H
MOVA,#0FFH
LOOP:
MOVR0,A
INCR0
DJNZR1,LOOP
RET
功能:
八.利用T1的定时器中断,使P1.2引脚产生周期为20ms的方波,已知晶振频
率f=12MHZ,试编写相应的程序。
(15分)
九.在外部RAM的8000H~80FFH单元已存放有非零字节数据,要求把这些单元的数据修改为零(本题10分)。
十.利用查表法求函数的值:
计算Y=2X2+,X为0~9中的整数。
设查表前X在30H单元,查表后结果Y存放到31H单元(本题15分)。
十一、指令分析填空(每空1分,共5分)
已知:
(SP)=60H,(60H)=01H。
分析执行指令
MOVA,#5AH
ADDA,#30H
PUSHACC
后,(A)=()、(Cy)=()、(OV)=()、(60H)=()、(61H)=()。
十二、阅读下面子程序,请说明其完成的功能(本题10分)
START:
MOVR0,#30H
MOVDPTR,#2000H
LOOP1:
MOVXA,DPTR
JZLOOP2
MOVR0,A
INCR0
INCDPTR
SJMPLOOP1
LOOP2:
RET
功能:
十三、指令分析填空(每空1分,共5分)
已知:
(SP)=60H,(60H)=01H。
分析执行指令
MOVA,#5AH
ADDA,#30H
PUSHACC
后,(A)=()、(Cy)=()、(OV)=()、(60H)=()、(61H)=()。
十四、阅读下面子程序,请说明其完成的功能(本题10分)
START:
MOVR0,#30H
MOVDPTR,#2000H
LOOP1:
MOVXA,DPTR
JZLOOP2
MOVR0,A
INCR0
INCDPTR
SJMPLOOP1
LOOP2:
RET
功能:
十五、编写一查表子程序,查出20H单元容x(0x6)的立方,并存于30H单元中。
(本题10分)
十六、编程将8031部RAM的40H~4FH单元置初值A0H~AFH。
(本题10分)
十七、利用T0定时器用查询方式,使P1.0引脚产生周期为20ms的方波,已知晶振频率f=12MHZ,试编写相应的程序。
(本题15分)
十八、用指令实现下列功能(每小题5分,共20分)。
1.外部RAM20H单元与部RAM20H单元数据交换;
2.外部RAM20H单元容送外部RAM1000H单元;
3.外部ROM3000H单元容送部RAM30H单元;
4.外部RAM2000H~20FFH单元容清零。
十九.编程统计外部RAM1000H~10FFH单元中正数的个数,并把统计的正数的个数存入部RAM30H单元,把正数存放到31H开始的单元中。
(13分)
二十.利用查表技术求函数值,计算Y=3X2,X为0~9中的整数,设X存放在30H单元,要求结果Y存放到31H单元中。
(13分)
二十一.编程把外部RAM1000H~100FH单元的容分别取反后再分别存放到部RAM30H~3FH单元中。
(共14分)
二十二.利用查表技术将累加器A中的一位BCD码转换为相应十进制数的ASCII码,结果仍放在A中。
(13分)
二十三.编程计算Y=X1×X2+X3,已知X1、X2、X3分别存放在部RAM30H开始的单元中,计算结果的高低字节分别存放到40H和41H单元中。
(共14分)
二十四、编写一查表子程序,查出20H单元容x(0x6)的立方,并存于30H单元中。
(本题10分)
二十五、编程将8031部RAM的40H~4FH单元置初值A0H~AFH。
(本题10分)
二十六、利用T0定时器用查询方式,使P1.0引脚产生周期为20ms的方波,已知晶振频率f=12MHZ,试编写相应的程序。
(本题15分)
二十七、编程题(本题2小题,共20分)
1、已知片RAM单元20H、21H、22H、23H中分别有无符号数a、b、c、d
编程求出X的值:
X=a﹡b+c*d,并将X值的低8位存入片RAM30H单元,高8位存入片RAM31H单元。
(10分)
2、利用T0的定时器中断,使P1.0引脚产生周期为80ms的方波,已知晶振频率f=12MHZ,试编写相应的程序。
(10分)