单片机IO口扩展
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
74LS244:两个4位并行三态门控制芯片
MOV MOVX
DPTR,#0BFFFH A, @DPTR
4、简单输入、输出并行口
P0.0
P0.1 P0.2 P0.3
P0.4 P0.5 P0.6 P0.7
D0 Q0 LED0 D1 Q1 LED1
+5V
D2 Q2 LED2
D3 Q3 LED3
74HC273
(1) 外部设备的工作速度快慢差异很大。慢速设备如开关、继电器、机械传感器等。每秒钟提 供不了一个数据;而高速设备如磁盘、CRT显示器等,每秒钟可传送几千位数据。面对速度 差异如此之大的各类外部设备,CPU无法按固定的时序与它们以同步方式协调工作。 (2) 外部设备种类繁多。既有机械式的,又有机电式的,还有电子式的。不同种类的外部设 备之间性能各异,对数据传送的要求也各不相同的,无法按统一格式进行。 (3)外部设备的数据信号是多种多样的。既有电压信号,也有电流信号;既有数字形式,还有 模拟形式。 (4)外设的数据传送有近距离的,也有远距离的。因此有的使用并行数据传送,而有的则需要
2、中断方式数据传送
P1.0 P1.1
P1.2
P1.3
P1.4 80C51 P1.5
P1.6 P1.7
+5V
INT0
1(0)
0(1)
Biblioteka Baidu1(0)
+5V +5V
ORG LJMP ORG LJMP
0000H MAIN 0003H EXINT0
ORG MAIN: SETB
SETB SETB SJMP EXINT0: MOV MOV SWAP MOV RETI
4 、 I/O接口电路扩展芯片: 可编程IO芯片: 8155、8255,8243,8279 TTL、CMOS锁存、缓冲器电路芯片: 74LS373、 273、 377(锁存),244、367 (缓冲)
5、 端口做数据总线进行I/O接口扩展时与外部RAM统一编址,即两者合用64K地址空间(一部 分给RAM,一部分给IO口)。因此,CPU可以像访问外部RAM一样访问外部IO接口,对外部 IO口进行输入/输出操作。
第七章 单片机并口I/O扩展及应用
第一节 MCS-51单片机IO接口概述 第二节 键盘及其接口技术 第三节 显示器接口技术
第一节 MCS-51单片机IO接口概述
一、 IO接口概述
1 、扩展I/O接口电路原因:
共有4个8位并行IO口:P0、P1、P2和P3,有时资源可能不够用。
2 、使用IO接口电路的原因:
P1.2
S2 S3
P1.3
8031
P1.4
P1.5 P1.6
P1.7
独立式
矩阵式
+5V
S12 S13 S14 S15
输 出
矩阵式键盘,又称行列式键盘:键盘按行列构成矩阵模式,因此按键数较多
•键的识别 --接口电路实现(软、硬) •键功能的实现--软件程序实现
键的识别: •键盘扫描,判定是否有“闭合键” •键识别,确认“闭合键”的行列位置 •产生键码 •排除多键、串键(复按)及去抖动
D4 Q4 LED4
D5 Q5 LED5
D6 Q6 LED6
D7 Q7 LED7 G
80C51 WR P2.0 RD
按下任意键,对应LED发光:
74HC244
Q0 D0 Q1 D1 Q2 D2 Q3 D3 Q4 D4 Q5 D5
K0
K1
K2 K3
K4 K5 K6
Q6 D6
K7
Q7 D7
G1
G2
LOOP:MOV DPTR,#0FEFFH;
DPTR,#0BFFFH
MOVX MOV INC RETI
A, @DPTR @R0 A R0
3、用三态门扩展8位输入并行口
G1 CE G2
Q0
D0 D1 D2
D3 D4
D5 D6 D7
74LS244
Q1 Q2 Q3 Q4 Q5 Q6 Q7
P2.6 RD
80C51 P0.0 P0.1 P0.2 P0.3 P0.4 P0.5 P0.6 P0.7
MOVX A,@DPTR;读,/RD=0,键值输入
MOVX @DPTR A; 写,/WR=0,输出给发光二极管
SJMP $
第二节 键盘及其接口技术
1、键盘分类:独立式和矩阵式
P1.0 P1.1
P1.2
P1.3
P1.4 80C51 P1.5
P1.6 P1.7
+5V
P1.0 P1.1
输 S0 入 S1
2、键盘工作原理
输入
P1.0
S0
P1.1
S1
S2
P1.2
S3
P1.3
8031
P1.4
P1.5 P1.6
74LS273:带有允许控制端(/G)的8D锁存器
MOV MOV MOVX
DPTR,#7FFFH A, P0 @DPTR A
2、用锁存器扩展选通输入的8位并行口
G CE
Q0
D0 D1 D2
D3 D4
D5 D6 D7
74LS373
Q1 Q2 Q3 Q4 Q5 Q6 Q7
INT0
P2.6
RD 80C51
二、 I/O口的直接应用
1、数据无条件传送
P1.0 P1.1 P1.2 P1.3 P1.4 80C51 P1.5 P1.6 P1.7
+5V
`
LOOP:
ORG LJMP ORG
MOV MOV SWAP MOV SJMP
0000H MAIN 0030H
P1, #0FFH A,P1 A P1,A LOOP
P0.0 P0.1 P0.2 P0.3 P0.4 P0.5 P0.6 P0.7
74LS373:带有三态门控制输出的(/G)的8D锁存器
主程序初始化:
SETB
IT0
SETB
EA
SETB MOV
EX0 R0,#50H
SJMP $ 中断服务程序:
ORG LJMP
0003H EXINT0
ORG
0100H
EXINT0: MOV
0050H IT0 EA EX0 $ P1,#0FFH A,P1 A P1,A
三、简单I/O口的扩展
1、用锁存器扩展简单的8位输出口
WR P2.7
P0.0
P0.1
P0.2
P0.3
80C51
P0.4 P0.5
P0.6
P0.7
CP
G
Q0
D0 D1 D2
D3 D4
D5 D6 D7
74LS273
Q1 Q2 Q3 Q4 Q5 Q6 Q7
使用串行传送方式。
正是由于上述原因,使数据的I/O操作变得十分复杂,无法实现外部设备与CPU进行直 接的同步数据传送,而必须在CPU和外设之间设置一个接口电路,通过接口电路对CPU与外 设之间的数据传送进行协调。
3 、接口电路应该具有如下几项主要功能: (1)速度协调 (2)输出数据锁存 (3)数据输入三态缓冲 (4)数据转换