单片机原理及应用第07章单片机系统扩展_第1页
单片机原理及应用第07章单片机系统扩展_第2页
单片机原理及应用第07章单片机系统扩展_第3页
单片机原理及应用第07章单片机系统扩展_第4页
单片机原理及应用第07章单片机系统扩展_第5页
已阅读5页,还剩85页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第第7章章 单片机系统扩展单片机系统扩展章节安排:章节安排:7.1 单片机最小系统介绍单片机最小系统介绍7.2 地址译码地址译码7.3 存储器扩展存储器扩展7.4 简单输入输出口扩展简单输入输出口扩展7.5 c51中对绝对地址的访问中对绝对地址的访问7.6 可编程可编程i/o扩展扩展(8255a)能力要求:能力要求:了解单片机最小系统了解单片机最小系统7.1 mcs-51单片机的最小系统单片机的最小系统最小系统最小系统:是指一个真正可用的单片机最小配置系统。:是指一个真正可用的单片机最小配置系统。对于单片机内部资源已能满足系统需要的,可直接采用对于单片机内部资源已能满足系统需要的,可直接采用最

2、小系统。最小系统。8051/8751的最小系统的最小系统8031最小系统最小系统 xtal1xtal1 xtal2xtal2 p0p0p1p1p2p2p3p3 80518051 resetreset eaea gndgnd +5v+5v +5v+5v8 8 8 8 8 88 8 该最小系统的特点如下该最小系统的特点如下:(1)由于片外没有扩展存储)由于片外没有扩展存储器和外设,器和外设,p0、p1、p2、p3都可以作为用户都可以作为用户i/o口使用。口使用。(2)片内数据存储器有)片内数据存储器有128字节,地址空间字节,地址空间00h7fh,没有片外数据存储器。没有片外数据存储器。(3)内部

3、有)内部有4kb程序存储器,程序存储器,地址空间地址空间0000h0fffh,没有片外程序存储器,没有片外程序存储器,ea应应接高电平。接高电平。(4)可以使用两个定时)可以使用两个定时/计计数器数器t0和和t1,一个全双工的,一个全双工的串行通信接口,串行通信接口,5个中断源。个中断源。8051/8751的最小系统的最小系统 8051/8751片内有片内有4k的的rom /eprom,因此,只需要外接晶,因此,只需要外接晶体振荡器和复位电路就可构成最体振荡器和复位电路就可构成最小系统。如图所示。小系统。如图所示。 7.1 mcs-51单片机的最小系统单片机的最小系统8031最小应用系统最小应

4、用系统 8031片内无程序存储器片,因此,在构成最小应用系统片内无程序存储器片,因此,在构成最小应用系统不仅要外接晶体振荡器和复位电路,还应外扩展程序存储器。不仅要外接晶体振荡器和复位电路,还应外扩展程序存储器。 p2ale8031p0eapseng74ls373a15 a8a7 a0d7 d0oe2764ce高高8位地址线位地址线p2alep0eapsen7.1 mcs-51单片机的最小系统单片机的最小系统8031最小系统特点如下:最小系统特点如下:(1)由于)由于p0、p2在扩展程序存储器时作为地址线和数据线,在扩展程序存储器时作为地址线和数据线,不能作为不能作为i/o线,因此,只有线,因

5、此,只有p1、p3作为用户作为用户i/o口使用。口使用。(2)片内数据存储器同样有)片内数据存储器同样有128字节,地址空间字节,地址空间00h7fh,没,没有片外数据存储器。有片外数据存储器。(3)内部有无程序存储器,但片外扩展了程序存储器,其地址)内部有无程序存储器,但片外扩展了程序存储器,其地址空间随芯片容量不同而不一样。图空间随芯片容量不同而不一样。图6.2中使用的是中使用的是2764芯片,容芯片,容量为量为8k字节,地址空间为字节,地址空间为0000h1fffh。由于片内没有程序。由于片内没有程序存储器,只能使用片外程序存储器,存储器,只能使用片外程序存储器,ea只能接低电平。只能接

6、低电平。(4)同样可以使用两个定时)同样可以使用两个定时/计数器计数器t0和和t1,一个全双工的串,一个全双工的串行通信接口,行通信接口,5个中断源。个中断源。 7.1 mcs-51单片机的最小系统单片机的最小系统常用扩展器件常用扩展器件地址锁存器:地址锁存器:74ls373、74ls273存储器扩展:存储器扩展:常用的程序存储器有:常用的程序存储器有: eprom: 2716 2764常用的数据存储器有:常用的数据存储器有: 静态静态ram:6116 6264外部外部i/o口的扩展口的扩展8255acpucpu是通过地址对不同的接口或芯片加以区分的。把是通过地址对不同的接口或芯片加以区分的。

7、把cpucpu送出的送出的地址转变为芯片选择的依据就是地址转变为芯片选择的依据就是地址译码电路地址译码电路。地址译码有地址译码有3种方法种方法u线选法线选法u部分译码法部分译码法u全译码法全译码法地址译码概念地址译码概念7.2 地址译码地址译码地址译码电路一般有两种结构形式地址译码电路一般有两种结构形式固定式端口地址译码电路固定式端口地址译码电路:硬件电路不改动,译码输:硬件电路不改动,译码输出的地址或地址范围不变。出的地址或地址范围不变。u 门电路组合法门电路组合法:采用与门、与非门、反相器及或非门等简单采用与门、与非门、反相器及或非门等简单逻辑门器件构成译码电路。逻辑门器件构成译码电路。

