MCS-51单片机外部并行接口扩展技术
MCS-51单片机输入/输出口的P0并行扩展方法

MCS-51单片机输入/输出口的P0并行扩展方法在单片机家族的众多成员中,MCS-51 系列单片机以其优越的性能、成熟的技术、高可靠性和高性价比,占领了工业测控和自动化工程应用的主要市场,并成为国内单片机应用领域中的主流机型。
MCS-51 单片机的并行口有P0、P1、P2 和P3,由于P0 口是地址/数据总线口,P2 口是高8 位地址线,P3 口具有第二功能,这样,真正可以作为双向I/O 口应用的就只有P1 口了。
这在大多数应用中是不够的,因此,大部分MCS-51 单片机应用系统设计都不可避免的需要对P0 口进行扩展。
由于MCS-51 单片机的外部RAM 和I/O 口是统一编址的,因此,可以把单片机外部64K 字节RAM 空间的一部分作为扩展外围I/O 口的地址空间。
这样,单片机就可以像访问外部RAM 存储器单元那样访问外部的P0 口接口芯片,以对P0 口进行读/写操作。
用于P0 口扩展的专用芯片很多。
如8255 可编程并行P0 口扩展芯片、8155 可编程并行P0 口扩展芯片等。
本文重点介绍采用具有三态缓冲的74HC244 芯片和输出带锁存的74HC377 芯片对P0 口进行的并行扩展的具体方法。
1 输入接口的扩展MCS-51 单片机的数据总线是一种公用总线,不能被独占使用,这就要求接在上面的芯片必须具备三态功能,因此扩展输入接口实际上就是要找一个能够用于控制且具备三态输出的芯片。
以便在输入设备被选通时,它能使输入设备的数据线和单片机的数据总线直接接通;而当输入设备没有被选通时,它又能隔离数据源和数据总线(即三态缓冲器为高阻抗状态)。
1.1 74HC244 芯片的功能74ls244 74hc244 pdf如果输入的数据可以保持比较长的时间(比如键盘),简单输入接口扩展通常。
MCS单片机外部并行口扩展技术开关量通道(详细分析:输出)共8张PPT

第5章 MCS-51单片机外部
。 并行口扩展技术
第5章 MCS-51单片机外部 并行口扩展技术
39 晶体管光电耦合器件结构图
43 继电器输出接口
。 42 扳键开关与89C51的接口
(1) 行程开关、继电器触点与MCS-51单片机的接口
需要考虑各种缓冲、隔离和驱动电路的设计。
开关量功率输出接口
7406
(3) 固态继电器输出接口
。A 。
B
关
电
电
路
路
过零控制
C 负载
。 吸
收
。 电
路
。 。 D
电源
图5.45 固态继电器内部逻辑图
输出端暗电流
输入输出压降
6
.5 .4
4N33 (c)
2. 开关量输入接口
(1) 行程开关、继电器触点与MCS-51单片机的接口
。 E1 。。
1KΩ 10μF
。5V
去单片机I/O端
图5.41 开关、触点输入与89C51的接口
(2) 扳键开关与MCS—51单片机的接口
P0.0
P0.7
P3.0 +
42 扳键开关与89C51的接口
(2) 双向晶闸管输出接口
42 扳键开关与89C51的接口
第5章 MCS-51单片机外部 并行口扩展技术
图5.43
继电器输出接口
。VC
J
(2) 双向晶闸管输出接口
VCC
330Ω
P1.0 7406
MOC3041
ZL
39Ω 0.01μF
图5.44 MOC3041与双向晶闸管的接线图
RD
。
+5V
1Y1
74.56MCS51并行IO端口的扩展PPT课件

