《单片机原理及接口技术(第2版)张毅刚》第8章习题及答案

《单片机原理及接口技术》(第2版)人民邮电出版社 第8章 AT89S51单片机外部存储器的并行扩展

思考题及习题8

1.单片机存储器的主要功能是存储 和 。 答:程序、数据。

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

MOV P2,#20H MOV R0,#00H MOVX A,@R0

答:80H。

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

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

5.在AT89S51单片机中,PC和DPTR都用于提供地址,但PC是为访问 存储器提供地址,而DPTR是为访问 存储器提供地址。 答:程序、数据。

6.11条地址线可选 个存储单元,16KB存储单元需要 条地址线。 答:2K,14。

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

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

A.看其位于地址范围的低端还是高端 B.看其离AT89S51单片机芯片的远近 C.看其芯片的型号是ROM还是RAM

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

答:D

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

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

ORG MOV MOVX SWAP ANL MOV INC MOVX ANL ORL MOVX END

0000H

DPTR,#2001H A,@DPTR A

;设置数据指针的初值 ;读取2001H的值

;屏蔽掉低四位 ;保存A

;指针指向下一个 ;读取2002H的值 ;屏蔽掉高四位 ;进行拼装 ;保存到2002H

MAIN:

A,#0F0H 30H,A DPTR

A,@DPTR A,#0FH A,30H

@DPTR,A

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

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

MAIN: LOOP:

ORG MOV MOV MOV MOVX INC DJNZ END

0000H

A,#0 R0,#0FFH DPTR,#4000H @DPTR,A DPTR R0,LOOP

;送预置数给A ;设置循环次数

;设置数据指针的初值 ;当前单元清零 ;指向下一个单元 ;是否结束

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

答:因为控制信号线的不同:

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

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

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

题图8-1

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

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

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

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

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4