8、u 译码器译码法译码器译码法可选式(开关式)端口地址译码可选式(开关式)端口地址译码:电路中有若干个:电路中有若干个开关,硬件电路不改动,只改变开关的状态,就开关,硬件电路不改动,只改变开关的状态,就可以使译码输出的地址或地址范围发生变化。可以使译码输出的地址或地址范围发生变化。(省略(省略不讲)不讲)7.2 地址译码地址译码本章以存储器芯片本章以存储器芯片27642764(如右图)(如右图)为例,介绍地址译码的原理为例,介绍地址译码的原理u芯片芯片27642764具有具有1313根地址线,分别根地址线,分别是引脚是引脚a0a12a0a12。u引脚引脚 为为片选信号片选信号引脚,并且低引脚,并

9、且低电平有效。电平有效。【片选信号说明】【片选信号说明】若想访问一个芯若想访问一个芯片,必须使该片选信号有效。换个角片,必须使该片选信号有效。换个角度:系统中会扩展很多的芯片,每个度:系统中会扩展很多的芯片,每个芯片都有片选信号,通过片选信号区芯片都有片选信号,通过片选信号区分分cpucpu是对自己访问,还是对其他芯是对自己访问,还是对其他芯片的访问。只有当片选引脚有效时,片的访问。只有当片选引脚有效时,才是对该芯片的访问,而不是其他芯才是对该芯片的访问,而不是其他芯片。片。cs5151单片机一共有单片机一共有1616根地址线,分别是根地址线,分别是a0a15a0a157.2 地址译码地址译码

10、地址译码方法地址译码方法线选法线选法u线选法线选法:存储器芯片的地址线与单片机系统的地址线从:存储器芯片的地址线与单片机系统的地址线从低到高顺次相接后,剩余的高位地址线仅用一位参加译低到高顺次相接后,剩余的高位地址线仅用一位参加译码。线选法使存储器芯片的地址空间有重叠,造成系统码。线选法使存储器芯片的地址空间有重叠,造成系统存储器空间的浪费。存储器空间的浪费。7.2 地址译码地址译码按上图,按上图,2764的地址范围是的地址范围是a15 a14 a13 a12 a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0 0 x x 0 0 0 0 0 0 0 0 0 0 0 0

11、 0 0 x x 0 x x 1 1 1 1 1 1 1 1 1 1 1 1 1 所以该连接方式决定了所以该连接方式决定了2764的地址范围如下,四部分重复。的地址范围如下,四部分重复。0 x00000 x1fff 0 x20000 x3fff0 x40000 x5fff0 x60000 x7fffa15连接了连接了cs引脚,只有引脚,只有a15=0时,才访问该芯片时,才访问该芯片a14、a13空闲,所以这两位上空闲,所以这两位上的值为多少都没有关系的值为多少都没有关系a12.0连接芯片地址连接芯片地址引脚,决定了访问该引脚,决定了访问该芯片的单元地址芯片的单元地址请计算一下连线时,请计算一下

12、连线时,2764的地址范围的地址范围7.2 地址译码地址译码 地址译码方法地址译码方法部分译码法(门电路组合法)部分译码法(门电路组合法)u部分译码部分译码:存储器芯片的地址线与单片机系统的地址线从:存储器芯片的地址线与单片机系统的地址线从低到高顺次相接后,剩余的高位地址线仅用一部分参加译码。低到高顺次相接后,剩余的高位地址线仅用一部分参加译码。部分译码使存储器芯片的地址空间有重叠,造成系统存储器部分译码使存储器芯片的地址空间有重叠,造成系统存储器空间的浪费。空间的浪费。7.2 地址译码地址译码按上图,按上图,2764的地址范围是的地址范围是a15 a14 a13 a12 a11 a10 a9

13、 a8 a7 a6 a5 a4 a3 a2 a1 a0 x 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 x 0 0 x 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 所以该连接方式决定了所以该连接方式决定了2764的地址范围如下,两部分重复。的地址范围如下,两部分重复。0 x00000 x1fff 0 x80000 x9fffa15空闲,空闲,值随意值随意a14、a13通过与门连接通过与门连接cs引脚。引脚。因为因为cs为为0时才可以访问芯片,时才可以访问芯片,所以,只有所以,只有a14,a13=00时,与门时,与门输出才为输出才为0,才使,才使cs有效有效a12

14、.0连接芯片地址连接芯片地址引脚,决定了访问该引脚,决定了访问该芯片的单元地址芯片的单元地址7.2 地址译码地址译码请计算一下连线时,请计算一下连线时,2764的地址范围的地址范围7.2 地址译码地址译码地址译码方法地址译码方法全译码法(门电路组合法)全译码法(门电路组合法)u全译码法全译码法:存储器芯片的地址线与单片机系统的地址线:存储器芯片的地址线与单片机系统的地址线从低到高顺次相接后,剩余的所有高位地址线都参加译从低到高顺次相接后,剩余的所有高位地址线都参加译码。码。 此方法无地址重叠。此方法无地址重叠。7.2 地址译码地址译码按上图,按上图,2764的地址范围是的地址范围是a15 a1

