1、第6章 MCS-51系列单片机的扩展技术 6.1 外部存储器的扩展技术6.1.1 外部程序存储器的扩展技术6.1.2 外部数据存储器的扩展技术 6.2 并行接口的扩展技术6.2.1 简单输入输出口的扩展6.2.2 可编程并行输入输出口8255的扩展6.2.3 可编程并行输入输出口8155的扩展 6.3 串行接口的扩展技术6.3.1 I2C串行总线6.3.2 51单片机与I2C总线器件的接口6.3.3 串行E2PROM与51单片机与I2C总线器件的接口,6.1 外部存储器的扩展技术,6.1.1 外部程序存储器的扩展技术 (1)外部程序存储器时序分析 51单片机在进行系统扩展时,所需的16条地址线
2、分别由P2口和P0口提供,8条数据信号线由P0口提供。P0口是地址/数据复用总线,分时传送低8位地址和数据,由地址锁存允许信号ALE控制地址传送,外部程序存储器读选通信号PSEN控制它的数据传送。单片机访问外部程序存储器的时序如下图所示。,(3)E2PROM存储器及扩展电路E2PROM是一电擦除可编程的只读存贮器,能在线修改存贮单元内容,并能在断电情况下保持修改结果。目前,E2PROM在智能仪器仪表、智能终端、自动控制装置等应用领域中仍应用广泛。常用的E2PROM有2817A、2864等。2864的引脚配置如右图所示。2864作为51系列单片机片外数据存贮器的扩展电路如下图所示。,由于片外只有
3、一片EPROM,故该EPROM的CE可直接接地。对于拟用多片EPROM芯片构成外部程序存贮器的应用系统,其EPROM的CE信号有两种处理方法,一种是线选法,另一种是译码法。所谓线选法,就是把单根高位地址线直接加在存贮器芯片的CE端。线选法的优点是连接简单,不必附加逻辑,但扩展的存贮芯片地址不连续,且具有地址重叠区。 译码法要附加译码电路,常用译码电路有74LS138、 74LS139等。译码法能提供全部64KB地址空间,且扩展的存贮器芯片地址是连续的。,6.1.2 外部数据存储器的扩展技术51系列单片机扩展的片外I/O口和外部数据存贮器统一编址,所以,对于需要在片外扩展I/O口的应用系统来说,
4、允许直接扩展的外部数据存贮器容量不足64KB。 (1)外部数据存储器时序分析 外部数据存贮器访问时序如下图所示。,(2)外部数据存储器的连接方法MCS-51单片机和外部数据存储器的连接方法与外部程序存储器的连接方法基本相同,不同之处仅在于选通信号的连接。MCS-51单片机和外部数据存储器的连接方法如下图所示。,6.2 并行接口的扩展技术,6.2.1 简单输入输出口的扩展 (1)74LS244的扩展74LS244是一种双4位三态门电路,内部有两个4位的三态缓冲器。扩展电路图参见教材第179页。 (2)74LS273的扩展74LS273是一种能实现8位二进制数据锁存的8D锁存器,选通脉冲输入端CL
5、K用于将输入端D0D7上数据选通送入锁存器,CLK引脚的上升沿锁存数据。具体扩展电路图参见教材第179页。,从功能分,单片机扩展的I/O接口可分为两种基本类型:简单I/O口和可编程I/O口。,6.2.2 可编程并行输入输出口8255A的扩展 (1)8255A的内部结构及引脚功能8255A内含A、B、C三个8位的输入输出数据端口,A、B两组控制电路,读/写控制逻辑电路以及数据总线缓冲器,其内部结构如下图所示。,(2)8255A的工作方式8255A有以下三种基本工作方式:方式0( 基本输入/输出方式)、方式1(选通输入/输出方式)和方式2(选通式双向数据传送方式)。方式0适用于以无条件传送方式完成
6、CPU与外设间的数据传送。A口、B口和C口均工作于该方式,各端口是输入还是输出由方式选择字来设置。方式1常用于查询传送和中断传送。只有A口和B口可工作于该方式,C口的部分引脚作为固定的专用选通信号,且A口和B口无论输入或输出都有数据锁存功能。方式2的数据传送可用查询或中断实现,只有A口可工作于该方式,为双向输入/输出口,C口的PC3PC7作为专用选通信号线,输入和输出的数据都被8255A锁存。,(3)8255A的编程8255A的控制命令字有两个:方式选择控制字和端口C按位置位/复位控制字,这两个控制字都是向控制端口写入。方式选择控制字的格式如下图所示。,端口C按位置位/复位控制字的格式如下图所
7、示。,3)编程举例 若规定图6.21中的8255A的A口作输入、B口、C口作输出,且均工作在方式0下,相应程序段有:MOV A,90H MOV DPTR,#0003HMOVX DPTR,AMOV DPTR,0000HMOVX A,DPTRMOV DPTR,#0001HMOV A,DATA1MOVX DPTR,A,6.2.3 可编程并行输入输出口8155的扩展 (1)8155的内部结构及引脚功能Intel 8155是一种多功能的可编程常用外围接口芯片,其在片资源包括:2568位静态RAM,两个8位、1个6位的并行I/O口以及一个14位的可编程定时计数器,其内部结构框图如下图所示。,(2)8155
8、片内各功能模块简介 片内静态RAM该静态RAM为2568位,最大存取时间为400ns。 I/OI/O部分由端口A、B、C以及命令/状态寄存器(C/S)组成。端口A、B可设定为基本输入/输出方式和选通输入/输出方式,端口C要视端口A、B的情况而定。 8155的控制字、状态字8155的控制逻辑部件中设置了一个控制命令寄存器和一个状态标志寄存器。8155的工作方式由控制命令寄存器编程确定,控制命令寄存器的格式如下,,各位的含义如下:PA位定义A口的数据传送方向,0为输入方式,1为输出方式。PB位定义B口的数据传送方向, 0为输入方式,1为输出方式。PC2、PC1:定义C口的工作方式。 IEA为A口的
9、中断允许/禁止。当A口工作在选通的输入、输出方式时,该位=1,允许端口A中断。而该位=0时,则禁止A口中断。IEB为B口的中断允许/禁止。当B口工作在选通的输入/输出方式时,该位=1,允许端口B中断。而该位=0时,则禁止B口中断。TM2、TM1:用于定时计数器部分。,8155内部的状态标志寄存器,主要用于反映端口的工作状态。它是一个7位的只读寄存器,格式如下,,INTE为端口中断允许与禁止状态标志,INTE=1允许中断,INTE=0禁止中断。BF为端口缓冲器满/空状态标志,BF=1缓冲器满,BF=0缓冲器空。INTR为端口中断请求状态标志,INTR=1有中断请求,INTR=0无中断请求。TIM
10、ER为定时/计数器中断请求标志,TIMER=1有定时器溢出中断,TIMER=0表示读状态字后或复位后。, 定时/计数器8155片内的定时/计数器由一个14位的减法计数器和一个16位方式、长度寄存器构成。14位的减法计数器对输入引脚TIMER IN上的输入脉冲进行减1计数,减1回零时在TIMEROUT引脚上输出一个矩形波或脉仲信号,完成定时/计数任务。16位的方式、长度寄存器专门用于存放定时/计数器的输出方式及计数长度,其格式如下,,其中013位为计数长度,14、15位为方式选择位,用来定义定时计数器的4种输出方式。,(3)8155的扩展8155扩展电路如下图所示。,(4)8155的初始化编程设
11、A口为基本输入输出方式,B口、C口为基本输入方式,将定时器作为方波发生器,对输入脉冲20分频,则初始化程序如下: START:MOV DPTR,0BF04H MOV A,14HMOVX DPTR,AINC DPTRMOV A,40HMOVX DPTR,AMOV DPTR,0BF00HMOV A,#0C1HMOVX DPTR,ARET,6.3 串行接口的扩展技术,6.3.1 I2C串行总线I2C总线是Philips公司推出的一种串行总线,主要用于IC器件之间的二线制同步通信,它通过串行时钟线SCL和串行数据线SDA实现总线上各器件的同步数据传送,其总线的基本结构如下图所示。,6.3.2 51单片
12、机与I2C总线器件的接口带I2C总线接口的E2PROM是单片机应用系统中应用较广泛的一类存储器器件。其优点是体积小、功耗低、占用I/O口线少,性能价格比高。本节主要介绍MCS-51与带I2C总线接口的E2PROM的接口方法。现以AT24C系列为例进行简要介绍。 (1)AT24C系列E2PROM的内部结构及特点 其内部结构及引脚如下图所示 。,引脚功能介绍如下,SCL为串行时钟端;SDA为串行数据地址端;由于SDA为漏极开路端,故需接上拉电阻到VCC;WP为写保护,当WP为高电平时,存储器只读;当WP为低电平时,存储器可读可写;A0、A1、A2是片选或块选信号;VCC和VSS分别是电源和地。,(2)接口技术MCS-51单片机与AT24C串行E2PROM的接口电路连接示意图如下。,(3)读写操作原理器件地址的固定部分为1010,A2、A1、A0三个引脚的不同状态可确定3位编码,由此形成的7位编码即为该器件的地址码,其格式如下,其中R/W为数据传送方向。,6.3.3 串行E2PROM与51单片机接口实例 例:电路图如下,欲将51单片机内部RAM 30H37H存放的8个字节数据依次写入AT24C04存储器的50H57H单元,为检查写入效果,再将AT24C04的50H57H单元的内容读出依次显示在LED0LED7上,试编程实现。,读流程图,写流程图,读流程图和写流程图如右图所示。,