单片微机的系统扩展原理及接口技术课件

上传人:我*** 文档编号:144701988 上传时间:2020-09-13 格式:PPT 页数:121 大小:2.27MB
返回 下载 相关 举报
单片微机的系统扩展原理及接口技术课件_第1页
第1页 / 共121页
单片微机的系统扩展原理及接口技术课件_第2页
第2页 / 共121页
单片微机的系统扩展原理及接口技术课件_第3页
第3页 / 共121页
单片微机的系统扩展原理及接口技术课件_第4页
第4页 / 共121页
单片微机的系统扩展原理及接口技术课件_第5页
第5页 / 共121页
点击查看更多>>
资源描述

《单片微机的系统扩展原理及接口技术课件》由会员分享,可在线阅读,更多相关《单片微机的系统扩展原理及接口技术课件(121页珍藏版)》请在金锄头文库上搜索。

1、第八章 80C51单片微机的系统扩展原理及接口技术,8.1 系统扩展原理,系统扩展是指单片微机内部各功能部件不能满足应用系统要求时,在片外连接相应的外围芯片以满足应用系统要求。80C51系列单片微机有很强的外部扩展能力,扩展电路及扩展方法较典型、规范。80C51 系列单片微机的系统扩展主要有程序存储器(ROM)的扩展、数据存储器(RAM)的扩展、I/O口的扩展、中断系统扩展以及其它特殊功能接口的扩展等。 对于单片微机系统扩展的方法有并行扩展法和串行扩展法两种。并行扩展法是指利用单片微机本身具备的三组总线(AB、DB、CB)进行的系统扩展,早几年构成单片微机应用系统的扩展方法基本上都是并行的三总

2、线扩展。近几年,由于集成电路设计、工艺和结构的发展,串行扩展法得到了很快发 展,它利用SPI三线总线和I2C双线总线进行串行系统扩展。有的单片微机应用系统可能同时采用并行扩展法和串行扩展法。,单片微机是通过芯片的引脚进行系统扩展的。 80C51系列带总线的单片微机芯片引脚可以构成图81所示的三总线结构即地址总线(AB)数据总线(DB)和控制总线(CB)。具有总线的外部芯片都通过这三组总线进行扩展。 (1)地址总线(AB) 地址总线由单片微机P0口提供 低8位地址A0A7,P2口提供高8位地址A8A15。P0口是地址总线低8位和8位数据总线复用口,只能分时用作地址线。故P0口输出的低8位地址A0

3、A7必须用锁存器锁存。 锁存器的锁存控制信号为单片微机ALE引脚输出的控制信号。在ALE的下降沿将P0口输出的地址A0A7锁存。P0、P2口在系统扩展中用做地址线后便不能作为一般I/O口使用。 由于地址总线宽度为16位,故可寻址范围为64 KB。 (2)数据总线(DB) 数据总线由P0口提供,用D0D7表示。P0口为三态双向,8.1.1外部并行扩展原理,口为三态双向口,是应用系统中使用最为频繁的通道。所有单片微机与外部交换的数据、指令、信息,除少数可直接通过P1口 外,全部通过P0口传送。 数据总线是并连到多个连接的外围芯片的数据线上,而在同一时间里只能够有一个是有效的数据传送通道。哪个芯片的

4、数据通道有效,则由地址线控制各个芯片的片选线来选择。 (3)控制总线(CB) 控制总线包括片外系统扩展用控制线和片外信号对单片微机的控制线。 系统扩展用控制线有ALE、 、 。 ALE:输出P0 口上地址与数据隔离信号,用于锁存P0口输出的低8位地址的控制线。通常,ALE在P0口输出地址期间出现低电平,用这个低电平信号的上升沿控制锁存器来锁存地址数据。, :输出,用于读片外程序存储器(EPROM)中的数据。“读”取EPROM中数据(指令)时,不能用“ ”信号,而只用 信号。 :输入,用于选择片内或片外程序存储器。 当 0时,只访问外部程序存储器。当 1时,先访问内部程序存储器,内部程序存储器全

5、部访问完之后,再访问外部程序存储器。,、 :输出,用于片外数据存储器(RAM)的读、写控制。当执行片外数据存储器操作指令MOVX时,自动生成 、 控制信号。 常用地址锁存器管脚见图82。 八D透明锁存器74LS373的锁存允许信号LE是电平锁存。当LE从高电平转为低电平时,将其输入端的数据锁存在输出端。当ALE为高电平时,八D锁存器74LS373的输入和输出是透明的。当ALE出现下降沿后,八D锁存器74LS373的输出即为A0A7,这时P0口上出现的是数据,实现了地址低8位和数据线的分离。 在单片微机应用系统中,为了唯一地选择片外某一存储单元或I/O端口,需要进行二次选择。一是必须先找到该存储