15、4 a13 a12 a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 所以该连接方式决定了所以该连接方式决定了2764的地址范围如下:的地址范围如下:0 x00000 x1fff a15、a14、a13通过或门连接通过或门连接cs引脚。因为引脚。因为cs为为0时才可以访问时才可以访问芯片,所以,只有芯片,所以,只有a15,a14,a13=00时,或门输出才为时,或门输出才为0,才使才使cs有效有效a12.0连接芯片地址连接芯片地址

16、引脚,决定了访问该引脚,决定了访问该芯片的单元地址芯片的单元地址7.2 地址译码地址译码系统中扩展了两片系统中扩展了两片2764,请计算它们各自的地址范围,请计算它们各自的地址范围7.2 地址译码地址译码 地址译码方式地址译码方式译码器译码法译码器译码法u以三八译码器为例(见右图)以三八译码器为例(见右图) 74ls138译码器引脚介绍译码器引脚介绍uc,b,a:译码信号输入引脚:译码信号输入引脚ug1:选通端(高电平有效):选通端(高电平有效)u , :选通端(低点评有效):选通端(低点评有效)u . :译码输出引脚(低电平有:译码输出引脚(低电平有效)效)74ls138译码器功能译码器功能

17、:当三个选通:当三个选通端全部有效时,可将译码信号输入端全部有效时,可将译码信号输入的二进制编码在一个对应的输出端的二进制编码在一个对应的输出端以低电平译出以低电平译出g2ag2ag2b0yy77.2 地址译码地址译码 74ls138三八译码器三八译码器(真值表如下)(真值表如下) g1g2bg2a c b ay0y1y2y3y4y5y6y710000001111111100001101111111000101101111110001111101111100100111101111001011111101110011011111101100111111111100xx11111111111x1

18、1111111111117.2 地址译码地址译码通过通过74ls138实现译码电路的连线实现译码电路的连线 如下图。计算两片如下图。计算两片2764各自的地址范围各自的地址范围7.2 地址译码地址译码 mcs-51单片机存储器单片机存储器结构与一般微机的存储器结构不同,结构与一般微机的存储器结构不同,分为程序存储器分为程序存储器rom和数据存储器和数据存储器ram。程序存储器存放程序、。程序存储器存放程序、固定常数和数据表格。数据存储器用作工作区及存放数据。固定常数和数据表格。数据存储器用作工作区及存放数据。 程序存储器程序存储器mcs-51单片机的程序存储器,单片机的程序存储器,从物理结构上

19、分为片内和片从物理结构上分为片内和片外程序存储器外程序存储器而对于片内程序存储器,在而对于片内程序存储器,在mcs-51系列中,不同的芯片各系列中,不同的芯片各不相同:不相同:8031和和8032内部没有内部没有rom8051内部有内部有4kbrom,8052内部有内部有8kbrom 对于内部没有对于内部没有rom的的8031和和8032,工作时只能扩展外部,工作时只能扩展外部rom,最多可扩展,最多可扩展64k,地址范围为,地址范围为0000hffffh 7.3.1 存储器扩展存储器扩展存储器结构存储器结构 对于内部有对于内部有rom的芯片,根据情况外部可以扩展的芯片,根据情况外部可以扩展r

20、om,但内但内部部rom和外部和外部rom共用共用64k存储空间,存储空间,其中,片内程序存储器其中,片内程序存储器地址空间和片外程序存储器的低地址空间重叠。地址空间和片外程序存储器的低地址空间重叠。51子系列重叠区子系列重叠区域为域为0000h0fffh,52子系列重叠区域为子系列重叠区域为0000h1fffh。片片 外外romea=0片片 外外romea=0片片 内内romea=1片片 外外rom0000hffffh0000h0fffh1000hffffh(a)8031片内无片内无rom(b)8051片内有片内有4k rom7.3.1 存储器扩展存储器扩展存储器结构存储器结构程序存储器结构

21、程序存储器结构片片 外外romea=0片片 内内romea=1片片 外外rom0000h1fffh2000hffffh(c)8052片内有片内有8k rom7.3.1 存储器扩展存储器扩展存储器结构存储器结构程序存储器结构程序存储器结构程序存储器程序存储器 的的7个特殊地址个特殊地址中断源中断源入口地址入口地址外部中断外部中断00003h定时定时/计数器计数器0000bh外部中断外部中断10013h定时定时/计数器计数器1001bh串行口串行口0023h定时定时/计数器计数器2(仅(仅52子系列有)子系列有)002bh mcs-51系列系列单片机复位后单片机复位后pc的内容为的内容为0000h

22、,故单片机复位,故单片机复位后将从后将从0000h单元开始执行程序。程序存储器的单元开始执行程序。程序存储器的0000h单元地址是单元地址是系统程序的启动地址。这里用户一般放一条绝对转移指令。转到后系统程序的启动地址。这里用户一般放一条绝对转移指令。转到后而的用户程序。而的用户程序。 6个中断源的地址个中断源的地址之间仅隔之间仅隔8个单元,存放中断服务程序往往不够用,个单元,存放中断服务程序往往不够用,这是这是通常放一条绝对转移指令,转到真正的中断服务程序通常放一条绝对转移指令,转到真正的中断服务程序,真正的,真正的中断服务程序放到后面。中断服务程序放到后面。 7.3.1 存储器扩展存储器扩展

