单片机复习题库 -

更新时间:2023-12-02 11:09:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

《单片机原理及应用》期终考试的复习题库

1、单片机与普通计算机的不同之处在于其将(CPU )(储存器 )和(I/O口 )三部分集成于一块芯片上。

2、8051与8751的区别是:(C )

A、内部数据存储但也数目的不同 B、内部数据存储器的类型不同 C、内部程序存储器的类型不同 D、内部的寄存器的数目不同 3、在MCS-51单片机中,如果采用6MHz晶振频率,一个机器周期为2u 4、内部RAM中,位地址为30H的位,该位所在字节的字节地址为26H 5、若A中的内容为63H,那么,P标志位的值为0。

分析:P为偶校验位,因为A中1的个数为偶数,所以P=0。 6、判断下列说法是否正确:

A、8031的CPU是由RAM和EPROM所组成。错

B、区分片外程序存储器和片外数据存储器的最可靠的方法是看其位于地址范围的低端还是高端。错

C、在MCS-51中,为使准双向的I/O口工作在输入方式,必须保证它被事先预置为1。 对 D、PC可以看成使程序存储器的地址指针。对

7、8031单片机复位后,R4所对应的存储单元的地址为(04H ),因上电时PSW=(00F )。这时当前的工作寄存器区是(0 )组工作寄存器区。 8、判断以下有关PC和DPTR的结论正确的是(ABCD)

A、DPTR是可以访问的,而PC不能访问。 B、它们都是16位的存储器 C、它们都有加1的功能。 D、DPTR可以分为两个8位的寄存器使用,但PC不能。 9、使用8031芯片时,需将/EA引脚接( 低)电平,因为其片内无(程序 )存储器。 10、片内RAM低128个单元划分为哪3个主要部分?各部分的主要功能是什么? 答:工作寄存器区、位寻址区和通用RAM区(或用户RAM 区)或(数据缓冲区) 11、判断下列说法是否正确

A、 程序计数器PC不能为用户编程时直接使用,因为它没有地址。对

B、 内部RAM的位寻址区,只能供位寻址使用,而不能供字节寻址使用。错

C、 8031共有21个特殊功能寄存器,它们的位都是可以用软件设置的,因此,是可以进行位寻址的。错

12、PC的值是、当前正在执行指令的下一条指令的地址

13、通过堆栈操作实现子程序调用,首先就要把(PC )的内容入栈,以进行断点保护 。调用返回时,再进行出栈保护,把保护的断点送回到(PC )。

14、MCS-51单片机程序存储器的寻址范围是由程序计数器PC的位数所决定的 ,因为MCS-51的PC是16位的,因此其寻址的范围为(64 )KB。 15、当MCS-51单片机运行出错或程序陷入死循环时,如何来摆脱困境? 答:软件陷阱、复位

16、判断下列说法正确的是(B)

A、 PC是1个不可寻址的特殊功能寄存器。错 B、 单片机的主频越高,其运算速度越快。对

C、 在MCS-51单片机中,1个机器周期等于1us。错

D、 特殊功能寄存器SP内装的是栈顶首地址单元的内容。错

17、如果手中仅有一台示波器,可通过观察哪个引脚的状态,来大致判断MCS-51单片机

正在工作? ALE

分析:因为单片机正常工作时,ALE脚输出时钟频率为振荡周期的1/6。 18、判断下列指令的正误:

1)MOV 28H,@R2 2)DEC DPTR 3)INC DPTR 4)CLR R0错、错、对、错

5)CPL R5 6)MOV R0,R1 7)PUSH DPTR 8)MOV F0,C错、错、错、对

9)MOV F0,ACC.3 10)MOVX A,@R1 11)MOV C,30H 12)RLC R0错、对、对、错

19、判断下列说法不正确的是(C)

A、 立即寻址方式是被操作的数据本身在指令中,而不是它的地址在指令中。对 B、 指令周期是执行一条指令的时间。对

C、 指令中直接给出的操作数称为直接寻址。错

20、在基址加变址寻址方式中,以(累加器A )作变址寄存器,以( DPTR)或( PC)作基址寄存器。

21、指令格式是由(操作码 )和(操作数 )所组成,也可能仅由(操作码 )组成。 22、假定累加器A中的内容为30H,执行指令