(1) 监视键盘的方法 3) 根据键盘布局构建键值表
1FH 1EH 1DH 1CH 1BH 1AH 19H 18H
L3
17H 16H 15H 14H 13H 12H 11H 10H
L2
0FH 0EH 0DH 0CH 0BH 0AH 09H 08H
L1
07H 06H 05H 04H 03H 02H 01H 00H
ORG 0100H
READKEY: MOV A , #0FFH ; 准备读P1口
MOV P1, A
JNB ACC.0 , RP10 ; 若0#键按下,则转RP10
JNB ACC.1 , RP11 ; 若1#键按下,则转RP11
…
JNB ACC.7 , RP17 ; 若7#键按下,则转RP17
DONE : RET
7.4 MCS-51并行I/O端口的扩展
MCS-51单片机虽然有四个并行端口(P0~P3),但是真正留给 用户使用的只有P1,其它的3个并口都有其它的工作:P0和P2常 用作扩展外存储器,P3经常用到它的各引脚的第二功能。因此, 需要扩展I/O
两种方法: 1) 借用外部RAM的地址来扩展I/O端口(统一编址); 方法简单,但使用受限,尤其在使用无接口能力的外设
设计者按照需要固定好各个按键的位置后,即可以根据 当前的键盘布局,确定某键盘所在的行值和列值。例如按键 “7”的行值为0(L0),列值为0(R0)。
为方便编程,需要将所有按键的键值按照固定的顺序保 存在表格中。因为键值和按键是一一对应的,只要通过查表 查到键值,也就知道用户按下了哪个键。其中各个键值对应 的偏移量是由按键的行值和列值确定的。确切的说,是由列 值和所在行的行首键号(顺序号)确定的。如下图所示:
第八章 MCS-51的IO接口扩展

0
0 0 0
0
0 0 0
1
1 1 0
1
0 0 1
0
1 1 1
1
0 1 0
1
0 1 0
1
0 1 0
1 1 1
0 0 0 1 1 1 0 0 0
1
0 1 0
1
0 1 0
1 1 1
0 0 0 1 1 1 0 0 0
37FFH
2800H 2FFFH 1800H
0
0
0
1
1
0
0
0
0 0 0
0
0
0 1 1
1803H
中断扩展
• 标准的8051单片机只有两个外部中断输入端。 • 而当系统的外部中断源大于或等于3个时,则考虑通过中断 扩展获得更多的外部中断端口。 • 中断扩展的基本思想就是,通过系统的标准外部中断端口( 一级中断)的复用来扩展若干个二级中断。 • 当有扩展的中断请求输入时,在中断服务程序的开始处,读 入二级中断向量,依据不同的中断向量来区别不同的中断请 求源,然后执行对应的中断服务程序代码。 • 常见的中断扩展有编码器线和与两种方式。前者适合中断源 较多的情况,后者电路简单,但只适合中断源扩展较少的情 况。编码器方式的扩展电路如图8.6所示。
图8.7 线与方式的中断扩展电路
•
• • • • •
•
在图8.7中,直接使用二极管的“线与”操作来实现 中断输入的判别。当INT0到INT3的某个扩展中断源有中断请 求时,因二极管的“线与”功能,使得INT为低电平,从而 引起系统中断。进入中断后,通过查询P1.0到P1.3便可知道 应该执行哪一部分中断服务程序。假设INT接至51单片机的 脚,对应的中断服务程序的框架结构为: ORG 0013H JMP INTSERV …… INTSERV: … … ;现场保护 JNB P1.0,INT0SERV ;是中断INT0请求,则执行INT0对应的中断 服务程序 JNB P1.1,INT1SERV ;是中断INT1请求,则执行INT1对应的中断 服务程序
第5章 MCS-51单片机外部并行口扩展技术-5.3并行口扩展