23、存储器结构存储器结构数据存储器:数据存储器:从物理结构上分为从物理结构上分为片内数据存储器片内数据存储器和和片外数据存储片外数据存储器器。 片内数据存储器片内数据存储器mcs-51系列单片机的片内数据存储器除了系列单片机的片内数据存储器除了ram块外,还有特块外,还有特殊功能寄存器(殊功能寄存器(sfr)块。)块。 对于对于51子系列子系列ram块有块有128字节,编址为字节,编址为00h7fh;sfr块也占块也占128字节,编址为字节,编址为80hffh;二者连续不重叠。二者连续不重叠。对于对于52子系列子系列 ram块有块有256字节,编址为字节,编址为00hffh; sfr块也有块也有1

24、28字节,编址为字节,编址为80hffh;后者与前者的后后者与前者的后128字节编址重叠的。访问时通过不同字节编址重叠的。访问时通过不同的指令相区分。的指令相区分。片内数据存储器按功能分成以下几个部分:工作寄存器组区、位片内数据存储器按功能分成以下几个部分:工作寄存器组区、位寻址区、一般寻址区、一般ram区和特殊功能寄存器区,其中还包含堆栈区。区和特殊功能寄存器区,其中还包含堆栈区。 7.3.1 存储器扩展存储器扩展存储器结构存储器结构00h1fh20h2fh30h7fh80hffh工作寄存器组区工作寄存器组区位寻址区位寻址区一般一般ram区区特殊功能寄存器特殊功能寄存器7.3.1 存储器扩展

25、存储器扩展存储器结构存储器结构8051单片机数据存储器结构单片机数据存储器结构00h1fh20h2fh30h7fh80hffh工作寄存器组区工作寄存器组区位寻址区位寻址区一般一般ram区区特殊功能寄存器特殊功能寄存器1. 工作寄存器组区工作寄存器组区 00h1fh单元为工作寄存器组区,共单元为工作寄存器组区,共32个字节。个字节。工作寄存器工作寄存器也称为通用寄存器,用于临时寄存也称为通用寄存器,用于临时寄存8位信息位信息。工作寄存器共有工作寄存器共有4组组,称为称为0组、组、1组、组、2组和组和3组,每组组,每组8个,分别依次用个,分别依次用r0r7表示表示 7.3.1 存储器扩展存储器扩展

26、存储器结构存储器结构8051单片机数据存储器结构单片机数据存储器结构工作寄存器区工作寄存器区 2.位寻址区位寻址区20h2fh为位寻址区为位寻址区,共,共16字节,字节,128位。这位。这128位每位都可以按位方式使用,位每位都可以按位方式使用,每一位都有一个位地址,位地址范围为每一位都有一个位地址,位地址范围为00h7fh 字节单元地址字节单元地址d7d6d5d4d3d2d1d020h070605040302010021h0f0e0d0c0b0a090822h171615141312111023h1f1e1d1c1b1a191824h272625242322212025h2f2e2d2c2b

27、2a292826h373635343332313027h3f3e3d3c3b3a393828h474645444342414029h4f4e4d4c4b4a49482ah57565554535251502bh5f5e5d5c5b5a59582ch67666564636261602dh6f6e6d6c6b6a69682eh77767574737271702fh7f7e7d7c7b7a79787.3.1 存储器扩展存储器扩展存储器结构存储器结构3.一般一般ram区区30h7fh是一般是一般ram区,也称为用户区,也称为用户ram区,共区,共80字节,字节,对于对于52子系列,一般子系列,一般ram

28、区从区从30hffh单元。另外,对于单元。另外,对于前两区中未用的单元也可作为用户前两区中未用的单元也可作为用户ram单元使用。单元使用。存储用户自己定义的一般变量存储用户自己定义的一般变量 7.3.1存储器扩展存储器扩展存储器结构存储器结构00h1fh20h2fh30h7fh80hffh工作寄存器组区工作寄存器组区位寻址区位寻址区一般一般ram区区特殊功能寄存器特殊功能寄存器4. 堆栈区与堆栈指针堆栈区与堆栈指针堆栈是按先入后出、后入先出的原则进行管理的一段存储堆栈是按先入后出、后入先出的原则进行管理的一段存储区域。区域。mcs-51单片机中,堆栈是用片内数据存储器的一段区单片机中,堆栈是用

