单片机6第六章系统扩展.

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

单片机原理及应用北京化工大学信息科学与技术学院主讲教师:郭青E-mail:guoqing@mail.buct.edu.cn第六章单片机系统的扩展对于简单的应用场合,80C51的最小系统就能满足要求;对于复杂的应用场合,就需要利用单片机的扩展功能,构成功能强,规模较大的系统。系统扩展是指单片机内部各功能部件不能满足应用系统要求时,在片外连接相应的外围芯片以满足应用系统要求。外部程序存储器ROM/EPROM的扩展外部数据存储器RAM的扩展I/O接口的扩展中断系统扩展其它特殊功能扩展扩展内容第六章单片机系统的扩展一、80C51的总线结构当单片机进行外部并行扩展时,其外部连线就成为一般微型机的三总线结构形式6.1概述扩展方法并行扩展串行扩展利用三总线结构利用SPI三线总线和I2C双总线80C51总线结构ALE:当访问外部存储器时,ALE信号的负跳变将P0口上的低8位地址送入地址锁存器PSEN:在访问外部程序存储器读取指令码时,每个机器周期产生两次PSEN信号,与地址信号配合,选通相应的外部程序存储单元,读取指令码,指令码从P0口输入WR、RD:外部数据存储器读、写选通,低电平有效。由MOVX指令产生EA:访问内部或外部程序存储器选择信号。EA=1,访问内部程序存储器,当PC超过片内存储器空间,自动转向外部;EA=0,访问外部程序存储器。二、外部串行扩展性能(略)控制总线作用简述一、外部程序存储器的扩展单片微机的内外程序存储器最大可扩展至64KB扩展芯片可采用EPROM1、扩展的基本方法地址线、数据线对应相连单片机的PSEN线与扩展芯片的MEMR(OE)线相连扩展芯片的片选线可接地或与线性选择线或译码输出线相连ALE与地址锁存器选通相连EA接地或接+5V6.2单片机的外部并行扩展程序存储器扩展框图EA接地,外部程序存储器地址从0000H开始2、锁存器74HC373:锁存缓冲器D0~D7:数据输入Q0~Q7:数据输出LE:锁存允许端:输出允许端OE74HC373真值表74HC373逻辑图单片机外部程序存储器取指操作时序s1s2s3s4s5s6s1s2s3s4s5s6机器周期1机器周期2XTAL1ALEPSENPCHPCHP2PCHPCL指令P0PCL指令PCL指令P2口连续输出PC高8位地址,剩余位线不能再作为I/O口使用80C51扩展2732为程序存储器27324K×8位EPROM12位地址线8位数据线片选线CE输出允许端OE2732的地址范围1000H~1FFFHVCCEAP2.0~P2.3ALE80C51P0GNDPSENA8~A11VCC2732A0~A7CEO0~O7GNDOE+5VLEVCCQ074HC373~Q7OED0~D7+5V+5V8884EA上拉到+5VPC小于0FFFH时,访问片内程序存储器;PC大于0FFFH时,访问片外程序存储器2732。80C31扩展两片8K×8位片外程序存储器2764地址范围P2.5=0,选中片1:0000H~1FFFHP2.5=1,选中片2:2000H~3FFFH1、扩展概述最大可扩展64K字节,连接方法与程序存储器连接方法大致相同地址线、数据线对应相连存储器读输入RD与单片机读输出RD(P3·7)相连存储器写输入WR与单片机写输出WR(P3·6)相连ALE连接方法同程序存储器二、外部数据存储器扩展MOVXA,@DPTR和MOVX@DPTR,A操作时序s1s2s3s4s5s6s1s2s3s4s5s6PCHDPHPCL指令DPL数据输入数据输出机器周期1机器周期2XTAL1ALEPSENP2P0RDP0WRPCL指令DPLs1s2s3s4s5s6s1s2s3s4s5s6PCHP2口锁存器内容PCL指令Ri数据输入PCL指令Ri数据输出机器周期1机器周期2XTAL1ALEPSENP2P0RDP0WRMOVXA,@Ri和MOVX@Ri,A操作时序2、扩展片外数据存储器的硬件电路在80C51的扩展系统中,片外数据存储器一般由随机存取存储器组成,最大可扩展64KB由于面向控制,实际上扩展的容量都不会太大,一般采用静态RAM,如6116(2K×8位)和6264(8K×8位)地址锁存器与扩展程序存储器时一样,采用8D锁存器74HC273或锁存缓冲器74HC373扩展片外数据存储器的硬件电路静态数据存储器(6116)常用的静态数据存储器:6116(2K*8);6264(8K*8)静态数据存储器的特点:1)无需考虑保持数据而设置的刷新电路,扩展电路简单2)通过有源电路来保持存储器中的数据,消耗较多功率3)价格高6116,采用CMOS工艺制作,单一+5V电源,额定功耗160mw,典型存取时间为200ns,24线双列直插式封装。操作方式操作方式CEOEWEIO0--IO7写LHLDin读LLHDout未选中H任意任意高阻写LLLDin6116引脚及逻辑符号A7A6A5A4A3A2A1A0IO0IO1IO2GNDACCA8A9WEOEA10CEIO7IO6IO5IO4IO31241213A10A011IO7IO08CEOEWEVCCGND5V扩展2K*8位片外数据存储器静态数据存储器62646264,采用CMOS工艺制作,单一+5V电源,额定功耗200mw,典型存取时间为200ns,增加了两根地址线,28线双列直插式封装。操作方式CE1CE2OEWEIO0--IO7写LHHLDin写LHLLDin读LHLHDout未选中H任意任意任意高阻未选中任意L任意任意高阻输出禁止LHHH高阻6264引脚A12A013IO8IO18CEOEWEVCCGND5V6264逻辑图两片6264扩展16K×8位片外数据存储器当P2.5=0时,访问片(1);当P2.5=1时,访问片(2)。片(1)的地址范围为0000H~1FFFH;片(2)的地址范围为2000H~3FFFH。三、扩展片外程序存储器和片外数据存储器1、分别扩展片外程序存储器和片外数据存储器在单片机系统中,既需要扩展片外程序存储器,也需要扩展片外数据存储器。分别扩展片外程序存储器和片外数据存储器程序存储器和数据存储器都由P2口提供高8位地址、P0口提供低8位地址和8位数据或指令,且公用一个地址锁存器。两者共处同一地址空间,即程序存储器地址范围为0000H~1FFFH,数据存储器的地址范围也是0000H~1FFFH。程序存储器由读选通信号PSEN控制,数据存储器的读和写由RD和WR信号控制。由于控制信号的不同,程序存储器和数据存储器的空间在逻辑上是严格分开的,所以在访问它们时不会发生总线冲突。EEPROM:电擦写可编程只读存储器,特点是能在线+5V改写,掉电时原存信息不丢失。以2817A为例介绍单片机扩展EEPROM为通用存储器的方法1、外特性容量为2KB外部EEPROM存储器扩展工作方式CEOEWERDY/BUSY输入/输出读001高阻Dout写0100Din维持1XX高阻高阻字节擦除字节写入前自动擦除2、接口电路地址线、数据线及片选线的连接与RAM和EPEOM相同因为EEPROM即可随机读写,又不会因掉电而丢失信息,所以即可作为程序存储器又可作为数据存储器使用下图为8031单片机扩展2817AEEPROM作为通用存储器的电路图RDY/BUSY:写入1字节时间为16ms左右,在写入期间为低电平,P1·0输入低电平;写入结束,RDY/BUSY呈高阻状态,P1·0由3K电阻及+5V电压上拉至高电平。8031单片机扩展EEPROM2817A作为通用存储器3、程序举例将2817A的0700H~07FFH(256个)单元依次写入数据00H~FFH的子程序段ORG0100HMOVDPL,#00HMOVDPH,#07HMOVA,#00HMOVX@DPTR,AJNBP1.0,$INCDPTRINCAJNZLOOPRETSTART:LOOP:;置首地址;P1·0为1,表示已写完;为0,表示正在写,等待;写入最大值为FFH,加1为00H,传送结束四、通过并行总线扩展I/O口I/O(输入/输出)接口是MCS-51与外设交换数字信息的桥梁。I/O扩展也属于系统扩展的一部分。真正用作I/O口线的只有P1口的8位I/O线和P3口的某些位线。在多数应用系统中,MCS-51单片机都需要外扩I/O接口电路。I/O接口电路应满足以下要求:1.实现和不同外设的速度匹配2.输出数据锁存3.输入数据三态缓冲通过并行总线扩展I/O口完成输入/输出口功能的扩展,可以利用简单的TTL电路或CMOS电路,也可以使用可编程接口芯片。如:可编程并行接口(8155、8255)可编程通用同步/异步通信接口(8251)可编程定时/计数器(8253)等使用接口芯片优点:与80C51信号体制一致,利用扩展片外数据存储器的并行总线进行访问,使用MOVX指令,接口非常方便。1、80C51扩展8255A接口电路8255A是Intel公司生产的可编程并行I/O接口芯片具有3个8位的并行I/O口,3种工作方式引脚图D7~D0:三态双向数据线CS:片选信号线,低电平有效RD:读出信号线WR:写入信号线Vcc:+5V电源PA7~PA0:A口输入/输出线PB7~PB0:B口输入/输出线PC7~PC0:C口输入/输出线A1、A0:地址线,用来选择8255A内部的4个端口。3个8位的并行I/O口PA口:数据输出锁存和缓冲;数据输入锁存PB口:数据输出锁存和缓冲;数据输入缓冲。PC口:数据输出锁存;数据输入缓冲。PC口可在软件的控制下,分为两个4位端口作为PA口、PB口选通方式操作时的状态控制信号。8255A各端口编址A1A0端口00A口01B口10C口11控制字寄存器A1A0RDWRCS工作状态00010读端A:A口数据→数据总线读端口B:B口数据→数据总线读端口C:C口数据→数据总线010101001000100写端口A:总线数据→A口写端口B:总线数据→B口写端口C:总线数据→C口写控制字:总线数据→控制字寄存器011001010011100××××1数据总线为高阻11010非法状态××110数据总线为高阻8255A端口工作状态选择8255A有三种工作方式:方式0:基本输入输出方式1:选通输入输出方式2:双向传送(仅A口有)三种工作方式由方式控制字来决定8255A的工作方式8255A的工作方式P0.0~P0.774HC373ALED7~D0A1A02P2.7CS80C518255ARDWRRDWR8255A各口地址:A:8000HB:8001HC:8002H控制字寄存器:8003H设未用地址线为080C51与8255接口电路初始化程序举例A组设置成方式2,B组为方式1,B口作为输出口,控制字为C4HMOVDPTR,#8003HMOVA,#0C4HMOVX@DPTR,A输出缓冲器满乙机接收过程•检测PC4•输入数据•通过PC0发应答信号甲机发送过程•发送数据•通过PC7硬件置低电平•检测PC6,准备下一组数据INTRA2、扩展简单的输入/输出口扩展8个输出口的电路使用MOVX@Ri,A时,口地址为00H~07H使用MOVX@DPTR,A时,口地址为0000H~0007HWR有片外数据存储器时的扩展P1.0口来选择I/O或RAM0—RAM地址范围为0000H~1FFFH1—I/O输入口地址任意外围设备向单片机输出数据时,有一选通信号连接在74HC373的锁存允许端上,在选通信号的低电平期间将发来的数据锁存,同时向CPU发出中断申请。在中断服务程序中由P0口读入锁存器中的数据。例:将单片机从输入口读入的数据,存入片外数据存储器6264的以1000H为首地址的区域。初始化和中断服务程序如下。中断系统初始化程序:INIT:CLRIT0;MOVDPTR,#1000HSETBEX0SETBEA;外部中断0选为低电平触发;置数据区首址;外部中断0允许;CPU开中断…中断服务程序:ORG0003HAJMPINTORG0100HINT:SETBP1.0MOVXA,@DPTRCLRP1.0MOVX@DPTR,AINCDPTRRETI;外部中

1 / 83
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功