6、单元或I/O端口所在的芯片,一般称为“片选” ,二是通过对芯片本身所具有的地址线进行译码,然后确定唯一的存储单元或I/O端口,称为“字 选”。 “片选” 保证每次读或写时,只选中某一片存储器芯片或I/O接口芯片。常用的方法有四种:“线选法” 、“地址译码法” 、,应用 “可编程器件PAL/GAL” 或“I/O口线” 。 线选法:I/O接口芯片的“片选” 控制线。线选法常一般是利用单片微机的最高几位空余的地址线中一根(如P2.7) 作为某一片存储器芯片或用于应用系统中扩展芯片较少的场合。 译码法:用译码器对空余的高位地址线进行译码,而译码器的输出作为“片选” 控制线。常用的译码器有3/8译码器7

7、4LS138、双2/4译码器74LS139、4/16译码器74LS154等。 3/8译码器74LS138的管脚见图83。 G1、 、 :使能端。当G1=1, = =0时, 芯片使能。 C、B、A:译码器输入,高电平有效。 :译码器输出,低电平有效。正常情况下,只有一根输出是低电平,其余输出都是高电平。这样,当译码器输出作为单片微机应用系统中外扩芯片的片选控制线时,保证每次读或写时只选中一个芯片。 部分地址线参加译码时,称为部分地址译码,这时芯片的地址会有重叠。16根地址线全部参加译码的,称为全地址译码。图84示意的是通过3/8译码器74LS138获得64K地址。,图84中3/8译码器74LS1

8、38已经使能,其输出由C、B、A的状态决定,作为各个扩展芯片的片选控制信号,加上芯片本身所具有的地址线共同决定每一个存储单元或I/O端口的地址,全地址译码的地址是唯一的。 由图分析,可以得到各芯片的最大可能地址范围如下: #0 RAM地址分配为0000H1FFFH,共8K。(A15=A14=A13=0) #1 芯片地址分配为2000H3FFFH,共8K。 (A15=0,A14=0,A13=1) #2 芯片地址分配为4000H5FFFH,共8K。 (A15=0,A14=1,A13=0 #3 芯片地址分配为6000H7FFFH,共8K。 (A15=0,A14=1,A13=1) #4 芯片地址分配为

9、8000H9FFFH,共8K。 (A15=1,A14=0,A13=0) #5 芯片地址分配为A000HBFFFH,共8K。 (A15=1,A14=0,A13=1,#6 芯片地址分配为C000HDFFFH,共8K。 (A15=1,A14=1,A13=0) #7 I/O地址分配为E000HFFFFH,共8K。 (A15=1,A14=1,A13=1) 280C51系列单片微机的系统并行扩展能力 由于地址总线宽度为 16位,在片外可扩展的存储器最大容量为64 KB,地址为0000HFFFFH。片外数据存储器与程序存储器的操作使用不同的指令和控制信号,允许两者的地址重复,故片外可扩展的数据存储器与程序存

10、储器分别为64 KB。 片外数据存储器与片内数据存储器的操作指令不同(片外RAM只能用MOVX指令)。允许两者地址重复,亦即外部扩展数据存储器地址可从0000H开始。 I/O口扩展与片外数据存储器统一编址,不再另外提供地址线。,80C51系列单片微机的外部串行总线主要包括:SPI (Serial PeriPheral Interface)三线总线和I2C两线制总线两种。 SPI三线总线结构 SPI三线总线结构是一个同步外围接口,允许MCU与各种外围设备以串行方式进行通信。一个完整的SPI系统有如下的特 性: 全双工、三线同步传送; 主、从机工作方式; 可程控的主机位传送频率、时钟极性和相位;

11、发送完成中断标志; 写冲突保护标志。 在大多数场合,使用一个MCU作为主机,控制数据向一个或多个从机(外围器件)的传送。一般SPI系统使用四个I/O引脚:,8.1.2 外部串行扩展原理,串行数据线(MISO、MOSI) 主机输入从机输出数据线(MISO)和主机输出从机输入数据线(MOSI),用于串行数据的发送和接收。数据发送时先传送MSB(高位),后传送LSB(低位)。 在SPI设置为主机方式时,MISO线是从机数据输入线,MOSI是主机数据输出线;在SPI设置为从机方式时,MISO线是从机数据输出线,MOSI是从机数据输入线。,串行时钟线(SCLK) 串行时钟线(SCLK)用于同步从MISO