29、片内数据存储器的一段区域,域,在具体使用时应避开工作寄存器、位寻址区,在具体使用时应避开工作寄存器、位寻址区,一般设在一般设在2fh以后的单元以后的单元,如工作寄存器和位寻址区未用,也可开辟,如工作寄存器和位寻址区未用,也可开辟为堆栈。为堆栈。c51程序设计时,一般由编译器自行分配程序设计时,一般由编译器自行分配7.3.1 存储器扩展存储器扩展存储器结构存储器结构00h1fh20h2fh30h7fh80hffh工作寄存器组区工作寄存器组区位寻址区位寻址区一般一般ram区区特殊功能寄存器特殊功能寄存器5. 特殊功能寄存器(特殊功能寄存器(sfr)专门用于控制、管理片内算术逻辑部件、并行专门用于控

30、制、管理片内算术逻辑部件、并行i/o口、串行口、口、串行口、定时定时/计数器、中断系统等功能模块的工作,计数器、中断系统等功能模块的工作,用户在编程时可用户在编程时可以给其设定值,但不能移作它用以给其设定值,但不能移作它用。sfr分布在分布在80hffh地址空间,与片内数据存储器统一编地址空间,与片内数据存储器统一编址,除址,除pc外,外,51子系列有子系列有18个特殊功能寄存器,其中个特殊功能寄存器,其中3个为双个为双字节,共占用字节,共占用21个字节;个字节;52子系列有子系列有21个特殊寄存器,其中个特殊寄存器,其中5个为双字节,共占用个为双字节,共占用26个字节。个字节。7.3.1 存

31、储器扩展存储器扩展存储器结构存储器结构00h1fh20h2fh30h7fh80hffh工作寄存器组区工作寄存器组区位寻址区位寻址区一般一般ram区区特殊功能寄存器特殊功能寄存器7.3.2 存储器扩展概述存储器扩展概述存储器扩展概述存储器扩展概述mcs-51单片机的存储器扩展能力单片机的存储器扩展能力mcs-51单片机地址总线宽度为单片机地址总线宽度为16位,片外可扩展的存储器位,片外可扩展的存储器最大容量为最大容量为64kb,地址为,地址为0000hffffh。因为程序存储器和数据存储器是因为程序存储器和数据存储器是,允许两者的允许两者的地址空间重叠地址空间重叠,所以片外可扩展的,所以片外可扩

32、展的程序存储器与数据存储器分别都为程序存储器与数据存储器分别都为64kb。 存储器扩展概述存储器扩展概述存储器扩展的一般方法简介存储器扩展的一般方法简介 控制线控制线 连线方式连线方式对于对于程序存储器程序存储器:输出允许控制线:输出允许控制线 oe单片机的单片机的psen信号线相连信号线相连 。对于对于数据存储器数据存储器:输出允许控制线输出允许控制线oe单片机的读信号线单片机的读信号线rd。写控制线写控制线 we单片机的写信号线单片机的写信号线wr。 【说明】【说明】不论何种不论何种存储器芯片,存储器芯片,其引脚其引脚都呈都呈三总线结构三总线结构,与单片,与单片机连接都是三总线对接。另外,

33、电源线接电源线,地线接地线。机连接都是三总线对接。另外,电源线接电源线,地线接地线。 7.3.2 存储器扩展概述存储器扩展概述存储器扩展的一般方法简介存储器扩展的一般方法简介数据线数据线 连线方式连线方式存储器芯片的数据线的数目由芯片的字长决定。存储器芯片的数据线的数目由芯片的字长决定。连线时,连线时,存储器芯片的数据线与单片机的数据总线存储器芯片的数据线与单片机的数据总线(p0.0 p0.7)按由低位到高位的顺序顺次相接。按由低位到高位的顺序顺次相接。【强调】【强调】单片机使用三总线扩展系统时,单片机使用三总线扩展系统时,单片机的数据总线为单片机的数据总线为p0口口的的8位线位线,需要和存储

34、器芯片的数据线依次相接,需要和存储器芯片的数据线依次相接7.3.2 存储器扩展概述存储器扩展概述存储器扩展的一般方法简介存储器扩展的一般方法简介地址线地址线 连线方式连线方式使用三总线系统扩展时,使用三总线系统扩展时,单片机的地址总线一共有单片机的地址总线一共有16位位(a0a15),分别是),分别是p0口(对应口(对应a0a7)和)和p2口(对应口(对应a8a15)。)。存储器芯片的地址线的数目由芯片的容量决定存储器芯片的地址线的数目由芯片的容量决定。容量。容量(q)与与地址线数目地址线数目(n)满足关系式:满足关系式:q=2n。存储器芯片的地址线与单片机的地址总线存储器芯片的地址线与单片机

35、的地址总线(a0a15)按由低按由低位到高位的顺序顺次相接位到高位的顺序顺次相接。一般来说,存储器芯片的地址线数目总是少于单片机地址一般来说,存储器芯片的地址线数目总是少于单片机地址总线的数目,因此连接后,总线的数目,因此连接后,单片机的高位地址线总有剩余单片机的高位地址线总有剩余。剩余地址线一般作为译码线,译码输出与存储器芯片的片剩余地址线一般作为译码线,译码输出与存储器芯片的片选信号线选信号线cs相接。相接。片选信号线与单片机系统的译码输出相接片选信号线与单片机系统的译码输出相接后,就决定了存储器芯片的地址范围后,就决定了存储器芯片的地址范围。 7.3.2 存储器扩展概述存储器扩展概述解决

