单片机技术第8章MCS-51单片机的系统扩展8.1程序存储器的扩展8.2数据存储器的扩展8.3MCS-51单片机片选方法简介8.4FLASH存储器的扩展8.5并行I/O接口的扩展单片机技术单片机内部的ROM﹑RAM容量﹑定时器﹑I/O接口和中断源等资源往往有限,在实际应用中通常不够用,因此需要对单片机的资源扩展。首先需要扩展的是程序存储器和数据存储器。单片机内部虽有一定数量的存储器,但常常不能满足实际需要,因此要求从外部进行扩展。其次需要扩展的是输入/输出接口。单片机的主要用途是控制,因此它必须与外部设备打交道,也就是说它需要与外部的输入输出设备连接。单片机内部虽然设置了4个并行I/O口,用来与外围设备连接,但当外围设备较多时,I/O口就显得不够用。在大多数情况下,MCS-51系列单片机都需要扩展输入输出接口。单片机技术8.1程序存储器的扩展8.1.1程序存储器的分类8.1.2典型程序存储器芯片介绍8.1.3典型程序存储器的扩展方法8.1.4典型程序存储器扩展电路单片机技术8.1.1程序存储器的分类MCS-51单片机的程序存储器空间和数据存储器空间是相互独立的。程序存储器寻址空间是64K字节(0000H~FFFFH),其中8051﹑8751片内含有4K字节的ROM或EPROM,8031片内不带ROM。当片内ROM不够用或使用8031芯片时,需要扩展程序存储器。程序存储器ROM也称只读存储器。所谓只读存储器是指ROM中的信息,一旦写入以后,就不能随意更改,特别是不能在程序运行过程中再写入新的内容,只能在程序执行过程中读出其中的内容。单片机技术1、掩膜编程的ROM其编程由半导体厂家完成,根据用户提出的存储内容决定MOS管的连接方式,把存储内容制作在芯片上,用户不能更改所存入的信息。特点:适合于大批量生产,结构简单、集成度高。成本高,只有大量生产定型ROM时才合算。可用来存储一些标准程序:监控程序、汇编程序、BASIC语言的解释程序等;也可用来存储数学用表(正弦函数表、平方根表等)、代码转换表、逻辑函数表等。单片机技术2、现场编程ROM(PROM)也称可编程只读存储器PROM,指PROM的编程可在工作现场一次完成。出厂时并未存储任何信息,用户可根据自己的需要把信息写入,然后才能在系统中使用。但信息一旦写入,不能更改。3、可改写、可编程ROM(EPROM)用户对EPROM可自行写入信息,也可将信息全部擦去,重新写入。RPROM分为两种:紫外线擦除—称UVEPROM;电擦除—称EEPROM。UVEPROM:用电信号编程,用紫外线擦除信息。EEPROM:用电信号编程,用电信号擦除信息。单片机技术8.1.2典型程序存储器芯片介绍1、2716RPROM存储器2716是2K×8位紫外线擦除电可编程只读存储器。单一+5V供电,最大功耗25mW,维持功耗132mW,读出时间最大450ns,引脚见图8-1。2716161514131211109867543212019181724232221A7A6A5A4A3A2A1A0VCCA9A8VPPA10O7O6O5O4O3O2O1O0CEOEGND图8-12716引脚图A0~A1000~07CEOEVPPVCC地址线数据线片选线数据输出选通线编程电源主电源单片机技术2716的5种工作方式见表8-1。编程禁止编程检验编程维持读正脉冲任意输出引式方脚高阻DOUT高阻DOUTDINVCCVPPOECE5V5V5V5V5V5V5V21V21V21VLLLLLHHH(9~11,13~17)(24)(21)(20)(18)表8-12716工作方式选择注:L:TTL低电平;H:TTL高电平;DOUT:数据输出;DIN:数据输入。单片机技术2、2732EPROM存储器2732是4K×8紫外线擦除电可编程只读存储器。单一+5V供电,最大工作电流为100mA,维持电流为35mA,读出时间为250ns。引脚如图8-2。2732161514131211109867543212019181724232221A7A6A5A4A3A2A1A0VCCA9A8A11A10O7O6O5O4O3O2O1O0CEOE/VPPGND图8-22732引脚图A0~A1100~07CE地址线数据线片选线OE/VPP输出允许/编程电源单片机技术2732的5种工作方式见表8-2。编程禁止编程检验编程维持读L任意输出引式方脚高阻DOUT高阻DOUTDINVCCCE5V5V5V5V5VLLLLHH21VH21V(9~11,13~17)(24)OE/VPP(20)(18)表8-22732工作方式选择单片机技术3、2764EPROM存储器2764是8K×8位紫外线擦除电可编程只读存储器,单一+5V供电,最大工作电流为75mA,维持电流为35mA,读出时间最大为250ns。引脚见图8-3。A7A6A5A4A3A2A1A0O2O1O0GNDNCA9A8A11A10O7O6O5O4O3CEOEA12VPPVCCPGM121110986754321161514132019181724232221282726252764A图8-32764A引脚图A0~A1200~07CEOEVPP地址线数据线片选线数据输出选通线编程电源编程脉冲输入PGM单片机技术2764A的5种工作方式见表8-3。编程禁止编程检验编程维持读L任意输出引式方脚高阻DOUT高阻DOUTDINVCCVPPOECE6V6V6V5V5V5V5V12.5V12.5V12.5VLLLLHH任意H(11~13,15~19)(28)(1)(22)(20)表8-32764A工作方式选择PGM(27)任意HH任意L单片机技术4、27128AEPROM存储器27128A是16K×8位紫外线擦除电可编程只读存储器,单一+5V供电,工作电流最大为100mA,维持电流为40mA,读出时间最大为250ns。引脚见图8-4。A7A6A5A4A3A2A1A0O2O1O0GNDA13A9A8A11A10O7O6O5O4O3CEOEA12VPPVCCPGM1211109867543211615141320191817242322212827262527128A图8-427128A引脚图A0~A1300~07CEOEVPP地址线数据线片选线数据输出选通线编程电源编程脉冲输入PGM单片机技术27128A的5种工作方式见表8-4。编程禁止编程检验编程维持读L任意输出引式方脚高阻DOUT高阻DOUTDINVCCVPPOECE6V6V6V5V5V5V5V12.5V12.5V12.5VLLLLHH任意H(11~13,15~19)(28)(1)(22)(20)表8-427128A工作方式选择PGM(27)任意HH任意L单片机技术5、27256EPROM存储器27256是32K×8位紫外线擦除电可编程只读存储器,单一+5V供电,工作电流为100mA,维持电流为40mA,读出时间最大为250ns。引脚见图8-5。A7A6A5A4A3A2A1A0O2O1O0GNDA13A9A8A11A10O7O6O5O4O3CEOEA12VPPVCCA141211109867543211615141320191817242322212827262527256图8-527256引脚图A0~A1400~07CEOEVPP地址线数据线片选线数据输出选通线编程电源单片机技术27256的5种工作方式见表8-5。编程禁止编程检验编程维持读L任意输出引式方脚高阻DOUT高阻DOUTDINVCCVPPOECE6V6V6V5V5V5V5V12.5V12.5V12.5VLLLLHHHH(11~13,15~19)(28)(1)(22)(20)表8-527256工作方式选择单片机技术6、并行EEPROM存储器2817A2817A是新一代电擦除电可编程只读存储器,存储容量为2K×8位,采用单一+5V供电,工作电流为150mA,维持电流为55mA,读出时间最大为250ns。引脚见图8-6。A7A6A5A4A3A2A1A0I/O2I/O1I/O0GNDNCA9A8NCA10I/O7I/O6I/O5I/O4I/O3CEOENCVCC121110986754321161514132019181724232221282726252817A图8-62817A引脚图RDY/BUSYWEA0~A10I/00~I/07CEOE地址线数据线(双向)片选线输出使能WE写入使能RDY/BUSY器件忙闲状态指示N.C.空脚单片机技术2817A的3种工作方式见表8-6。字节擦除字节写入维持读L任意输入/输出引式方脚高阻DOUT字节写入之前自动清除DINOECEL任意HLLLHH(11~13,15~19)(1)(27)(22)(20)表8-62817A工作方式选择(VCC=+5V)WERDY/BUSY高阻高阻注:表中RDY/BUSY线是漏极开路输出单片机技术7、并行EEPROM存储器2864A2864A是8K×8位电擦除可编程只读存储器,最大工作电流160mA,维持电流为60mA,读出时间最大为250ns,片内有“页缓冲器”,允许快速写入,内部提供全部定时,给出查询标志。A7A6A5A4A3A2A1A0I/O2I/O1I/O0GNDNCA9A8A11A10I/O7I/O6I/O5I/O4I/O3CEOEA12VCC121110986754321161514132019181724232221282726252864A图8-72864A引脚图NCWEA0~A12I/00~I/07CEOE地址线数据线(双向)片选线输出使能WE写入使能NC空脚单片机技术2864A的4种工作方式见表8-7。写维持读L×输入/输出引式方脚高阻DOUTDINOECE×H负脉冲LLHH(11~13,15~19)(27)(22)(20)表8-72864A工作方式选择WEDATA查询LLHDOUT注:DATA查询为数据查询方式。单片机技术8.1.3典型程序存储器的扩展方法1、扩展一片RPROM(a)扩展一片RPROMP2.0~P2.iA8~ANA0~A7N~7D0~D7i=N-8P0ALEPSENOECEEPROM8031888EA锁存器单片机技术2、扩展两片EPROMP2.0~P2.iN~7i=N-8P0ALEPSENA8~ANA0~A7D0~D7OECEEPROM(1)8031888锁存器A8~ANA0~A7D0~D7OECEEPROM(2)1P2.i+1·(b)扩展两片RPROM图8-8典型程序存储器的扩展方法单片机技术3.地址锁存器在基本扩展电路中,都用到了地址锁存器。这是因为P0口是数据总线和低8位地址总线分时复用口,P0口输出的低8位地址必须用地址锁存器进行锁存。常用地址锁存器有74LS373、8282和74LS273等,其引脚图如图8-9所示。单片机技术74LS273是带清除端的8D锁存器,只有清除端CLEAR为高电平时,才有锁存功能,锁存控制端为11脚CLK,且为上升沿锁存。74LS373和8282都是带有三态门的8D锁存器。其原理结构图如图8-10所示。图8-1074LS273和8282的原理结构图单片机技术当三态门的使能信号线为低电平时,三态门处于导通状态,允许Q端输出;当端为高电平时,输出三态门断开,输出端对外电路呈高阻状态。因此74LS373用作地址锁存器时,首先应使三态门的使能信号端为低电平,这时,当G输入端为高电平时,锁存器输出端(1Q~8Q)状态和输入端(1D~8D)状态相同;当G端从高电平返回低电平(下降沿)时,输入端数据锁存入1Q~8Q。由图可以看出,三种锁存器管脚互不兼容,74LS373和8282的锁存控制端G和STB可直接与单片机的锁存控制信号端ALE相连,在ALE下降沿进行地址锁存。而74LS273的CLK是上升沿锁存,为了满足单片机地址锁存的时序,ALE端输出的锁存控制信号必须加反相器才能与CLK相连。单片机技术使用74LS373、8282或74LS273作地址锁存器与单片机P0口的连接方法如图8