《单片机原理及应用教程》第8章:MCS-51单片机的系统扩展
《单片机原理及应用教程》第8章:MCS-51单片机的系统扩展
PCH输溢 PCL 输溢 计数 采采
PCH输溢 PCL 输溢 计数 采采
图8.2 单片机访问外部程序存储器的时序图
8.1.2 地址锁存器及 地址锁存器及EPROM,EEPROM芯片介绍 芯片介绍
1. 地址锁存器
图8.3为几种常用的地址锁存器的管脚图。
图8.4是这几种常用的锁存器与单片机的连接图。
MCS-51 单片机原理及应用教程
清华大学出版社 刘迎春 主编
第8章 MCS-51单片机的系统扩展 章 单片机的系统扩展
程序存储器的扩展 数据存储器的扩展 外部I/O的扩展
8.1 程序存储器的扩展
8.1.1 外部程序存储器的操作时序
MCS-51系列单片机扩展外部程序存储器的硬件电路如图8.1所示。
8255 CE
8051 P2.0 P2.5 P2.6 P2.7 A B C Y0 Y1 Y2 Y3 Y4 Y5
CE
G2A G2B G1 16 6
CE +5V ADC1674
CE 82C53
CE DAC0832
A0 A1
8.3.3 82C55可编程并行 口 可编程并行I/O口 可编程并行
1. 82C55芯片介绍
图8.6 27C64与单片机的连线图
图8.8 MCS-51单片机与EEPROM 28C17的连接图
8.2 数据存储器的扩展
8.2.1 外部数据存储器的操作时序
如图8.9所示为单片机片外数据存储器的读时序 。
S1 P1 P2 ALE PSEN RD ③ P2 ③ P0 指指输输指指 ④ A7-A0指指 地地A15-A8 ⑥ 计数输输 ⑧ 指指 ⑤ ⑦ ① S2 P1 P2 ② S3 P1 P2 S4 P1 P2 S5 P1 P2 S6 P1 P2
项目 一 汽车单片机原理应用(任务五 MCS-51单片机系统扩展)
(3) MCS-51单片机系统地址空间的分配 系统空间分配:通过适当的地址线产生各外部扩展器件的片 选/使能等信号就是系统空间分配。
编址:编址就是利用系统提供的地址总线,通过适当的连接, 实现一个编址惟一地对应系统中的一个外围芯片的过程。编 址就是研究系统地址空间的分配问题。
片内寻址:若某芯片内部还有多个可寻址单元,则称为片内 寻址。
2)全地址译码法
利用译码器对系统地址总线中未被外扩芯片用到的高位 地址线进行译码,以译码器的输出作为外围芯片的片选信 号。常用的译码器有:74LS139,74LS138,74LS154等。 优点是存储器的每个存储单元只有惟一的一个系统空间地 址,不存在地址重叠现象;对存储空间的使用是连续的, 能有效地利用系统的存储空间。缺点是所需地址译码电路 较多,。全地址译码法是单片机应用系统设计中经常采用 的方法。
1。程序和数据之和不大于 存储器总容量。 2。程序必须存放在低地址,
数据存放在高地址。
三、并行I/O口扩展 MCS-51单片机具有四个并行8位I/O口原理均可用做双向并行 I/O接口,但在实际应用中,可提供给用户使用的I/O口只有P1 口和部分P3口线及作为数据总线用的P0口。在单片机的I/O口 线不够用的情况下,可以借助外部器件对I/O口进行扩展 (1)概述 1)单片机I/O口扩展方法 并行I/O口扩展的目的:为外围设备提供一个输入输出通道。 ①并行总线扩展的方法 ②串行口扩展方法(只介绍总线扩展方式下I/O接口扩展方法) ③I/O端口模拟串行方法
二、存储器的扩展 存储器是计算机系统中的记忆装置,用来存放要运行的程 序和程序运行所需要的数据。单片机系统扩展的存储器可分为 程序存储器和数据存储器两种类型。
(1)MCS-51单片机对外部存储器的扩展应考虑的问题
本章导读本章首先介绍MCS51单片机最小应用系统与总线
2019/2/24
MCS-51单片机原理与应用
16
8.2.2 数据存储器的扩展
4
(3)29C010的数据线I/O0~I/O7与单片机的地址总线一一对应 同名相连, WE 与 WR 相连。单片机 PSEN 和 RD 经过与门后与 29C010的 OE 相连,两个控制信号只要有一个有效,就可以对 29C010进行读出操作。这样的接法是把29C010芯片既看作是程 序存储器,又看作是数据存储器。 把29C010看作程序存储器是在PSEN 信号有效,即执行取指指令: MOVC A,@A+DPTR。 把其看作数据存储器是在 RD 或 WR 信号有效,即执行读写指令: MOVX A,@DPTR ;读片外数据存储器 MOVX A,@Ri MOVX @DPTR,A ;写片外数据存储器 MOVX @Ri,A (4)29C010的地址范围如表8.3,其17条地址线A0~A16取值范 围从全0到全1,就可得到其为寻址空间为00000H~1FFFFH。当
2019/2/24 MCS-51单片机原理与应用 7
8.1 最小应用系统与总线扩展
7
数据就被锁存在锁存器中,输入端数据变化不再影响Q 端输出。当三态门的输出允许端 OE 为低电平时,三态 门处于导通状态,允许Q端输出;当 OE 为高电平时,三态 门处于高阻隔离状态,不允许Q端输出。根据74LS373 的特性,把作为P0口地址锁存器的连接如图8.4(b)。 若采用74LS273, 因其CLK端是上升沿锁存, 所以ALE 端输出锁存控制信号必须加一个反相器,如图8.4(c)。
2019/2/24 MCS-51单片机原理与应用 18
8.2.2 数据存储器的扩展
6
(1)两扩展芯片15条地址线A0~A14都与单片机的15条地址线 一一对应同名相连,用于对存储器芯片片内单元的寻址。 (2)两扩展芯片数据线I/O0~I/O7与单片机数据总线一一对应 同名相连。单片机PSEN 与29C256的OE 相连,用于取指控制;单 片机的 WR 与 RD 信号分别与62256的 OE 和WE 相连,用于数据的 读写控制。
《单片机原理及应用》习题答案
2.5 MCS-51系列单片机的存储器可划分为几个空间?各自的地址范围和容量是多少? MCS-51系列单片机的存储器可划分为几个空间?各自的地址范围和容量是多少? 系列单片机的存储器可划分为几个空间 在使用上有什么不同? 在使用上有什么不同? 8051如何确定和改变当前工作寄存器组 如何确定和改变当前工作寄存器组? 2.6 8051如何确定和改变当前工作寄存器组? MCS-51单片机的程序存储器中0000H、0003H、000BH、0013H、001BH和0023H这几 单片机的程序存储器中0000H 2.7 MCS-51单片机的程序存储器中0000H、0003H、000BH、0013H、001BH和0023H这几 个地址具有什么特殊的功能? 个地址具有什么特殊的功能? 8051单片机有哪几个特殊功能寄存器 可位寻址的SFR有几个? 单片机有哪几个特殊功能寄存器? SFR有几个 2.8 8051单片机有哪几个特殊功能寄存器?可位寻址的SFR有几个? 程序状态寄存器PSW的作用是什么?常用标志有哪些位?作用是什么? PSW的作用是什么 2.9 程序状态寄存器PSW的作用是什么?常用标志有哪些位?作用是什么? SP) 指什么? 2.10 (SP)=30H 指什么? MCS-51系列单片机的P0、P1、P2和P3口各有什么特点 系列单片机的P0 口各有什么特点? 2.11 MCS-51系列单片机的P0、P1、P2和P3口各有什么特点? ALE信号有何功用 一般情况下它与机器周期的关系如何?在什么条件下ALE 信号有何功用? ALE信 2.12 ALE信号有何功用?一般情况下它与机器周期的关系如何?在什么条件下ALE信 号可用作外部设备的定时信号。 号可用作外部设备的定时信号。 有那几种方法能使单片机复位?复位后各寄存器的状态如何?复位对内部RAM RAM有 2.13 有那几种方法能使单片机复位?复位后各寄存器的状态如何?复位对内部RAM有 何影响? 何影响? MCS-51的时钟振荡周期 机器周期和指令周期之间有何关系? 的时钟振荡周期、 2.14 MCS-51的时钟振荡周期、机器周期和指令周期之间有何关系?
第08章MCS51单片机系统扩展
表8-1 线选法三片存储器芯片地址分配表
无关位 A15 A14
片外地址线 A13 A12 A11
二进制表示 片内地址线
A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0
16进制表 示
芯 11 片 .. Ⅰ
11
芯 11 片 .. Ⅱ
11
芯 11 片 .. Ⅲ
11
110 ... 110 101 ... 101 011 ... 011
因两根线(A13、A14)未用,故两个芯片各有22=4个重叠的 地址空间。重叠的地址范围如下:
芯片1: 00000000000000000~0001111111111111,即0000H~1FFFH; 00100000000000000~0011111111111111,即2000H~3FFFH; 01000000000000000~0101111111111111,即4000H~5FFFH; 01100000000000000~0111111111111111,即6000H~7FFFH;
00000000000 . .. . . . . .. . . 11111111111 00000000000 . .. . . . . .. . . 11111111111 00000000000 . .. . . . . .. . . 11111111111
F000H ~
F7FFH E800H
~ EFFFH D800H
芯片数目
系统扩展容量 存储器芯片容量
系统字长 存储器芯片字长
(2)地址总线(AB):地址信号用于寻址存储单元或I/O端口。由 P0口和P2口共同提供。
(3)控制总线(CB):控制总线用于协调控制数据信 息和地址信息的正确传送。
单片机原理及应用 蔡启仲 第8章 51单片机的系统扩展
MOVC:读片外程序存储器的指令
注意:“片选”和“单元选择”都是单片机通过地址 线一次发出的地址信号来完成选择。
20
通常把单片机系统的地址线笼统地分为低位地址线和 高位地址线,“片选”都是使用高位地址线。实际上,16条 地址线中的高、低位地址线的数目并不是固定的,只是习惯 上把用于 “单元选择”的地址线,都称为低位地址线,其余
寄存器单元的选择。
(2)数据总线(Data Bus,DB):用于单片机与外部 存储器之间或与I/O接口之间传送数据,数据总线是双向 的。 (3)控制总线(Control Bus,CB):控制总线是单片 机发出的各种控制信号线。
7
8.1.2 51单片机系统总线的构成 由于单片机要兼顾最小系统和系统扩展的应用,其引 脚数目受到限制,多数引脚处于多功能复用状态,为此,
11
8.1.3 单片机系统总线驱动能力扩展 (1) 总线的驱动能力 在51单片机应用系统中,所有扩展的外部部件都要通 过单片机的三总线驱动,由于总线的驱动电流总是有限的, 当应用系统规模过大,扩展所接的外部芯片多,超过了系 统总线的驱动能力时,就必须进行总线驱动。 (2) 总线的驱动扩展方法 所谓总线驱动,通常是指通过外接一些相应的驱动电 路,在电路逻辑不变的前提下,增加总线驱动负载的能力。 由于地址总线和控制总线是单向的,扩展驱动能力时,可 采用单向总线驱动器。而数据总线是双向的,必须采用双 向三态驱动器进行数据总线驱动能力的扩展。
四 MCS-51单片机存储器系统扩展
74LS373引脚
1、控制位OE: OE=0时,输出导通 2、控制位G: 接ALE 3、Vcc=+5V 4、GND接地
1 74LS373为8D锁存器,其主要特点在于:
控制端G为高电平时,输出Q0~Q7复现输入D0~ D7的状态;G为下跳沿时D0~D7的状态被锁存在Q0 ~Q7上。
MOV DPTR, #0BFFFH ;指向74LS373口地址
MOVX A, @DPTR ;读入
MOV @R0, A
;送数据缓冲区
INC R0
;修改R0指针
RETI
;返回
用74LS273和74LS244扩展输入输出接口
地址允许信号ALE与外部地址锁存信号G相连;
单片机端的EA与单片机的型号有关;
存储器端的CE与地址信号线有关。
P... 2.7 P2.0
ALE 8031
P... 0.7 P0.0
EA
PSEN
外部地址
G
锁存器
I...7
O... 7
I0 O0
A... 15
CE
A8
外部程序
存储器
A... 7 A0
D7. . . D0 OE
6264的扩展电路图
图中CS(CE2)和CE引脚均为6264的片选信号,由于该扩展电路 中只有一片6264,故可以使它们常有效,即CS(CE2)接+5V ,CE接地。6264的一组地址为0000H~1FFFH。
存储器地址编码
SRAM6264:“64”—— 8K×8b = 8KB 6264有13根地址线。 地址空间: 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 0000H 最高地址: 1 1 1 1 1 1 1 1 1 1 1 1 1 1FFFH MCS-51单片机寻址范围:64KB 26×210 = 216即16位地址线 地址空间: A15A14A13A12A11A10A9A8A7······A0 单片机
51系列单片机教程(共15章) 第8章
在大多数应用的场合,还是并行扩展占主导地位。
8.3 读写控制、地址空间分配和外部地址锁存器 8.3.1 存储器扩展的读写控制 RAM芯片:读写控制引脚,记为OE*和WE* ,与MCS-51 的RD*和WR*相连。 EPROM芯片:只能读出,故只有读出引脚,记为OE* , 该引脚与MCS-51的PSEN*相连。 8.3.2 存储器地址空间分配
口部件的扩展下一章介绍。
系统扩展结构如下图:
MCS-51单片机外部存储器结构:哈佛结构 。 MCS-96单片机的存储器结构:普林斯顿结构。 MCS-51数据存储器和程序存储器的最大扩展空间各为 64KB。 系统扩展首先要构造系统总线。 8.2 系统总线及总线构造 8.2.1 系统总线 按其功能通常把系统总线分为三组: 1.地址总线(Adress Bus,简写AB) 2.数据总线(Data Bus,简写DB) 3.控制总线(Control Bus,简写CB) 8.2.2 构造系统总线
地址锁存器一般采用74LS373,采用74LS373的地址总 线的扩展电路如下图(图8-3)。
1.以P0口作为低8位地址/数据总线。 2.以P2口的口线作高位地址线。 3.控制信号线。 *使用ALE信号作为低8位地址的锁存控制信号。 *以PSEN*信号作为扩展程序存储器的读选通信号。 *以EA*信号作为内外程序存储器的选择控制信号。 *由RD*和WR*信号作为扩展数据存储器和I/O口的 读选通、写选通信号。 尽管MCS-51有4个并行I/O口,共32条口线,但由于系 统扩展需要,真正作为数据I/O使用的,就剩下P1 口和P3口的部分口线。 8.2.3 单片机系统的串行扩展技术
8.3.3 外部地址锁存器
常用的地址锁存器芯片有: 74LS373、8282、74LS573 等。 1. 锁存器74LS373 带有三态门的8D锁存器,其引脚其内部结构如下图。
第8章 单片机存储器扩展
译码法的另一个优点是若译码器输出端留 有剩余端线未用时,便于继续扩展存储器或I/O 口接口电路。
译码法和线选法不仅适用于扩展存储器(包 括外RAM和外ROM),还适用于扩展I/O口(包括各 种外围设备和接口芯片)。
译码有两种方法:部分译码法和全译码法。
部分译码:存储器芯片的地址线与单片机系统的地址线顺 次相接后,剩余的高位地址线仅用一部分参加译码。部分 译码使存储器芯片的地址空间有重叠,造成系统存储器空 间的浪费。 部分译码法的一个特例是线译码。所谓线译码就是 直接用一根剩余的高位地址线与一块存储器芯片的片选 信号CS相连,同时通过非门与另一块存储器芯片的片选 信号CS相连。 全译码:存储器芯片的地址线与单片机系统的地址线顺次 相接后,剩余的高位地址线全部参加译码。这种译码方法 存储器芯片的地址空间是唯一确定的,但译码电路相对复 杂。
2 2764
8031
CE GND
EA Vss
上图为8XX51单片机扩展单片程序存储器2764的电路 图。
其8个重叠的地址范围为如下: 0000000000000000~0001111111111111,即:0000H~1FFFH; 0010000000000000~0011111111111111,即:2000H~3FFFH; 0100000000000000~0101111111111111,即:4000H~5FFFH; 0110000000000000~0111111111111111,即:6000H~7FFFH; 1000000000000000~1001111111111111,即:8000H~9FFFH; 1010000000000000~1011111111111111,即:A000H~BFFFH; 1100000000000000~1101111111111111,即:C000H~DFFFH; 1110000000000000~1111111111111111,即:E000H~FFFFH。
单片机原理及应用课后全答案(完整张毅刚版)
第一章单片机概述1.2 除了单片机这一名称之外,单片机还可称为(微控制器)和(嵌入式控制器)。
1.3 单片机与普通计算机的不同之处在于其将(微处理器)、(存储器)和(各种输入输出接口)三部分集成于一块芯片上。
4 、单片机的发展大致分为哪几个阶段?答:单片机的发展历史可分为四个阶段:第一阶段(1974 年----1976 年):单片机初级阶段。
第二阶段(1976 年----1978 年):低性能单片机阶段。
第三阶段(1978 年----现在):高性能单片机阶段。
第四阶段(1982 年----现在):8 位单片机巩固发展及16 位单片机、32位单片机推出阶段1.5 单片机根据其基本操作处理的位数可分为哪几种类型?答:单片机根据其基本操作处理的位数可分为:1 位单片机、4 位单片机、8 位单片机、16 位单片机和32 位单片机。
1.6 MCS-51 系列单片机的基本芯片分别为哪几种?它们的差别是什么?答:基本芯片为8031、8051 、8751 。
8031 内部包括1 个8 位cpu 、128BRAM,21个特殊功能寄存器(SFR )、4 个8 位并行I/O 口、1 个全双工串行口,2 个16 位定时器/ 计数器,但片内无程序存储器,需外扩EPROM芯片。
8051 是在8 031 的基础上,片内又集成有4KBROM,作为程序存储器,是1 个程序不超过4KB 的小系统。
8751 是在8 031 的基础上,增加了4KB 的EPROM,它构成了1 个程序小于4KB 的小系统。
用户可以将程序固化在EPROM 中,可以反复修改程序。
1.7 MCS-51 系列单片机与80C51 系列单片机的异同点是什么?答:共同点为它们的指令系统相互兼容。
不同点在于MCS-5 1 是基本型,而80C51 采用CMOS工艺,功耗很低,有两种掉电工作方式,一种是CPU 停止工作,其它部分仍继续工作;另一种是,除片内RAM继续保持数据外,其它部分都停止工作。
单片机原理及其接口技术--第8章 MCS-51单片机系统接口技术
第二步是再识别是哪一个键按下。
键盘中哪一个键按下是由列线逐列置低电平后,检查行输 入状态,称为逐列扫描。其方法是:从列口第0位开始,依次输出
“0”,置对应的列线为低电平,然后读入行线状态,如果全为"1", 则所按下之键不在此列;如果不全为"1",则所按下的键必在此列, 而且是与0电平行线相交的交点上的那个键。
除抖动、排除多次执行键功能操作等功
能,可参考查询工作方式键盘程序。
主目录 上一页 下一页 结 束
单片机原理及其接口技术
8.1.4 键盘接口应用实例 例8.1 独立式键盘接口应用实例:电路原 理图如图所示,要求编程实现当按下任一键时,
数码管显示对应的键值。
主目录
上一页
下一页
结
束
单片机原理及其接口技术
的办法计算。
主目录
上一页
下一页
结
束
单片机原理及其接口技术 2) 定时扫描工作方式
开 始
定时扫描方式程序框图
键盘上有键闭合否
Y N KM=1 0 → KM 0 → KP Y N
Y 1 → KM
KP=1 N 查询键码 1 → KP
做两次查询,都有 键后进行键码计算。 主目录 上一页
返 回
下一页
结
束
3) 中断工作方式 单片机原理及其接口技术
1.独立式按键 2.行列式键盘
主目录
上一页
下一页
结
束
1. 独立式按键 单片机原理及其接口技术
(1).独立式按键接口结 构 一般用排阻进行上拉。
独立式按键的接口电路示意图 主目录 下一页 (b) 查询方式 结 束 (a) 中断方式 上一页
2.独立式按键的软件结构 单片机原理及其接口技术 下面是查询方式的键盘程序。 K0~K7为功能程序入口地址标号 PROM0~PROM7分别为每个按键的功能程序
第8章 MCS-51系统扩展
8.1.3 存储器常用芯片 1.程序存储器 EPROM(紫外线擦除的可编程存储 器):2716、2732、2764、27128、 27256、27512。型号名称“27”后面 的数字表示其位存储容量,如果转换 成字节存储容量,将该数字除以8即 可。 1)A0~A12——地址引脚,可寻址 8KB。 2)D0 OE~D7——数据线引脚。 3) CE ——输出允许控制端。 4) PGM ——片选控制端。 5) ——编程脉冲信号。编程时, 编程脉冲输入端。 6)VPP——编程电压。编程时,编 程电压(+12.5V)输入端。
系统扩展的首要问题,构造系统 总线。系统总线上“挂”存储器 芯片或I/O接口芯片: “挂”存储器芯片就是存储器扩展 “挂”I/O接口芯片就是I/O扩展。 1.以P0口作为低8位地址/数据 总线 MCS-51由于受引脚数目的限制, 数据线和低8位地址线复用。为 了将它们分离出来,需要外加地 址锁存器,从而构成与一般CPU 相类似的片外三总线,见图。
3.译码器 译码器是典型的组合数字电路,译码器是将一种编 码转换为另一种编码的逻辑电路,译码器的种类很多, 但它们的工作原理和分析设计方法大同小异。常用的地 址译码器74LS138是3-8译码器,有3个地址输入端A、B、 C,3个使能端、、G3和8个输出端组成。
8.2.4 编址技术 MCS-51 单片机外部存储器的扩展包括外部程序存储器 和外部数据存储器两种。 如何把外部各自的64KB空间分配给各个程序存储器、 数据存储器芯片,并且使程序存储器的各个芯片之间,数 据存储器各芯片之间,为避免发生数据冲突,一个存储器 单元对应一个地址,这就是存储器的地址空间的分配问题。 在外扩的多片存储器芯片中, MCS-51要完成这种功能, 必须进行两种选择: 一是必须选中该存储器芯片(或I/O接口芯片),这称 为“片选”,只有被“选中”的存储器芯片才能被MCS-51 读出或写入数据。为了片选的需要,每个存储器芯片都有 片选信号引脚, 二是在“片选”的基础上再选择该芯片的某一单元,称 为“单元选择”。
第8章 单片机系统扩展_练习
第8章单片机系统扩展1. 什么是AT89C51单片机的最小应用系统?答:所谓最小应用系统是指能维持单片机运行的最简单配置系统。
AT89C51芯片外加晶振电路和复位电路就构成了一个简单可靠的最小应用系统。
其在简单应用场合,可满足用户的要求。
2. 在AT89C51扩展系统中,程序存储器与数据存储器共用16位地址线和8位数据线,为什么两个存储空间不会冲突?答:AT89C51在片外扩展RAM的地址空间为0000H~FFFFH,共64KB,与ROM地址空间重叠。
但因各自使用不同的指令和控制信号,因而不会“撞车”。
读ROM时用MOVC指令,由PSEN选通ROM的OE端;读/写片外RAM时用MOVX指令,用RD选通RAM的OE端,用WR选通RAM的WE端。
但扩展RAM与扩展I/O 口是统一编址的,使用相同的指令和控制信号。
这在设计硬件系统和编制软件程序时应注意统筹安排。
3. 利用一片74LS138,用全译码方法,设计一个外部扩展8片6116的扩展电路。
写出各芯片的地址空间。
解:(图7.2 74LS138译码片选8片6116(2K×8)存储电路图(2)各芯片地址空间为:(假定无关位取1)芯片(1):1000 0000 0000 0000B~1000 0111 1111 1111B=8000H~87FFH芯片(2):1000 1000 0000 0000B~1000 1111 1111 1111B=8800H~8FFFH芯片(3):1001 0000 0000 0000B~1001 0111 1111 1111B=9000H~97FFH芯片(4):1001 1000 0000 0000B~1001 1111 1111 1111B=9800H~9FFFH芯片(5):1010 0000 0000 0000B~1010 0111 1111 1111B=A000H~A7FFH芯片(6):1010 1000 0000 0000B~1010 1111 1111 1111B=A800H~AFFFH芯片(7):1011 0000 0000 0000B~1011 0111 1111 1111B=B000H~B7FFH芯片(8):1011 1000 0000 0000B~1011 1111 1111 1111B=B800H~BFFFH4.用串行传送方式,在AT89C51上扩展2片AT24C01A,画出硬件连接图,编程向每片传送100个数据。
单片机第八章 MCS-51 单片机的系统扩展
8051
共阴极 数码管
C5 C4 C3 C2 C1 C0
P3.5 P3.4 . . P3.0
反 向 驱 动 图 8-13 扫描式显示电路
原理: 8051的P1口输出字型码到所有数码管的a~g各 段(1—亮,0—暗),P3口输出位选字,选中某一 个数码管(因为加了一级反相器,所以1—亮,0— 暗),使该数码管显示相应的字型,其余数码管不 亮。轮流点亮每个数码管并不断扫描,最后各数码 管得到稳定的字型显示。
P2.7
单片机 8031
WR RD ALE
D0 D1 D2 D3 D4 D5 D6 D7
74LS 373
G
Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7
A7 A6 A5 A4 A3 A2 A1 A0 O0 O1 O2 O3 O4 O5 O6 O7
P0.0 P0.1 P0.2 P0.3 P0.4 P0.5 P0.6 P0.7
5.常见系统扩展电路
(1)单一功能的系统扩展 存储器的扩展(程序存储器、数据存储 器、E2PROM ) 外部中断源的扩展(简单门电路) 并行口的扩展(8155) (2)综合功能的扩展 外部RAM、定时器、并行口扩展(8155) 存储器、并行口、定时器扩展(多芯片)
6.地址空间分配
两种地址选择方法: (1)线选法:将某一根地址线作为片选信号 优点:不需译码器,节省硬件、成本低、设计简单、 体积小 缺点:外部扩器件数目受限制,地址空间利用率不高 (2)地址译码法:目的是减少各部器件所占用的地 址空间,以增加扩展部器件的数量。最常用的是 74LS138,(真值表P199表8-1)。 优点:地址空间利用率高 缺点:增加硬件、设计复杂、成本高
OE
ALE PSEN ALE PSEN P2
MCS51单片机的系统扩展与应用
图所 6. 示:
引脚符号的含义和功能如下:
D7~D0:三态数据总线; A0~Ai:地址输入线,
CE :片选信号输入线;
OE :输出允许输入线;
VPP:编程电源输入线;
PGM:编程脉冲输入线;
VCC:电源; GND:接地; NC:空引脚。
2. 地址锁存器 程序存储器扩展时,还需要地址锁存器,地址锁存器常用
系统构成: 4KB ROM,256B RAM; 五个中断源; 两个16位定时/计数器; 一个全双工串行UART; 四个并行I / O口
二、8031硬件最小系统 8031单片机片内无ROM,若要正常工作,必需
外配ROM。外接ROM后,P3口、P2口、P0口均被占用 只剩下P1口作I / O口用,其它功能不变。
存储器芯片的选择有两种方法: 线选法和译码法。 1. 线选法 所谓线选法, 就是直接以系统的地址线作为存储器芯片的 片选信号, 为此只需把用到的地址线与存储器芯片的片选 端直接相连即可。 2. 译码法 所谓译码法就是使用地址译码器对系统的片外地址进行译 码, 以其译码输出作为存储器芯片的片选信号。
译码法又分为完全译码和部分译码两种。 (1) 完全译码。
的有带三态缓冲输出的8D锁存器74LS373、带有清除端的 74LS273。
74LS373是带有三态门的8D锁存器,当三态门的使能信号 线OE为低电平时,三态门处于导通状态,允许锁存器输出, 锁存控制端为11脚LE,采用下降沿锁存,控制端可以直接与 CPU 的地址锁存控制信号ALE相连。
3. 程序存储器扩展举例
3.2 MCS-51系列单片机的外部扩展原理
1. MCS-51系列单片机的片外总线结构 MCS-51系列单片机具有很强的外部扩展功能。其外部扩展
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
AD0 PA0~PA7 AD1
AD2
AD3 AD4 PB0~PB7 AD5 AD6 81C55
AD7
CE
P C0 ~P C5
IO/M
ALE
RESET
WR T IMER IN
RD T IMEROUT
设通过8051向81C55中RAM的第30H单元送入数87H,则例程如下。
9
32
10
31
11
30
12
29
13
28
14
27
15
26
16
25
17
24
18
23
19
22
20
21
VCC P C2 P C1
P C0 P B7 P B6 P B5 P B4 P B3
P B2 P B1 P B0
P A7 P A6 P A5 P A4 P A3
P A2 P A1 P A0
IO/M
AD0~AD7
LOOP: MOVX @DPTR, A INC DPTR INC A DJNZ R2, LOOP END
;((DPTR))←(A) ;外部数据指针地址加1 ;A内的数据加1 ;R2是否为零?否,转向LOOP ;否则程序停止
以上程序段是将数据写入外部数据存储器的例程,如将数据读出单片机外
只需将:
LOOP: MOVX @DPTR, A 改写为:
NC
Vc c
A12
WE
A7
VCC
A7
CE 2
A6
A8
A6
A8
A5
A9
A5
A9
A4
WE
A4
A11
A3
OE
A3
OE
A2
A10
A2
A10
A1
CE
A0
6116
D7
A1
CE 1
A0
6264
D7
D0
D6
D0
D6
D1
D5
D1
D5
D2
D4
D2
D4
Vss
D3
Vss
D3
下面的程序为向6116内写入00~FFH的数据。
MOV A, #8BH
;将数据8BH传送给A
MOVX @DPTR, A ;由A将8BH这个控制字写入82C55的控制单元
MOV DPTR, #0FEFCH ;数据指针指向A端口
MOV A, #3FH
;将3FH这个数传送给A
MOVX @DPTR, A
;由A将数据传送到DPTR制定的字节地址
MOV DPTR, #0FEFDH ;将B口的地址传送给数据指针
PA3 PA2 PA1 PA0 RD CS
GND A1 A0 PC7 PC6
PC5 PC4
PC0 PC1 PC2 PC3 PB0 PB1
PB2
PA4 PA5
PA6 PA7
A组 控制
WR
RESET D0
D0-D7 数据总线
D1
缓冲器
D2
D3 D4 D5
RD
WR A0 A1
读/写 逻辑
A组 控制
D6
RESET
P CL 输出
数据 采样
P CL 输出
数据 采样
P CL 数 据 输出 采样
图8.2 单片机访问外部程序存储器的时序图
8.1.2 地址锁存器及EPROM,EEPROM芯片介绍
1. 地址锁存器
图8.3为几种常用的地址锁存器的管脚图。
图8.4是这几种常用的锁存器与单片机的连接图。
2. EPROM与EEPROM扩展电路
ORG 0000H AJMP MAIN ORG 0040H MAIN: MOV SP, #60H MOV DPTR, #7E30H MOV A, #78H MOVX @DPTR, A END
8.4 思考练习题
(1)简述单片机系统扩展的基本原则和实现方法。 (2)什么是RAM?有什么特点? (3)线选法和全地址译码法有什么区别? (4)在一个8051应用系统中扩展64K EPROM,并扩展两片82C55和一片 6264,试画出其线路原理图,并说明各自的地址范围。 (5)设采用一片8051和一片81C55设计一个24位的定时器/计数器。 (6)某厂生产的酒瓶盖原采用称重装箱的方式,现要改为按数量装箱的 方式,设其每箱要求装满5000只,试应用8051单片机设计其应用系统。 (7)由于8051内部有4K的程序存储器,有人考虑采用控制EA端的方式 来给程序加密,试讨论该办法的可行性。 (8)试讨论在不加其他逻辑芯片的情况下,一片8051和一片81C55可提 供多少输入/输出的端口。
紫外线擦除电可编程只读存储器EPROM,以前常用作MCS-51系列单
片机的外部程序存储器,常见的型号有:2764(8K×8),
27128(16K×8),27256(32K×8),27512(64K×8)等。管脚分布如图
8.5所示 。
Vpp
Vcc
A12
PGM
A7
NC
A6
A8
A5
A9
A4
A11
A3
OE
A2
82C55的三种工作模式: 工作模式0 工作模式1 工作模式2
D7 D6 D5 D4 D3 D2 D1 D0 不用
位:置位/复位 1:置位 0:复位
0 1 234 567 01 01 0 101 00 11 0 011 00 00 1 111
位:置位/复位标志 0:有效
图8.18 82C55 C口位操作控制字
A10
A1
CE
A0
D7
D0
D6
D1
D5
D2
D4
Vss
D3
图8.8 MCS-51单片机与EEPROM 28C17的连接图
8.2 数据存储器的扩展
8.2.1 外部数据存储器的操作时序
如图8.9所示为单片机片外数据存储器的读时序 。
S1
S2
S3
S4
S5
S6
P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2
1. 81C55芯片简介
图8.26为81C55芯片的管脚和内部结构示意图。
P C3 P C4 TIMERIN
RESET P C5
TIMEROUT IO/M
CE RD WR ALE
AD0 AD1 AD2 AD3 AD4
AD5 AD6 AD7
VSS
1
40
2
39
3
38
4
37
5
36
6
35
7
34
8 8155 33
PB0~7 8
D0 82C55 D1
D2 D3
PC0~7
8
D4
D5
D6
D7
例程如下:
ORG 0000H
;上电复位程序入口
AJMP MAIN
;转移到以MAIN为标号的程序入口;
ORG 0040H
;主程序存放在以0040H单元开始的空间内
MAIN: MOV SP, #60H
;将堆栈调至60H单元处
MOV DPTR, #0FEFFH ;将82C55的控制字节地址赋给数据指针
2. 8051与82C55的接口举例
在8051单片机的I/O上扩展82C55芯片,其接口逻辑相当简单,如图
8.25所示。
WR
WR
RD
RD
P2.0
CS PA0~7 8
ALEGΒιβλιοθήκη EP0.0 P0.1
8051
P0.2 P0.3 P0.4 P0.5 P0.6 P0.7
74LS373
D0 Q0 D1 Q1
A0 A1
LOOP: MOVX A, @DPTR
8.3 外部I/O的扩展
8.3.1 I/O口扩展概述
常用的单片机外围器件有:82C55、81C55、82C53、82C54、82C52、 8279等芯片。
8.3.2 I/O口地址译码方法
1. 线选法 图8.13为采用线选法的实例。
8051
P2.3 P2.2 P2.4 P2.5 P2.6 P2.7 P2.1
2. 全地址译码法
它将低位地址作为芯片的片内地址,而用译码器对高位地址线进行译码 译出的信号作为片选线。一般采用74LS138(3-8),74LS154(4-16),或 CPLD等来实现译码。下面以74LS138为例来讲述其应用方法。
8051 P2.0
P2.5 P2.6 P2.7
A0 … A10
A B
D7
CS
VCC
PB7 PB6
PB5
PB4
PB3
A组 控制
P A0~P A7
A组 端口C 上半部
P C4~P C7
B组 端口C 上半部
P C0~P C3
A组 控制
P B0~P B7
A1 A0
00 01 10 11
表8.4 82C55内部的单元地址
82C55内部寄存器
端口A 端口B 端口C 控制寄存器
MOVX A, @DPTR
;将B口的数据传送给A
MOV 30H, A
;通过A将B口内的数据传送到30H单元内
MOV DPTR, #0FEFEH ;把端口C的地址赋予数据指针
MOVX A, @DPTR
;把C内的数据传送给A
MOV 31H, A
;通过A把数据传送到31H单元内
END
;整个程序结束
8.3.4 81C55可编程并行I/O口
MCS-51 单片机原理及应用教程