12、和MOSI引脚输入和输出数据的传送。在SPI设置为主机方式时SCLK为输出;在SPI设置为从机方式时,SCLK为输入。 在SPI设置为主机方式时,主机启动一次传送时,自动在SCLK脚产生8个时钟周期。主机和从机SPI器件中在SCLK信号的一个跳变时进行数据移位,数据稳定后的另一个跳变时进行采样。 对于一个完整的SPI系统,串行数据和串行时钟之间有四种极性和相位关系,如图85所示,以适应不同的外围器件特 性。主机和从机器件之间的传送定时关系必须相同。 从机选择( ) 在从机方式时,脚是输入端,用于使能SPI从机进行数据传送;在主机方式时, 一般由外部置为高电平。 通过SPI可以扩展各种I/O功能

13、,包括:AD、DA、实时时钟、RAM、EEPROM及并行输入输出接口等。,在把SPI与一片或几片串行扩展芯片相连时,只需把SPI的SCLK、MOSI及MISO三根线同名端相连即可。对于有些I/O扩展芯片,它们有 端。这时,这些片选输入端一般有同步串行通信的功能。无效时,为复位芯片的串行接口;有效时,初始化串行传送。有些芯片的 端,将其上从低到高的跳变当做把移位数据打入并行寄存器或操作启动的脉冲信号。因此,对于这些芯片,应该用一根I/O口线来控制它们的 片选端。 若80C51的串行通信口已经被占用,则可以用通用I/O口来模拟SPI串行接口,用软件来模拟仿真SPI操作 I2C(Intel IC B

14、US)公用双总线结构 使用两根信号线(SDA和SCL)串行的方法进行信息传送,并允许若干兼容器件共享的双线总线,称为12C总线。12C总线系统的示意图见图86。 SDA:称为串行数据线,用于传输双向的数据。 SCL:称为串行时钟线,用于传输时钟信号,在传输时用来同步串行数据线上的数据。,I2C总线上的器件SDA和SCL引脚都是开漏结构,都需通过电阻与电源连接。在I2C 总线系统中的所有器件的SDA引脚、SCL引脚也都同名端连接在一起。 挂接在I2C 总线上的器件(或IC),根据其功能可分为两种:主控器件和从控器件。 主控器件:控制总线存取,产生串行时钟(SCL)信号,并产生启动传送及结束传送的

15、器件,总线必须由一个主控器件控制。主控器件一般称主器件。 从控器件:在总线上被主控器件寻址的器件,它们根据主控器件的命令来接收和发送数据。从控器件一般称从器件。 在由若干器件所组成的I2C 总线系统中,可能存在多个主器件。因此,I2C 总线系统是一允许多主的系统。对于系统中的某一器件来说,有四种可能的工作方式:主发送方式、主接收 式、从发送方式和从接收方式。 据此定义以下总线条件: 总线不忙 串行时钟线(SCL)和串行数据线(SDA)保持高电平。,开始数据传送 在串行时钟线(SCL)保持高电平的情况下,串行数据线(SDA)上发生一个由高电平到低电平的变化作为起始信号(START),启动I2C

16、总线。I2C总线所有命令必须在起始信号以后进行。 停止数据传送 在串行时钟线(SCL)保持高电平的情况下,串行数据线(SDA)上发生一个由低电平到高电平的变化,称为停止信号(STOP)。这时将停止I2C 总线上的数据传送。 数据有效性 在开始信号以后,串行时钟线(SCL)保持高电平的周期期间,当串行数据线(SDA)稳定时串行数据线的状态表示数据线是有效的。需要一个时钟脉冲。 每次数据传送在起始信号(START)下启动,在停止信号(STOP)下结束。 在I2C总线上数据传送方式有两种,主发送到从接收和从发送到主接收。它们由起始信号(START)后的第一个字节的最低位(即方向位RW)决定。,I2C总线主要功能有: 在主控器件和从控器件之间双向传送数据; 无中央主控器件的多主总线; 多主传送时,不发生错误; 可以使用不同的位速率; 串行时钟作为交接信号; 在有I2C总线的单片微机 (如飞利浦80C552)中,可以直接用I2C总线来进行系统的串行扩展;对于80C51系列单片微机,大多数没有I2C总线接口功能

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号