36、方法解决方法分时复用技术分时复用技术:地址信号和数据信号在不同的时:地址信号和数据信号在不同的时间段上传输。间段上传输。危险危险但是又如何实现分时复用技术呢?但是又如何实现分时复用技术呢?答案是采用一片输出锁存器答案是采用一片输出锁存器通过前面通过前面pptppt,我们发现:单片机系统扩展时,我们发现:单片机系统扩展时,p0p0口既作为数据口既作为数据线(线(d0d7d0d7)使用,也作为地址线的低)使用,也作为地址线的低8 8位使用(位使用(a0a7a0a7)。因此,因此,p0p0口既跑数据信号,也跑地址信号,口既跑数据信号,也跑地址信号,存在着两种不同信号存在着两种不同信号冲突的潜在危险冲

37、突的潜在危险7.3.2 存储器扩展概述存储器扩展概述74ls373: 带输出三态门的带输出三态门的8d锁存器锁存器 74ls373引脚功能引脚功能ud7.0为为8个输入端。个输入端。 uq7.0为为8个输出端。个输出端。 ule:数据锁存控制端。:数据锁存控制端。 当当le为为“1”时,锁存器输出端同输入端时,锁存器输出端同输入端变化;变化; 当当le为为“0”时,时, 数据输数据输入被锁存,输出固定。入被锁存,输出固定。 uoe 为输出允许端为输出允许端: 当当oe 为为“0”时时, 三态门打开,可以驱动总线三态门打开,可以驱动总线或负载或负载; 当当oe 为为“1”时时, 三态门三态门关闭

38、关闭, 输出呈高阻状态。输出呈高阻状态。 常用常用74ls37374ls373实现单片机数据总线和地址总线的分时复用实现单片机数据总线和地址总线的分时复用7.3.2 存储器扩展概述存储器扩展概述 74ls373内部结构如右图内部结构如右图 74ls373真值表如下真值表如下oele功能功能01直通直通 qi=di00保持(保持(qi保持不变)保持不变)0x输出高阻(状态无效)输出高阻(状态无效)7.3.2 存储器扩展概述存储器扩展概述74ls373用作地址锁存器用作地址锁存器 连线连线7.3.2 存储器扩展概述存储器扩展概述ale(30脚):地址锁存信号输出端脚):地址锁存信号输出端当外接存储

39、器(当外接存储器(rom或或ram)时,)时,ale的输出用于锁存地的输出用于锁存地址的低址的低8位,一般位,一般ale接锁存器的接锁存器的le端端电电路路板板连连线线连接连接p0口,扩展数据口,扩展数据线和低位地址线线和低位地址线连接连接p2口,口,扩展扩展低位低位地址地址线线数据总线,连接芯片的数据线数据总线,连接芯片的数据线低低8位地址总线,连接芯片的位地址总线,连接芯片的地址线地址线扩展存储器所需芯片数目的确定扩展存储器所需芯片数目的确定存储器芯片容量存储器芯片容量系统扩展容量系统扩展容量芯片数目芯片数目=若若所选存储器芯片字长与单片机字长一致所选存储器芯片字长与单片机字长一致,则只需

40、扩,则只需扩展容量。所需芯片数目按下式确定:展容量。所需芯片数目按下式确定:若若所选存储器芯片字长与单片机字长不一致所选存储器芯片字长与单片机字长不一致,则不仅,则不仅需扩展容量,还需字扩展。所需芯片数目按下式确定:需扩展容量,还需字扩展。所需芯片数目按下式确定:存储器芯片字长存储器芯片字长系统字长系统字长存储器芯片容量存储器芯片容量系统扩展容量系统扩展容量芯片数目芯片数目* *= =7.3.2 存储器扩展概述存储器扩展概述 单片机外扩程序存储器单片机外扩程序存储器u相关引脚相关引脚(以(以80518051为例)为例)l/ea/ea:片外程序存储器选用端。:片外程序存储器选用端。若若/ea=0

41、/ea=0,则访问片外程序,则访问片外程序存储器;存储器;若若/ea=1/ea=1,则在,则在00000ffffh00000ffffh的地址范围内访问片的地址范围内访问片内程序存储器,一旦超出范围,自动访问片外程序存储器内程序存储器,一旦超出范围,自动访问片外程序存储器l/psen/psen:片外程序存储器读选通信号输出端,低电平有效。:片外程序存储器读选通信号输出端,低电平有效。在对外部程序存储器进行读操作时,每个周期出现两次信在对外部程序存储器进行读操作时,每个周期出现两次信号,连线时与外部号,连线时与外部romrom的的oeoe引脚相连引脚相连laleale:当外接存储器(当外接存储器(

42、romrom或或ramram)时,)时,aleale的输出用于锁存的输出用于锁存地址的低地址的低8 8位,一般位,一般aleale接锁存器的控制端接锁存器的控制端lelelp0.0p0.7p0.0p0.7: : 数据线,同时也是低数据线,同时也是低8 8位地址线位地址线lp2.0p2.7p2.0p2.7:高:高8 8位地址线位地址线u指令集指令集l访问外部访问外部romrom不需要使用显示指令,是通过不需要使用显示指令,是通过pcpc(指令计数器)(指令计数器)来控制取指地址的(跳转指令也可能引起来控制取指地址的(跳转指令也可能引起pcpc跳转)跳转)7.3.3 存储器扩展存储器扩展程序存储器

43、扩展程序存储器扩展 引脚介绍引脚介绍ua0a12a0a12:地址线地址线ud0d7d0d7: 数据线数据线u/pgm/pgm:控制本芯片是处于正常工作状控制本芯片是处于正常工作状态还是处于编程态还是处于编程/ /检验状态。若检验状态。若pgm=1,pgm=1,则是处于正常工作状态则是处于正常工作状态uvpp: vpp: 加入编程时所需要的额定电压加入编程时所需要的额定电压(高于工作电压)(高于工作电压)u/oe/oe:允许输出引脚允许输出引脚u/ce: /ce: 片选引脚片选引脚程序存储器以2764(eprom)为例7.3.3 存储器扩展存储器扩展程序存储器扩展程序存储器扩展8051外扩程序存

