c51单片微机的系统扩展原理与接口技术

上传人:tian****1990 文档编号:82065002 上传时间:2019-02-23 格式:PPT 页数:228 大小:3.49MB
返回 下载 相关 举报
c51单片微机的系统扩展原理与接口技术_第1页
第1页 / 共228页
c51单片微机的系统扩展原理与接口技术_第2页
第2页 / 共228页
c51单片微机的系统扩展原理与接口技术_第3页
第3页 / 共228页
c51单片微机的系统扩展原理与接口技术_第4页
第4页 / 共228页
c51单片微机的系统扩展原理与接口技术_第5页
第5页 / 共228页
点击查看更多>>
资源描述

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

1、普通高等教育“十一五”国家级规划教材 单片微型计算机原理与接口技术 (第二版) 高锋 编著 科学出版社 北京,第八章 单片微机的系统扩展原理及接口技术,8.1 系统扩展原理,系统扩展是指单片微机内部各功能部件不能满足应用系统要求时,在片外连接相应的外围芯片以满足应用系统要求。 主要有程序存储器的扩展、数据存储器的扩展、I/O口的扩展、中断系统扩展以及其它特殊功能接口的扩展等。 对于单片微机系统扩展的方法有并行扩展法和串行扩展法两种。 并行扩展法:利用单片微机本身具备的三组总线(AB、DB、CB)进行的系统扩展。 串行扩展法:利用SPI三线总线和I2C双线总线等进行串行系统扩展。 有的单片微机应

2、用系统同时采用并行扩展法和串行扩展法。,单片微机是通过芯片的引脚进行系统扩展的。 80C51系列带总线的芯片引脚可以构成图81所示的三总线结构。 具有同样并行总线的外部芯片通过这三组总线与单片微机连接。,8.1.1 外部并行扩展原理,(1)地址总线(AB) 由P0口提供低8位地址A0A7,P2口提供高8位地址A8A15。 P0口是地址总线低8位和8位数据总线复用口,只能分时用作地址线。P0口输出的低8位地址A0A7必须用锁存器锁存。 锁存器的锁存控制信号来自单片微机ALE引脚输出的控制信号。在ALE的下降沿将P0口输出的地址A0A7锁存。P0、P2口在系统扩展中用作地址线后便不能作为一般I/O

3、口使用。 地址总线宽度为16位,可寻址范围为64 KB。,(2)数据总线(DB) 由P0口提供,用D0D7表示。P0口为三态双向口,是应用系统中使用最为频繁的通道。单片微机与外部交换的所有数据、指令、信息,除少数可直接通过P1口外,全部通过P0口传送。 数据总线是并连到多个连接的外围芯片的数据线上,而在同一时间里只能够有一个是有效的数据传送通道。哪个芯片的数据通道有效,则由地址线控制各个芯片的片选线来选择。,(3)控制总线(CB) 包括片外系统扩展用控制线和片外信号对单片微机的控制线。 ALE:输出P0口上地址与数据隔离信号,用于锁存P0口输出的低8位地址的控制线。ALE信号的下降沿控制锁存器

4、锁存地址数据,通常选择下降沿选通的锁存器作低8位地址锁存器。 PSEN :读片外程序存储器中的数据。“读”片外程序存储器中数据(指令)时,不能用“ ”信号,而只能用 PSEN信号。 EA :选择片内或片外程序存储器。 当 0时,只访问外部程序存储器。 当 1时,先访问内部程序存储器,内部程序存储器全部访 问完之后,再访问外部程序存储器。,、 :片外数据存储器和I/O端口的写、读控制。当执行片外数据存储器操作指令MOVX时,自动生成 、 控制信号 常用地址锁存器如图82所示。 74LS373的锁存允许信号G从高电平转为低电平时,将其输入端的数据锁存在输出端。当ALE为高电平时,8D锁存器74LS

5、373的输入和输出是透明的。当ALE出现下降沿后,8D锁存器74LS373的输出即为A0A7,这时P0口上出现的是数据,实现了地址低8位和8位数据线的分离。,8.1.1.1.并行扩展方式的编址技术 在单片微机应用系统中,为了唯一地选择片外某一存储单元或I/O端口,需要进行二次选择。 必须先找到该存储单元或I/O端口所在的芯片,称为“片选” 通过对芯片本身所具有的地址线进行译码,然后确定唯一的存储单元或I/O端口,称为“字选”。,“片选” 保证每次读或写时,只选中某一片存储器芯片或I/O接口芯片。常用的方法有4种:“线选法” 、“地址译码法” 、应用 “可编程器件PAL/GAL” 或“I/O口线

