新版精选2020年《单片机与接口技术》完整考试题库158题(含标准答案) 联系客服

发布时间 : 星期一 文章新版精选2020年《单片机与接口技术》完整考试题库158题(含标准答案)更新完毕开始阅读4b3a571e3086bceb19e8b8f67c1cfad6185fe999

(1)将程序计数器PC的内容(断点)压栈 (2)将中断入口地址装入PC,转去执行中断服务程序

137.A/D转换器转换数据的传送有几种方式

(1)定时传送方式:A/D启动后,调用延时时间大于转换时间的延时程序后即可读取。 (2)查询方式:A/D启动后,查询EOC(转换结束信号),转换一完成即可读取转换数据。

(3)中断方式:将EOC作为外中断请求信号,转换一结束,即引起中断,读取转换数据。

138.写出8051单片机P3口作第二功能时每个引脚信号的名称。 口线 P3.0 P3.1 P3.2 P3.3 P3.4 P3.5 P3.6 P3.7 第二功能信号 RXD TXD INT0 INT1 T0 T1 /WR /RD 第二功能信号名称 串行数据接收 串行数据发送 外部中断0申请 外部中断1申请 定时器/计数器0计数输入 定时器/计数器1计数输入 外部RAM写选通 外部RAM读选通

139.简述变址寻址方式并举例说明。

(1)变址寻址是以DPTR或PC作基址寄存器,累加器A作变址寄存器以两者内容相加形式的16位地址作为操作数地址。

(2)变址寻址只能对移定存储器寻址,其指令只有三条: MOVC A,@A+DPTR MOVC A,@A+PC JMP @A+DPTR

前二条为查表指令,后一条为无条件转移指令

140.简述子程序调用和执行中断服务程序的异同点。

相同点:均能中断主程序执行本程序,然后再返回断点地址继续执行主程序。

不同点:1)中断服务程序入口地址是固定的,子程序调用入口地址是用户自己设定的。 2)中断服务子程序返回指令除具有子程序返回指令所具有的全部功能之外,还有清除中断响应时被置位的优先级状态、开放较低级中断和恢复中断逻辑等功能。

3)中断服务子程序是在满足中断申请的条件下,随机发生的;而子程序调用是用户主程序事先安排好的。

四、阅读程序题

141.将外 RAM 地址从 1000H 开始的 100 个单元清零,试编程实现之。 MOV DPTR,#1000H MOV R1,#100(#64H) CLR A

LOOP: MOVX @DPTR,A INC DPTR DJNZ R1,LOOP SJMP $

142.设两个十进制数分别在内部RAM 40H单元和50H单元开始存放(低位在前),其字节长度存放在内部30H单元中。编程实现两个十进制数求和,并把求和结果存放在40H开始的单元中。 MOV R0,#40H MOV R1,#50H MOV R2,#30H _CLR C________ LOOP:MOV A,@R0 ADDC A,@R1 __DA A_______ MOV @R0,A INC R0 INC R1 DJNZ R2,LOOP RET

编程题

143.两个字符串分别存放在首地址为42H和52H的内部RAM中,字符串长度放在41H单元,请编程比较两个字符串。若相等,则把数字00H送40H单元,否则把0FFH送40H单元。

有一个字节不等,整个字符串不相等,所有字节相等,两字串才相等 MOV R0,#42H MOV R1,#52H LOOP:MOV A,@R0

CLR C ;不相等,FFH→40H SUBB A,@R1

JNZ LOOP1 ;相等时,比较下一字节 INC R0 INC R1 DJNZ 41H,LOOP

MOV 40H,#0 ;所有字符均相等,则两字串相等。 RET

LOOP1:MOV 40H,#0FFH RET

144.执行下列程序段中第一条指令后,(P1.7)=_0___, (P1.3)=_0___, (P1.2)=__0___;执行第二条指令后,(P1.5)=_____1___,(P1.4)=____1_____, (P1.3)=____1____. ANL P1,#73H ORL P1,#38H

145.已知(SP)=09H,(DPTR)=4567H,在执行下列指令后,(SP)=__0BH___,内部RAM

(0AH)=__46H___,(0BH)=__45H__ PUSH DPL PUSH DPH

146.已知片内RAM中ONE和TWO两个单元中存有两个无符号数,将两个数中的小者存入30H单元。请完成以下程序实现上述功能。 MOV A, ONE CJNE A, TWO, BIG SJMP STO BIG: JC STO MOV A, TWO STO: MOV 30H, A RET

147.已知8个无符号数之和存于R3R4,求其平均值,结果仍存于R3R4中,请编程实现(R3为高字节)。

利用移位指令作除8操作,程序如下: MOV R2,#3 LOOP:CLR C MOV A,R3

RRC A ;高字节除以2,末位移入C,高位补0 MOV R3,A ;暂存高字节 MOV A,R4

RRC A ;低字节除以2,高字节末位移入低字节高位

MOV R4,A DJNZ R2,LOOP RET

148.设R0=20H,R1=25H,(20H)=80H,(21H)=90H,(22H)=A0H,(25H)=A0H,(26H)=6FH,(27H)=76H,下列程序执行后,结果如何? CLR C MOV R2,#3H LOOP: MOV A,@R0 ADDC A,@R1 MOV @R0, A INC R0 INC R1 DJNZ R2, LOOP JNC NEXT

MOV @R0, #01H SJMP $ NEXT:DEC R0 SJMP $

答:(20)H= 20H , (21H)= 00H , (22H)= 17H, Cy= 1 , A= 17H , R0= 23H , R1= 28H

149.有如下程序段: MOV R0,#30H SETB C CLR A ADDC A,R0 MOV ﹫R0,A 执行后(30H)= 31H

150.在外 RAM 2000H 单元开始建立 0 ~ 99 ( BCD 码)的一百个数,试编制此程序。 MOV DPTR,#2000H MOV R0,#100(#64H) CLR A

LOOP:MOVX @DPTR,A INC DPTR ADD A,#01H DA A DJNZ R0,LOOP SJMP $ (RET)