1000H:MOVC A,@A+PC 后,把程序存储器(1031H )单元的内容送入累加器A中。 23、在MCS-51中,PC和DPTR都用于提供地址,但PC是为访问(程序 )存储器提供地址,而DPTR是为访问(数据 )存储器提供地址。

24、在寄存器间接寻址方式中,其“间接”体现在(指令中寄存器的内容不是操作数,而是操作数的(地址 ))。

25、下列程序段的功能是什么?交换A、B的内容 PUSH A PUSH B POP A POP B

26、已知程序执行前有A=02H,SP=52H,(51H)=FFH,(52H)=FFH。下述程序执行后: POP DPH POP DPL

MOV DPTR,#4000H RL A MOV B,A

MOVC A,@A+DPTR PUSH A MOV A,B INC A MOVC A,@A+DPTR PUSH A RET

ORG 4000H

DB 10H,80H,30H,50H,30H,50H 请问:A=(50H ),SP=(50H ),(51H)=(30H ),(52H)=(50H ),PC=(5030H )。 27、假定A=83H,(R0)=17H,(17H)=34H,执行以下指令:

ANL A,#17H ORL 17H,A XRL A,@R0 CPL A 后,A的内容为(0CBH )。 28、假定A=55H,R3=0AAH,在执行指令ANL A,R3后,A=(0 ),R3=( 0AAH)。 29、如果DPTR=507BH,SP=32H,(30H)=50H,(31H)=5FH,(32H)=3CH,则执行下列指令后:

POP DPH POP DPL POP SP

则:DPH=(3CH ),DPL=(5FH ),SP=(4FH ) 30、假定,SP=60H,A=30H,B=70H,执行下列指令: PUSH A

PUSH B 后,SP的内容为(62H),61H单元的内容为(30H),62H单元的内容为(70H)。 31、试编写1个程序,将内部RAM中45H单元的高4位清0,低4位置1。 答:MOV A, 45H

ANL A, #0FH ORL A, #0FH MOV 45H, A

32、已知程序执行前有A=02H,SP=42H,(41H)=FFH,(42H)=FFH。下述程序执行后: POP DPH POP DPL

MOV DPTR,#3000H RL A

MOV B,A

MOVC A,@A+DPTR PUSH A MOV A,B INC A

MOVC A,@A+DPTR PUSH A RET

ORG 3000H

DB 10H,80H,30H,80H,50H,80H 请问:A=(80H),SP=(40H),(51H)=(50H),(52H)=(80H),PC=(8050H)。 33、计算下面子程序中指令的偏移量和程序执行的时间(晶振频率为 12MHz)。 MOV R3,#15H ;1个机器周期 DL1:MOV R4,#255 ;1个机器周期 DL2:MOV P1,R3 ;2个机器周期 DJNZ R4,DL2 ;2个机器周期 DJNZ R3,DL1 ;2个机器周期 RET ;2个机器周期 答:15348us 分析:((2+2)×255+1+2)×15+1+2=15348us 34、假定A=83H,(R0)=17H,(17H)=34H,执行以下指令: ANL A,#17H ORL 17H,A XRL A,@R0

CPL A 后,A的内容为(0CBH )。

35、试编写程序,查找在内部RAM的30H~50H单元中是否有0AAH这一数据。若有,则将51H单元置为“01H”;若未找到,则将51H单元置为“00H”。 答:START: MOV R0,#30H

MOV R2,#20H

LOOP: MOV A,@R0 CJNE A,#0AAH,NEXT MOV 51H,#01H LJMP EXIT NEXT: INC R0 DJNZ R2,LOOP

MOV 51H,#00H EXIT: RET

36、试编写程序,查找在内部RAM的20H~40H单元中出现“00H”这一数据的次数。并将查找到的结果存入41H单元。 答:START: MOV 41H,#0

MOV R0,#20H MOV R2,#20H

LOOP: MOV A,@R0 JNZ NEXT INC 41H

NEXT: INC R0 DJNZ R2,LOOP RET

37、若SP=60H,标号LABEL所在的地址为3456H。LCALL指令的地址为2000H,执行指令如下:

2000H LCALL LABEL 后,堆栈指针SP和堆栈内容发生了什么变化?PC的值等于什么?如果将指令LCALL 直接换成ACALL是否可以?如果换成ACALL指令,可调用的地址范围是什么?