44、储器7.3.3 存储器扩展存储器扩展程序存储器扩展程序存储器扩展8051外扩程序存储器外扩程序存储器u按上图按上图2764的地址范围是的地址范围是a15 a14 a13 a12 a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0 0 x x 0 0 0 0 0 0 0 0 0 0 0 0 0 0 x x 0 x x 1 1 1 1 1 1 1 1 1 1 1 1 1 所以该连接方式决定了所以该连接方式决定了2764的地址范围如下,四部分重复。的地址范围如下,四部分重复。0 x00000 x1fff 0 x20000 x3fff0 x40000 x5fff0 x60000

45、 x7fff7.3.3 存储器扩展存储器扩展程序存储器扩展程序存储器扩展p2.6p2.6p2.4p2.4p2.3p2.3p2.2p2.2p2.1p2.1p2.0p2.0p0.7p0.7p0.6p0.6p0.5p0.5p0.4p0.4p0.3p0.3p0.2p0.2p0.1p0.1p2.7p2.7p2. .5p0.0p0.0alealevccvcc80318031psenpseneaeavssvss+5v+5va12a11a10a9a8a7a6a5a4a3a2a1a0d7d7d d5d4d4d3d3d2d2d1d1d0d0oeoed6d6cecegndgndvffvff+5v+5v8d8d7d7

46、d6d6d5d5d4d4d3d3d2d2d1d1dg goeoe8q8q7q7q6q q5q5q4q4q3q3q2q2q1q1qvccvcc74ls74ls3733737.3.3 存储器扩展存储器扩展程序存储器扩展程序存储器扩展多片程序存储器的扩展多片程序存储器的扩展其其8个重叠的地址范围为如下:个重叠的地址范围为如下:00000000000000000001111111111111,即,即0000h1fffh;00100000000000000011111111111111,即,即2000h3fffh;01000000000000000101111111111111,即,即4000h5fff

47、h;01100000000000000111111111111111,即,即6000h7fffh;10000000000000001001111111111111,即,即8000h9fffh;10100000000000001011111111111111,即,即a000hbfffh;11000000000000001101111111111111,即,即c000hdfffh;11100000000000001111111111111111,即,即e000hffffh。4p2.6p2.6p2.5p2.5p2.4p2.4p2.0p2.0aleale80318031psenpseneaeag gp

48、2.7p2.774ls74ls373373oeoea0a0a7a7a8a8a12a12ceced0d0d7d7oeoe2764(1)2764(1)a0a0a7a7a8a8a12a12cece2764(2)2764(2)d0d0d7d7oeoep0p058 888 88 85 58 88 85 57.3.3 存储器扩展存储器扩展程序存储器扩展程序存储器扩展上图是通过线选法实现的两片上图是通过线选法实现的两片2764扩展成扩展成16kb程序存储器程序存储器两片两片2764的地址线的地址线a0a12与地址总线的与地址总线的a0a12对应相连对应相连2764的数据线的数据线d0d7与数据总线与数据总线

49、a0a7对应相连对应相连两片两片2764的输出允许控制线连在一起与的输出允许控制线连在一起与8031的的psen相连相连第一片第一片2764的片选线的片选线cs与与8031地址总线的地址总线的p2.7直接相连直接相连第二片第二片2764的片选线的片选线cs与与8031地址总线的地址总线的p2.7取反后相连。取反后相连。 其两片的地址空间分别为:其两片的地址空间分别为:第一片:第一片:000000000000000000001111111111111,即,即0000h1fffh;001000000000000000011111111111111,即,即2000h3fffh;01000000000

50、0000000101111111111111,即,即4000h5fffh;011000000000000000111111111111111,即,即6000h7fffh;第二片:第二片:100000000000000001001111111111111,即,即8000h9fffh;101000000000000001011111111111111,即,即a000hbfffh;110000000000000001101111111111111,即,即c000hdfffh;111000000000000001111111111111111,即,即e000hffffh。7.3.3 存储器扩展存储器扩

51、展程序存储器扩展程序存储器扩展p2.6p2.6p2.5p2.5p 2 . 4p 2 . 4 p2.0p2.0aleale80318031psenpseneaeagp2.7p2.774ls74ls373373oeoea 0a 0 a7a7a8a8a12a12ceced 0d 0 d7d7oeoe2764(1)2764(1)a 0a 0 a7a7a8a12cece2764(2)2764(2)oeoep0p05888 88 85 58 88 85 5cbad 0d 0 d7d7gg1g1g2ag2ag2bg2by3y3y2y2y1y1y0y08d 0d 0 d7d7oeoe2764(3)2764(3

52、)a 0a 0 a7a7a8a8a12a12cece8d 0d 0 d7d7oeoececea8a8a12a12a 0a 0 a7a72764(4)2764(4)8 858 85 5vccvcc74ls13874ls138上图为采用全译码法实现的上图为采用全译码法实现的4片片2764扩展成扩展成32kb程序存储器。程序存储器。8031剩余剩余的高的高3位地址总线位地址总线p2.7、p2.6、p2.5通过通过74ls138译码器形成译码器形成4个个2764的的片选信号片选信号 7.3.3 存储器扩展存储器扩展程序存储器扩展程序存储器扩展由于采用全译码,每片由于采用全译码,每片2764的地址空间都