377(2)
0
1
74LS377 具有“使能” 具有“使能”控制端的锁存器
扩展8位并行输入 输入口 2. 扩展8位并行输入口
0 0
0
A15 P2.7 0 1
A14 P2.6 0 0
A13 P2.5 0 1
A12 P2.4 0 1
2…P0.7 0….0 1….1
LOOP: MOV
DPTR,#0FEFFH ,
;0FEFFH为扩展 口地址 为扩展I/O口地址 为扩展 ;输入数据,将244中开关状态读入 输入数据, 中开关状态读入 输入数据 ;读入数据输出,送273驱动 读入数据输出, 驱动LED 读入数据输出 驱动 ;循环测试 循环测试
MOVX A,@DPTR , MOVX @DPTR,A , SJMP LOOP
常用 输入 74LS244、74LS245、74LS240等 74LS244、74LS245、74LS240等 输出 74LS373、74LS273、74LS377、74LS573等 74LS373、74LS273、74LS377、74LS573等 LS373
扩展简单输入/ 3. 扩展简单输入/输出电路
MCS-51单片机外部 第5章 MCS-51单片机外部 并行口扩展技术
5.3 并行口扩展
单片机 单片机 单片机
√
三总线
存储器 外设 外设
×
三总线 I/O 接口电路
√
接口电路的功能 协调高速计算机与低速外设的速度匹配问题 协调高速计算机与低速外设的速度匹配问题 高速计算机 外设 如:计算机与打印机的速度 提供输入/输出过程中的状态信号 提供输入 输出过程中的状态信号 输出过程中的 如:计算机必须知道打印机的状态信号 解决计算机信号与外设信号之间的不一致 解决计算机信号与外设信号之间的不一致 如:串行口负逻辑,而单片机正逻辑 串行口负逻辑,
单片机第6章 MCS-51系列单片机的扩展技术课件

74LS273和74LS244的工作受AT89C51的P2.0、RD、WR三条控制线控 制。电路的工作原理如下:
当P2.0=0,WR=0(RD=1)选中写74LS273, AT89C51通过P0口输出数 据到74LS273,;
当P2.0=0,RD=0(WR=1)时选中读74LS244, 某开关按下时则对应位输 入为“0”。
7
2.外部程序存储器的连接方法 三总线分别连接
8
3.外部程序存储器的扩展
(1)常见的EPROM存储器及扩展电路 单片机外部扩展常用程序存储器芯片为EPROM,其掉电后信
息不会丢失,且只有在紫外线的照射下,存储器的单元信息才可 擦除。
用作扩展的EPROM主要是27系列,如2716、2732、2764、 27128、7256等,其中高位数字27表示该芯片是EPROM,低位数字 表明存储容量,如2716表示16K个存储位,亦即字节容量为2K的 EPROM。
3
(1) 地址总线A0~A15 地址总线的高8位是由P2口提供的,低8位是由P0口提供的。 在访问外部存储器时,由地址锁存信号ALE的下降沿把P0口的低8
位以及P2口的高8位锁存至地址锁存器中,从而构成系统的16位地址 总线。 (2) 数据总线D0~D7
数据总线是由P0口提供的,因为P0口线既用作地址线,又用作数 据线(分时使用),因此,需要加一个8位锁存器。
单片机一直处于不断的取指令码-执行-取指令码-执行的工 作过程中,在取指令码时和执行MOVC指令时PSEN会变为有效,和其 它信号配合完成从程序存储器读取数据。
6
【例】74LS273输出端接8个LED发光二极管,以显示8个按钮开关 状态,某位低电平时二极管发光。74LS244扩展输入口,接8个按 钮开关。
MCS51并行口扩展8255

