您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 6单片机系统扩展与接口技术(新)
Welcometostudy枣庄学院机电工程学院第六章单片机系统扩展及接口技术内容提要1、程序存储器扩展2、数据存储器扩展3、并行I/O接口4、显示器接口5、键盘接口6、串行通信接口7、模拟电路接口6.1系统扩展概述1、最小应用系统(a)8051/8751最小系统结构图;(b)8031最小系统结构图MCS–51单片机最小化系统2、系统扩展的内容与方法(1)系统的扩展的两个任务:A、把系统所需的外设与单片机连接起来,使单片机能够与外界进行信息交换。(即接口设计)B、扩大单片机的容量(外部程序存储器、外部数据存储器、输入/输出接口的扩展)。(2)系统扩展的基本方法:扩展连接的一般方法实际上是三总线对接。注意:P0口线地址/数据分时复用,需用地址锁存器74LS373锁存地址。三总线的概念:地址总线——AB,P0口提供(A7~A0);P2口提供(A15~A8),共16位。数据总线——DB,P0口提供(D7~D0),共8位。控制总线——CB,ALE、、、、等。EAPSENWRRD控制线的连接对存储器来讲控制线无非是:芯片的选通控制、读写控制。单片机与外部器件数据交换要遵循两个重要原则:一是,地址唯一性,一个单元一个地址。二是,同一时刻,CPU只能访问一个地址,即只能与一个单元交换数据。不交换时,外部器件处于锁闭状态,对总线呈浮空状态。A、以P0口的8位口线作地址/数据线P0口线既作地址线使用又作为数据线使用,具有双重功能,因此需采用复用技术,对地址和数据进行分离,为此在构造地址总线时要增加一个8位锁存器。首先由锁存器暂存并为系统提供低8位地址,其后P0口线就作为数据线使用。通常使用的锁存器有74LS273或74LS373。B、以P2口的口线作高位地址线如果使用P2口的全部8位口线,再加上P0口提供的低8位地址,则形成了完整的16位地址总线。使单片机系统的扩展寻址范围达到64K单元。C、控制信号除了地址线和数据线之外,在扩展系统中还需要单片机提供一些控制信号线,以构成扩展系统的控制总线。其中包括:*使用ALE作地址锁存的选通信号,以实现低8位地址的锁存;*以/PSEN信号作扩展程序存储器的读选通信号;*以EA信号作为内外程序存储器的选择信号;*以/RD和/WR作为扩展数据存储器和1/O端口的读写选通信号6.2程序存储器的扩展为什么要扩展?用什么扩展?1、访问程序存储器的控制信号*ALE--作地址锁存的选通信号,以实现低8位地址的锁存;*/PSEN--作扩展程序存储器的读选通信号;接EPROM的/OE*/EA--作为内外程序存储器的选择信号;EA8031P2.7P2.0~P0.7P0.0~地址锁存器PSENOEA15A8~CEA7A0~D7D0~外部程序存储器0K~64K外部程序存储器一般连接方法2、扩展能力根据MCS-51单片机总线宽度(16位),在片外可扩展的存储器最大容量为64KB,地址为0000H~FFFFH。3、扩展8KB/16KBEPROM(1)常用程序存储器芯片典型产品有2716、2764、27128、27256、27512等(2).扩展存储器所需芯片数目的确定A、若所选存储器芯片字长与单片机字长一致,则只需扩展容量。所需芯片数目按下式确定:存储器芯片容量系统扩展容量芯片数目B、若所选存储器芯片字长与单片机字长不一致,则不仅需扩展容量,还需字扩展。所需芯片数目按下式确定:存储器芯片字长系统字长存储器芯片容量系统扩展容量芯片数目2764与8031的扩展连接图a)不用片外译码器的单片程序存储器的扩展(3)、扩展举例上图所示连接电路的8个重叠的地址范围为0000000000000000~0001111111111111,即0000H~1FFFH;0010000000000000~0011111111111111,即2000H~3FFFH;0100000000000000~0101111111111111,即4000H~5FFFH;0110000000000000~0111111111111111,即6000H~7FFFH;1000000000000000~1001111111111111,即8000H~9FFFH;1010000000000000~1011111111111111,即A000H~BFFFH;1100000000000000~1101111111111111,即C000H~DFFFH;1110000000000000~1111111111111111,即E000H~FFFFH。b)采用线选法的多片程序存储器的扩展例使用两片2764扩展16KB的程序存储器,采用线选法选中芯片。左片:00000000000000000~0001111111111111,即0000H~1FFFH;00100000000000000~0011111111111111,即2000H~3FFFH;01000000000000000~0101111111111111,即4000H~5FFFH;01100000000000000~0111111111111111,即6000H~7FFFH;右片:10000000000000000~1001111111111111,即8000H~9FFFH;10100000000000000~1011111111111111,即A000H~BFFFH;11000000000000000~1101111111111111,即C000H~DFFFH;11100000000000000~1111111111111111,即E000H~FFFFH。c)采用地址译码器的多片程序存储器的扩展例要求用2764芯片扩展8031的片外程序存储器,分配的地址范围为0000H~3FFFH。本例地址空间是唯一确定的,所以要采用全译码方法。由分配的地址范围知:扩展的容量为3FFFH-0000H+1=4000H=4KB,2764为8K×8位,故需要两片。第1片的地址范围应为0000H~1FFFH;第2片的地址范围应为2000H~3FFFH。由地址范围确定译码器的连接。为此画出译码关系图如下:4、EEPROM接口设计EEPROM是一种电擦除可编程只读存储器,其主要特点是能在计算机系统中进行在线修改,并能在断电的情况下保持修改的结果。因而在智能化仪器仪表、控制装置等领域得到普遍采用。常用的EEPROM芯片主要有Intel2817A、2864A等。2817A2864A管脚及原理框图(a)管脚;(b)原理框图程序存储器E2PROM2864A2864A工作方式(1)维持和读出方式:2864A的维持和读出方式与普通EPROM完全相同。(2)写入方式:2864A提供了两种数据写入操作方式,字节写入和页面写入。(3)数据查询方式:EEPROM2864的扩展P2.0P2.1P2.2P2.3P2.4P2.7A8A9A10A11A12QOA0A1A2A3A4A5A6A7Q1Q2Q3Q4Q5Q6Q7D0D1D2D3D4D5D6D7P0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7ALED0D1D2D3D4D5D6D7OEGOE803128C64CEEA74HC373WRPSENRD&WE74LS086.3数据存储器的扩展常用静态RAM芯片的引脚图118217316415514613712811910VCCA7A8A9I/O1I/I/I/WE2114A6A5A4A3A0A1A2CSGND1242233224215206197188179161015111412136116A7A6A5A4A3A2A1A0I/O0GNDVCCA8A9WEOEA10CE128227326425524623722821920101911181217131614156264VCCWECE2A8A9A11OEA10CE1NCA12A7A6A5A4A3A2A1A0GNDO2O3O4I/O1I/O2I/O7I/O5I/O6I/O4I/O3I/O0I/O1I/O2I/O7I/O5I/O6I/O4I/O31.常用的数据存储器芯片A、静态RAM芯片(6116、6264、62256、628128)6264的工作方式2.数据存储器的扩展举例例1采用6264芯片在8031片外扩展8KB数据存储器。6264的8KB地址范围不唯一(因为A14A13可为任意值),6000H~7FFFH是一种地址范围。当向该片6000H单元写一个数据DATA时,可用如下指令:MOVA,#DATAMOVDPTA,#6000HMOVX@DPTR,A从7FFFH单元读一个数据时,可用如下指令:MOVDPTR,#7FFFHMOVXA,@DPTR例2、兼有片外程序存储器和片外数据存储器的扩展采用2764和6264芯片在8031片外分别扩展24KB程序存储器和数据存储器。扩展连接电路如图所示。从图中可以看出,各有一片2764和一片6264的片选端并接在一根译码输出线上。即有2764和6264芯片相同的地址单元将会同时选通,这不会发生地址冲突,因为两种芯片的控制信号是不一样的。分析两种存储器及各芯片的地址范围。§6.4并口的扩展方法并口扩展常用三种方法:1、利用TTL、CMOS集成电路来扩展2、利用单片机串口扩展3、利用可编程并行接口芯片来扩展I/O口扩展的原则“输入三态,输出锁存”与总线相连的原则补充:接口概述I/O接口(Interface)和I/O端口(Port)的区别:I/OPort:简称I/O口,指I/O接口中带有端口地址的寄存器或缓冲器,CPU通过端口地址就可以对Port中的信息进行读写。I/OInterface:指CPU与外设间的I/O接口芯片。通常,一个外设只需要一个I/O接口,但一个I/O接口可以有多个I/O端口,保存数据的端口叫数据口,保存来自CPU的控制命令的端口叫命令口,保存外设状态信息的端口叫状态口。I/O接口的扩展方法:类似与数据存储器RAM的扩展。关键是三总线。所有端口与CPU之间的数据传送都通过数据总线DB进行;由地址总线AB上的地址信号经译码后进行芯片选择和端口选择;由控制总线CB上的信号控制数据信息的传送。一、利用TTL、CMOS集成电路来扩展1、用锁存器扩展简单的8位输出口8031P2.7P0.7P0.6P0.5P0.4P0.3P0.2P0.1P0.0/WR74LS377/ED7Q7D6Q6D5Q5D4Q4D3Q3D2Q2D1Q1D0Q0/CP输出设备D7D6D5D4D3D2D1D074LS377为8D锁存器,八入八出,一时钟CP,一锁存允许/E。/E=0时,CP的上升沿,输入数据并锁存。MOVDPTR,#7FFFH;指向74LS377MOVA,#data;取输出的数据MOVX@DPTR,A;通过74LS377送出数据P2.7接/E,所以,74LS377的口地址为7FFFH。P0口是数据总线口,作I/O口用时只能分时使用,为此,输出数据时需要锁存。2、用锁存器扩展简单的八位输入口外设与单片机在传输数据速度上存在着一定的差异,为了保证数据能被单片机正确地接收,应采取以下电路:输入设备STBIN7IN6IN5IN4IN3IN2IN1IN08031P2.6P0.7P0.6P0.5P0.4P0.3P0.2P0.1P0.00INTRD74LS373GQ7D7Q6D6Q5D5Q4D4Q3D3Q2D2Q1D1Q0D0E1在STB的下降沿,将数据锁存入74LS373/E控制着74LS373的输出,由P2.6和/RD相或控制,所以,74LS373的口地址为BFFFH。例、设将上图74LS373中数据送入8031片内数据存储器中首地址为50H的数据区。写出相应中断系统初始化及中断服务程序。中断系统初始化程序:PINT:SETBIT0;/INT0选为下降沿触发方式SETBEA;CPU开中断MOVR0,#50H;置数据区首址SETBEX0;/INT0中断允许中断服务程序:ORG0003HPINT0:AJMPINT0ORG1000HINT0:MOVDPTR,#0BFFFH;指向74LS373扩展输入口M
本文标题:6单片机系统扩展与接口技术(新)
链接地址:https://www.777doc.com/doc-2931115 .html