《mcs51单片机系统扩展及接口技术》由会员分享,可在线阅读,更多相关《mcs51单片机系统扩展及接口技术(38页珍藏版)》请在金锄头文库上搜索。
1、MCS-51MCS-51单片机系统扩展及接单片机系统扩展及接单片机系统扩展及接单片机系统扩展及接口技术口技术口技术口技术系统扩展概述系统扩展概述系统扩展概述系统扩展概述常用扩展器件简介常用扩展器件简介常用扩展器件简介常用扩展器件简介存储器的扩展存储器的扩展存储器的扩展存储器的扩展I/OI/O扩展扩展扩展扩展14周(11月29日) 周一下午5、6节 82181 本章主要介绍本章主要介绍MCS51 单片机外部总单片机外部总线的扩展、存储器扩展、线的扩展、存储器扩展、I/0 扩展电路扩展电路的硬件设计及软件编程等。的硬件设计及软件编程等。系统扩展概述系统扩展概述2MCS51 单片机外部总线的扩展单片
2、机外部总线的扩展单片机的三总线结构单片机的三总线结构 为了使单片机能方便地与各种扩展芯片为了使单片机能方便地与各种扩展芯片连接,常将单片机的外部总线连接为一连接,常将单片机的外部总线连接为一般的微型计算机三总线结构形式。对于般的微型计算机三总线结构形式。对于MCS51 系列单片机,三总线由下列系列单片机,三总线由下列通道口的引线组成。通道口的引线组成。3(1) 地址总线地址总线 由由P2口提供高口提供高8位地址线位地址线 ,低,低8位地址线由位地址线由P0口与地址锁存器提供。口与地址锁存器提供。(2) 数据总线数据总线 由由P0口提供。口提供。(3) 控制总线控制总线 扩展系统时常用的控制信号
3、如下扩展系统时常用的控制信号如下所述。所述。 ALE地址锁存信号,用以实现对低地址锁存信号,用以实现对低8位位地址的锁存。高电平有效。地址的锁存。高电平有效。 PSEN片外程序存储器读选通信号。片外程序存储器读选通信号。 RD片外数据存储器读信号。片外数据存储器读信号。 WR 片外数据存储器写信号。片外数据存储器写信号。4单片机扩展成三总线结构的示意图单片机扩展成三总线结构的示意图5典型的低典型的低8 位地址总线的扩展电路位地址总线的扩展电路P0 口是一个复用口,地址锁存信号口是一个复用口,地址锁存信号ALE高高电平时电平时P0 口的信息为地址信号口的信息为地址信号,地址锁存地址锁存信号信号A
4、LE 低电平时,低电平时,P0 口的信息为数据信口的信息为数据信号。号。即地址信号在即地址信号在ALE 上升后有效,在上升后有效,在ALE下降后消失。因此,为了锁存地址信息,下降后消失。因此,为了锁存地址信息,可以可以用用ALE的负跳变将地址信息存入地址锁的负跳变将地址信息存入地址锁存器。存器。6 通常采用通常采用74LS373、INTEL8282、74LS273 芯片作为地址锁存器的芯片作为地址锁存器的MCS51 系统扩展低系统扩展低8位地址总线的电路。位地址总线的电路。74LS373与与INTEL8282 是同类芯片,是同类芯片,区别是具体引脚不同。区别是具体引脚不同。7常用的实现低常用的
5、实现低8 位地址锁存电路(位地址锁存电路(P.134)8存储器扩展技术存储器扩展技术9EPROM2764简介简介EPROM2764的引脚的引脚10A12A013 位地址线,地址线的引脚数目由芯位地址线,地址线的引脚数目由芯片的存储容量来定;片的存储容量来定;Q7Q08 位数据引脚;位数据引脚;CE片选信号,低电平有效;片选信号,低电平有效;OE输出允许信号,当输出允许信号,当OE有效时,输出缓冲器打有效时,输出缓冲器打开,被寻址单元的内容才能被读出;开,被寻址单元的内容才能被读出;P编程允许信号,低电平有效;编程允许信号,低电平有效;VPP 编程电源。当芯片编程时,该端加上编程电编程电源。当芯
6、片编程时,该端加上编程电压压(+25 V或或+12 V);正常使用时,该端加;正常使用时,该端加+5 V 电源。电源。11典型程序存储器的扩展方法典型程序存储器的扩展方法存储器扩展的核心问题是存储器的编址问题。所谓编址就是给存储单元分配地址。不论何种存储器芯片,其引脚都呈三总线结构,与单片机连接都是三总线对接。另外,电源线应接对应的电源线上。12存储器芯片的数据线:存储器芯片的数据线:数据线的数目由芯片的字数据线的数目由芯片的字长决定。长决定。1位字长的芯片数据线有一根;位字长的芯片数据线有一根;4位位字长的芯片数据线有字长的芯片数据线有4根;根;8位字长的芯片数位字长的芯片数据线有据线有8根
7、;存储器芯片的数据线与单片机的根;存储器芯片的数据线与单片机的数据总线数据总线(P0.0P0.7)按由低位到高位的顺序按由低位到高位的顺序顺次相接。顺次相接。13 存储器芯片的地址线:存储器芯片的地址线:地址线的数目由芯片的容量决地址线的数目由芯片的容量决定。定。容量容量(Q)与地址线数目与地址线数目(N)满足关系式:满足关系式:Q=2N。存储。存储器芯片的地址线与单片机的地址总线器芯片的地址线与单片机的地址总线(A0A15)按由低位按由低位到高位的顺序顺次相接。一般来说,存储器芯片的地址到高位的顺序顺次相接。一般来说,存储器芯片的地址线数目总是少于单片机地址总线的数目,如此相接后,线数目总是
8、少于单片机地址总线的数目,如此相接后,单片机的高位地址线总有剩余。单片机的高位地址线总有剩余。14 剩余地址线一般作为译码线,译码输出与存储剩余地址线一般作为译码线,译码输出与存储器芯片的片选信号线相接器芯片的片选信号线相接。存储器芯片有一根。存储器芯片有一根或几根片选信号线。对存储器芯片访问时,片或几根片选信号线。对存储器芯片访问时,片选信号必须有效,即选中存储器芯片。片选信选信号必须有效,即选中存储器芯片。片选信号线与单片机系统的译码输出相接后,就决定号线与单片机系统的译码输出相接后,就决定了存储器芯片的地址范围。因此,单片机的剩了存储器芯片的地址范围。因此,单片机的剩余高位地址线的译码及
9、译码输出与存储器芯片余高位地址线的译码及译码输出与存储器芯片的片选信号线的连接,是存储器扩展连接的关的片选信号线的连接,是存储器扩展连接的关键问题。键问题。15单片机的地址译码方法单片机的地址译码方法扩展地址译码的方法通常有扩展地址译码的方法通常有3 种方法:种方法:线选法、译码法和片外体选法。线选法、译码法和片外体选法。161.线选法线选法 所谓线选法,就是所谓线选法,就是直接利用系统的地址线作直接利用系统的地址线作为存储器芯片的片选信号。为存储器芯片的片选信号。译码时只需将译码时只需将 用到的地址线与存储器芯片的片选端直接相用到的地址线与存储器芯片的片选端直接相连即可。其特点是译码电路简单
10、。但系统中连即可。其特点是译码电路简单。但系统中有有多片需要扩展时,地址会有不连续的情况多片需要扩展时,地址会有不连续的情况,使用时需特别注意。在多片程序存储器系统使用时需特别注意。在多片程序存储器系统中尽量不用这种方法。中尽量不用这种方法。172. 译码法译码法 所谓译码法就是所谓译码法就是使用地址译码器对系统使用地址译码器对系统的片外地址进行译码的片外地址进行译码,以译码输出作为,以译码输出作为存储器芯片的片选信号。常用的译码器存储器芯片的片选信号。常用的译码器有有74LS138、74LS139、74LS154等。等。18译码法又分为完全译码和部分译码两种。译码法又分为完全译码和部分译码两
11、种。(1) 完全译码完全译码。地址译码器使用了全部地址。地址译码器使用了全部地址线,地址与存储单元一一对应,也就是线,地址与存储单元一一对应,也就是1个存储单元只占用个存储单元只占用1 个唯一的地址。个唯一的地址。(2) 部分译码部分译码。地址译码器仅使用了部分地。地址译码器仅使用了部分地址线,地址与存储单元不是一一对应,址线,地址与存储单元不是一一对应,1 个个存储单元占用了几个地址。存储单元占用了几个地址。19 (1) 部分译码:部分译码:所谓部分译码就是存储器芯片的地址线与所谓部分译码就是存储器芯片的地址线与单片机系统的地址线顺次相接后,剩余的高位地址线仅用一部单片机系统的地址线顺次相接
12、后,剩余的高位地址线仅用一部分参加译码。分参加译码。地址译码关系图20 与存储器芯片连接的低11位地址线的地址变化范围为全0 全1。参加译码的4根地址线的状态是唯一确定的。不参加译码的A15位地址线有两种状态都可以选中该存储器芯片。 当当A15=0时,占用的地址是时,占用的地址是0000011111,即,即2000H2FFFH。 当当A15=1时,占用的地址是时,占用的地址是1000011111,即,即A000HAFFFH。 21 同理,若有N条高位地址线不参加译码,则有2N个重叠的地址范围。重叠的地址范围中真正能存储信息的只有一个,其余仅是占据,因而会造成浪费。这是部分译码的缺点。它的优点是
13、译码电路简单。22 (2) 全译码:全译码:所谓全译码就是存储器芯片的地址线与单片所谓全译码就是存储器芯片的地址线与单片机系统的地址线顺次相接后,剩余的高位地址线全部参加译码。机系统的地址线顺次相接后,剩余的高位地址线全部参加译码。这种译码方法存储器芯片的地址空间是唯一确定的,但译码电这种译码方法存储器芯片的地址空间是唯一确定的,但译码电路相对复杂。路相对复杂。 这两种译码方法在单片机扩展系统中都有应用。在扩展存这两种译码方法在单片机扩展系统中都有应用。在扩展存储器储器(包括包括I/O口口)容量不大的情况下,选择部分译码,译码电容量不大的情况下,选择部分译码,译码电路简单,可降低成本。路简单,
14、可降低成本。233. 片外体选扩展方式片外体选扩展方式对于对于MCS51 单片机的数据存储器的直单片机的数据存储器的直接扩展范围为接扩展范围为64KB。如果需要。如果需要扩展大于扩展大于64K的存储空间的存储空间,可将待扩展的存储体划,可将待扩展的存储体划分成可直接扩展的多个存储体。分成可直接扩展的多个存储体。利用输出利用输出端口控制选择具体的每个存储体端口控制选择具体的每个存储体。采用这。采用这种方法可使种方法可使MCS51 单片机根据需要扩单片机根据需要扩展大于展大于64KB 的存储体。的存储体。24 3扩展存储器所需芯片数目的确定扩展存储器所需芯片数目的确定 若所选存储器芯片字长与单片机
15、字长一致,则只需若所选存储器芯片字长与单片机字长一致,则只需扩展容量。所需芯片数目按下式确定:扩展容量。所需芯片数目按下式确定: 若所选存储器芯片字长与单片机字长不一致,则不仅若所选存储器芯片字长与单片机字长不一致,则不仅需扩展容量,还需字扩展。所需芯片数目按下式确定:需扩展容量,还需字扩展。所需芯片数目按下式确定:25程序存储器扩展举例程序存储器扩展举例 1) 不用片外译码器的单片程序存储器的扩展不用片外译码器的单片程序存储器的扩展 例例1 试用试用EPROM2764构成构成8031的最小系统。的最小系统。 2764是是8K8位程序存储器位程序存储器,芯片的地址引脚线有,芯片的地址引脚线有1
16、3条,顺条,顺次和单片机的地址线次和单片机的地址线A0A12相接。由于不采用地址译码器,所相接。由于不采用地址译码器,所以高以高3位地址线位地址线A13、A14、A15不接,故有不接,故有23=8个重叠的个重叠的8 KB地地址空间。因只用一片址空间。因只用一片2764,其片选信号,其片选信号CE可直接接地可直接接地(常有效常有效)。其连接电路如图其连接电路如图 所示。所示。262764与8031的扩展连接图 27图中所示连接电路的图中所示连接电路的8个重叠的地址范围为个重叠的地址范围为0000011111,即0000H1FFFH;0000011111,即2000H3FFFH;000001111
17、1,即4000H5FFFH;0000011111,即6000H7FFFH;1000011111,即8000H9FFFH;1000011111,即A000HBFFFH;1100011111,即C000HDFFFH;111001111111111111111,即E000HFFFFH。282) 采用线选法的多片程序存储器的扩展采用线选法的多片程序存储器的扩展 例例2 使用两片使用两片2764扩展扩展16 KB的程序存储器,采用线选法选的程序存储器,采用线选法选中芯片。扩展连接图如图所示。以中芯片。扩展连接图如图所示。以P2.7作为片选,当作为片选,当P2.7=0时,时,选中选中2764(1);当;当
18、P2.7=1时,选中时,选中2764(2)。因两根线。因两根线(A13、A14)未用,故两个芯片各有未用,故两个芯片各有22=4个重叠的地址空间。它们分别为个重叠的地址空间。它们分别为29用两片用两片2764 EPROM的扩展连接图的扩展连接图 30左片:00000011111,即0000H1FFFH; 00000011111,即2000H3FFFH; 00000011111,即4000H5FFFH; 00000011111,即6000H7FFFH;右片:10000011111,即8000H9FFFH; 10000011111,即A000HBFFFH; 11000011111,即C000HDF
19、FFH; 1110001111111111111111,即E000HFFFFH。31 3) 采用地址译码器的多片程序存储器的扩展采用地址译码器的多片程序存储器的扩展 例例3 要求用要求用2764芯片扩展芯片扩展8031的片外程序存储器,分配的的片外程序存储器,分配的地址范围为地址范围为0000H3FFFH。 本例要求的地址空间是唯一确定的,所以要采用全译码方法。本例要求的地址空间是唯一确定的,所以要采用全译码方法。由分配的地址范围知:扩展的容量为由分配的地址范围知:扩展的容量为3FFFH-0000H+1=4000H=16K,2764为为8 K8位,故需要两片。第位,故需要两片。第1片的片的地址
20、范围应为地址范围应为0000H1FFFH;第;第2片的地址范围应为片的地址范围应为2000H3FFFH。 由地址范围确定译码器的连接。为此画出译码关系图如下由地址范围确定译码器的连接。为此画出译码关系图如下:32全译码、两片2764 EPROM的扩展连接图 331.如果8031采用的ROM扩展芯片为一片2764(每片13根地址线),其片选信号/CE与P2.7相连,则共有几组地址?并写出最大和最小的一组。 2.已知地址译码关系图为0 XXXXXXXXXXXXX指明是何种译码并写出其所占用的全部地址范围。341.有两根地址线未用,故有22=4组地址最小: P2.7控制位取0 , P2.6 P2.5=00; 地址为0000H-1FFFH;最大:P2.7是控制位取0 , P2.6P2.5=11; 地址为6000H-7FFFH2.部分译码,0000H1FFFH 2000H3FFFH4000H5FFFH 6000H7FFFH 35RAM扩展方法扩展方法1、数据存储器、数据存储器常用的数据存储器常用的数据存储器SRAM芯片有芯片有6116626462256等。等。36372、数据存储器扩展电路、数据存储器扩展电路38