弗原創IT教育中心 第12讲单片机系统扩展 12.1程序存储器扩展 12,2数据存储器扩展 123并行IO口扩展
第12讲 单片机系统扩展 12.1 程序存储器扩展 12.2 数据存储器扩展 12.3 并行I/O口扩展
弗原創IT教育中心 121程序存储器扩展 121.1单片机程序存储器概述 单片机应用系统由硬件和软件组成,软件的载体就是硬件 中的程序存储器。对于MCS-51系列8位单片机,片内程序存储 器的类型及容量如表121所示。 表121MCS-51系列单片机片内程序存储器一览表 单片机型号 片内程序存储器 类型 容量/B 8031 无 8051 ROM 4K 8751 EPROM 4K 8951 Flash 4K
12.1 程序存储器扩展 程序存储器扩展 12.1.1 单片机程序存储器概述 单片机应用系统由硬件和软件组成,软件的载体就是硬件 中的程序存储器。对于MCS-51系列8位单片机,片内程序存储 器的类型及容量如表12.1所示。 表12.1 MCS-51系列单片机片内程序存储器一览表 单片机型号 片内程序存储器 类型 容量/B 8031 无 — 8051 ROM 4K 8751 EPROM 4K 8951 Flash 4K
弗原創IT教育中心 对于没有内部ROM的单片机或者当程序较长、片内ROM容量 不够时,用户必须在单片机外部扩展程序存储器。MCS-51单片机 片外有16条地址线,即PO口和P2口,因此最大寻址范围为64KB 0000H~ FFFFH)。 这里要注意的是,MCS-51单片机有一个管脚—EA跟程序存 储器的扩展有关。如果EA接高电平,那么片内存储器地址范围是 0000~ OFFFH(4KB),片外程序存储器地址范围是1000H FFHF(60KB)。如果EA接低电平,不使用片内程序存储器,片 外程序存储器地址范围为0000H~ FFFFH(64KB)
对于没有内部ROM的单片机或者当程序较长、片内ROM容量 不够时,用户必须在单片机外部扩展程序存储器。MCS-51单片机 片外有16条地址线,即P0口和P2口,因此最大寻址范围为64 KB (0000H~FFFFH)。 这里要注意的是,MCS-51单片机有一个管脚—— 跟程序存 储器的扩展有关。如果 接高电平,那么片内存储器地址范围是 0000H~0FFFH(4 KB),片外程序存储器地址范围是1000H~ FFFFH(60 KB)。如果 接低电平,不使用片内程序存储器,片 外程序存储器地址范围为0000H~FFFFH(64 KB)。 EA EA EA
弗原創IT教育中心 8031单片机没有片内程序存储器,因出EA管脚总是接低电平。 扩展程序存储器常用的芯片是 EPROM( Erasable Programmable Read Only memory)型(紫外线可擦除型),如 2716(2K×8)、2732(4K×8)、2764(8K×8)、27128 (16K×8)、27256(32K×8)、27512(64K×8)等。另外, 还有+5V电可擦除 EEPROM,如2816(2K×8)、2864(8K×8) 等等。如果程序总量不超过4KB,一般选用具有内部ROM的单片 机。8051内部ROM只能由厂家将程序一次性固化,不适合小批量 用户和程序调试时使用,因此选用8751、8951的用户较多。 如果程序超过4KB,用户一般不会选用8751、8951,而是直 接选用8031,利用外部扩展存储器来存放程序
8031单片机没有片内程序存储器,因此 管脚总是接低电平。 扩展程序存储器常用的芯片是EPROM(Erasable Programmable Read Only Memory)型(紫外线可擦除型), 如 2716(2K×8)、2732(4K×8)、2764(8K×8)、27128 (16K×8)、27256(32K×8)、27512(64K×8)等。另外, 还有+5 V电可擦除EEPROM,如2816(2K×8)、2864(8K×8) 等等。如果程序总量不超过4 KB,一般选用具有内部ROM的单片 机。8051内部ROM只能由厂家将程序一次性固化,不适合小批量 用户和程序调试时使用,因此选用8751、8951的用户较多。 如果程序超过4 KB,用户一般不会选用8751、8951,而是直 接选用8031,利用外部扩展存储器来存放程序。 EA
弗原創IT教育中心 121.2 EPROM程序存储器扩展实例 紫外线擦除电可编程只读存储器 EPROM是国内用得较多的 程序存储器。 EPROM芯片上有一个玻璃窗口,在紫外线照射 下,存储器中的各位信息均变1,即处于擦除状态。擦除干净的 EPROM可以通过编程器将应用程序固化到芯片中 例121在8031单片机上扩展4 KB EPROM程序存储器。 (1)选择芯片。 本例要求选用8031单片机,内部无ROM区,无论程序长短 都必须扩展程序存储器(目前较少这样使用,但扩展方法比较 典型、实用)
12.1.2 EPROM程序存储器扩展实例 紫外线擦除电可编程只读存储器EPROM是国内用得较多的 程序存储器。EPROM芯片上有一个玻璃窗口,在紫外线照射 下,存储器中的各位信息均变1,即处于擦除状态。擦除干净的 EPROM可以通过编程器将应用程序固化到芯片中。 例12.1 在8031单片机上扩展4 KB EPROM程序存储器。 (1) 选择芯片。 本例要求选用8031单片机,内部无ROM区,无论程序长短 都必须扩展程序存储器(目前较少这样使用,但扩展方法比较 典型、实用)
弗原創IT教育中心 在选择程序存储器芯片时,首先必须满足程序容量,其次在价 格合理情况下尽量选用容量大的芯片。这样做的话,使用的芯片 少,从而接线简单,芯片存储容量大,程序调整余量也大。如估计 程序总长3KB左右,最好是扩展一片4KB的 EPROM2732,而不是 选用2片2716(2KB)。 在单片机应用系统硬件设计中应注意,尽量减少芯片使用个 数,使得电路结构简单,提高可靠性,这也是8951比8031使用更加 广泛的原因之一。 (2)硬件电路图。 8031单片机扩展一片2732程序存储器电路如图12.2所示
在选择程序存储器芯片时,首先必须满足程序容量,其次 在 价 格合理情况下尽量选用容量大的芯片。这样做的话,使用的 芯 片 少,从 而 接 线 简 单,芯 片 存 储 容 量 大,程 序 调整余量也大。如估计 程序总长3 KB左右,最好是扩展一片4 KB 的EPROM 2732,而不是 选用 2 片2716 (2 KB)。 在单片机应用系统硬件设计中应注意,尽量减少芯片使用个 数,使得电路结构简单,提高可靠性,这也是8951 比8031使用更加 广泛的原因之一。 (2) 硬件电路图。 8031单片机扩展一片2732程序存储器电路如图12.2所示
£《5V GND GND 24I128 EA P2.3 24 21 VCC GNDCE A10 P2 P07 P0.6 P0.5 743 D4504124A4 3Q3 8031 PO 38 Q/52 P00|38 00 81A0 4KiA8 GND 07 06 15 13 10 ALE30 9100 PSEN OE/VPP 图122单片机扩展2732 EPROM电路
P2.0 P2.1 P2.2 P2.3 P0.0 P0.1 P0.2 P0.3 P0.4 P0.5 P0.7 P0.6 18 17 14 13 8 7 4 3 19 16 15 12 1 9 6 5 2 2 3 4 5 6 7 8 21 19 22 23 17 16 15 14 13 11 10 9 29 20 30 24 23 22 21 32 33 34 35 36 37 38 39 11 1 D7 D6 D5 D4 D3 D2 D1 D0 Q7 Q6 Q5 Q4 Q3 Q2 Q1 Q0 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 O7 O6 O5 O4 O3 O2 O1 O0 OE/VPP ALE PSEN G OE GND GND 24 12 18 VCC GNDCE EA 31 GND 8031 2732 4K¡Á8 74L S37 3 £«5 V 图12.2 单片机扩展2732 EPROM电路
弗原創IT教育中心 3)芯片说明。 ①74LS373。74LS373是带三态缓冲输出的8D锁存器,由于片 机的三总线结构中,数据线与地址线的低8位共用P0口,因此必须 用地址锁存器将地址信号和数据信号区分开。74LS373的锁存控制 端G直接与单片机的锁存控制信号ALE相连,在ALE的下降沿锁存 低8位地址 ② EPROM2732。 EPROM2732的容量为4K×8位。4K表示有 4×1024(22×210=212)个存储单元,8位表示每个单元存储数据的 宽度是8位。前者确定了地址线的位数是12位(A0~A11),后者 确定了数据线的位数是8位(O0~07)。目前,除了串行存储器之 外,一般情况下,我们使用的都是8位数据存储器。2732采用单 +5V供电,最大静态工作电流为100mA,维持电流为35mA,读出 时间最大为250ns。2732的封装形式为DP24,管脚如图12.3所示
(3) 芯片说明。 ①74LS373。74LS373是带三态缓冲输出的8D锁存器,由于片 机的三总线结构中,数据线与地址线的低8位共用P0口,因此必须 用地址锁存器将地址信号和数据信号区分开。74LS373的锁存控制 端G直接与单片机的锁存控制信号ALE相连,在ALE的下降沿锁存 低8位地址。 ②EPROM 2732。EPROM 2732的容量为4 K×8位。4 K表示有 4×1024(22×210=212)个存储单元,8位表示每个单元存储数据的 宽度是8位。前者确定了地址线的位数是12位(A0~A11),后者 确定了数据线的位数是8位(O0~O7)。目前,除了串行存储器之 外,一般情况下,我们使用的都是8位数据存储器。2732采用单一 +5 V供电,最大静态工作电流为100 mA,维持电流为35 mA,读出 时间最大为250 ns。2732的封装形式为DIP24,管脚如图12.3所示
弗原創IT教育中心 A7 VCC A6 2732A823 23456789 A5 A922 A4 All 21 A3 OE/VPP 20 A2 A10 Al CE 18 AO 07 O0 06 16 10 01 05 0O2 04 12GND 03 13 图123 EPROM2732管脚及说明
A7 1 A6 2 A5 3 A4 4 A3 5 A2 6 A1 7 A0 8 O0 9 O1 10 O2 11 GND 12 O3 13 O4 14 O5 15 O6 16 O7 17 CE 18 A10 19 OE/VPP 20 A11 21 A9 22 A8 23 VCC 24 2732 图12.3 EPROM 2732 12.3 EPROM 2732管脚及说明
弗原創IT教育中心 其中,A0~A11为地址线:00~07为数据线CE为片选线 OEⅤP为输出允许/编程高压, 除了12条地址线和8条数据线之外,CE为片选线,低电平有效 也就是说,只有当CE为低电平时,2732才被选中,否则,2732不 工作。OE/NP为双功能管脚,当2732用作程序存储器时,其功能 是允许读数据出来;当对 EPROM编程(也称为固化程序)时,该 管脚用于高电压输入,不同生产厂家的芯片编程电压也有所不同。 当我们把它作为程序存储器使用时,不必关心其编程电压
其中,A0~A11为地址线;O0~O7为数据线; 为片选线; /VPP为输出允许/编程高压。 除了12条地址线和8条数据线之外, 为片选线,低电平有效。 也就是说,只有当 为低电平时,2732才被选中,否则,2732不 工作。 /VPP为双功能管脚,当2732用作程序存储器时,其功能 是允许读数据出来;当对EPROM编程(也称为固化程序)时,该 管脚用于高电压输入,不同生产厂家的芯片编程电压也有所不同。 当我们把它作为程序存储器使用时,不必关心其编程电压。 CE OE CE CE OE