您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 交通运输 > 第九章-单片机的系统扩展
第九章单片机的系统扩展9.1存储器的扩展9.2并行I/O口的扩展9.3键盘接口9.4LED显示器接口9.1存储器的扩展9.1.1数据存储器的扩展9.1.2程序存储器的扩展9.1存储器的扩展单片机系统扩展中常采用3总线结构。总线是微机各部件之间、系统之间相互连接以及实现信息传送的通道。地址总线:P0口(A0~A7),P2口(A8~A15);数据总线:P0口(D0~D7);控制总线:P3口某些位以及其它信号构成,主要包括:ALE——P0口的地址锁存允许信号;——外部程序存储器读选通信号;——片内/片外程序存储器选择控制信号;(P3.6)——外部RAM或扩展I/O写信号;(P3.7)——外部RAM或扩展I/O读信号。PSENEAWRRD9.1.1数据存储器的扩展数据存储器芯片分为两大类:动态RAM(DRAM)芯片,一般容量较大,集成度高,功耗小,价格低,但易受干扰,使用略复杂;静态RAM(SRAM)芯片,一般容量较小,集成度高,功耗较大,价格较高,但电路连接简单,在工业现场常使用SRAM。MCS-51系列单片机内含有128B的数据存储器,但是在单片机进行实时数据采集和处理应用系统中,仅片内提供的数据存储器有时不够用,需要在片外扩展数据存储器。9.1.1数据存储器的扩展1.常用静态RAM(SRAM)芯片常用静态RAM(SRAM)芯片是Intel公司的系列产品,有6116、6264及62256等,它们的引脚如图9-1所示。A912345678910116116I/O0GNDOE1234567896264I/O1I/O2I/O7I/O5I/O6I/O4I/O3I/O7I/O5I/O6I/O4I/O3A7A6A5A4A3A2A1A0VCCA8WEA10WE12181716151413192021222324I/O0GNDI/O1I/O2A7A6A5A4A3A2A1A0A12NCVCCWECE2A8A9A11OEA10CE1011121314181716151920212223242526272812345678962256I/O7I/O5I/O6I/O4I/O3I/O0GNDI/O1I/O2A7A6A5A4A3A2A1A0A12VCCWEA8A9A11OEA10CE10111213141817161519202122232425262728A14A13图9-1静态RAM引脚图9.1.1数据存储器的扩展2.数据存储器扩展举例例9-1-1采用6264芯片在8031片外扩展8KB数据存储器。用6264芯片在单片机8031片外扩展8KB数据存储器的原理图如图9-2所示。P0口通过地址锁存器74LS373提供低8位地址,P2口P2.0-P2.4提供高5位地址,接P2.7,片选信号线CE2接高电平,保持一直有效状态。所以片外数据存储器的地址范围之一为0000H~1FFFH。读选通输入线与8031片外数据存储器读选通控制输出端相连,写允许信号输入线与8031片外数据存储器写选通控制输出端相连。9.1.1数据存储器的扩展图9-2一片6264与8031单片机的扩展连接图9.1.1数据存储器的扩展3.访问外部数据存储器的指令在第3章MCS-51系列单片机的指令系统一章中,对访问外部数据存储器的指令作了介绍,要采用寄存器间接寻址方式,有四条指令:(1)MOVXA,@Ri;读操作;(2)MOVX@Ri,A;写操作;(3)MOVXA,@DPTR;读操作;(4)MOVX@DPTR,A;写操作。其中(1)、(2)两条指令,可以寻址外部RAM地址空间范围是00H—0FFH;(3)、(4)两条指令,可以寻址外部RAM的0000H—0FFFFH整个64KB空间。9.1.2程序存储器的扩展1.程序存储器的分类(1)掩膜ROM:由生产芯片的厂家固化信息,不可改写。在最后一道工序用掩膜工艺写入信息,用户只可读。(2)可编程ROM(PROM):可编程ROM,用户可进行一次编程。存储单元电路由熔丝相连,当加入写脉冲,某些存储单元熔丝熔断,信息永久写入,不可再次改写。(3)紫外线擦除可编程ROM(EPROM):可在紫外线照射下擦除PROM,用户可以多次编程。加写脉冲后,某些存储单元的PN结表面形成浮动栅,阻挡通路,实现信息写入。用紫外线照射可驱散浮动栅,原有信息全部擦除,便可再次改写。9.1.2程序存储器的扩展(4)电擦除可编程ROM(EEPROM或E2PROM):可电擦除PROM,既可全片擦除也可字节擦除,可在线擦除信息,又能失电保存信息,具备RAM、ROM的优点。但写入时间较长。(5)快擦写型存储器(FlashMemory):新型的可擦除、非易失性PROM,既有EPROM价格低、集成度高的优点,又有E2PROM电可擦除和写入的特性。预计这类存储器具有很好的应用前景。2.EPROM芯片目前,扩展的外部程序存储器最常用的ROM器件是EPROM和E2PROM。如2716(2KB)、2732(4KB)、2764(8KB)、27128(16KB)、27256(32KB)和27512(64KB)等。2716、2732、2764芯片的引脚如图9-3所示。9.1.2程序存储器的扩展图9-327系列EPROM芯片的引脚图9.1.2程序存储器的扩展3.程序存储器扩展举例例9-1-2用一片EPROM2764芯片在8031单片机上扩展8KB的程序存储器。2764是8K×8B程序存储器,芯片的地址引脚线有13条A0~A12,顺次和单片机P0口的P0.0~P0.7和P2.0~P2.4相接。与相连,因只用一片2764,其片选信号CE可直接接地(常有效)。其连接电路如图9-4所示,该图中2764芯片的地址范围之一是0000H~1FFFH。9.1.2程序存储器的扩展图9-4一片2764与8031扩展连接图9.1.2程序存储器的扩展例9-1-3用两片EPROM2764芯片在8031单片机上扩展16KB的程序存储器。使用两片2764扩展16KB的程序存储器,采用线选法选中芯片。扩展连接图如图9-5所示。以P2.7作为片选,当P2.7=0时,选中2764(1);当P2.7=1时,选中2764(2)。因两根线(A13、A14)未用,故两个芯片各有22=4个可寻址的地址空间。它们分别为:9.1.2程序存储器的扩展芯片(1):00000000000000000~0001111111111111,即0000H~1FFFH;00100000000000000~0011111111111111,即2000H~3FFFH;01000000000000000~0101111111111111,即4000H~5FFFH;01100000000000000~0111111111111111,即6000H~7FFFH;芯片(2):10000000000000000~1001111111111111,即8000H~9FFFH;10100000000000000~1011111111111111,即A000H~BFFFH;11000000000000000~1101111111111111,即C000H~DFFFH;11100000000000000~1111111111111111,即E000H~FFFFH。9.1.2程序存储器的扩展图9-5两片2764与8031的扩展连接图9.1.2程序存储器的扩展例9-1-4用译码法对扩展的三个程序存储器实现片选。图9-6为采用译码法实现的片选电路示意图。图中74LS138是3-8译码器,具有3个选择输入端,输入信号是三位二进制代码,输出有八种状态,八个输出端分别对应其中一种输入状态,选择其中的Y0、Y1、Y2作为芯片Ⅰ、芯片Ⅱ、芯片Ⅲ的片选信号。74LS138的引脚图如图9-7所示,功能表如表9-1所示。9.1.2程序存储器的扩展图9-6用全译码法实现片选的连接图9.1.2程序存储器的扩展9.1.2程序存储器的扩展图9-6中芯片Ⅰ、Ⅱ、Ⅲ都是2KB×8位。地址线A0~A10用于片内寻址;高位地址线A13、A12、A11接到74LS138的选择输入端C、B、A;地址线A15、A14接到译码芯片的允许输入端。译码器输出、和分别作为3个芯片的片选信号。由于采用了全译码,每片程序存储器芯片的地址空间都是唯一的,因此3个芯片的地址范围分别为:芯片I:10000000000000000~1000011111111111,即8000H~87FFH;芯片II:10001000000000000~1000111111111111,即8800H~8FFFH;芯片III:10010000000000000~1001011111111111,即9000H~97FFH;9.2并行I/O口的扩展9.2.1简单I/O口的扩展方法9.2.2可编程并行接口8255A9.2.3并行口扩展举例9.2.1简单I/O口的扩展方法由于P0口分时作为数据总线和地址总线,所以P0口作为扩展输出口时,接口芯片应具有锁存功能,如74LS273;通过P0口作为扩展输入口时,应根据数据是常态还是暂态,接口芯片应具有三态缓冲或锁存选通功能,如74LS244。图9-8为通过74LS244、74LS273作为扩展输入/出的简单I/O接口电路。74LS244为三态缓冲器,扩展并行输入口,当控制端为低电平时,74LS244的输出信号与输入信号相等;当为高电平时,输出呈高组态。74LS273为锁存器,扩展并行输出口,可将P0口上的数据锁存。9.2.1简单I/O口的扩展方法图中P0口作为双向数据总线,既能从74LS244输入数据,又能通过74LS273输出数据。P2.7和相“或”控制扩展的输入口,当二者均为低电平时,选中74LS244,使数据输入到总线。P2.7和相或去控制扩展的输出口,当二者均为低电平时,选中74LS273,使P0口数据锁存到74LS273。由上述分析可知,无论输入还是输出P2.7均为低电平有效,因此可设74LS244和74LS273的口地址相同,都为7FFFH,两者在和的控制下工作,逻辑上不会发生冲突。下面编程实现读取开关K0~K7状态,由二极管LED0~LED7发光状态显示出来,开关闭合时,相应的二极管点亮。9.2.1简单I/O口的扩展方法图9-8简单I/O接口扩展电路9.2.1简单I/O口的扩展方法程序清单:ORG0100HLOOP:MOVDPTR,#7FFFH;74LS244和74LS273口地址MOVXA,@DPTR;通过74LS244读入开关状态MOVX@DPTR,A;开关状态通过74LS273输出SJMPLOOP;循环读取、显示END9.2.2可编程并行接口8255A1.8255A的结构及功能图9-9为8255A的引脚图和内部结构图,8255A是一个40引脚的双列直插式集成电路芯片,与MCS-51系列单片机具有相同的总线结构,能方便的直接相连。8255A的结构说明如下:(1)A口、B口、C口A口、B口和C口是3个8位的I/O接口。A口具有一个8位数据输出锁存器/缓冲器和一个8位数据输入锁存器,外接引脚为PA0~PA7。可编程为8位并行输入、8位并行输出或双向输入/输出寄存器。9.2.2可编程并行接口8255AB口具有一个8位数据输出锁存器/缓冲器和一个8位数据输入缓冲器(不锁存),外接引脚为外接PB0~PB7。可编程为8位输入或输出寄存器,但不能双向输入/输出数据。C口具有一个8位数据输出锁存器/缓冲器和一个8位数据输入缓冲器(不锁存),外接引脚为PC0~PC7。可编程为输入或输出口,也可分成两个4位口使用,作为A口、B口选通方式的控制信号。9.2.2可编程并行接口8255A图9-98255A的引脚图及内部结构9.2.2可编程并行接口8255A(2)A组和B组控制电路8255A将A口、B口、C口分为A组和B组。A口和C口的高4位(PC7~PC4)为A组,B口和C口的低4位(P
本文标题:第九章-单片机的系统扩展
链接地址:https://www.777doc.com/doc-2303140 .html