< 上一个 | 内容 | 下一个 >

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


一、填空


1. 单片机存储器的主要功能是存储                      


答:程序、数据。


2.假设外部数据存储器 2000H 单元的内容为 80H,执行下列指令后累加器 A 中的内容为           

MOV P2,#20H


MOV R0,#00H


MOVX A,@R0


答:80H。

3.在存储器扩展中,无论是线选法还是译码法最终都是为扩展芯片的            端提供


控制信号。答:片选。

4.起止范围为 0000H~3FFFH 的数据存储器的容量是            KB。


答:16KB。


5.在 AT89S52 单片机中,PC 和 DPTR 都用于提供地址,但 PC 是为访问            存储器


提供地址,而 DPTR 是为访问            存储器提供地址。


答:程序、数据。


6.11 条地址线可选          个存储单元,16KB 存储单元需要            条地址线。


答:2K,14。


7.4KB RAM 存储器的首地址若为 0000H,则末地址为            H。


答:0FFF。


8.若单片机外扩 32KB 数据存储器的首地址若为 4000H,则末地址为          H。


答:BFFF


9. 设计一个以 AT89S52 单片机为核心的系统,如果不外扩程序存储器,使其内部 8KB


闪烁程序存储器有效,则其            引脚应该接           

答:EA*,+5V


10.74LS138 是具有 3 个输入的译码器芯片,其输出常作片选信号,可选中           


芯片中的任一芯片,并且只有 1 路输出为          电平,其它输出均为          电平。


答:8,低,高;二、单选

1.区分 AT89S51 单片机片外程序存储器和片外数据存储器的最可靠方法是         


A.看其位于地址范围的低端还是高端


B.看其离 AT89S51 单片机芯片的远近


C.看其芯片的型号是 ROM 还是 RAM


image image

D.看其是与RD 信号连接还是与PSEN 信号连接


答:D


2.访问片外数据存储器的寻址方式是       


A.立即寻址 B.寄存器寻址 C.寄存器间接寻址 D.直接寻址答:C

3.若要同时扩展 4 片 2KB 的 RAM 和 4 片 4KB 的 ROM,则最少需要        根地址线。


A、12 B、13 C、14 D、15

image

4.当EA =1 时,AT89S52 单片机可以扩展的外部程序存储器的最大容量为       


A. 64KB B.60KB C.58KB D.56KB


答:D


5. 若某数据存储器芯片地址线为 12 根,那么它的存储容量为       


A、1KB


答:B


三、编程


1.试编写一个程序(如将 05H 和 06H 拼为 56H),设原始数据放在片外数据区 2001H 单元和 2002H 单元中,按顺序拼装后的单字节数放入 2002H。

答:本题主要考察对外部存储器的读、写操作,只要记住正确使用 MOVX 指令就可以了。编程思路:首先读取 2001H 的值,保存在寄存器 A 中,将寄存器 A 的高四位和低四位互 换,再屏蔽掉低四位然后将寄存器 A 的值保存到 30H 中,然后再读取 2002H 的值,保存在寄存器 A 中,屏蔽掉高四位,然后将寄存器 A 的值与 30H 进行或运算,将运算后的结果保

存在 2002H 中。



ORG

0000H


MAIN:

MOV

DPTR,#2001H

;设置数据指针的初值


MOVX

A,@DPTR

;读取 2001H 的值

SWAP

A


ANL


A,#0F0H

;屏蔽掉低四位

MOV


30H,A

;保存 A

INC


DPTR

;指针指向下一个


MOVX


A,@DPTR


;读取 2002H 的值

ANL

A,#0FH

;屏蔽掉高四位

ORL

A,30H

;进行拼装


MOVX @DPTR,A ;保存到 2002H END

2.编写程序,将外部数据存储器中的 4000H~40FFH 单元全部清“0”。


答:本题主要考察对外部数据块的写操作;编程时只要注意循环次数和 MOVX 指令的使用


就可以了。



ORG

0000H


MAIN:

MOV

A,#0

;送预置数给 A


MOV

R0,#0FFH

;设置循环次数


MOV

DPTR,#4000H

;设置数据指针的初值

LOOP:

MOVX

@DPTR,A

;当前单元清零


INC

DPTR

;指向下一个单元


DJNZ

R0,LOOP

;是否结束


END



四、简答





1.在 AT89S52 单片机系统中,外接程序存储器和数据存储器共用 16 位地址线和 8 位数据线,为何不会发生冲突?


答:因为控制信号线的不同:外扩的 RAM 芯片既能读出又能写入,所以通常都有读写控制引脚,记为 OE*和 WE*。外扩 RAM 的读、写控制引脚分别与 AT89S51 的 RD*和 WR*引脚相 连。

外扩的 EPROM 在正常使用中只能读出,不能写入,故 EPROM 芯片没有写入控制引脚,只有读出引脚,记为 OE*,该引脚与 AT89S52 单片机的 PSEN*相连。

2.题图 8-1(a)所示为 AT89S51 单片机中存储器的地址空间分布图。题图 8-1(b)

image


题图 8-1


为存储器的地址译码电路,为使地址译码电路按题图 8-1(a)所示的要求进行正确寻址,要求画出:

(1)A 组跨接端子的内部正确连线图。


image

(2)B 组跨接端子的内部正确连线图。答:(1)A 组跨接端子的内部正确连线图


(2)B 组跨接端子的内部正确连线图


image


注意:答案不唯一,还有其他连接方法,也可满足题目要求。