第09章单片机应用系统资源扩展习题解答

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

第09章单片机应用系统资源扩展习题解答

一、填空题

1. 8051 单片机扩展I/O 口时占用片外数据存储器的地址。

2. 8051 单片机寻址外设端口时用寄存器间址寻址方式。

3. 8051 单片机PSEN 控制程序存储器读操作。

4. 8051 单片机访问片外存储器时利用ALE 信号锁存来自P0 口的低八位地址信号。

5. 12 根地址线可选4K 个存储单元,32KB存储单元需要15 根地址线。

6. 欲增加8KB× 8 位的RAM区,请问选用Intel 2114(1KB × 4 位) 需购16 片;若改用Intel 6116(2KB× 8 位) 需购 4 片,若改用Intel 6264 (1KB× 8 位)需购8 片。

7.74LS164 是串入并出转换芯片,74LS165 是并入串出转换芯片。

8.74LS138 是具有 3 个输入端的译码器芯片,其输出作为片选信号时,最多可以选中8

块芯片。

9.74LS273 通常用来作简单输出接口扩展;而74LS244 则常用来作简单输入接口扩展。

10.片选方式通常有 3 种形式:线选法、部分译码器法、全译码法

二、简答题

1.简述单片机并行扩展外部存储器时三总线连接的基本原则。

答:P0 口提供数据线,P0、P2 口提供地址线,低位用于片内选择,高位用做片选信号,

用PSEN 控制程序存储器的读操作,用RD 和WR 控制数据存储器或I/O 端口的读写。

2.什么是全译码?什么是部分译码?什么是线选法?有什么特点?

答:(1)全译码法:先将扩展芯片的地址线与单片机的地址总线从低位开始顺次相连后,

剩余的高位地址线的全部经译码后连接到各扩展芯片的片选线上。全译码法扩展芯片的地址

空间是唯一确定的,不会有地址重叠。但译码电路相对复杂。

(2)部分译码法:与全译码法类似,先将扩展芯片的地址线与单片机的地址总线从低位开

始顺次相连后,剩余的高位地址线的一部分经译码后连接到各扩展芯片的片选线上。部分译

码使存储器芯片的地址空间也有重叠,但硬件上比全译码法简单,重叠情况与线选法相比较

又有所改进。

(3)线选法:先将扩展芯片的地址线与单片机的地址总线从低位开始顺次相连后,剩余的

高位地址线的一根或几根直接连接到各扩展芯片的片选线上。线选法的优点是简单明了,不需增加额外电路。缺点是存储空间不连续,存在地址重叠现象。适用于扩展存储容量较小的

场合。

3.画出利用线选法,用 3 片2764A 扩展24K×8 位EPROM 的电路图。分析每个芯片的地址范围。

答:电路如图所示

U2 地址:C000H~DFFFH

U3 地址:A000H~BFFFH

U4 地址:6000H~7FFFH

4.采用2114 芯片在8031 片外扩展 1 KB 数据存储器,并分析地址范围。

答:电路如图所示。

地址范围:因为地址总线的高位P2.2~P2.7 均没用上,共存着2

6 =64 个重复地址区间,

每个区间的范围为1K。

0000H~03FFH ,0400H~07FFH,0800H~0BFFH,0C00H~0FFFH

,, ,, ,, ,, ,, ,, ,, ,, FC00H~FFFFH

5.采用2764 和6264 芯片在8031 片外分别扩展24 KB 程序存储器和数据存储器。

答:电路如图所示

外部ROM

U2 地址:C000H~DFFFH

U3 地址:A000H~BFFFH

U4 地址:6000H~7FFFH

外部RAM 芯片U5、U6、U7 的地址范围分别与U2、U3、U4 一致,但由于使用不同的指令访问,因此相互并无影响。

三、Proteus仿真

7. 在Proteus 下,完成9.7 节内容。

答:全自动洗衣机控制器存储器扩展Proteus 仿真

随着全自动洗衣机功能的不断丰富,需要的存储器容量也不断增加。当单片机内部存储器不够用时,就需要在外部扩展。下面介绍对全自动洗衣机控制器扩展一片AT24C02 的方法,并在Proteu 下仿真实现。

2C 总线,扩展一片AT24C02,通过两个独立中断用8051 单片机的P1.0 和P1.1 模拟I

按钮对AT24C02 进行读写控制。用一片并串转换芯片4014 扩展一个8 位数字量输入电路,

输入8 个拨码开关的状态。在P0 口扩展8 个LED 发光二极管。当读按键按下时,从4014 芯片读入8 位拨码开关的状态信息,并写入AT24C02 芯片。当写按键按下时,从AT24C02 芯片中读出刚才保存的8 位拨码开关状态信息,并送P0 口显示。电路如图9-33 所示。

图9-33 仿真电路原理图

C 语言参考程序代码如下:

#include //包含头文件,其中定义51 特殊寄存器

#define uchar unsigned char //简化无符号变量声明字

#define uint unsigned int

#define DELAY_TIME 60 //定义延时时间常数

#define TRUE 1 //定义布尔常量

#define FALSE 0

#define MY ADDR 0x08 //定义AT24C02 内部单元地址

sbit SDA=P1^0; //用P1.0 模拟I2C 总线的SDA

sbit SCL=P1^1; //用P1.1 模拟I2C 总线的SCL

sbit SL=P1^7; //4014 工作方式控制口

sbit SD=P3^0; //定义串口数据线

sbit CLK=P3^1; //定义串口时钟线

/*4014 并转串输入子程序*/

相关文档
最新文档