单片机设计技术:第5章 单片机存储器扩展_第1页
单片机设计技术:第5章 单片机存储器扩展_第2页
单片机设计技术:第5章 单片机存储器扩展_第3页
单片机设计技术:第5章 单片机存储器扩展_第4页
单片机设计技术:第5章 单片机存储器扩展_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、5.1单片机系统扩展及结构 使单片机能运行的最少器件构成的系统,就是最小系统。无ROM芯片:8031 必须扩展ROM,复位、晶振电路有ROM芯片:89c51等,不必扩展ROM,只要有复位、晶振电路第5章 单片机存储器扩展二、扩展使用的三总线地址总线:P0低8位 P2高8位数据总线:P0控制总线:RD、WR、 ALE、 PSEN (读、 写、地址锁存允许、 外程序存储器读选通)1.线选法 微型机剩余高位地址总线直接连接各存储器片选线。 2.译码片选法 微型机剩余高位地址总线通过地址译码器输出片选信号。多片存储器芯片组成大容量存储器连接常用片选方法。5.2 单片机存储器扩展与编址1. 线选法 P2

2、.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2.0 A7 A6 A5 A4 A3 A2 A1 A0 : 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 =C000H 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 DFFFH : 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 =A000H 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 BFFFH :0110 0000 0000 00000111 1111 1111 1111 =6000H7FFFH 2译码片选法 3-8 地址译码器:74LS138Y0、Y

3、1、Y2分别连接三片存储器的片选端CE1、CE2、CE3各片存储器芯片分配地址:AB13AB14AB15 +5V A Y0 B Y1 C Y2 G1 G2A.B Y774LS138CE1CE2CE3:0000H1FFFH:2000H3FFFH:4000H5FFFH二、扩展使用的三总线地址总线:P0低8位 P2高8位数据总线:P0控制总线:RD、WR、 ALE、 PSEN (读、 写、地址锁存允许、 外程序存储器读选通) 当单片机外接芯片较多,超出总线负载能力,必须加总线驱动器。单向驱动器74LS244用于地址总线驱动双向驱动器74LS245用于数据总线驱动3. 微型机总线扩展驱动 5.3.1

4、单片机程序存储器ROM概述 单片机应用系统由硬件和软件组成,软件的载体就是硬件中的程序存储器。对于MCS-51系列8位单片机,片内程序存储器的类型及容量如表5.1所示。表5.1 MCS-51系列单片机片内程序存储器一览表单片机型号片内程序存储器ROM类型容量/B8031 无 8051 ROM4K8751 EPROM 4K8951 Flash 4K 对于没有内部ROM的单片机或者当程序较长、片内ROM容量不够时,用户必须在单片机外部扩展程序存储器。MCS-51单片机片外有16条地址线,即P0口和P2口,因此最大寻址范围为64 KB(0000HFFFFH)。 这里要注意的是,MCS-51单片机有一

5、个管脚 EA跟程序存储器的扩展有关。如果EA 接高电平,那么片内存储器地址范围是0000H0FFFH(4 KB),片外程序存储器地址范围是1000HFFFFH(60 KB)。如果EA 接低电平,不使用片内程序存储器,片外程序存储器地址范围为0000HFFFFH(64 KB)。 8031单片机没有片内程序存储器,因此 管脚总是接低电平。 扩展程序存储器常用的芯片是EPROM(Erasable Programmable Read Only Memory)型(紫外线可擦除型), 如2716(2K8)、2732(4K8)、2764(8K8)、27128(16K8)、27256(32K8)、27512(

6、64K8)等。另外,还有+5 V电可擦除EEPROM,如2816(2K8)、2864(8K8)等等。如果程序总量不超过4 KB,一般选用具有内部ROM的单片机。 8051内部ROM只能由厂家将程序一次性固化,不适合小批量用户和程序调试时使用,因此选用8751、8951的用户较多。 如果程序超过4 KB,用户一般不会选用8751、8951,而是直接选用8031,利用外部扩展存储器来存放程序。 工作时,ROM中的信息只能读出,要用特殊方式写入(固化信息),失电后可保持信息不丢失。 1. 掩膜ROM:不可改写ROM由生产芯片的厂家固化信息。在最后一道工序用掩膜工艺写入信息,用户只可读。 2. PRO

