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