




已阅读5页,还剩41页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第6章单片机总线与存储器的扩展,单片机原理、接口及应用,内容提要,单片机系统总线和系统扩展方法程序存储器的扩展数据存储器的扩展*新型存储器扩展,MCS51系列单片机的特点就是体积小,功能全,系统结构紧凑,硬件设计灵活。对于简单的应用,最小系统即能满足要求。所谓最小系统是指在最少的外部电路条件下,形成一个可独立工作的单片机应用系统。一片89C51,或者一片8031外接一片EPROM就构成了一个单片机最小系统。在很多复杂的应用情况下,单片机内的RAM,ROM和I/O接口数量有限,不够使用,这种情况下就需要进行扩展。因此单片机的系统扩展主要是指外接数据存贮器、程序存贮器或I/O接口等,以满足应用系统的需要。,单片机是通过地址总线,数据总线和控制总线与外部交换信息的。,6.1单片机系统总线和系统扩展方法,数据总线:信息的公共通道,各外围芯片必须分时使用。地址总线:区别什么时候使用哪个芯片。控制总线:控制什么时候打开指定地址的那个芯片通往数据总线的门。因此,单片机的系统扩展就归结到外接数据存储器、程序存储器和I/O接口与三总线的连接。,MCS-51单片机的总线接口信号见图,由图可见:1)由于P0分时传送地址/数据信息,在接口电路中,通常配置地址锁存器,有ALE信号锁存低8位地址A0A7,以分离地址和数据信息。2)P2口传送高8位地址A8A15。3)PSEN为程序存储器的控制信号,是在取指令码时或执行MOVC指令时变为有效。RD、WR为数据存储器和I/O口的读、写控制信号。是执行MOVX指令时变为有效。,系统的扩展的连线原则系统的扩展归结为三总线的连接,连接的方法很简单,连线时应遵守下列原则:1.连接的双方数据线连数据线,地址线连地址线,控制线连控制线。要特别注意的是:程序存储器接PSEN;数据存储器接RD和WR2.控制线相同的地址线不能相同,地址线相同的控制线不能相同。3.片选信号有效的芯片才选中工作,当一类芯片仅一片时片选端可接地,当同类芯片多片时片选端可通过线译码、部分译码、全译码接地址线(通常是高位地址线),在单片机中多采用线选法。,地址译码器,译码电路可以使用逻辑门,也可以用现有的译码器芯片。1.使用逻辑门电路设某一芯片字选地址线为A0-A11(4KB容量),使用逻辑门进行译码,其输出接芯片片选CE,电路如图所示。,该芯片的地址排列如下:,A15A14A13A12A11A10A9A8A7A6A5A4A3A2A1A001100000000000000110111111111111,本电路采用的是全译码方式。每个单元的地址是唯一的。,部分译码方式:未接入电路的地址可填1,也可填0,单片机通常填1。,A15A14A13A12A11A10A9A8A7A6A5A4A3A2A1A01110000000000000111011111111111111110000000000001111111111111111,地址排列:,片选,2.利用译码器芯片进行地址译码,(1)2-4译码器74LS139,(2)3-8译码器74LS138,(3)4-16译码器74LS154,例6-1用8K8位存储器芯片组成容量为64K8位的存储器,试问:(1)共需几个芯片?共需多少根地址线寻址?其中几根为字选线?几根为片选线?(2)若用74LS138进行地址译码,试画出译码电路,并标出其输出的选址范围。(3)若改用线选法,能够组成多大容量的存储器?试写出各线选线的选址范围。,解:(1)(64K8)/(8K8)=8即需要8片8K8的存储器芯片。64K=65536=216即组成64K的存储器共需要16根地址线寻址8K=8192=213即13根为字选线,选择存储器芯片片内的单元16-13=3即3根为片选线,选择8片存储器芯片(2)译码电路及选址范围见下图:,(3)改用线选法,A15-A13根地址线各选一片8K8位的存储器芯片,只能接3个芯片,故仅能组成容量为24K8位的存储器,A15、A14和A13所选芯片的地址范围分别为:6000H-7FFFH、A000H-BFFFH和C000H-DFFFH。,6.2程序存储器的扩展,6.2.1EPROM的扩展,程序存储器扩展电路的安排应满足单片机从外存取指令的时序要求。从时序图中分析ALE、PSEN、P0和P2怎样配合使程序存储器完成取指操作,从而得出扩展程序存储器的方法。单片机一直处于不断的取指令码执行取指令码执行的工作过程中,在取指令码时和执行MOVC指令时PSEN会变为有效,和其它信号配合完成从程序存储器读取数据。,紫外线擦除电可编程只读存储器EPROM是国内用得较多的程序存储器。EPROM芯片上有一个玻璃窗口,在紫外线照射下,存储器中的各位信息均变1,即处于擦除状态。擦除干净的EPROM可以通过编程器将应用程序固化到芯片中。,74LS373:带三态缓冲器输出的8D锁存器,引脚功能:D7D0:8位并行数据输入端Q7Q0:8位并行数据输出端,:片选端,低电平有效,EPROM2716的容量为2K8位。2K表示有21024即211个存储单元,8位表示每个单元存储数据的宽度是8位。前者确定了地址线的位数是11位(A0A10),后者确定了数据线的位数是8位(O0O7)。,为片选线,低电平有效。为输出允许端,当2716用作程序存储器时,其功能是允许读数据出来。当对EPROM编程时,该管脚用于高电压输入,不同生产厂家的芯片编程电压也有所不同。,VPP,EPROM2732。EPROM2732的容量为4K8位。4K表示有41024(22210=212)个存储单元,8位表示每个单元存储数据的宽度是8位。前者确定了地址线的位数是12位(A0A11),后者确定了数据线的位数是8位(O0O7)。目前,除了串行存储器之外,一般情况下,我们使用的都是8位数据存储器。2732采用单一+5V供电,最大静态工作电流为100mA,维持电流为35mA,读出时间最大为250ns。2732的封装形式为DIP24,管脚如图6.1所示。,典型的EPROM芯片有Intel公司的2716(2K8)、2732(4K8)、2764(8K8)、27128(16K8)、27256(32K8)、27512(64K8)等。,图6.1EPROM2732管脚及说明,其中:A0A11为地址线;O0O7为数据线;CE为片选线:低电平有效。也就是说,只有当CE为低电平时,2732才被选中,否则,2732不工作。OE/VPP为输出允许/编程高压。,OE/VPP为双功能管脚,当2732用作程序存储器时,其功能是允许读数据出来;当对EPROM编程(也称为固化程序)时,该管脚用于高电压输入,不同生产厂家的芯片编程电压也有所不同。当我们把它作为程序存储器使用时,不必关心其编程电压。,根据以上取指时序的要求,8XX51单片机扩展程序存储器2732的电路见图6.2,图6.2扩展程序存储器2732的电路,连线说明:地址线。单片机扩展片外存储器时,地址是由P0和P2口提供的。图6.2中,2732的12条地址线(A0A11)中,低8位A0A7通过锁存器74LS373与P0口连接,高4位A8A11直接与P2口的P2.0P2.3连接,P2口本身有锁存功能。注意,锁存器的锁存使能端G必须和单片机的ALE管脚相连。而MCS-51系列单片机由于受管脚的限制,数据线与地址线是复用的,为了将它们分离开来,必须在单片机外部增加地址锁存器,构成与一般CPU相类似的三总线结构。,图中,74LS373为8D锁存器,其主要特点在于:控制端为高电平时,输出Q0Q7复现输入D0D7的状态;G为下跳沿时D0D7的状态被锁存在Q0Q7上。当把ALE与G相连后,ALE的下跳沿正好把P0端口上此时出现的PC寄存器指示的低8位指令地址A0A7锁存在74LS373的Q0Q7上。,数据线。2732的8位数据线直接与单片机的P0口相连。因此,P0口是一个分时复用的地址/数据线。控制线。CPU执行2732中存放的程序指令时,取指阶段就是对2732进行读操作。注意,CPU对EPROM只能进行读操作,不能进行写操作。CPU对2732的读操作控制都是通过控制线实现的。2732控制线的连接有以下几条:直接接地。由于系统中只扩展了一个程序存储器芯片,因此,2732的片选端直接接地,表示2732一直被选中。若同时扩展多片,需通过译码器来完成片选工作。接8031的读选通信号端。在访问片外程序存储器时,只要端出现负脉冲,即可从2732中读出程序。,扩展程序存储器地址范围的确定:单片机扩展存储器的关键是搞清楚扩展芯片的地址范围,8031最大可以扩展64KB(0000HFFFFH)。决定存储器芯片地址范围的因素有两个:一个是片选端的连接方法,一个是存储器芯片的地址线与单片机地址线的连接。在确定地址范围时,必须保证片选端为低电平。本例中,2732的片选端总是接地,因此第一个条件总是满足的,另外,2732有12条地址线,与8031的低12位地址相连,编码结果如下:,A15A14A13A12A11A10A9A8A7A6A5A4A3A2A1A011110000000000001111111111111111,EPROM的使用:存储器扩展电路是单片机应用系统的功能扩展部分,只有当应用系统的软件设计完成了,才能把程序通过特定的编程工具(一般称为编程器或EPROM固化器)固化到2732中,然后再将2732插到用户板的插座上(扩展程序存储器一定要焊插座)。当上电复位时,PC=0000H,自动从2732的0000H单元取指令,然后开始执行指令。如果程序需要反复调试,可以用紫外线擦除器先将2732中的内容擦除,然后再固化修改后的程序,进行调试。如果要从EPROM中读出程序中定义的表格,需使用查表指令:MOVCA,A+DPTRMOVCA,A+PC,单片机扩展2716,2764,27128等EPROM的方法与图6.2相同,差别仅在于不同的芯片的存储容量的大小不同,因而使用高8位地址的P2端口线的根数不同。扩展2716(2KB)需使用A8A10三条高位地址线扩展2764(8KB)需要A8A12五条高位地址线。扩展27128(16KB)时需要A8A13六条高位地址线。这是因为存储器其容量=2NN为地址线的根数注意:2764和27128的PGM(编程控制)引脚应接Vcc。(读2764和27128),6.2.2EEPROM的扩展,1.电可擦除只读存储器EEPROM的性能电可擦除只读存储器EEPROM即可像EPROM那样长期非易失地保存信息,又可像RAM那样随时用电改写,近年来出现了快擦写FLASHEEPROM,它门被广泛用作单片机的程序存储器和数据存储器。目前,常用的EEPROM如表9-1,它们有如下共同特点:*单+5V供电,电可擦除可改写。*使用次数为1万次,信息保存时间为10年。*读出时间为ns级,写入时间为ms级。*芯片引脚信号与相应的RAM和EPROM芯片兼容,见表9-1。,电擦除可编程只读存储器EEPROM是一种可用电气方法在线擦除和再编程的只读存储器,它既有RAM可读可改写的特性,又具有非易失性存储器ROM在掉电后仍能保持所存储数据的优点。因此,EEPROM在单片机存储器扩展中,可以用作程序存储器,也可以用作数据存储器,至于具体做什么使用,由硬件电路确定。EEPROM作为程序存储器使用时,CPU读取EEPROM数据同读取一般EPROM操作相同;但EEPROM的写入时间较长,必须用软件或硬件来检测写入周期。,例6.2在8031单片机上扩展2KBEEPROM。(1)选择芯片。2816A和2817A均属于5V电擦除可编程只读存储器,其容量都是2K8位。2816A与2817A的不同之处在于:2816A的写入时间为915ms,完全由软件延时控制,与硬件电路无关;2817A利用硬件引脚来检测写操作是否完成。在此,我们选用2817A芯片来完成扩展2KBEEPROM,2817A的封装是DIP28,采用单一+5V供电,最大工作电流为150mA,维持电流为55mA,读出时间最大为250ns。片内设有编程所需的高压脉冲产生电路,无需外加编程电源和写入脉冲即可工作。,2817A在写入一个字节的指令码或数据之前,自动地对所要写入的单元进行擦除,因而无需进行专门的字节/芯片擦除操作。2817A的管脚如图6.4所示。其中,A0A10为地址线;I/O0I/O7为读写数据线;为片选线;OE为读允许线,低电平有效;WE为写允许线,低电平有效;RDY/BUSY为低电平时,表示2817A正在写操作,处于忙状态,高电平时,表示写操作完毕,但输出呈高阻态(即输出不定态);VCC为+5V电源;GND为接地端。2817A的读操作与普通EPROM的读出相同,所不同的只是可以在线进行字节的写入。,图6.42817A的管脚,2817A的写入过程如下:CPU向2817A发出字节写入命令后,2817A便锁存地址、数据及控制信号,从而启动一次写操作。2817A的写入时间大约为16ms左右,在此期间,2817A的1脚呈低电平,表示2817A正在进行写操作,此时它的数据总线,呈高阻状态,因而允许CPU在此期间执行其它的任务。当一次字节写入操作完毕,2817A便将线置高,由此来通知CPU。,(2)硬件电路图。单片机扩展2817A的硬件电路图如图6.3所示。,EEPROM的使用非常简单方便。不用紫外线擦除,在单一的+5V电压下写入的新数据即覆盖了旧数据。下面以2864为例说明EEPROM和单片机的连接方法。,2864为8KBEEPROM维持电流为60mA,典型读出时间为200350ns,字节编程写入时间为1020s,芯片内有电压提升电路,编程时不必增高压,单一+5V供电。引脚和6264,2764兼容,引脚配置见右图。8XX51扩展2864硬件电路如下图所示。图中2864即可作为数据存储器,有又可作为程序存储器。由于只扩展了一片,片选端接地。,6.3数据存储器的扩展,MCS-51单片机内只有128字节的数据RAM,当应用中需要更多的RAM时,只能在片外扩展。可扩展的最大容量为64KB图6.4是单片机对片外RAM进行读操作的时序。当执行指令MOVXA,Ri或MOVXA,DPTR时进入外部数据RAM是的读周期。,1.外部数据RAM的读、写周期时序,图6.4,在ALE的上升沿,把外部程序存储器的指令读入后就开始了对片外RAM的读过程。ALE高电平期间,在P0处于高阻三态后,根据指令间址提供的地址,P2口输出外部RAM的高8位地址A15A8,P0端口输出低8位地址A7A0;在ALE下跳沿,P0输出的低8位地址被锁存在锁存器中,随后P0又进入高阻三态,RD信号有效后,被选中的RAM的数据出现在数据总线上,P0处于输入状态,CPU从P0读入外部RAM的数据。,当执行MOVXRi,A或MOVXDPTR,A指令时进入外部数据存储器的写周期,写外部RAM的操作时序与读外部RAM的时序差别在于:其一,WR有效代替RD有效,以表明这是写数据RAM的操作;其二,在P0输出低8位地址A0A7后,P0立即处于输出状态,提供要写入外部RAM的数据供外部RAM取走。,由以上时序分析可见,访问外部数据RAM的操作与从外部程序存储器取指令的过程基本相同,只是前者有读有写,而后者只有读而无写;前者用RD或WR选通,而后者用PSEN选通;前者一个机器周期中ALE一次有效,后者则只有两次有效。因此,不难得出51单片机和外部RAM的连接方法。,8XX51单片机扩展8KB静态RAM6264的电路见下图。,由图9-8可见,ALE把P0端口输出的低8位地址A0A7锁存在74LS373,P2口的P2.0P2.4直接输出高5位地址A8A12,由于单片机的RD和WR分别与6264的输出允许OE和写信号WE相连,执行读操作指令时,RD使OE有效,6262RAM中指定地址单元的数据经D0D7由P0口读入;执行写指令时,WR使WE有效,由P0口提供的要写入RAM的数据经DoD7写入6264的指定地址单元中。单片机8XX51读写外部数据RAM的操作使用MOVX指
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 定西安全培训班课件
- 定期安全培训签到表消防课件
- 农产品体验设计研究-洞察及研究
- 昆虫入药知识培训课件
- 昆明西山区消防安全培训课件
- 昆明数据安全课程培训课件
- 2024山东济南市济阳区社区工作者招考18人笔试备考试题及1套完整答案详解
- 医疗设备维护保养标准操作规程
- 企业安全生产责任制与现场管理
- 2022届江西省南昌市高三第二次模拟测试卷数学(理)试题
- 导医课件培训
- 社会法课件教学课件
- 供方准入管理制度
- 影响世界的中国植物
- 2025年中国模块化分析仪市场现状分析及前景预测报告
- CJ/T 22-1999动物园动物管理技术规程
- 2025年交通工程师考试试卷及答案
- 自愿自费缴纳社保协议书
- 吊篮加长杆的施工方案
- T/CNCA 055-2023煤矿矿井水生态补水水质标准植物灌溉
- 2025年宁泌泰胶囊项目安全调研评估报告
评论
0/150
提交评论