ALERDPoA0~A7数据(DO~D7)图6-1-9a读时序ALEWRPOA0~A7数据(DO~D7)图 6-1-9b写时序三、紧凑系统的扩展总线在紧凑系统中,PO口输出的地址信息也必须由ALE打入外部的地址锁存器,控制总线只有外部数据存储器的读信号线RD、写信号线WR。图6-1-10给出紧凑系统的扩展总线图,它实际上是图6-1-4中裁去了地址线A8~A15和程序存储器读选通信号线PSEN后的剩余部分
图 6-1-9 a 读时序 图 6-1-9 b 写时序 三、紧凑系统的扩展总线 在紧凑系统中,P0口输出的地址信息也必须由ALE打入外部的地址锁存器, 控制总线只有外部数据存储器的读信号线RD、写信号线WR。图6-1-10给出紧凑 系统的扩展总线图,它实际上是图6-1-4中裁去了地址线A8~A15和程序存储器读 选通信号线PSEN后的剩余部分
A0~A7地址总线ALEDG74HC573EB9C52介DO~D7POD数据总线WR控制WRRDRD总线图6-1-10四、紧凑系统地址译码方法1.线选法这种方法适用于只扩展少量I/O接口芯片的应用系统。对于I/O接口芯片,内部的寄存器一般不大于8个,可以用A0~A2作为芯片中寄存器的地址选择线,A3~A7作为选片信号线,则可以外接5个I/O接口芯片。按线选法的地址分配方法,这5个芯片的地址分别为:78H~7FH、0B8H~0BFH、0D8H~0DFH、OE8H~OEFH、OFOH~OF7H2.地址译码法若A0~A3作为芯片中寄存器地址选择线,A4~A7用416译码器产生选片信号线,则最多可以接16片I/O接口芯片,地址分别为0~0FH,0~1FH,i-i-OFOH~OFFH。3.P2口部分口线作为地址线的译码方法对于扩展256字节RAM和I/O口的系统,可以用P2口的部分线作为地址线,剩余的P2口线连I/O设备,这种系统也称为紧凑系统。在访问外部数据存储器时,先对作为地址线的P2口位操作,选中外部数据存储器某一页,然后用RO或R1作为页内地址指针,对外部数据存储器进行读或写,P20、P21作为地址线的一种地址译码方法如图6-1-11的所示。6.1.3海量存储器系统地址译码方法
图 6-1-10 四、紧凑系统地址译码方法 1.线选法 这种方法适用于只扩展少量I/O接口芯片的应用系统。对于I/O接口芯 片,内部的寄存器一般不大于8个,可以用A0~A2作为芯片中寄存器的地址选择 线,A3~A7作为选片信号线,则可以外接5个I/O接口芯片。按线选法的地址分 配方法,这5个芯片的地址分别为:78H~7FH、0B8H~0BFH、0D8H~0DFH、 0E8H~0EFH、0F0H~0F7H 2.地址译码法 若A0~A3作为芯片中寄存器地址选择线,A4~A7用4¡ª16译码器产生选 片信号线,则最多可以接16片I/O接口芯片,地址分别为0~0FH,0~1FH,¡ ¡0F0H~0FFH。 3. P2口部分口线作为地址线的译码方法 对于扩展256字节RAM和I/O口的系统,可以用P2口的部分线作为地址线,剩 余的P2口线连I/O设备,这种系统也称为紧凑系统。在访问外部数据存储器时,先 对作为地址线的P2口位操作,选中外部数据存储器某一页,然后用R0或R1作为页 内地址指针,对外部数据存储器进行读或写,P20、P21作为地址线的一种地址译 码方法如图6-1-11的所示。 6.1.3海量存储器系统地址译码方法
在一些特殊应用中,若需超过64K字节的存储器,则可以用P1的口线作为区开关来实现。如扩展一片128K字节RAM628128和I/0口的系统,可以采用图6-1-12的一种译码方法。图6-1-12中,628128占0区和1区的64K存储空间,I/O接口点2区存储空间,每个区为64K字节。在访问外部RAM/1O时,先对P1.1、P1.0操作选择一个区,然后用DPTR作指针,对所选区中的单元操作。也可以用扩展I/O口作为地址线(如3个8位口产生24位地址),将地址写入扩展口以后再对存储器读写。P1.1CS628128A16PL.0YoCSIODAA13YBCSIOIA14YeCSIO2A15GPL.1心at生1GP1.0Y2GCSIOT中74HC138图 6-1-126.2程序存储器扩展目前在单片机应用中,已很少扩展程序存储器。89C52内部已有8KFLASH程序存储器,只有在需要大量常数存储器(如字库)等特殊应用中,才在外面扩展一片EPROM或FLASH只读存储器。这样的系统都是大系统,PO口、P2口都作为扩展总线口使用。6.2.1常用EPROM存储器EPROM是紫外线可擦除(有窗口)电可编程的只读存储器,掉电以后信息不会丢失。图6-2-1给出了27C128、27C256、27C512的引脚图。由图可见,这些EPROM仅仅是地址线数目(容量)不同和编程信号引脚有些差别
在一些特殊应用中,若需超过64K字节的存储器,则可以用P1的口线作为区开 关来实现。如扩展一片128K字节RAM628128和I/O口的系统,可以采用图6-1-12 的一种译码方法。图6-1-12中,628128占0区和1区的64K存储空间,I/O接口点 2区存储空间,每个区为64K字节。在访问外部RAM/IO时,先对P1.1、P1.0操作 选择一个区,然后用DPTR作指针,对所选区中的单元操作。也可以用扩展I/O口作 为地址线(如3个8位口产生24位地址),将地址写入扩展口以后再对存储器读写。 图 6-1-12 6.2程序存储器扩展 目前在单片机应用中,已很少扩展程序存储器。89C52内部已有8KFLASH程序 存储器,只有在需要大量常数存储器(如字库)等特殊应用中,才在外面扩展一片 EPROM或FLASH只读存储器。这样的系统都是大系统,P0口、P2口都作为扩展总 线口使用。 6.2.1常用EPROM存储器 EPROM是紫外线可擦除(有窗口)电可编程的只读存储器,掉电以后信息不 会丢失。图6-2-1给出了27C128、27C256、27C512的引脚图。由图可见,这些 EPROM仅仅是地址线数目(容量)不同和编程信号引脚有些差别
28128工1格Voe28MVmVrVocA15272227227A12A14A14A12PGMA12263326326A7A13A13A7A7A132542525A6A8A8A6A6A8245524245A5A9A9A5A5A9236623623A4A10A4AllA4All722772222OEA3OE/NmOEA3A38&2121821A2AllA10A2A10920992020CECEA1CEAAl101910191019O7AOO7AOOAO11111818181100O60606O0O0171212171217O5O1O5O1OS011316131316160204O4O20402151414151415GNDGND0303GND03275122712827256图 6-2-1一、引脚说明A0~Ai:地址输入引脚,i=13~15;O0~O7:三态数据总引脚(常用D0~D7表示),读或编程校验时为数据输出线,编程时为数据输入线。维持或编程禁止时,00~07呈高阻抗;CE:选片信号输入引脚,“O”(低电平)有效PGM:编程脉冲输入引脚;OE;读选通信号输入线,“O”有效;Vpp:编程电源输入线,Vpp的值因芯片型号和制造厂商而异;Vcc:主电源输入线,Vcc一般为+5V;GND:线路地。二、操作方式
图 6-2-1 一、引脚说明 A0~Ai:地址输入引脚,i=13~15; O0~O7:三态数据总引脚(常用D0~D7表示),读或编程校验时为数据输出线, 编程时为数据输入线。维持或编程禁止时,O0~O7呈高阻抗; CE:选片信号输入引脚,“0”(低电平)有效; PGM:编程脉冲输入引脚; OE;读选通信号输入线,“O”有效; Vpp:编程电源输入线,Vpp的值因芯片型号和制造厂商而异; Vcc:主电源输入线,Vcc一般为+5V; GND:线路地。 二、操作方式
对EPROM的主要操作方式有:编程方式:把程序代码(机器指令、常数)固化到EPROM中;编程校验方式:读出EPROM中的内容,检验编程操作的正确性;读出方式:CPU从EPROM中读取指令或常数(单片机应用系统中的工作方式);维持方式:不对EPROM操作,数据端呈高阻;编程禁止方式:用于多片EPROM并行编程。表6-2-1给出了27256不同操作方式下控制引脚的电平CEOEVaVec引脚00~07方式(20)(22)(1)(28)(11~13)(1519)读VeVaVee5V数据输出Ve5V禁止输出VuVe高阳维持Va任意Voc5V高阻Vuve编程VVr数据输入VaVaVmVee程校验数据输出VaVuVrpVee高阳编程禁止表 6-2-16.2.2程序存储扩展方法外部程序存储器一般只要一片EPROM,选片信号可以接地。图6-2-2为89C52扩展一片27C512的接口电路,图中EA接+5V,CPU在取指令或执行查表指令时,当地址小于是1FFFH时,从内部FLASH中取代码,大于1FFFH时从外部EPROM中取代码。为了程序的保密,程序代码尽可能地放在内部,外部存常数,在对89C52编程时不要对LB3编程(允许读取外部EPROM中代码)
对EPROM的主要操作方式有: 编程方式:把程序代码(机器指令、常数)固化到EPROM中; 编程校验方式:读出EPROM中的内容,检验编程操作的正确性; 读出方式:CPU从EPROM中读取指令或常数(单片机应用系统中的工作方式); 维持方式:不对EPROM操作,数据端呈高阻; 编程禁止方式:用于多片EPROM并行编程。表6-2-1给出了27256不同操作方 式下控制引脚的电平 表 6-2-1 6.2.2程序存储扩展方法 外部程序存储器一般只要一片EPROM,选片信号可以接地。图6-2-2为 89C52扩展一片27C512的接口电路,图中EA接+5V,CPU在取指令或执行查表 指令时,当地址小于是1FFFH时,从内部FLASH中取代码,大于1FFFH时从外部 EPROM中取代码。为了程序的保密,程序代码尽可能地放在内部,外部存常数, 在对89C52编程时不要对LB3编程(允许读取外部EPROM中代码)