7、M:可编程ROM 用户可进行一次编程。存储单元电路由熔丝相连,当加入写脉冲,某些存储单元熔丝熔断,信息永久写入,不可再次改写。 3. EPROM:可光擦除PROM 用户可以多次编程。编程加写脉冲后,某些存储单元的PN结表面形成浮动栅,阻挡通路,实现信息写入。用紫外线照射可驱散浮动栅,原有信息全部擦除,便可再次改写。 4. EEPROM:可电擦除PROM 既可全片擦除也可字节擦除, 可在线擦除信息,又能失电保存信息,具备 RAM、ROM的优点。但写入时间较长。 一. 27xx的引脚 5.3.2. 只读存储器ROM芯片及其扩展1) EPROM 2716 2716是2K8位的紫外线擦除电可编程只读存

8、储器,单一+5 V供电,运行时最大功耗为252 mW,维持功耗为132 mW,读出时间最大为450 ns,封装形式为DIP24。2716有地址线11条(A0A10),数据线8条(O0O7), CE 为片选线,低电平有效, OE 为数据输出允许信号,低电平有效,VPP为编程电源,VCC为工作电源。 2) EPROM 2764 2764是8K8位的EPROM,单一+5 V供电,工作电流为75 mA,维持电流为35 mA,读出时间最大为250 ns,DIP28封装。2764A有13条(A0A12)地址线,数据输出线O0O7, 为片选线, 为数据输出允许线, 为编程脉冲输入端,VPP为编程电源,VCC

9、为工作电源。 3) EPROM 27128 27128是16K8位的EPROM,单一+5 V供电,工作电流为100 mA,维持电流为40 mA,读出时间最大为250 ns,DIP28封装。27128A有14条(A0A13)地址线,数据输出线O0O7, 为片选线, 为数据输出允许线, 为编程脉冲输入端,VPP为编程电源,VCC为工作电源。 常用EPROM芯片管脚图二. 常用EEPROM芯片1) EEPROM 2816A 2816A的存储容量为2K8位,单一+5 V供电,不需要专门配置写入电源。2816A能随时写入和读出数据,其读取时间完全能满足一般程序存储器的要求,但写入时间较长,需915 ms

10、。写入时间完全由软件控制。2816A的管脚如图6.9所示。图6.9 常用EEPROM管脚图 2) EEPROM 2864A 2864A是8K8位EEPROM,单一+5 V供电,最大工作电流160 mA,最大维持电流 60 mA,典型读出时间250 ns。由于芯片内部设有“页缓冲器”,因而允许对其快速写入。2864A内部可提供编程所需的全部定时,编程结束可以给出查询标志。2864A的封装形式为DIP28,其管脚如图6.9所示。 三. 单片机扩展EPROM典型电路紫外线擦除电可编程只读存储器EPROM是国内用得较多的程序存储器。EPROM芯片上有一个玻璃窗口,在紫外线照射下,存储器中的各位信息均变

11、1,即处于擦除状态。擦除干净的EPROM可以通过编程器将应用程序固化到芯片中。 例5.1 在8031单片机上扩展4 KB EPROM程序存储器。 (1) 选择芯片。 本例要求选用8031单片机,内部无ROM区,无论程序长短都必须扩展程序存储器(目前较少这样使用,但扩展方法比较典型、实用)。 在选择程序存储器芯片时,首先必须满足程序容量,其次在价格合理情况下尽量选用容量大的芯片。这样做的话,使用的芯片少,从而接线简单,芯片存储容量大,程序调整余量也大。如估计程序总长3 KB左右,最好是扩展一片4 KB的EPROM 2732,而不是选用2片2716(2 KB)。 在单片机应用系统硬件设计中应注意,

12、尽量减少芯片使用个数,使得电路结构简单,提高可靠性,这也是8951比8031使用更加广泛的原因之一。 (2) 硬件电路图。 8031单片机扩展一片2732程序存储器电路如图6.2所示。图6.2 单片机扩展2732 EPROM电路 (3) 芯片说明。 74LS373。74LS373是带三态缓冲输出的8D锁存器,由于片机的三总线结构中,数据线与地址线的低8位共用P0口,因此必须用地址锁存器将地址信号和数据信号区分开。74LS373的锁存控制端G直接与单片机的锁存控制信号ALE相连,在ALE的下降沿锁存低8位地址。 EPROM 2732。EPROM 2732的容量为4 K8位。4 K表示有41024

