单片机及微机原理课后习题答案 下载本文

A3FFH

A15 A14 A13 A12 A11 A10 A9 A8 A7A6A5A4 A3A2A1A0 地址

G1 A B C

1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 片

2:B000H · · ·

1 0 1 1 0 0 11 1 1 1 1 1 1 1 1 片2:B3FFH

A15 A14 A13 A12 A11 A10 A9 A8 A7A6A5A4 A3A2A1A0 地址

G1 A B C

1 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 片

3:B400H · · ·

1 0 1 1 0 1 11 1 1 1 1 1 1 1 1 片3:

B7FFH

所以各片地址范围为: 片1:A000H-A3FFH, 片2:B000H-B3FFH, 片3:B400H-B7FFH

2.9. 现有8K×8位RAM多片,1片3-8译码器,要构成容量为16K×8位的存储器,请用线译码、部分译码、全译码3种方式分别设计,画出连接图,并指出寻址范围。 解:

线译码法: 寻址范围:2000H~5FFFH

第 5 页 共 47 页

部分译码寻址范围:0000H~3FFFH

全译码:寻址范围:0000H~FFFFH

2.10.如何检查扩展的RAM工作是否正常?试编一个简单的RAM检查程序,要求此程序能记录有多少个RAM单元工作有错?且能记录出错的单元地址。 解:

TEST_CONST EQU 5AH TEST_RAM EQU 03H ORG 0000H

LJMP INITIAL ORG 0050H

INITIAL: MOV R0,#253 MOV R1,#3H

TEST_ALL_RAM: MOV R2,#0FFH TEST_ONE_RAM: MOV A, R2 MOV @R1,A CLR A MOV A,@R1

CJNE A,2H, ERROR_DISPLAY

第 6 页 共 47 页

DJNZ R2, TEST_ONE_RAM INC R1

DJNZ R0, TEST_ALL_RAM OK_DISPLAY:

MOV P1, #11111110B WAIT1: SJMP WAIT1 ERROR_DISPLAY: MOV A, R1 MOV P1,A WAIT2: SJMP WAIT2 END

第3章 思考题及习题参考答案

第 7 页 共 47 页

1. 80C51单片机的P0~P3口在通用I/O口时操作要注意哪些?P0~P3口不做通用I/O口时是什么功能?在使用上有何特点? P0~P3驱动能力如何?

答:(1)作为通用I/O口时,P0~P3都是准双向口,输入引脚信息时都必须先向其锁存器写“1”,作为输出口时P0口需结上拉电阻。

(2)P0可以作为地址/数据总线;P2口可以作为地址线的高8位;P3口是双功能口,每条口线还具有不同的第二功能。

(3)P0口的驱动能力为8个TTL负载,而其它口仅可驱动4个TTL负载。 2、MCS-51单片机运行出错或程序进入死循环,如何摆脱困境?

答:通过复位电路复位

3、单片机的复位(RST)操作有几种方法,复位功能的主要作用是什么?

答:单片机的复位操作方式有:1、上电复位;2、手动复位。

复位功能的主要作用是:复位时,PC初始化为0000H,使MCS-51单片机从0000H开始执行程

4、简述程序状态寄存器PSW寄存器中各位的含义。 答:程序状态字寄存器PSW,8位。其各位的意义为:

CY:进位、借位标志。有进位、借位时CY=1,否则CY=0;

AC:辅助进位、借位标志(高半字节与低半字节间的进位或借位); F0:用户标志位,由用户自己定义;

RS1、RS0:当前工作寄存器组选择位,共有四组:00、01、10、11; OV:溢出标志位。有溢出时OV=1,否则OV=0;

P:奇偶标志位。存于累加器ACC中的运算结果有奇数个1时P=1,否则P=0. 5、80C51单片机的当前工作寄存器组如何选择?

答:由特殊功能寄存器中的程序状态寄存器PSW的RS1、RS0来决定,当RS1、RS0为00时,选择0组;为01时,选择1组;为10时选择2组,为11时选择3组。 6. 80C51单片机的控制总线信号有哪些?各信号的作用如何? 答:80C51单片机的控制总线信号有以下4个,各信号的作用为:

RST/VPD: 复位信号输入引脚/备用电源输入引脚;

ALE/PROG: 地址锁存允许信号输出引脚/编程脉冲输入引脚;

EA/Vpp : 内外存储器选择引脚/片内EPROM(或FlashROM)编程电压输入引脚; PSEN:外部程序存储器选通信号输出引脚。 7、8051单片机中EA引脚的作用是什么?

答:访问内部或外部程序存储器的选择端当EA接高电平的时候程序从内部ROM开始执行,当EA为低电平的时候,从外部ROM开始执行 8、 程序计数器PC的作用是什么?

答:程序计数器PC是一个16位的计数器,他总是存放着下一个要取的指令的16位存储单元地址。用来存放下一条指令的地址用来存放下一条指令的地址的。当执行一条指令时,首先需要根据PC中存放的指令地址,将指令由内存取到指令寄存器中,此过程称为“取指令”。与此同时,PC中的地址或自动加1或由转移指针给出下一条指今的地址。此后经过分析指令,执行指令。完成第一条指令的执行,而后根据PC取出第二条指令的地址,如此循环,执行每一条指令

9、堆栈有哪些功能?堆栈指示器( SP)的作用是什么?在程序设计时,为什么要对 SP重新赋值?

第 8 页 共 47 页