单片机原理及应用第07章 单片机系统扩展.ppt
《单片机原理及应用第07章 单片机系统扩展.ppt》由会员分享,可在线阅读,更多相关《单片机原理及应用第07章 单片机系统扩展.ppt(90页珍藏版)》请在三一办公上搜索。
1、第7章 单片机系统扩展,章节安排:7.1 单片机最小系统介绍7.2 地址译码7.3 存储器扩展7.4 简单输入输出口扩展7.5 C51中对绝对地址的访问7.6 可编程I/O扩展(8255A)能力要求:了解单片机最小系统,7.1 MCS-51单片机的最小系统,最小系统:是指一个真正可用的单片机最小配置系统。对于单片机内部资源已能满足系统需要的,可直接采用最小系统。8051/8751的最小系统8031最小系统,该最小系统的特点如下:(1)由于片外没有扩展存储器和外设,P0、P1、P2、P3都可以作为用户I/O口使用。(2)片内数据存储器有128字节,地址空间00H7FH,没有片外数据存储器。(3)
2、内部有4KB程序存储器,地址空间0000H0FFFH,没有片外程序存储器,EA应接高电平。(4)可以使用两个定时/计数器T0和T1,一个全双工的串行通信接口,5个中断源。,8051/8751的最小系统 8051/8751片内有4K的ROM/EPROM,因此,只需要外接晶体振荡器和复位电路就可构成最小系统。如图所示。,7.1 MCS-51单片机的最小系统,8031最小应用系统,8031片内无程序存储器片,因此,在构成最小应用系统不仅要外接晶体振荡器和复位电路,还应外扩展程序存储器。,7.1 MCS-51单片机的最小系统,8031最小系统特点如下:(1)由于P0、P2在扩展程序存储器时作为地址线和
3、数据线,不能作为I/O线,因此,只有P1、P3作为用户I/O口使用。(2)片内数据存储器同样有128字节,地址空间00H7FH,没有片外数据存储器。(3)内部有无程序存储器,但片外扩展了程序存储器,其地址空间随芯片容量不同而不一样。图6.2中使用的是2764芯片,容量为8K字节,地址空间为0000H1FFFH。由于片内没有程序存储器,只能使用片外程序存储器,EA只能接低电平。(4)同样可以使用两个定时/计数器T0和T1,一个全双工的串行通信接口,5个中断源。,7.1 MCS-51单片机的最小系统,常用扩展器件地址锁存器:74LS373、74LS273存储器扩展:常用的程序存储器有:EPROM:
4、2716 2764常用的数据存储器有:静态RAM:6116 6264外部I/O口的扩展8255A,CPU是通过地址对不同的接口或芯片加以区分的。把CPU送出的地址转变为芯片选择的依据就是地址译码电路。地址译码有3种方法线选法部分译码法全译码法,地址译码概念,7.2 地址译码,地址译码电路一般有两种结构形式,固定式端口地址译码电路:硬件电路不改动,译码输出的地址或地址范围不变。门电路组合法:采用与门、与非门、反相器及或非门等简单逻辑门器件构成译码电路。译码器译码法可选式(开关式)端口地址译码:电路中有若干个开关,硬件电路不改动,只改变开关的状态,就可以使译码输出的地址或地址范围发生变化。(省略不
5、讲),7.2 地址译码,本章以存储器芯片2764(如右图)为例,介绍地址译码的原理芯片2764具有13根地址线,分别是引脚A0A12。引脚 为片选信号引脚,并且低电平有效。【片选信号说明】若想访问一个芯片,必须使该片选信号有效。换个角度:系统中会扩展很多的芯片,每个芯片都有片选信号,通过片选信号区分CPU是对自己访问,还是对其他芯片的访问。只有当片选引脚有效时,才是对该芯片的访问,而不是其他芯片。,51单片机一共有16根地址线,分别是A0A15,7.2 地址译码,地址译码方法线选法线选法:存储器芯片的地址线与单片机系统的地址线从低到高顺次相接后,剩余的高位地址线仅用一位参加译码。线选法使存储器
6、芯片的地址空间有重叠,造成系统存储器空间的浪费。,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 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 x7FFF,A15连接了CS引脚,只有A15=0时,才访问该芯片,A14、A13空闲,所以这两位
7、上的值为多少都没有关系,A12.0连接芯片地址引脚,决定了访问该芯片的单元地址,请计算一下连线时,2764的地址范围,7.2 地址译码,地址译码方法部分译码法(门电路组合法)部分译码:存储器芯片的地址线与单片机系统的地址线从低到高顺次相接后,剩余的高位地址线仅用一部分参加译码。部分译码使存储器芯片的地址空间有重叠,造成系统存储器空间的浪费。,7.2 地址译码,按上图,2764的地址范围是A15 A14 A13 A12 A11 A10 A9 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
8、 1 1 1 1 1 1 1 1 1 所以该连接方式决定了2764的地址范围如下,两部分重复。0 x00000 x1FFF 0 x80000 x9FFF,A15空闲,值随意,A14、A13通过与门连接CS引脚。因为CS为0时才可以访问芯片,所以,只有A14,A13=00时,与门输出才为0,才使CS有效,A12.0连接芯片地址引脚,决定了访问该芯片的单元地址,7.2 地址译码,请计算一下连线时,2764的地址范围,7.2 地址译码,地址译码方法全译码法(门电路组合法)全译码法:存储器芯片的地址线与单片机系统的地址线从低到高顺次相接后,剩余的所有高位地址线都参加译码。此方法无地址重叠。,7.2 地
9、址译码,按上图,2764的地址范围是A15 A14 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连接芯片地址引脚,决定了访问该芯片的单元地址,7.2 地址译码,系统中扩展了两片276
10、4,请计算它们各自的地址范围,7.2 地址译码,地址译码方式译码器译码法以三八译码器为例(见右图)74LS138译码器引脚介绍C,B,A:译码信号输入引脚G1:选通端(高电平有效),:选通端(低点评有效).:译码输出引脚(低电平有效)74LS138译码器功能:当三个选通端全部有效时,可将译码信号输入的二进制编码在一个对应的输出端以低电平译出,7.2 地址译码,74LS138三八译码器(真值表如下),7.2 地址译码,通过74LS138实现译码电路的连线 如下图。计算两片2764各自的地址范围,7.2 地址译码,MCS-51单片机存储器结构与一般微机的存储器结构不同,分为程序存储器ROM和数据存
11、储器RAM。程序存储器存放程序、固定常数和数据表格。数据存储器用作工作区及存放数据。,程序存储器MCS-51单片机的程序存储器,从物理结构上分为片内和片外程序存储器而对于片内程序存储器,在MCS-51系列中,不同的芯片各不相同:8031和8032内部没有ROM8051内部有4KBROM,8052内部有8KBROM 对于内部没有ROM的8031和8032,工作时只能扩展外部ROM,最多可扩展64K,地址范围为0000HFFFFH,7.3.1 存储器扩展存储器结构,对于内部有ROM的芯片,根据情况外部可以扩展ROM,但内部ROM和外部ROM共用64K存储空间,其中,片内程序存储器地址空间和片外程序
12、存储器的低地址空间重叠。51子系列重叠区域为0000H0FFFH,52子系列重叠区域为0000H1FFFH。,片 外ROMEA=0,片 外ROMEA=0,片 内ROMEA=1,片 外ROM,0000H,FFFFH,0000H,0FFFH,1000H,FFFFH,(a)8031片内无ROM,(b)8051片内有4K ROM,7.3.1 存储器扩展存储器结构,程序存储器结构,片 外ROMEA=0,片 内ROMEA=1,片 外ROM,0000H,1FFFH,2000H,FFFFH,(c)8052片内有8K ROM,7.3.1 存储器扩展存储器结构,程序存储器结构,程序存储器 的7个特殊地址,MCS-
13、51系列单片机复位后PC的内容为0000H,故单片机复位后将从0000H单元开始执行程序。程序存储器的0000H单元地址是系统程序的启动地址。这里用户一般放一条绝对转移指令。转到后而的用户程序。6个中断源的地址之间仅隔8个单元,存放中断服务程序往往不够用,这是通常放一条绝对转移指令,转到真正的中断服务程序,真正的中断服务程序放到后面。,7.3.1 存储器扩展存储器结构,数据存储器:从物理结构上分为片内数据存储器和片外数据存储器。,片内数据存储器MCS-51系列单片机的片内数据存储器除了RAM块外,还有特殊功能寄存器(SFR)块。对于51子系列RAM块有128字节,编址为00H7FH;SFR块也
14、占128字节,编址为80HFFH;二者连续不重叠。对于52子系列 RAM块有256字节,编址为00HFFH;SFR块也有128字节,编址为80HFFH;后者与前者的后128字节编址重叠的。访问时通过不同的指令相区分。片内数据存储器按功能分成以下几个部分:工作寄存器组区、位寻址区、一般RAM区和特殊功能寄存器区,其中还包含堆栈区。,7.3.1 存储器扩展存储器结构,7.3.1 存储器扩展存储器结构,8051单片机数据存储器结构,工作寄存器组区,00H1FH单元为工作寄存器组区,共32个字节。工作寄存器也称为通用寄存器,用于临时寄存8位信息。工作寄存器共有4组,称为0组、1组、2组和3组,每组8个
15、,分别依次用R0R7表示,7.3.1 存储器扩展存储器结构,8051单片机数据存储器结构工作寄存器区,2.位寻址区20H2FH为位寻址区,共16字节,128位。这128位每位都可以按位方式使用,每一位都有一个位地址,位地址范围为00H7FH,7.3.1 存储器扩展存储器结构,3.一般RAM区30H7FH是一般RAM区,也称为用户RAM区,共80字节,对于52子系列,一般RAM区从30HFFH单元。另外,对于前两区中未用的单元也可作为用户RAM单元使用。存储用户自己定义的一般变量,7.3.1存储器扩展存储器结构,4.堆栈区与堆栈指针堆栈是按先入后出、后入先出的原则进行管理的一段存储区域。MCS-
16、51单片机中,堆栈是用片内数据存储器的一段区域,在具体使用时应避开工作寄存器、位寻址区,一般设在2FH以后的单元,如工作寄存器和位寻址区未用,也可开辟为堆栈。C51程序设计时,一般由编译器自行分配,7.3.1 存储器扩展存储器结构,5.特殊功能寄存器(SFR)专门用于控制、管理片内算术逻辑部件、并行I/O口、串行口、定时/计数器、中断系统等功能模块的工作,用户在编程时可以给其设定值,但不能移作它用。SFR分布在80HFFH地址空间,与片内数据存储器统一编址,除PC外,51子系列有18个特殊功能寄存器,其中3个为双字节,共占用21个字节;52子系列有21个特殊寄存器,其中5个为双字节,共占用26
17、个字节。,7.3.1 存储器扩展存储器结构,7.3.2 存储器扩展概述,存储器扩展概述,MCS-51单片机的存储器扩展能力,MCS-51单片机地址总线宽度为16位,片外可扩展的存储器最大容量为64KB,地址为0000HFFFFH。因为程序存储器和数据存储器是通过 不同的 控制信号 和 指令 进行访问,允许两者的地址空间重叠,所以片外可扩展的程序存储器与数据存储器分别都为64KB。,存储器扩展概述,存储器扩展的一般方法简介 控制线 连线方式对于程序存储器:输出允许控制线 OE单片机的PSEN信号线相连。对于数据存储器:输出允许控制线OE单片机的读信号线RD。写控制线 WE单片机的写信号线WR。,
18、【说明】不论何种存储器芯片,其引脚都呈三总线结构,与单片机连接都是三总线对接。另外,电源线接电源线,地线接地线。,7.3.2 存储器扩展概述,存储器扩展的一般方法简介数据线 连线方式存储器芯片的数据线的数目由芯片的字长决定。连线时,存储器芯片的数据线与单片机的数据总线(P0.0 P0.7)按由低位到高位的顺序顺次相接。【强调】单片机使用三总线扩展系统时,单片机的数据总线为P0口的8位线,需要和存储器芯片的数据线依次相接,7.3.2 存储器扩展概述,存储器扩展的一般方法简介地址线 连线方式使用三总线系统扩展时,单片机的地址总线一共有16位(A0A15),分别是P0口(对应A0A7)和P2口(对应
19、A8A15)。存储器芯片的地址线的数目由芯片的容量决定。容量(Q)与地址线数目(N)满足关系式:Q=2N。存储器芯片的地址线与单片机的地址总线(A0A15)按由低位到高位的顺序顺次相接。一般来说,存储器芯片的地址线数目总是少于单片机地址总线的数目,因此连接后,单片机的高位地址线总有剩余。剩余地址线一般作为译码线,译码输出与存储器芯片的片选信号线CS相接。片选信号线与单片机系统的译码输出相接后,就决定了存储器芯片的地址范围。,7.3.2 存储器扩展概述,解决方法分时复用技术:地址信号和数据信号在不同的时间段上传输。,危险,但是又如何实现分时复用技术呢?,答案是采用一片输出锁存器,通过前面ppt,
20、我们发现:单片机系统扩展时,P0口既作为数据线(D0D7)使用,也作为地址线的低8位使用(A0A7)。,因此,P0口既跑数据信号,也跑地址信号,存在着两种不同信号冲突的潜在危险,7.3.2 存储器扩展概述,74LS373:带输出三态门的8D锁存器74LS373引脚功能D7.0为8个输入端。Q7.0为8个输出端。LE:数据锁存控制端。当LE为“1”时,锁存器输出端同输入端变化;当LE为“0”时,数据输入被锁存,输出固定。OE 为输出允许端:当OE 为“0”时,三态门打开,可以驱动总线或负载;当OE 为“1”时,三态门关闭,输出呈高阻状态。,常用74LS373实现单片机数据总线和地址总线的分时复用
21、,7.3.2 存储器扩展概述,74LS373内部结构如右图74LS373真值表如下,7.3.2 存储器扩展概述,74LS373用作地址锁存器 连线,7.3.2 存储器扩展概述,ALE(30脚):地址锁存信号输出端当外接存储器(ROM或RAM)时,ALE的输出用于锁存地址的低8位,一般ALE接锁存器的LE端,电路板连线,连接P0口,扩展数据线和低位地址线,连接P2口,扩展低位地址线,数据总线,连接芯片的数据线,低8位地址总线,连接芯片的地址线,扩展存储器所需芯片数目的确定,若所选存储器芯片字长与单片机字长一致,则只需扩展容量。所需芯片数目按下式确定:,若所选存储器芯片字长与单片机字长不一致,则不
22、仅需扩展容量,还需字扩展。所需芯片数目按下式确定:,7.3.2 存储器扩展概述,单片机外扩程序存储器相关引脚(以8051为例)/EA:片外程序存储器选用端。若/EA=0,则访问片外程序存储器;若/EA=1,则在00000FFFFH的地址范围内访问片内程序存储器,一旦超出范围,自动访问片外程序存储器/PSEN:片外程序存储器读选通信号输出端,低电平有效。在对外部程序存储器进行读操作时,每个周期出现两次信号,连线时与外部ROM的OE引脚相连ALE:当外接存储器(ROM或RAM)时,ALE的输出用于锁存地址的低8位,一般ALE接锁存器的控制端LEP0.0P0.7:数据线,同时也是低8位地址线P2.0
23、P2.7:高8位地址线指令集访问外部ROM不需要使用显示指令,是通过PC(指令计数器)来控制取指地址的(跳转指令也可能引起PC跳转),7.3.3 存储器扩展程序存储器扩展,引脚介绍A0A12:地址线D0D7:数据线/PGM:控制本芯片是处于正常工作状态还是处于编程/检验状态。若PGM=1,则是处于正常工作状态vpp:加入编程时所需要的额定电压(高于工作电压)/OE:允许输出引脚/CE:片选引脚,程序存储器以2764(EPROM)为例,7.3.3 存储器扩展程序存储器扩展,8051外扩程序存储器,7.3.3 存储器扩展程序存储器扩展,8051外扩程序存储器按上图2764的地址范围是A15 A14
24、 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 x7FFF,7.3.3 存储器扩展程序存储器扩展,7.3.3 存储器扩展程序存储器扩展,多片程序存储器的扩展,其8个重叠的地址范围为如下:00000000000000000001111111111111,即
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机原理及应用第07章 单片机系统扩展 单片机 原理 应用 07 系统 扩展

链接地址:https://www.31ppt.com/p-6095965.html