- 1、本文档共17页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第二章 MCS-51单片机硬件结构
2-5. 8051单片机堆栈可以设置在什么地方?如何实现?
答:8051单片机堆栈可以设置在内部RAM中。当系统复位时,堆栈指针地址为07H,只要改变堆栈指针SP的值,使其为内部RAM中地址量,就可以灵活的将堆栈设置在内部RAM中。
2-16. 8051单片机内部数据存储器可以分为几个不同的区域?各有什么特点?
2-21. 复位后,CPU内部RAM各单元内容是否被清除?CPU使用的是哪一组工作寄存器?它们的地址是什么?如何选择确定和改变当前工作寄存器组?
答:复位并不清除CPU内部RAM单元中内容,掉电会清除内部RAM中内容。复位以后因为PSW=00H,所以选择工作寄存器0区,所占地址空间为00H-07H。工作寄存器组可以查询PSW中的RS1(PSW.4)和RS0(PSW.3)来确定,改变当前RS1和RS0的值即可改变当前工作寄存器组。
2-22. 指出复位后工作寄存器组R0-R7的物理地址,若希望快速保护当前工作寄存器组,应采取什么措施?
答:复位工作寄存器组R0-R7的物理地址为00H-07H。如希望快速保护当前工作寄存器组,可以通过改变PSW中RS1(PSW.4)和RS0(PSW.3)的当前值来完成。
第三章 MCS-51指令系统
3-6. 设系统晶振为12MHz,阅读下列程序,分析其功能,并人工汇编成机器代码。
答:因为AJMP指令必须有PC指针地址,所以本题解题时设程序开始地址为1000H。
本程序完成功能是使P1.0口输出方波:T=2*((3*250+2+2)*10+1+2+2)=15090us=15.09ms
翻译成机器语言的难点在于AJMP一句,根据AJMP指令代码可知,该指令为2个字节,高8为字节构成为“A10A9A800001”,低8位字节构成为“A7-A0”。又有设置了程序起始地址为1000H,很容易可以写出各指令的地址,AJMP的绝对转移目标地址为1002H,A10=0、A9=0、A8=0,所以机器代码为“01 02”,目标地址在2区,因为A15-A11为“00010”。
3-8. 简述下列程序段完成的功能,程序完成后SP指针应指向哪里?
3-12. 用图示法分析分析MOVC A,@A+PC指令执行过程及结果。设指令操作码在程序存储器1000H单元中,1031单元内容为3FH,A中内容为30H。
3-13. 下列指令执行后,求(A)=?PSW中Y、OV、AC为何值?
(1)当(A)=6BH
ADD
A,
#81H
(2)当(A)=6BH
ADD
A,
#8CH
(3)当(A)=6BH,CY=0,
ADDC
A,
#72H
(4)当(A)=6BH,CY=1,
ADDC
A,
#79H
(5)当(A)=6BH,CY=1,
SUBB
A,
#0F9H
(6)当(A)=6BH,CY=0,
SUBB
A,
#0FCH
(7)当(A)=6BH,CY=1,
SUBB
A,
#7AH
(8)当(A)=6BH,CY=0,
SUBB
A,
#8CH
注:对于减法,当位7和位6不同时发生借位时,OV=1,否则OV=0。在做带符号数减法时,只有当两个操作数符号位不同时,才有可能产生溢出。
(1)若一个正数减一个负数,差为负数,则一定有溢出OV=1。
(2)若一个负数减一个正数,差为正数,则一定有溢出OV=1。
3-17. 如何计算相对转移的偏移量?
答:相对偏移量是一个8位无符号编码数,范围是-128~+127。rel=目标地址-当前PC地址;当前PC地址=原PC+指令字节数。
3-24. 用布尔指令,求解逻辑方程。
(1). PSW.5=P1.3^ACC.2VB.5^P1.1
(2). PSW.5=/(P1.5^B.4VACC.7^P1.0)
(1)
ORG
0000H
LJMP
MAIN
ORG
0200H
MAIN:
MOV
C,
P1.3
ANL
C,
ACC.2
;P1.3·ACC.2
MOV
PSW.5,
C
;保存临时结果
MOV
C,
B.5
ANL
C,
P1.1
;PB.5·P1.1
ORL
C,
PSW.5
;和临时值求或
MOV
PSW.5
C
;保存结果
SJMP
$
;原地踏步
END
(2)
ORG
0000H
LJMP
MAIN
ORG
0200H
MAIN:
MOV
C,
P1.5
ANL
C,
B.4
;P1.5·B.4
MOV
PSW.5,
C
;保存临时结果
MOV
C,
ACC.7
ANL
C,
P1.0
;ACC.5·P1.0
ORL
文档评论(0)