MCS-51并行口的扩展
D0~D7 数据 总线
缓冲器
RD
WR 读写
CS 控制
A0 A1
逻辑
RESET
①A组控制电路用来控制A口 及C口的高4位。 ②B组控制电路用来控制B口 及C口的低4位。
A组 控制
B组 控制
口A
PA0~PA7
口C 高4
口C 低4
口B
PC4~PC7 PC0~PC3 PB0~PB7
最为常用。 ② 方式1――选通输入/输出――中断方式;A ,B,两个端口均可。 ③ 方式2――双向输入/输出――中断方式。只有A端口才有。 注意:工作方式的选择可通过向控制端口写入方式控制字来实现。
MCS-51并行口的扩展
方式0方式0为一种简单的输入/输出方式,没有规定固定的应答联络信号,
可用A,B,C三个口的任意一位充当查询信号,其余I/O口仍可作为独立 的端口和外设相连。
缓冲器
RD
WR 读写
CS 控制
A0 A1
逻辑
RESET
A组 控制
B组 控制
口A
PA0~PA7
口C 高4
口C 低4
口B
PC4~PC7 PC0~PC3 PB0~PB7
读/写控制逻辑电路负责管理8255A的数据传输过 程。它接收片选信号及系统读信号、写信号、复位信 号RESET,还有来自系统地址总线的口地址选择信号 A0和A1。
MOV DPTR,#0023H
MOVX
D0:D0=0 选中的C口引脚输出0,D0=1 选中的C口引脚输出1。 @DPTR,A
MCS-51并行口的扩展
8255初始化
8255是可编程的接口芯片,在使用8255之前,硬件上必须复位,即给RESET端送一个
MCS-51单片机外部并行口扩展技术-542键盘接口工作原理

