单片机原理及应用技术课后习题答案主编牛月兰

2026/1/15 5:35:38

单片机应用技术习题解答

3-4. 假定累加器A中的内容为30H,执行指令 1000 H:MOVC

A,@A+PC

后,把程序存储器( )单元的内容送入累加器A中。

答:1031H。

3-7.下列程序段的功能是什么?

PUSH Acc PUSH B POP Acc POP B

POP AccPOP BBPUSH BPUSH AccAcc

答:A的内容与B的内容互换。

3-9.写出完成如下要求的指令,但是不能改变未涉及位的内容。 (A)把Acc.3,Acc.4, Acc.5和Acc.6清零。 (B)把累加器A的中间4位清零。 (C)把Acc.2和Acc.3置1。 答:(A)ANL A,#87H

(B)ANL A,#0C3H (C)ORL A,#0CH

;(A)∧10000111 ;(A)∧11000011 ;(A)∨00001100

3-10.已知程序执行前有(A)=02H,(SP)=52H,(51H)=FFH,(52H)=FFH,下述程序执行后,(A)( 50H )=(SP),=( 52H ),(51H)( 30H )=,(52H)=( 50H ),(PC)=( 5030H )。

POP DPHPOP DPLFFHFFH52HSP-151HSP-1(SP)=50HSPSP

POP POP

DPH DPL

;(SP)=52H,(52H)=FFH,(DPH)=FFH,(SP)=51H ;(SP)=51H,(51H)=FFH,(DPL)=FFH,(SP)=50H

;(DPTR)=4000H

; 原来(A)=02H,左移一位后(A)=04H ;(B)=04H,

;(4004H)=30H→A,(A)=30H ;(SP)=51H,(51H)=30H ; (A)=04H ; (A)=05H

50H30H52H50H(SP)+1SPMOV DPTR,#4000H RL

A

MOV B,A

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

A

PUSH AccPUSH Acc51H(SP)+1SP

MOVC A,@A+DPTR PUSH Acc RET

;(4005H)=50H→A,(A)=50H ;(52H)=(A)=50H, (SP)=52H

;(PCH)=50H, (SP)=51H, (PCL)=30H, (SP)=50H

PCHPCL50H30H52H51H50H(SP)-1(SP)-1SPSPORG 4000H DB

10H,80H,30H,50H,30H,50H

3-12:如果DPTR=507BH,SP=32H,(30H)=50H,(31H)=5FH,(32H)=3CH,

则执行下列指令后:

POP POP POP

DPH DPL SP

DPH=(3CH),DPL=(5FH ),SP=(4FH )

3-13.假定(SP)=60H, (A)=30H, (B)=70H, 则执行下列指令后,(SP)=( ), (61H)=( ), (62H)=( )。 PUSH Acc PUSH B

;(61H)=30H, (SP)=61H ;(62H)=70H, (SP)=62H

PUSH BPUSH Acc70H30H62H60H(SP)+1SP61H(SP)+1SP

答:(SP)=62H,(61H)=30H,(62H)=70H。

4-13.编写程序,实现双字节无符号数加法运算,要求(R0R1)+(R6R7)→60H和61H中。

答:参考程序如下:

ORG 0000H MOV A, R1 ADD A, R7 MOV 61H, A MOV A, R0

ADDC A, R6 MOV 60H, A SJMP $ END

4-16.若SP=60H,标号LABEL所在的地址为3456H,LCALL指令的地址为2000H,执行如下指令:

2000H LCALL LABEL

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

答:(1) 堆栈指针SP和堆栈内容变化为:

SP=SP+1=61H

SP=SP+1=62H

(61H)=PC的低字节=03H (62H)=PC的高字节=20H

(2) PC的值:PC=3456H。

(3) 不可以将指令LCALL直接换成ACALL。 (4) 可调用的地址范围是2KB,即2002H~27FFH。 5-3:编写出外部中断1为跳沿触发的中断初始化程序。

答:SETB IT1

SETB EX1 SETB EA

5-5:某系统有3个外部中断源1、2、3,当某一中断源变为低电平时,便要求CPU进行处理,它们的优先处理次序由高到低依次为3、2、1,中断处理程序的入口地址分别为1000H,1100H,1200H。试编写主程序及中断服务程序(转至相应的中断处理程序的入口即可)。

答:若仅在/INT0引脚接3个外部中断源,电路如图5-10(P115)

ORG

0000H

LJMP MAIN ORG

0003H

LJMP INT_EX0 ORG

0030H IT0

; 采用低电平有效触发中断

;允许外部中断0

MAIN: CLR

SETB EX0 SETB EA

; 插入用户程序

;单片机进入休眠方式等待中断

WAIT: MOV PCON,#01H

NOP

LJMP WAIT

;以下为外部中断0服务子程序 INT_EX0:JNB

P1.0,NEXT1

;判断是不是1号中断

LJMP INT_IR1 ;跳转到1号中断处理程序


单片机原理及应用技术课后习题答案主编牛月兰.doc 将本文的Word文档下载到电脑
搜索更多关于: 单片机原理及应用技术课后习题答案主编牛月兰 的文档
相关推荐
相关阅读
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 10

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219