6、” 。 (1) 线选法:一般是利用单片微机的最高几位空余的地址线中一根(如P2.7) 作为某一片存储器芯片或I/O接口芯片的“片选” 控制线。用于应用系统中扩展芯片较少的场合。,(2) 译码法:用译码器对空余的高位地址线进行译码,而译码器的输出作为“片选” 控制线。常用的译码器有3/8译码器74LS138、双2/4译码器74LS139、4/16译码器74LS154等。 3/8译码器74LS138的引脚见图83。 G1、 、 :使能端。当G1=1, = =0时, 芯片使能。 C、B、A:译码器输入,高电平有效。 Y :译码器输出,低电平有效。,部分地址线参加译码时,称为部分地址译码,这时芯片的地

7、址会有重叠。16根地址线全部参加译码的,称为全地址译码。图84示意的是通过3/8译码器74LS138获得64KB地址的译码电路。 图84中3/8译码器74LS138已经使能,其输出由C、B、A的状态决定,作为各个扩展芯片的片选控制信号,加上芯片本身所具有的地址线共同决定每一个存储单元或I/O端口的地址,全地址译码的地址是唯一的。,#0 RAM地址:0000H1FFFH,共8KB(A15=0,A14=0,A13=0) #1芯片地址:2000H3FFFH,共8KB(A15=0,A14=0,A13=1) #2芯片地址:4000H5FFFH,共8KB(A15=0,A14=1,A13=0) #3 芯片地

8、址:6000H7FFFH,共8KB (A15=0,A14=1,A13=1) #4 芯片地址:8000H9FFFH,共8KB (A15=1,A14=0,A13=0) #5 芯片地址:A000HBFFFH,共8KB (A15=1,A14=0,A13=1) #6 芯片地址:C000HDFFFH,共8KB (A15=1,A14=1,A13=0) #7 I/O地址:E000HFFFFH,共8KBA15=1,A14=1,A13=1), 可编程阵列逻辑器件PAL(Programmable Array Logic)和通用阵列逻辑GAL(Generic Array Logic)(加密性好) 。 有的应用系统为了

9、硬件电路加密,采用PAL或GAL来进行地址译码和分配(比如有的单片微机仿真器),你能看到的是PAL或GAL的输入线和输出线,而无法掌握内部逻辑关系。 输入输出线作为译码线 可以利用空余的I/O口线(如P1.0) ,或应用系统扩展的I/O口线作为芯片的片选线,当该I/O口线输出低电平时,即选中了该芯片。,8.1.1.280C51系列单片微机的系统并行扩展能力 地址总线宽度为 16位,在片外可扩展的存储器最大容量为64KB,地址为0000HFFFFH。 片外数据存储器与程序存储器的操作使用不同的指令和控制信号,允许两者的地址重复,故片外可扩展的数据存储器与程序存储器 最大容量分别为64 KB。 片

10、外数据存储器与片内数据存储器的操作指令不同(片外RAM只能用MOVX指令)。允许两者地址重复,亦即外部扩展数据存储器地址可从0000H开始。 I/O口扩展与片外数据存储器统一编址,不再另外提供地址线。,外部串行总线主要包括:SPI总线和I2C总线两种 8.1.2.1 SPI三线总线结构 SPI三线总线结构是一个同步外围接口,允许MCU与各种外围设备以串行方式进行通信。 一个完整的SPI系统有如下的特性: .全双工、三线同步传送; .主、从机工作方式; .可程控的主机位传送频率、时钟极性和相位; .发送完成中断标志; .写冲突保护标志。 在大多数场合,使用一个MCU作为主机,控制数据向一个或多个