13、(22210=212)个存储单元,8位表示每个单元存储数据的宽度是8位。前者确定了地址线的位数是12位(A0A11),后者确定了数据线的位数是8位(O0O7)。目前,除了串行存储器之外,一般情况下,我们使用的都是8位数据存储器。2732采用单一+5 V供电,最大静态工作电流为100 mA,维持电流为35 mA,读出时间最大为250 ns。2732的封装形式为DIP24,管脚如图6.3所示。 (4) 连线说明: 地址线。单片机扩展片外存储器时,地址是由P0和P2口提供的。图6.2中,2732的12条地址线(A0A11)中,低8位A0A7通过锁存器74LS373与P0口连接,高4位A8A11直接与

14、P2口的P2.0P2.3连接,P2口本身有锁存功能。注意,锁存器的锁存使能端G必须和单片机的ALE管脚相连。 数据线。2732的8位数据线直接与单片机的P0口相连。因此,P0口是一个分时复用的地址/数据线。 控制线。CPU执行2732中存放的程序指令时,取指阶段就是对2732进行读操作。注意,CPU对EPROM只能进行读操作,不能进行写操作。CPU对2732的读操作控制都是通过控制线实现的。2732控制线的连接有以下几条: :直接接地。由于系统中只扩展了一个程序存储器芯片,因此,2732的片选端直接接地,表示2732一直被选中。若同时扩展多片,需通过译码器来完成片选工作。 :接8031的读选通

15、信号端。在访问片外程序存储器时,只要端出现负脉冲,即可从2732中读出程序。 (5) 扩展程序存储器地址范围的确定。 单片机扩展存储器的关键是搞清楚扩展芯片的地址范围,8031最大可以扩展64 KB(0000HFFFFH)。决定存储器芯片地址范围的因素有两个:一个是片选端的连接方法,一个是存储器芯片的地址线与单片机地址线的连接。在确定地址范围时,必须保证片选端为低电平。 本例中,2732的片选端总是接地,因此第一个条件总是满足的,另外,2732有12条地址线,与8031的低12位地址相连,编码结果如下: (6) EPROM的使用。 存储器扩展电路是单片机应用系统的功能扩展部分,只有当应用系统的

16、软件设计完成了,才能把程序通过特定的编程工具(一般称为编程器或EPROM固化器)固化到2732中,然后再将2732插到用户板的插座上(扩展程序存储器一定要焊插座)。 当上电复位时,PC=0000H,自动从2732的0000H单元取指令,然后开始执行指令。 如果程序需要反复调试,可以用紫外线擦除器先将2732中的内容擦除,然后再固化修改后的程序,进行调试。 如果要从EPROM中读出程序中定义的表格,需使用查表指令:MOVC A,A+DPTRMOVC A,A+PC图6.8 单片机扩展2764 EPROM电路 附: 用译码法扩展一片2764电路图6.7 单片机扩展27128 EPROM电路用线选法扩

17、展一片27128电路四. 单片机扩展EEPROM典型电路 电擦除可编程只读存储器EEPROM是一种可用电气方法在线擦除和再编程的只读存储器,它既有RAM可读可改写的特性,又具有非易失性存储器ROM在掉电后仍能保持所存储数据的优点。因此,EEPROM在单片机存储器扩展中,可以用作程序存储器,也可以用作数据存储器,至于具体做什么使用,由硬件电路确定。 EEPROM作为程序存储器使用时,CPU读取EEPROM数据同读取一般EPROM操作相同;但EEPROM的写入时间较长,必须用软件或硬件来检测写入周期。 例5.2 在8031单片机上扩展2KB EEPROM。 (1) 选择芯片。 2816A和2817