RL A MOV R2, A
AJMP LK4
;进行下一列扫描
KND: SETB F0 RET
;无键标志 ;扫描完毕
键盘/显示一体 8255接口图
小结
? 键盘接口工作原理 ? 相应的程序设计方法
实验:键盘扫描显示
74LS245
? 双向总线收发器
74LS273
? 地址锁存器
MOV A, #08H
;装第1行值
AJMP LKP
LTWO: JB ACC.2, LTHR ;ACC.2=1 ,第2行无键闭合,转LTHR
MOV A, #10H
;装第2行值
AJMP LKP
LTHR: JB ACC.3, NEXT ;ACC.3=1 ,第3行无键闭合,转NEXT
MOV A, #18H
;装第3行值
;无键闭合,延时6ms 后转KEY1
有闭合键, 则(A)≠0 无闭合, 则(A)=0
01111111
LK2: LK4:
CLR MOV MOV MOV MOV MOVX INC INC MOVX
F0
;有键标志
R2, #0FEH
;扫描初值送R2
R4, #00H
;扫描列号送R4
DPTR, # 7FFCH ;A口地址
3. 消除抖动不良后果的方法
? ⑴ 硬件去抖动
? RC滤波电路去抖动电路简单实用,效果较好。 ? ⑵ 软件去抖动
? 检测到按键按下后,执行延时10ms子程序后再确认该 键是否确实按下,消除抖动影响。
开始
键处理的流程图
键扫描 有无键按下
去抖动
键码计算
键释放
JMP@A+DPTR
A=00H
00#键 处理程序
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
件方式;延时等待方式;查询方式;中断方式
2020/9/12
单片机系统扩展使用的外部总线有以下三种: ➢ 地址总线:P0口(A0~A7),P2口(A8~A15); ➢ 数据总线:P0口(D0~D7); ➢ 控制总线:控制信号(ALE、/PSEN、/EA、/WR、
➢ 特点: ✓ 掉电保护数据,即非易失性; ✓ 多缓冲结构,写入时可页写!写入时,有页加载(MOVX操 作)+页存储(几个毫秒); ✓ 写入时数据存储结束可通过数据查询(最高位D7编程时反 向状态,编程结束后,恢复正确的数据)或忙状态判断; ✓ 读出时,与普通ROM一样(方法及速度); ✓ 可作RAM使用(写入低速),也可作ROM使用!
A0~A7
扩展时注意的问题: ➢ 地址锁存器的选用:74LS373 ➢ 存储器空间冲突问题:外RAM(/RD、/WR)有效,由
MOVX实现;外ROM(/PSEN)有效,由PC指针自动实 现,由于CPU的内ROM化,使/PSEN作用弱化。 ➢ 编址技术问题:必须会!
2020/9/12
5.1.2 编址技术
/RD)的具体定义见表5-1。
2020/9/12
MCS-51系统扩展结构图
单片机
数据存储器
程序存储器
I/O接口
地址总线AB 数据总线DB 控制总线CB
I/O接口
2020/9/12
单片机扩展总线结构图
PSEN
RD
单 WR 片 机 P2
ALE
EA
P0
2020/9/12
CB
A8~A15
锁存器 D0~D7
2020/9/12
5.1.1 系统总线扩展
MCS-51系列单片机系统扩展主要包括存储器扩 展、I/O口的扩展。存储器扩展分为程序存储器的扩 展、数据存储器的扩展。扩展的能力为: ➢ 程序存储器可扩展至64KB; ➢ 数据存储器可扩展至64KB; ➢ I/O口的扩展。
2020/9/12
➢ 注意:MCS-51单片机的外部数据存储器和扩展I/O口 是统一编址的,即每一个扩展的I/O口相当于外部 RAM的一个存储单元,所以,对I/O端口的访问与对 外部RAM的读/写操作一样。
2020/9/12
5.2.2数据存储器的扩展
➢ 为什么要扩展?
8031片内只有128个字节,8032只有256个字节。片外扩展一般 小于64K。
➢ 用什么扩展?
RAM,6116(2K),6264 (8K) ,62256(32K) ✓ AN~A0:地址端 ✓ D0~D7:数据端 ✓ VCC、GND:电源端 ✓ /CE:片选信号 ✓ /OE:读信号线 ✓ /WE:写信号线
2020/9/12
ROM+RAM扩展
➢ 共用74LS373 是由于访问时分时进行
➢ 共用高位地址线和数据线/低位地址线 2764由/PSEN选通,6264由/RD与/WR选通,P0数据互不干扰
➢ P2具有动态功能 当P2口有外部RAM地址时,又要对片外ROM取指时,原RAM地 址暂时消失而出现取指的高位地址,取指结束后,原RAM地 址被恢复,因此,称为动态端口。但P2口地址被指定后,不 会被取指操作所破坏。
2020/9/12
教学要求:
本章介绍了单片机并行接口扩展技术的工作原理、 特点及应用实例。要求掌握系统扩展方法、键盘及显 示器原理、A/D和D/A转换电路的原理及扩展应用;了 解常用典型并行接口器件应用,在实际中使用它们。
2020/9/12
第5章 MCS-51单片机外部并行接口扩展技术
➢ 5.1 系统总线扩展及编址技术
➢ 5.2 存储器扩展 ➢ 5.3 并行口扩展 ➢ 5.4 键盘/显示器接口扩展技术 ➢ 5.5 模拟量I/O通道 ➢ 5.6 开关量I/O通道 ➢ 5.7 本章小结
2020/9/12
5.1 系统总线扩展技术及编址技术
由于MCS-51单片机内部资源数量和种类的 限制,因此在实际使用时系统常常需要由外部 扩展,其中包括外部程序存储器的扩展、外部 数据存储器的扩展和I/O 端口的扩展以及其他 功能器件的扩展等。本节介绍采用并行总线结 构的单片机扩展方法及编址方法。
2020/9/12
读RAM时序
2020/9/12
写RAM时序
2020/9/12
RAM扩展
2020/9/12
➢ 读写的执行过程: ✓ 读RAM: /PSEN取指--指令(ROM中)通过P0口入CPU-- P2P0提供RAM地址--/RD有效--RAM中的数据通 过P0口入CPU。 ✓ 写RAM: /PSEN取指--指令(ROM中)通过P0口入CPU-- P2P0提供RAM地址--/WR有效--CPU中的数据通 过P0口入外部RAM 。
✓ AN~A0:地址端 ✓ D0~D7:数据端 ✓ VCC、GND:电源端 ✓ /CE:片选端 ✓ /OE:输出信号允许端 ✓ VPP:编程电压输入端
2020/9/12
EPROM器件
2020/9/12
EPROM器件
2020/9/12
EPROM器件
2020/9/12
➢怎样扩展?
✓ 首先我们了解单片机怎样从外存中取指,取指信号操作包 括ALE、/PSEN、P2和P0
双CPU系统中 ➢ 非易失数据存储器NVRAM:DS1230Y/AB
管脚兼容、使用与SRAM一样,但有电源低写保护,自动电源 切换电路等!(教材P123-P124)
2020/9/12
IDT7132引脚图
2020/9/12
IDT7132典型应用图
2020/9/12
➢ 并行EEPROM(E2PROM) 28C16、28C17、28C64等
2020/9/12
RAM器件
2020/9/12
➢怎样扩展?
✓ 首先我们了解读/写外部RAM的时序。 ✓ 怎样扩展?
看图 ✓ 分析
A.74LS373的作用,与扩展ROM一样,锁存低8位地址; B.高位地址线的连接决定地址单元编号,举例; C. 信号线的连接
/RD---/OE;/WR---/WE;P2---AN~A8 P0---D0~D7(A7~A0,经74373锁存)
2020/9/12
28C64引脚图
2020/9/12
28C64典型应用图
2020/9/12
✓ 怎样扩展? 看图。
✓ 分析 A.74LS373的作用; G=1,Q0~Q7=D0~D7 G下降沿时,D0~D7被锁存在Q0~Q7上 利用该特点,将ALE与G端相连。 B./PSEN与/OE线的连接。
2020/9/12
取指时序
2020/9/12
ROM扩展
2020/9/12
注意:
➢ 2716、2732、27128等的扩展方法与2764类似,只是P2口与地 址线连接数量有差异。
➢ ALE与/PSEN信号每MC出现两次,即1MC取指两次。单字节指令 取指1MC,双字节指令取指1MC,3字节指令(DJNZ,CJNE)取 指2个MC。
➢ 执行MOVX时,由于需要用P2口提供外部RAM的高8位地址,因 此当取出MOVX指令时,下一个机器周期/PSEN和ALE无效,此 时,P2提供RAM高8位地址,/RD或/WR有效,P0输入/输出MOVX 中的数据,因此MOVX需要2个MC才被执行。
E2PROM和NVRAM等,自己找资料及教材 看不作要求)
2020/9/12
5.2.1程序存储器的扩展
➢ 为什么要扩展? 8031片内无ROM,8051、8751、89C51等内ROM容量不够 。
➢ 用什么扩展? EPROM,2716(2K),2732(4K),2764(8K),
…27512(64K)
第5章 MCS-51单片机外部并行接口扩展技术
教学提示:MCS-51单片机。并行接口扩展主要包括系统扩 展、键盘及显示器原理和应用、A/D及D/A转换电路的 设计与实现和开关量输入/输出通道的设计。了解并 行接口扩展技术的工作原理和特点,并在实际中使用 它们,是单片机设计与应用的重要组成部分。
2020/9/12
ROM+RAM扩展结构示意图
2020/9/12
地址编码举例
2020/9/12
地址编码举例
2020/9/12
➢ 问题: 单片机执行MOVX一次,ALE信号将丢失1个脉冲,怎样捡回
该脉冲,使ALE等于FOSC/6? ➢ 超空间扩展
大于64K字节的扩展问题 ➢ 双端口RAM:IDT7132(典型的应用图)
地址的译码: ➢ 线选法:简单,但浪费地址资源; ➢ 译码法:稍复杂,但地址资源的利用率高。
常用的器件有74LS138。全译码与部 分译码。
2020/9/12
线选法
2020/9/12
译码法
2020/9/12
5.2 存储器扩展
➢ 5.2.1 程序存储器的扩展 ➢ 5.2.2 数据存储器的扩展 ➢ 5.2.3 非易失性数据存储器的扩展(有并行