单片机课件第七章
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1 1 1 1 1 1 1 1
0 0 0 0 1 1 1 1
0 0 1 1 0 0 1 1
1 1 1 1 0 1 1 1 1 1 1
1 1 1 1 1 0 1 1 1 1 1
图7-6为使用74LS139译码器的存储器扩展电路,74LS139地址线的输入端
A、B分别接P2.5、P2.6,使能端接P2.7;输出仅使用3根,Y0、Y1、Y2分
1 1 1 1 1 1 0 1 1 1 1
Y3
1 1 1 1 1 1 1 0 1 1 1
Y3
1 1 1 1 1 1 1 1 0 1 1
Y3
1 1 1 1 1 1 1 1 1 0 1
Y3
1 1 1 1 1 1 1 1 1 1 0
1 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0
地址总线上传送的是地址信号,用于数据单元(包括存储器单元或外设端口)
的选择。CPU从地址总线上发出地址信息,经地址译码器控制其中一个数据 单元与数据总线相通。 地址总线的数目决定可直接访问的存储单元数目。例如:10位地址线,可以 产生210=1024个连续地址编码,因此可以访问1024个存储单元,即通常所 说的寻址范围为1KB地址单元。AT89S51单片机存储器最多可扩展64KB, 因此地址总线共有16条地址线。 (3)控制总线CB(Control Bus) 控制总线实际上是一组控制信号线,有一些是CPU发出的,如数据读写命令 等。
高电平,否则寻址会出现错误。三片存储器芯片地址分配如表7-1所示。
表 7-1 图 7-3 中各 6264 芯片的地址空间分配 P2.7 0 1 1 P2.6 1 0 1 P2.5 1 1 0 选中芯片 3#6264 2#6264 1#6264 地址范围 6000H~7FFFH A000H~BFFFH C000H~DFFFH 存储容量 8KB 8KB 8KB
到充分利用,扩充存储容量受限。因此线选法适用于扩展存储容量较小的场
合。
所谓译码法就是使用译码器对系统的高位地址进行译码,以其译码输出作为
存储器的片选信号。这是一种最常用的存储器编址方法,能有效地利用存储
空间,适用于大容量多芯片存储器扩展。译码电路通常使用现有的译码器芯 片。如译码芯片74LS139(双2-4译码器)和74LS138(3-8译码器)等。
3)紫外线擦除可编程EPROM(Erasable Programmable ROM)
EPROM中的内容可多次修改。这种芯片的上面有一个透明窗口,紫外线照射后能擦除芯
片内的所有数据。当需要改写EPROM内容时,需先用紫外线擦除芯片的全部内容,然后再 对芯片重新编程。 4)电擦除可编程E2PROM(Electrically Erasable Programmable ROM)
单片机的程序存储器扩展使用只读存储器芯片。只读存储器简称为ROM。ROM中
的信息一但写入之后就不能随意更改,特别是不能在程序的运行过程中写入新的
内容,而只能读存储单元内容,故称之为只读存储器。根据编程方式的不同, ROM共分为以下5种:
1)掩模ROM
掩模ROM由芯片制造商在制造时写入内容,以后只能读而不能再次写入。基本
但有时片内资源不能满足系统的设计需求,就需要扩展存储器,AT89S51单 片机数据存储器和程序存储器的最大扩展空间都是64KB。为了使一个存储单 元唯一的对应一个地址,这就要求合理的使用系统提供的地址线,通过适当 的连接来达到要求,这就是编址。内存储单元已经编址,只有扩展存储器才 有编址问题。常用的编址方法有两种,即:线选法和译码法。
译码法与线选法比较,硬件电路稍复杂,需要使用译码器,但可充分利用 存储空间,全译码时还可避免地址重叠现象。译码法的另一个优点是若译码器 输出端留有剩余端线未用时,便于继续扩展存储器或 I/O 接口电路。 不论是片选法还是译码法不仅仅适用于扩展存储器 ( 包括外 RAM 和外 ROM),还可以适用于扩展 I/O 口(包括各种外围设备和接口芯片) 。
由于P0口在扩展存储器时既做地址总线的低8位,又做数据总线,为了将他
们分离出来,需要在单片机外部增加地址锁存器,以锁存低8位地址。一般
可采用74LS373。74LS373逻辑符号如图7-7所示。
74LS373 的引脚说明如下: D0~D7:数据输入端。 Q0~Q7:数据输出端。 :三态输出允许,低电平有效,高电平时输出呈高阻态。 LE:数据锁存端。 74LS373 有 8 个带三态输出的锁存器, 适用于总线结构的系统。 地址锁存信 号 LE 由单片机 ALE 控制线提供,当 ALE 为高电平时,锁存器传输数据,输出 端(Q0~Q7)的状态和输入端(D0~D7)的状态相同。ALE 下降沿时,锁存低 8 位地址。
【知识目标】
1. 掌握AT89S51单片机外部扩展时总线的形成。
2. 掌握程序存储器及数据存储器的扩展方法。 3.掌握8255A硬件接口设计及软件驱动程序设计。 【技能目标】 掌握基于Proteus的单片机扩展8255A接口电路的仿真调试。
7.1.系统扩展结构及地址分配
存储器扩展是单片机系统扩展的主要内容,因为扩展是在单片机芯片之外进
行的,因此通常把扩展的程序存储器ROM称之为外部ROM,把扩展的数据存
储器RAM称之为外部RAM。
AT89S51单片机片内集成了4KB的Flash存储器和128字节的数据存储器,
外部存储器结构采用的是哈佛结构,即程序存储器和数据存储器是分开的。
2. 总线构造
(1)数据总线
AT89S51单片机数据总线是由P0口提供的,由P0口引出8根线作为数据总线。 (2)地址总线 AT89S51单片机地址总线为16根,其中高8位由P2口提供,低8位由P0口。 P0口既作为数据总线,又作为低8位地址总线,采用分时复用技术,对地址 和数据进行分离。
AT89S51单片机系统的扩展结构如图7-1所示,单片机扩展是以单片机为核
心进行的,主要包括ROM、RAM和I/O接口电路的扩展。
1.系统总线
总线就是连接计算机各部件的一组公共信号线。AT89S51单片机使用的是并
行总线结构,按功能分为地址总线、数据总线和控制总线三组。
ቤተ መጻሕፍቲ ባይዱ(1)数据总线DB(Data Bus)
表 7-2 74LS139 真值表 输入端 使能
G
输出端
选择 B A
Y0
1 0 1 1 1
Y1
Y2
Y3
1 1 1 1 0
1 0 0 0 0
0 0 1 1
0 1 0 1
1 1 0 1 1
1 1 1 0 1
74LS138 是 3-8 译码器, 即对 3 个输入信号进行译码, 得到 8 个输出状态。 74LS138 的引脚排列如图 7-5 所示。 其中: E1 、 E2 、 E3 为使能端,用于引入控制信号。 E1 、 E2 低电平有效,
7.2程序存储器EPROM的扩展
7.3静态数据存储器RAM的扩展 7.4 AT89S51扩展并行I/O接口芯片82C55的设计 7.5案例:使用EPROM扩展AT89S51单片机程序存储器
7.1.1系统扩展结构
在构建单片机应用系统时,许多情况下只靠片内资源是不够的。为此经常需
要对单片机进行扩展,其中主要是存储器扩展和I/O接口扩展,以构成一个满 足需要功能更强的单片机应用系统。
别接3片存储器的片选端。三片存储器芯片地址分配如表7-4所示。
表 7-4 图 7-6 中各 6264 芯片的地址空间分配 P2.7 0 1 1 P2.6 1 0 1 P2.5 1 1 0 选中芯片 3#6264 2#6264 1#6264 地址范围 6000H~7FFFH A000H~BFFFH C000H~DFFFH 存储容量 8KB 8KB 8KB
2764,27128,27256,27512,其容量分别为2 KB,4 KB,8 KB, 16 KB,32 KB,64 KB。下面以2764为典型芯片进行说明。
2764的引脚如图7-8所示,引脚功能如下:
从表 7-1 中看出 3 个存储器片内地址线 A0~ Al2 都是从 0000000000000 到 1111111111111(共 13 位) ,为 8K 空间;而 P2.5、P2.6、P2.7 分别连接 3 个芯片 的片选端,也就是用来区别是哪一片存储器芯片。
连接简单,缺点是芯片的地址空间相互之间可能不连续,致使存储空间得不
(3)控制总线 AT89S51 单片机控制线有 W R 、 RD 、 P SEN 、ALE、 EA 等,分别说明如下: ① W R 、 RD 为读、写信号。用于扩展片外数据存储器及 I/O 端口的读写选 通信号, 当执行外部数据存储器操作 MOVX 指令时, 这两个信号分别自动生成。 ② EA 为片外 ROM 选通信号。 ③ P SEN 为外部 ROM 读选通信号。用于片外扩展程序存储器的读选通信 号,执行片外程序或查表指令 MOVC 时,该信号自动生成。 P SEN 与扩展的程 序存储器输出允许端相接。 ④ ALE 为地址锁存允许信号。
器是在EPROM与E2PROM基础上发展起来的,读写速度都很快,存取时间可达70ns,而且 成本却比普通的E2PROM低得多,所以目前大有取代E2PROM的趋势。
EPROM芯片是常用程序存储器芯片之一,是系列器件,以27×××命名,
其中×××代表存储器的容量,单位为Kbit即千位。常见的有2716,2732,
存储原理是:以元器件的“有/无”来表示存储的信息(“1”或“0”),可以 用二极管或晶体管作为元件。 2)可编程PROM (Programmable ROM) PROM可由用户根据自己的需要来确定ROM中的内容。常见的熔丝式PROM是 以熔丝的接通和断开来表示所存的信息(“1”或“0”)。显而易见,断开后的 熔丝是不能再接通了,因此,它是一次性写入的存储器。
数据总线用于数据传送,AT89S51单片机是8位字长,数据总线有8根,存
储单元和I/O端口等数据单元的各位由低到高分别与8根线相连。数据传输是 双向的。但某一时刻只能有一个存储单元或外设与总线信号相通,其它单元
尽管连接在数据总线上,但与数据总线的信息是隔离的。
(2)地址总线AB(Address Bus)
当P0、P2、P3口用作系统总线时,就不能再作为输入/输出接口使用,程序
中尽量不要出现对P0、P2、P3口的操作指令,以免造成总线的混乱。
3.单片机的串行扩展技术 串行扩展是通过串行接口实现的,这样可以减少芯片的封装引脚,降低成本,
简化系统结构,增加系统扩展的灵活性。在第10章会详细介绍串行扩展技术。
(1)74LS139译码器
74LS139片中共有两个2-4译码器,其引脚排列如图7-4所示。 其中:G为使能端,低电平有效。
A、B为选择端,即译码输入,控制译码输出的有效性。
Y0、Y1、Y2、Y3为译码输出信号,低电平有效。 74LS139对两个输入信号译码后得4个输出状态,其真值表如表7-2所示。
线选法是将高位地址线直接连到存储器芯片的片选端,如图7-2所示。图中
芯片6264是8K×8位存储器芯片,高位地址线P2.5、P2.6、P2.7实现片选,
均为低电平有效:低位地址线A0~A12实现片内寻址。为了不出现寻址错误, 要求在同一时刻P2.5、P2.6、P2.7中只允许有一根为低电平,另二根必须为
E2PROM也称EEPROM,是可电擦除的可编程只读存储器。E2PROM的编程原理与EPROM
相同,但擦除原理完全不同,它利用电信号擦除数据,并能对单个存储单元擦除和写入,使 用十分方便。 5)闪速存储器(Flash Memory)
E2PROM虽然具有可读又可写的特点,但是写入的速度较慢,使用起来不太方便。闪速存储
E3 高电平有效。
A、B、C 为选择端,即译码信号输入端。 Y7~Y0 为译码输出信号,低电平有效。 74LS138 的真值表如表 7-3 所示。
输入端 使能 选择
输出端
E3
0
E2
E1
C
B
A 1 1 1 0 1 0 1 0 1 0 1
Y0
1 1 1 0 1 1 1 1 1 1 1
Y1
Y2
Y3