答:1)SP=SP+1=61H (61H)=PC的低字节=03H SP=SP+1=62H (62H)=PC的高字节=20H

2)PC=3456H 3)可以

4)2KB=2048 Byte

38、外部中断1所对应的中断入口地址为(0013H )H。 39、下列说法错误的是:(ABC)

A、 各中断发出的中断请求信号,都会标记在MCS-51系统的IE寄存器中。 B、 各中断发出的中断请求信号,都会标记在MCS-51系统的TMOD寄存器中。 C、 各中断发出的中断请求信号,都会标记在MCS-51系统的IP寄存器中。 D、 各中断发出的中断请求信号,都会标记在MCS-51系统的TCON与SCON寄存器中。 40、中断查询确认后,在下列各种8031单片机运行情况中,能立即进行响应的是:( D ) A、 当前正在执行高优先级中断处理 B、 当前正在执行RETI指令

C、 当前指令是DIV指令,且正处于取指令的机器周期 D、 当前指令是MOV A,R3 41、8031单片机响应中断后,产生长调用指令LCALL,执行该指令的过程包括:首先把(PC)的内容压入堆栈,以进行断点保护,然后把长调用指令的16位地址送(PC),使程序执行转向(程序存储器 ) 中的中断地址区。

42、编写出外部中断1为跳沿触发的中断初始化程序。 答:SETB IT1

SETB EX1 SETB EA

43、在MCS-51中,需要外加电路实现中断撤除的是:( D ) A、定时中断 B、脉冲方式的外部中断 C、外部串行中断 D、电平方式的外部中断

44、下列说法正确的是:(ACD)

A、 同一级别的中断请求按时间的先后顺序响应。

B、 同一时间同一级别的多中断请求,将形成阻塞,系统无法响应。

C、 低优先级中断请求不能中断高优先级中断请求,但是高优先级中断请求能中断低优先级中断请求。

D、 同级中断不能嵌套。

45、中断服务子程序返回指令RETI和普通子程序返回指令RET有什么区别? 答:RETI指令在返回的同时清除相应的优先级触发器,以允许下次中断

46、某系统有3个外部中断源1、2、3,当某一中断源变为低电平时,便要求CPU进行处理,它们的优先处理次序由高到低依次为3、2、1,中断处理程序的入口地址分别为1000H,1100H,1200H。试编写主程序及中断服务程序(转至相应的中断处理程序的入口即可)。 答:若仅在/INT0引脚接3个外部中断源. ORG 0000H LJMP MAIN ORG 0003H LJMP INT_EX0 ORG 0030H

MAIN: CLR IT0 ; 采用低电平有效中断 SETB EX0 ;允许外部中断0 SETB EA; 插入用户程序

WAIT: MOV PCON,#01H ;单片机进入休眠方式等待中断 NOP

LJMP WAIT ;以下为外部中断0服务子程序 INT_EX0:JNB P1.0,NEXT1 ;判断是不是1号中断 LJMP INT_IR1 ;跳转到1号中断处理程序

NEXT1: JNB P1.1,NEXT2 ;判断是不是2号中断 LJMP INT_IR2 ;跳转到2号中断处理程序

NEXT2: LJMP INT_IR3 ;跳转到3号中断处理程序 ORG 1000H

INT_IR1: ;插入相应中断处理程序 RETI ;中断返回 ORG 1100H

INT_IR2: ;插入相应中断处理程序 RETI ;中断返回 ORG 1200H

INT_IR3: ;插入相应中断处理程序 RETI ;中断返回

47、 如果采用晶振的频率为3MHz,定时器/计数器工作方式0、1、2下,其最大的定时时间为多少? 解答:因为机器周期 , 所以定时器/计数器工作方式0下,其最大定时时间为 ; 同样可以求得方式1下的最大定时时间为262.144ms;方式2下的最大定时时间为1024ms。 48、 定时/计数器用作定时器时,其计数脉冲由谁提供?定时时间与哪些因素有关? 答:定时/计数器作定时时,其计数脉冲由系统振荡器产生的内部时钟信号12分频后提供。定时时间与时钟频率和定时初值有关。

49、 定时/计数器用作定时器时,对外界计数频率有何限制?

本文来源:https://www.bwwdw.com/article/6ntt.html

Top