单片机原理及应用习题答案打印2副本.docVIP

  • 51
  • 0
  • 约5.69千字
  • 约 5页
  • 2020-01-20 发布于江苏
  • 举报

单片机原理及应用习题答案打印2副本.doc

1下列程序段的功能是什么? PUSH A PUSH B POP A POP B 答:交换A、B的内容 2已知程序执行前有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 3假定A=83H,(R0)=17H,(17H)=34H,执行以下指令: ANL A,#17H ORL 17H,A XRL A,@R0 CPL A 后,A的内容为(0CBH)。 4假定A=55H,R3=0AAH,在执行指令ANL A,R3后,A=(0),R3=(0AAH)。 5如果DPTR=507BH,SP=32H,(30H)=50H,(31H)=5FH,(32H)=3CH,则执行下列指令后: POP DPH POP DPL POP SP 答:DPH=3CH , DPL=5FH , SP=4FH 6假定,SP=60H,A=30H,B=70H,执行下列指令: PUSH A PUSH B 后,SP的内容为(62H),61H单元的内容为(30H),62H单元的内容为(70H)。 7已知程序执行前有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 8:计算下面子程序中指令的偏移量和程序执行的时间(晶振频率为 12MHz)。 MOV R3,#15 ;1个机器周期 DL1:MOV R4,#249 ;1个机器周期 DL2:MOV P1,R3 ;2个机器周期 DJNZ R4,DL2 ;2个机器周期 DJNZ R3,DL1 ;2个机器周期 RET ;2个机器周期 答:15348us 析:((2+2)×249+4)×15+1+2=15003us 9、假设外部数据存储器2000H单元的内容为80H,执行下列指令后: MOV P2,#20H MOV R0,#00H MOVX A,@R0 累加器A中的内容为(80H)。 10:试编写1个程序,将内部RAM中45H单元的高4位清0,低4位置1。 答:MOV A, 45H ANL A, #0FH ORL A, #0FH MOV 45H, A 11:编写出外部中断1为跳沿触发的中断初始化程序。 答:SETB IT1 SETB EX1 SETB EA 12、编写程序,将外部数据存储器中的4000H—40FFH单元全部清零。 解: ORG 0000H MAIN:MOV A,#0 ;送预置数给A MOV R0,#0FFH ;设置循环次数 MOV DPTR,#4000H;设置数据指针的初值 LOOP:MOVX @DPTR,A ;当前单元清零 INC DPTR ;指向下一个单元 DJNZ R0,LOOP ;是否结束 END 1、将30H单元内的两位BCD码拆开并转换成ASCII码,存入RAM两个单元中。程序流程如图,参考程序如下: ORG 2000H MOV A,30H ;取值 ANL A,#0FH ;取低4位 ADD A,#30H ;转换成ASCII码 MOV 32H,A ;保存结果 MOV A,30H ;取值 SWAP A ;高4位与低4位互换 ANL A,#0FH ;取低4位(原来的高4位) ADD A,#30H ;转换成ASCII码 MOV 31H,A ;保存结果 SJMP $ END 2、根据图的电路,编写在6个LED显示器上轮流显示“1,2,3,4,5,

文档评论(0)

1亿VIP精品文档

相关文档