53、是唯一的。它们分别是:的地址空间都是唯一的。它们分别是:000000000000000000001111111111111,即,即0000h1fffh;001000000000000000011111111111111,即,即2000h3fffh;010000000000000000101111111111111,即,即4000h5fffh;011000000000000000111111111111111,即,即6000h7fffh。7.3.3 存储器扩展存储器扩展程序存储器扩展程序存储器扩展对于对于数据存储器数据存储器:输出允许控制线输出允许控制线oe单片机的读信号线单片机的读信号线rd。

54、写控制线写控制线 we单片机的写信号线单片机的写信号线wr。 其它信号线的连接与程序存储器完全相同。其它信号线的连接与程序存储器完全相同。 7.3.4 存储器扩展存储器扩展数据存储器扩展数据存储器扩展 单片机外扩数据存储器单片机外扩数据存储器(ram)(ram)u相关引脚(以相关引脚(以80518051为例)为例)l/wr/wr:写片外数据存储器信号,低电平有效:写片外数据存储器信号,低电平有效l/rd/rd:读片外数据存储器信号,低电平有效:读片外数据存储器信号,低电平有效laleale:允许地址所存信号,用于所存片外地址的低:允许地址所存信号,用于所存片外地址的低8 8位位lp0.0p0.

55、7: p0.0p0.7: 数据线,同时也是低数据线,同时也是低8 8位地址线位地址线lp2.0p2.7p2.0p2.7:高:高8 8位地址线位地址线u指令集指令集l而访问而访问外部外部ramram则需要在程序设计上使用指令则需要在程序设计上使用指令movxmovx来执行。来执行。另外,访问另外,访问内部内部ramram则使用了指令则使用了指令movmov,以区分外部,以区分外部ramram的访的访问问7.3.4 存储器扩展存储器扩展数据存储器扩展数据存储器扩展例:例:8051外扩数据存储器外扩数据存储器7.3.4 存储器扩展存储器扩展数据存储器扩展数据存储器扩展8051外扩数据存储器外扩数据存

56、储器u按上图按上图2864的地址范围是的地址范围是a15 a14 a13 a12 a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0 x 0 x 0 0 0 0 0 0 0 0 0 0 0 0 0 x 0 x x 0 x 1 1 1 1 1 1 1 1 1 1 1 1 1 所以该连接方式决定了所以该连接方式决定了2864的地址范围如下,四部分重复。的地址范围如下,四部分重复。0 x00000 x1fff 0 x20000 x3fff0 x80000 x9fff0 xa0000 xbfff?如何解决地址重复问题如何解决地址重复问题7.3.4 存储器扩展存储器扩展数据存储器

57、扩展数据存储器扩展下图是两片数据存储器芯片下图是两片数据存储器芯片6264与与8051单片机的连接。单片机的连接。6264是是8k 8的静态数据存储器芯片的静态数据存储器芯片有有13根地址线根地址线数据线数据线8根根一根输出允许信号一根输出允许信号oe和一根写控制信号和一根写控制信号we 两根片选信号两根片选信号ce1和和ce2 (都是低电平有效)(都是低电平有效)7.3.4 存储器扩展存储器扩展数据存储器扩展数据存储器扩展p2.6p2.5p2.4p2.0ale8051rdeagp2.774ls373oea0a7a8a12 ce1d0d7oe6264(1)a0a7 a8a12ce16264(2

58、)d0d7oep058885885wrwewe88ce2ce2p2.7为低电平为低电平0,两片,两片6264芯片的地址空间为:芯片的地址空间为:第一片:第一片:010000000000000000101111111111111,即,即4000h5fffh;第二片:第二片:001000000000000000011111111111111,即,即2000h3fffh;p2.7为高电平为高电平1,两片,两片6264芯片的地址空间为:芯片的地址空间为:第一片:第一片:110000000000000001101111111111111,即,即c000hdfffh;第二片:第二片:10100000000

59、0000001011111111111111,即,即a000hbfffh;7.3.4 存储器扩展存储器扩展数据存储器扩展数据存储器扩展 见电路板原理图,确定数据存储器见电路板原理图,确定数据存储器6264的的地址范围地址范围7.3.4 存储器扩展存储器扩展数据存储器扩展数据存储器扩展7.4 简单输入简单输入/输出口扩展输出口扩展通常通过数据缓冲器、锁存器来扩展简单通常通过数据缓冲器、锁存器来扩展简单i/o接口接口。74ls373、74ls244、74ls273、74ls245等芯片都可以作简单等芯片都可以作简单i/o扩展。扩展。实际上,只要具有输入三态、输出锁存的电路,就可以用作实际上,只要具

60、有输入三态、输出锁存的电路,就可以用作i/o口扩展。口扩展。 下图是利用下图是利用74ls373和和74ls244扩展的简单扩展的简单i/o口口其中其中74ls373扩展并行输出口,前面已经讲过扩展并行输出口,前面已经讲过74ls244扩展并行输入口扩展并行输入口74ls244是单向数据缓冲器,带两个控制端是单向数据缓冲器,带两个控制端1g和和2g ,当它们为低电平时,输入端当它们为低电平时,输入端d0d7的数据输出到的数据输出到q0q7。 74ls244见右图见右图引脚介绍引脚介绍u/1g,/2g:选通控制选通控制(低电平有效)(低电平有效)u1y12y4:数据输入端数据输入端u1a12a4

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论