11、从机(外围器件)的传送。,8.1.2 外部串行扩展原理,8.1.2.2 I2C(Intel IC BUS)公用双总线结构 使用两根信号线(SDA和SCL)串行的方法进行信息传送,并允许若干兼容器件共享的双线总线,称为12C总线。12C总线系统的示意图见图86。 SDA:串行数据线,传输双向的数据。 SCL:串行时钟线,传输时钟信号,同步串行数据线上的数据。,8.2 程序存储器的扩展,8.2.1 程序存储器扩展时的总线功能和操作时序 为片外程序存储器读选择信号。正常运行时,该引脚不能浮空。 根据连接电平的不同,单片微机有两种取指过程: 当 1时,80C51单片微机所有片内程序存储器有效。 当程序

12、计数器PC运行于片内程序存储器的寻址范围内时,P0口、P2 口及 线没有信号输出;当程序计数器PC的值超出上述范围后,P0口、P2 口及PSEN线才有信号输出。 80C51访问片外程序存储器时,使用如下的信号: P0口:分时输出程序存储器的低8位地址和8位数据。 ALE:在ALE的下降沿时,P0口上出现稳定的程序存储器的低8位地址,用ALE信号锁存这低8位地址。,P2口:在整个取指周期中,输出稳定的程序存储器的高8位地址。 线:低电平有效。在ALE的下降沿之后, 由高变为低,此时片外程序存储器的内容(指令字)送到 P0口,而后在 的上升沿将指令字送入指令寄存器, 信号作为片外程序存储器的“读”

13、选通信号。 (2)当 0时,80C51单片微机所有片内程序存储器无效,只能访问片外程序存储器。伴随着单片微机复位,P0口、P2口及 线均有信号输出。 单片微机片外程序存储器取指操作的时序如图87所示。,8.2.2.2扩展片外程序存储器的硬件电路 片内程序存储器容量越来越大,如89C5887C58的片内程序存储器的容量高达32KB,甚至为 64 KB。价格也大大降低。 程序存储器的扩展已不是必须,仅作为一种技术来加以介绍。 通常只需要扩展一片或两片EPROM芯片就足够。常用EPROM芯片的管脚见图88。,门,例:扩展16KB片外程序存储器 如图89所示。在电路中 是接高电平的。27128A是16

14、KB容量的EPROM,14根地址线A0A13。系统中只扩展了一片程序存储器,27128A的片选端可直接接地,一直有效。 EA=1,程序存储器先片内4KB、即0000H0FFFH。当PC值超出片内程序存储器容量时,自动转向片外,所以片外27C128的地址为1000H 3FFFH,共12KB。,8.3 数据存储器的扩展,常用的数据存储器有动态RAM和静态RAM,有并行RAM和串行RAM。 各种存储器性能的比较 如表8 - 2,8.3.1 片外并行数据存储器扩展 1. 片外并行数据存储器扩展时的总线功能和读、写操作时序 80C51对片外数据存储器读、写操作的指令有以下4条: MOVX A,Ri ;

15、片外RAM(A),读( ) MOVX Ri,A ;(A)片外RAM ,写( ) Ri只能提供8位地址,仅能扩展256个字节的片外RAM。 MOVX A,DPTR;片外RAM(A),读操作 MOVX DPTR,A ;(A)片外RAM , 写操作 DPTR能提供16位地址,可以扩展 64KB的片外 RAM。,“MOVX A,DPTR”和“MOVX DPTR,A”的操作时序示于图810。 从图中可以看出,执行该组指令时,机器周期1为取指周期,在取指周期的S5状态,当ALE为下降沿时,在P0总线上出现的是数据存储器的低8位地址,即DPL;在P2口上出现的是数据存储器的高8位地址,即DPH。 取指操作之

16、后,直至机器周期2的S3状态之前, 一直维持高电平。而在机器周期2的S1与S2状态之间的ALE不再出现。 执行“MOVX A,DPTR”时,从机器周期2开始到S3状态, 出现低电平。此时允许将片外数据存储器的数据送上P0口,在 的上升沿将数据读入累加器A。数据为输入。,执行“MOVX DPTR,A”时,从机器周期2开始到S3状态, 出现低电平。此时P0口上将送出累加器A的数据,在 的上升沿将数据写入片外数据存储器中。数据为输出。 此时P0口为地址、数据复用总线;P2口在机器周期1的S4状态之后出现锁存的高8位地址(DPH);用控制线来调动数据总线上的数据传输方向:而 有效时数据为输入, 有效时数据为输出。,2. 片外并行数据存储器的扩展 图811所示的是用两片

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

当前位置:首页 > 高等教育 > 大学课件

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