18、A均属于5 V电擦除可编程只读存储器,其容量都是2K8位。2816A与2817A的不同之处在于:2816A的写入时间为915 ms,完全由软件延时控制,与硬件电路无关;2817A利用硬件引脚 来检测写操作是否完成。 在此,我们选用2817A芯片来完成扩展2KB EEPROM,2817A的封装是DIP28,采用单一+5 V供电,最大工作电流为150 mA,维持电流为55 mA,读出时间最大为250 ns。片内设有编程所需的高压脉冲产生电路,无需外加编程电源和写入脉冲即可工作。 2817A在写入一个字节的指令码或数据之前,自动地对所要写入的单元进行擦除,因而无需进行专门的字节/芯片擦除操作。281

19、7A的管脚如图6.4所示。其中,A0A10为地址线;I/O0I/O7为读写数据线; 为片选线; 为读允许线,低电平有效; 为写允许线,低电平有效; 为低电平时,表示2817A正在写操作,处于忙状态,高电平时,表示写操作完毕;VCC为+5 V电源;GND为接地端。 2817A的读操作与普通EPROM的读出相同,所不同的只是可以在线进行字节的写入。图6.4 2817A的管脚 2817A的写入过程如下:CPU向2817A发出字节写入命令后,2817A便锁存地址、数据及控制信号,从而启动一次写操作。2817A的写入时间大约为16 ms左右,在此期间,2817A的脚呈低电平,表示2817A正在进行写操作

20、,此时它的数据总线呈高阻状态,因而允许CPU在此期间执行其它的任务。当一次字节写入操作完毕,2817A便将线置高,由此来通知CPU。 (2) 硬件电路图。 单片机扩展2817A的硬件电路图如图6.5所示。图6.5 单片机扩展2817A EEPROM电路 (3) 连线说明: 地址线。图6.5中,2817A的11条地址线(A0A10,容量为2K8位,211=21024=2K)中的低8位A0A7通过锁存器74LS373与P0口连接,高3位A8A10直接与P2口的P2.0P2.2连接。 数据线。2817A的8位数据线直接与单片机的P0口相连。 控制线。单片机与2817A的控制线连接采用了将外部数据存储

21、器空间和程序存储器空间合并的方法,使得2817A既可以作为程序存储器使用,又可以作为数据存储器使用。 单片机中用于控制存储器的管脚有以三个: 控制程序存储器的读操作,执行指令的取指阶段和执行MOVC A,A+DPTR指令时有效; 控制数据存储器的读操作,执行MOVX DPTR,A和MOVX Ri,A时有效; 控制数据存储器的写操作,执行MOVX A,DPTR和MOVX A,Ri时有效。 在图6.5中,2817A控制线的连线方法如下: :直接接地。由于系统中只扩展了一个程序存储器芯片,因此片选端直接接地,表示2817A一直被选中。 :8031的程序存储器读选通信号和数据存储器读信号经过“与”操作

22、后,与2817A的读允许信号相连。这样,只要、中有一个有效,就可以对2817A进行读操作了。也就是说,对2817A既可以看作程序存储器取指令,也可以看作数据存储器读出数据。 :与8031的数据存储器写信号相连,只要执行数据存储器写操作指令,就可以往2817A中写入数据。 :与8031的P1.0相连,采用查询方法对2817A的写操作进行管理。在擦、写操作期间, 脚为低电平,当字节擦、写完毕时, 为高电平。 其实,检测2817A写操作是否完成也可以用中断方式实现,方法是将2817A的反相后 与8031的中断输入脚 相连。当2817A每擦、写完一个字节,便向单片机提出中断请求。 图6.5中,2817

23、A的地址范围是0000H07FFH(无关的管脚取0,该地址范围不是惟一的)。 (4) 2817A的使用。 按照图6.5连接好后,如果只是把2817A作为程序存储器使用,使用方法同EPROM相同。EEPROM也可以通过编程器将程序固化进去。 如果将2817A作为数据存储器,读操作同使用静态RAM一样,直接从给定的地址单元中读取数据即可。向2817A中写数据采用MOVX DPTR,A指令。 5.4 数据存储器扩展 5.4.1 单片机RAM概述 RAM是用来存放各种数据的,MCS-51系列8位单片机内部有128 B RAM存储器,CPU对内部RAM具有丰富的操作指令。但是,当单片机用于实时数据采集或处理大批量数据时,仅靠片内提供的RAM是远远不够的。此时,我们可以利用单片机的扩展功能,扩展外部数据存储器。 常用的外部数据存储器有静态RAM(Static Rand

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论