微机原理第七章 系统扩展原理与接口技术
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
存储器。
WR
RD:输出,用于片外数据存储器(RAM)的读、写控
6
制。当执行片外数据存储器操作指令MOVX时,自动生成。
2014-12-28
图7–2 地址锁存器
2014-12-28 7
在单片机应用系统中,为了唯一地选择片外某一存储单
元或I/O端口,需要进行二次选择。 一是必须先找到该存储单元或 I/O 端口所在的芯片,一般称 为“片选” 。 二是通过对芯片本身所具有的地址线进行译码,然后确定唯
一的存储单元或I/O端口,称为“字选”。
2014-12-28
8
―片选” 常用的方法有四种:“线选法” 、“地址译码法” 、 应用 “可编程器件PAL/GAL‖ 或“I/O口线” 。 (1) 线选法:线选法一般是利用单片机的最高几位空余的 地址线中一根(如P2.7) 作为某一片存储器芯片或I/O接口芯片的 “片选” 控制线。用于应用系统中扩展芯片较少的场合。 (2)译码法:用译码器对空余的高位地址线进行译码,而 译码器的输出作为“片选” 控制线。常用的译码器有3/8译码器 74LS138、双2/4译码器74LS139、4/16译码器74LS154等。 3/8译码器74LS138的管脚见图7–3。 G1、 G2A 、 G2B :使能端。当G1=1, G2A = G2B =0时, 芯片使能。 C、B、A:译码器输入,高电平有效。 Y :译码器输出,低电平有效。
2014-12-28 9
部分地址译码
全地址译码
2014-12-28
图7–3 74LS138三-八译码器
10
2014-12-28
图7–4 64K全地址译码电路
11
#0 RAM地址分配为0000H~1FFFH,共8K。(A15=A14=A13=0) #1芯片地址分配为2000H~3FFFH,共8K.(A15=A14=0, A13=1) #2 芯片地址分配为4000H~5FFFH,共8K。 (A15=0,A14=1, A13=0) #3 芯片地址分配为6000H~7FFFH,共8K。(A15=0,A14=1, A13=1) #4 芯片地址分配为8000H~9FFFH,共8K。(A15=1,A14=0, A13=0) #5 芯片地址分配为A000H~BFFFH,共8K。 (A15=1,A14=0, A13=1) #6 芯片地址分配为C000H~DFFFH,共8K。(A15=A14=1, A13=0) #7 I/O地址分配为E000H~FFFFH,共8K。(A15=A14=A13=1)
2014-12-28 27
⒉ 接口与端口
计算机与外设之间在数据传送方面的联系。其功能主要是 通过电路实现的。因此称之为接口电路。
在接口电路中应该包含有数据寄存器以保存输入输出数据、 状态寄存器以保存外设的状态信息、命令寄存器以保存来自CPU 的有关数据传送的控制命令。 由于在数据的传送中,CPU需要对这些寄存器的状态口和 保存命令的命令口寻址等,我们通常把接口电路中这些已编址并 能进行读或写操作的寄存器称之为端口(port),或简称口。因 此,一个接口电路就对应着多个端口地址,对它们像存储单元一 样进行编址。
2014-12-28 23
2014-12-28
图7–11 16K片外数据存储器扩展电路
24
I/O 的扩展及应用 I/O扩展概述 计算机系统中共有两种数据传送操作。一类是CPU和存储 器之间的数据读写操作;另一类则是 CPU和外部设备之间的数 据传输。 1.单片机为什么需要I/O接口电路
由于存储器是半导体电路,与CPU具有相同的电路形式, 数据信号也是相同的(电平信号),能相互兼容直接使用,因 此存储器与 CPU之间采用同步定时工作方式。它们之间只要在 时序关系上能相互满足就可以正常工作。存储器与CPU之间的 连接相当简单,除地址线、数据线之外,就是读或写选通信号, 实现起来非常方便。
中只扩展了一片程序存储器,所以27128A的片选端可直接接
地,一直有效。
2014-12-28 17
2014-12-28
图7-8 EPROM芯片管脚
18
2014-12-28
图7–9 EPROM的扩展电路
19Biblioteka 数据存储器的扩展常 用 的 数 据 存 储 器 有 动 态 RAM 和 静 态 RAM , 有 并 行 RAM和串行RAM。 ⒈ 片外数据存储器扩展时的总线功能和读、写操作时序 80C51 单片机,对片外数据存储器读、写操作的指令有 以下四条: MOVX A,@Ri ; 片外RAM→(A),读(RD )操作 MOVX @Ri,A ;(A)→片外RAM ,写(WR)操作 这组指令由于@ Ri 只能提供 8位地址,因此,仅能扩展 256 个字 节的片外RAM。 MOVX A,@DPTR;片外RAM→(A),读操作 MOVX @DPTR,A ;(A)→片外RAM , 写操作 这组指令由于@DPTR能提供16位地址,因此,可以扩展 64KB 的片外 RAM。
2014-12-28 12
80C51系列单片机的系统并行扩展能力
由于地址总线宽度为 16位,在片外可扩展的存储器最大 容量为64KB,地址为0000H~FFFFH。片外数据存储器与程序 存储器的操作使用不同的指令和控制信号,允许两者的地址重 复,故片外可扩展的数据存储器与程序存储器分别为64 KB。 片外数据存储器与片内数据存储器的操作指令不同(片
2014-12-28
3
2014-12-28
图7–1 80C51系列单片微机的三总线结构
4
(1)地址总线(AB) P0口提供低8位地址A0~A7,P2口提供高8位地址A8~ A15。P0口是地址总线低8位和8位数据总线复用口,只能分时用 作地址线。故P0口输出的低8位地址A0~A7必须用锁存器锁存。 可寻址范围为64 KB。 (2)数据总线(DB) 由P0口提供,用 D0~D7表示。P0口为三态双向口,是应 用系统中使用最为频繁的通道。数据总线是并联到多个连接的外 围芯片的数据线上,而在同一时间里只能够有一个是有效的数据 传送通道。 (3)控制总线(CB) 包括片外系统扩展用控制线和片外信号对单片机的控制线。 系统扩展用控制线有ALE、 PSEN 、 EA 、WR 、RD 。
2014-12-28 5
·
ALE:输出P0 口上地址与数据隔离信号,用于锁存P0口输出的 低8位地址的控制线。通常,ALE信号的下降沿控制锁存器来锁 存地址数据。
EA 当 EA =0时,只访问外部程序存储器。当 EA=1时,先访问内部 程序存储器,内部程序存储器全部访问完之后,再访问外部程序
PSEN :输出,用于读片外程序存储器( EPROM )中的数据。 :输入,用于选择片内或片外程序存储器。
2014-12-28 22
此时P0口为地址、数据复用总线;P2口在机器周期1的S4状态 之后出现锁存的高8位地址(DPH);用控制线来调动数据总 线上的数据传输方向:而 RD 有效时数据为输入,WR 有效时 数据为输出。 2.扩展片外数据存储器的硬件电路 在80C51的扩展系统中,片外数据存储器一般由随机存 取存储器组成,最大可扩展64KB。图7–11所示的是用两片 6264扩展16K*8位片外数据存储器的电路。 在图中,采用线选法寻址。用一根口线P2.7来寻址:当 P2. 7=0时,访问6264(0) ,地址范围为6000H~7FFFH;当 P2.7=l时,访问6264(1),地址范围为E000H~FFFFH。
第七章 系统扩展原理及接口技术
系统扩展原理
系统扩展是指单片机内部各功能部件不能满足应用系统要求时 ,在片外连接相应的外围芯片以满足应用系统要求。
80C51 主要有程序存储器的扩展、数据存储器的扩展、I/O口的
扩展、中断系统扩展以及其它特殊功能接口的扩展等。 扩展的方法有并行扩展法和串行扩展法两种。 并行扩展法是指利用单片机本身具备的三组总线( AB 、 DB 、 CB)进行的系统扩展。
外RAM只能用MOVX指令)。允许两者地址重复,亦即外部扩
展数据存储器地址可从0000H开始。 I/O口扩展与片外数据存储器统一编址,不再另外提供地 址线。
2014-12-28 13
程序存储器的扩展
1. 程序存储器扩展时的总线功能和操作时序 EA 为片外程序存储器读选择信号。正常运行时,该 引脚不能浮空。 ⑴ 当 EA =l时,80C51单片机所有片内程序存储器有效。 当程序计数器PC运行于片内程序存储器的寻址范围内( 对80C51/87C51/89C51为0000H~0FFFH,共4KB;对80C52 /87C52/89C52为0000H~1FFFH,共8KB)时,P0口、P2 口 及 PSEN 线没有信号输出;当程序计数器PC的值超出上述范围 后,P0口、P2 口及PSEN线才有信号输出。 80C51访问片外程序存储器时,使用如下的信号: P0口:分时输出程序存储器的低8位地址和8位数据。 ALE:输出,在 ALE的下降沿时,P0口上出现稳定的程 序存储器的低8位地址,用ALE信号锁存这低8位地址。
串行扩展法利用SPI三线总线和I2C双线总线进行系统扩展。
有的单片机应用系统可能同时采用并行扩展法和串行扩展法。
外部并行扩展原理
单片机是通过芯片的引脚进行系统扩展的。
80C51系列带总线的芯片引脚可以构成图 7-1所示的三
总线结构.即地址总线(AB)数据总线(DB)和控制总线( CB)。具有总线的外部芯片都通过这三组总线进行扩展。
2014-12-28 25
CPU和外部设备之间的数据传送却十分复杂。
①高速CPU与工作速度快慢差异很大的慢速外部设备的矛盾。
②外部设备的数据信号是多种多样的。
③外部设备种类繁多。
④外设的数据传送有近距离的,也有远距离的。 CPU 必须在 CPU 和外设之间有一个接口电路,通过接口 电路对CPU与外设之间的数据传送进行协调。
图7–10 ―MOVX A,@DPTR‖ 和“MOVX @DPTR,A‖ 的操作时序
2014-12-28 21
执行该组指令时,机器周期 1 为取指周期,在 S5 状态, ALE为下降沿时,P0总线上出现的是数据存储器的低8位地址, 即DPL;在P2口上出现的是数据存储器的高8位地址,即DPH。 取指操作之后,直至机器周期2的S3状态之前, PSEN 一直维持高电平。而在机器周期2的S1与S2状态之间的ALE不再 出现。 执行“ MOVX A ,@ DPTR‖ 时,从机器周期 2 开始到 S3 状态, 出现低电平。此时允许将片外数据存储器的数据送上 RD P0口,在 的上升沿将数据读入累加器A,数据为输入。执行 RD “MOVX @DPTR,A‖时,从机器周期2开始到S3状态, WR 出 现低电平。此时P0口上将送出累加器A的数据,在WR 的上升沿 将数据写入片外数据存储器中,数据为输出。
2014-12-28 15
图7–7 无片外数据存储器时的取指操作时序图
2014-12-28 16
2.扩展片外程序存储器的硬件电路
80C51 的片内程序存储器容量越来越大,如 89C58 /
87C58 的片内程序存储器的容量高达 32 K×8 位,甚至为 64
K× 8位。而且价格也大大降低。 例:扩展16K× 8位片外程序存储器 如图7–9所示。在电路中 EA 是接高电平的。27128A是 16K容量的EPROM,所以用到了14根地址线A0~A13。系统
2014-12-28 26
在数据的I/O传送中,接口电路主要有如下几项功能: ①速度协调 由于速度上的差异,使得数据的 I/O 传送只能以异步方式进 行,即只能在确认外设已为数据传送作好准备的前提下才能进行 I/O操作。 ②三态缓冲 数据输入时,为了维护数据总线上数据传送的秩序,只允许 当前时刻正在进行数据传送的数据源使用数据总线,其它数据源 都必须与数据总线处于隔离状态。为此要求接口电路具有三态缓 冲功能。 ③数据转换 有些外部设备需要使用接口电路进行数据信号的转换。其中 包括:模数转换、数模转换、串并转换和并串转换等。
P2口:在整个取指周期中,输出稳定的程序存储器的高8 位地址。 · PSEN 线:输出,低电平有效。在ALE的下降沿之后, 由高变为低,此时片外程序存储器的内容(指令字)送到 P0口 ,而后在 PSEN的上升沿将指令字送入指令寄存器。因而,
PSEN 信号作为片外程序存储器的“读”选通信号。
(2)当 EA =0时,80C51单片机所有片内程序存储器无 效,只能访问片外程序存储器。伴随着单片机复位,P0口、P2 口及 PSEN 线均有信号输出。 单片机片外程序存储器取指操作的时序如图7-7所示。