单片微机原理系统设计与应用课后部分习题答案

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间: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:M OV 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:M OV 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 C, PSW.5 ;和临时值求或

CPL C ;求反

MOV PSW.5 C ;保存结果

SJMP $ ;原地踏步

END

注:本题要注意的是位运算有优先级概念。位运算符的优先级从高到低依次是:按位取反→左移和右移→按位和→按位异或→按位或。

第四章 MCS-51汇编语言程序设计

4-1. 若晶振为12MHz,试编制延时2ms和1s子程序。

(1)延时2ms子程序

4-7. 在内部RAM的BLOCK开始的单元有一无符号数据块,数据块长度存入LEN单元。试编程求其中的最小数并存入MINI单元。

4-12. 在内部RAM的ONE和TWO单元各存有一带符号数X和Y。试编程按下式要求运算。

4-18. 试编一查表求平方子程序SQR。

功能:用指令MOVC A,@A+PC求平方值(x<15)

入口:(A)=x

出口:(A)=x2

第五章存储器系统设计

相关文档
最新文档