单片微机原理与接口技术答案(宋跃版) 下载本文

内容发布更新时间 : 2024/5/12 11:41:27星期一 下面是文章的全部内容请认真阅读。

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

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

第 页 共 46 页

6

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 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章 思考题及习题参考答案

3.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负载。 3.2、MCS-51单片机运行出错或程序进入死循环,如何摆脱困境? 答:通过复位电路复位

第 页 共 46 页

7

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

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

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

3.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. 3.5、80C51单片机的当前工作寄存器组如何选择?

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

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

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

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

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

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

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

答:堆栈在中端过程中用来保护现场数据,复位后SP=7H,而堆栈一般设置在通用ROM区(30H-7FH),在系统初始化时候要从新设置。

第 页 共 46 页 8

3.10、内部 RAM低 128单元划分为哪 3个主要部分?说明各部分的使用特点。

答:80C51内部128B的数据RAM区,包括有工作寄存器组区、可直接位寻址区和数据缓冲区。各区域的特性如下:

(1) 00H~1FH为工作寄存器组区,共分4组,每组占用8个RAM字节单元,每个单元

作为一个工作寄存器,每组的8个单元分别定义为8个工作寄存器R0~R7。当前工作寄存器组的选择是由程序状态字PSW的RS1、RS0两位来确定。如果实际应用中并不需要使用工作寄存器或不需要使用4组工作寄存器,不使用的工作寄存器组的区域仍然可作为一般数据缓冲区使用,用直接寻址或用Ri的寄存器间接寻址来访问。

(2) 20H~2FH为可位寻址区域,这16个字节的每一位都有一个地址,编址为00H~7FH。

当然,位寻址区也可以用作字节寻址的一般数据缓冲区使用。

(3)30H~7FH为堆栈、数据缓冲区。 3.11、简述MCS-51单片机存储区的划分。

答:MCS-51单片机的存储器从物理结构上分为:片内和片外数据存储器,片内和片外程序存储器。

2)从逻辑上分别可划分为:片内统一寻址的64K程序存储器空间(0000H---FFFFH);64KB的片外数据存储器空间(0000H---FFFFH);256B的片内数据存储器空间(00H---FFH)。 12、MCS-51基本型单片机的中断入口地址各为多少。 答:外部中断0 中断入口地址 0003H 定时/计数器0 中断入口地址 000BH 外部中断1 中断入口地址 0013H 定时/计数器1 中断入口地址 001BH 串行接口 中断入口地址 0023H

3.13、什么是指令周期、机器周期和时钟周期?

答:指令周期:指令的执行时间;机器周期:CPU完成一个最简单的指令所需要的时间;时钟周期:晶振信号周期就是时钟周期。

3.14、已知一MCS51单片机系统使用6MHZ的外部晶体振荡器,计算:该单片机系统的状态周期与机器周期各为多少?

解:由于晶振为6MHz,所以机器周期为2us,因为一个机器周期由6个状态周期组成,所以状态周期1/3us

3.15、8031单片机需要外接程序存储器,实际上它还有多少条I/O线可以用?当使用外部存储器时,还剩下多少条I/O线可用?

答:8031系统必须外接程序促成器,原则上说,P0和P2口要用作数据和地址总线,所以只有P1和P3口可用作I/O口,共16条I/O线。在使用外部存储器时,除了占用P0和P2口外,还需要用P3口RD(P3.7)和WR(P3.6)两条控制线,所以这种情况下就只剩下14条I/O线可用了。

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

4.1. 寻址方式是什么?

答:寻址方式是寻找操作数或操作数地址的方式。

第 页 共 46 页

9

2. 89C51指令系统有哪几种寻址方式?

答:89C51的寻址方式有七种。即:寄存器寻址、直接寻址、寄存器间接寻址、立即寻址、基址寄存器加变址寄存器变址寻址、相对寻址和位寻址。

3、访问特殊功能寄存器SFR可以采用哪些寻址方式?

答:直接寻址和位寻址方式。

4、访问RAM单元可以采用哪些寻址方式?访问外部RAM单元有哪些指令?

答:直接寻址、寄存器间接寻址和位寻址方式。

访问外部RAM单元的指令有4条: MOVX A,@DPTR MOVX A,@Ri MOVX @DPTR,A

MOVX @Ri,A

5、访问外部程序存储器可以采用哪些寻址方式?访问外部程序存储器有哪些指令?答:立即寻址、变址寻址和相对寻址方式。

访问外部程序存储器的指令有2条 MOVC A,@A+DPTR MOVC A,@A+PC

6、试写出完成以下每种操作的指令序列。 (1)将R0的内容传送到片内RAM 20H; (2)将R1的内容传送到R0;

(3)内部RAM单元10H的内容传送到外部RAM单元1000H; (4)外部RAM单元1000H的内容传送到R5; (5)外部ROM单元1000H的内容传送到R5;

(6)外部RAM单元2000H的内容传送到外部RAM单元2001H。 答:(1)MOV 20H,R0

(2) MOV A,R1 MOV R0,A (3)MOV A,10H MOV DPTR,#1000H MOVX @DPTR,A

(4)MOV DPTR,#1000H MOVX A,@A+DPTR MOV R5,A

(5) MOV DPTR,#1000H MOV A,#00H MOVC A,@A+DPTR MOV R5,A

(6) MOV DPTR,#2000H MOVX A,@DPTR INC DPTR

第 页 共 46 页

10