单片机第九章PPT课件
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
MCS-51 扩展I/O接口的设计
本讲重点: 1.简单I/O扩展(选用锁存器与驱动器),74LS TTL 电路扩展并行口 2.用串口扩展并口 3.8155并行接口芯片
• I/O扩展:利用单片机的硬件资源扩展输入 /输出接口
• 可作为单片机外部I/O接口芯片种类很多: 通用TTL电路扩展并行口,如74LS244、 74LS373、 74LS377等;专用芯片8255、 8155和8279等
用串行口扩展并行I/O口
(1)扩展并行输入口
MCS51 P3.0
(RX D)
HGFEDCBA QH 74LS165 SIN
HGFEDCBA QH 74LS165 SIN
QH S/L
CLK VCC
QH +5V
S/L
CLK VCC +5V
P1.0
P3.1 (TX D)
若16位并行输入数据已送到两个74LS165的输入端, √P1.0= 0, 16位数据被同时接收, √P1.0= 1, 开始串行移位
(3)中断传送方式(IRQ): 一方通过申请中断的方式与另一方进行数据传送
(4)直接存储器存取方式(DMA): 双方直接通过总线传送数据, 不经CPU中转
I/O接口的功能 1.实现不同外设的速度匹配
2.输出数据锁存
3.输入数据三态缓冲 二. I/O端口的编址 1.独立编址方式: 需设置专门的读写I/O指令和控制信号
通用芯片扩展I/O接口
• 当扩展构成输出口时,输出接口芯片应具 有锁存功能,以便输出数据能在输出口上 保留,便于外部数据读取;
• 构成输入口时,要求接口芯片有一定的缓 冲能力。
数据的输入/输出传送方式
(1)无条件传送方式: 一方对另一方来说总是准备好的
(2)查询传送方式(LOOK UP): 传送前一方先查询另一方的状态,若已经准备好 就传送,否则就继续查询/等待
2.统一编址方式: 将I/O端口寄存器与数据存储器单元
同等对待 MCS-51使用 I/O 和外部数据存储器 RAM 统一编址方 式
I/O接口电路的扩展
在单片机的I/O口线不够用的情况下,可以借助 外部器件对I/O口进行扩展。当仅需要少量的I/O 口线时,可以使用锁存器和三态门电路来实现。
CLR
VCC
用串行口扩展并行I/O口
(1)扩展并行输入口
MCS51 P3.0
wenku.baidu.com(RX D)
HGFEDCBA QH 74LS165 SIN
HGFEDCBA QH 74LS165 SIN
QH S/L
CLK VCC
QH +5V
S/L
CLK VCC +5V
P1.0
P3.1 (TX
经PD3) .0端,一位一位移入串行口的缓冲器中。单片机接 收完一个字节,发出中断申请,置 RI 为“1”。当CPU发 现RI=1则可以从串行口缓冲器中读走数据。
设定74LS273的地址为FEFFH(P2.0=0即可) DDIS: MOV DPTR, #0FEFFH ;指向I/O地址 MOVX A, @DPTR ;RD=0,读取74LS244 MOVX @DPTR, A ;WR=0,送至74LS273 SJMP DDIS
用串行口扩展并行I/O口
单片机控制系统中,串行口常用来扩展I/O接口,使 用移位寄存器作为锁存或输入信号的接口,可以方便 地扩展并行输入、输出口。这种方法不占用片外 RAM地址,简单易行,便于操作,适用于速度较慢、实 时性不高的场合。
SETB P1.0
令REN=1
P1.0
P3.1 (TX D)
√ P1.0= 0, 16位数据被同时接收 √ P1.0= 1, 开始串行移位
初始化
装载数据
允许移位
设置每组字节数
串行口方式0
N 接收完毕?
Y
令RI=0
转存
一组接收完毕? N
Y
全部接收完毕?
N
Y
MOV R7, #05H
MOV R0, #20H
START:CLR P1.0
CLK CLR FEFFH选中74LS244缓冲
74LS244
器
≥1
WR P2.0
Q0
Q1
D0
Q2
D1
Q3
D2
Q4
D3
S0 S1 S2 S3
RD
≥1
Q5
D4
Q6
D5
Q7
D6
S4 S5 S6
1G
D7
S7
2G
用74LS TTL电路扩展并行I/O口
例:将各开关的状态反映在发光二极管上,即开关合 则对应灯亮。
74LS273
◆74LS273为输出锁存器
P0.0 P0.1
D0 D1
Q0 Q1
+5V
◆74LS244为输入缓冲器
P0.2 P0.3 P0.4
D2 D3
Q2 Q3
◆当P2.0=0,且WR=0时,
D4 Q4 如FEFFH选中74LS273锁
P0.5
D5 Q5 存器,
P0.6 P0.7
D6
Q6
D7 Q7 ◆当P2.0=0,且RD=0时,如
用串行口扩展并行I/O口
(1)串行口扩展并行输入口
74LS165芯片是8位并行输入和串行移位输出寄存器。
a.S/L 是移位/置位控制端;S/L=0时,锁存并行输入数
据,S/L=1时,移位。
b.CLK 是移位时钟输入端,
c.QH 是串行移位输出端,
HGFEDCBA QH 74LS165 SIN
QH S/L
1Q
8Q
1D
8D
2D
7D
2Q 74LS273 7Q
3Q
6Q
3D
6D
4D
5D
4Q
5Q
GND
CLK
OE
VCC
1Q
8Q
1D
8D
2D
7D
2Q 74LS373 7Q
3Q
6Q
3D
6D
4D
5D
4Q
5Q
GND
G
OE
VCC
1Q
8Q
1D
8D
2D
7D
2Q 74LS374 7Q
3Q
6Q
3D
6D
4D
5D
4Q
5Q
GND
CLK
用74LS TTL电路扩展并行I/O口
4.用串行口扩展并行I/O口 例9-7: 从16位扩展口读入5组数据(每组2B),并转 存至内部RAM 20H 开始单元。
MCS51 P3.0
(RX D)
HGFEDCBA QH 74LS165 SIN
HGFEDCBA QH 74LS165 SIN
QH S/L
CLK VCC
QH +5V
S/L
CLK VCC +5V
CLK VCC +5V
用串行口扩展并行I/O口
(1)扩展并行输入口
MCS51 P3.0
(RX D)
HGFEDCBA QH 74LS165 SIN
HGFEDCBA QH 74LS165 SIN
QH S/L
CLK VCC
QH +5V
S/L
CLK VCC +5V
P1.0
P3.1 (TX D)
√ 串行口工作于方式0,RXD接收数据,TXD发出移位脉冲 √ 两个165芯片是串联方式。
本讲重点: 1.简单I/O扩展(选用锁存器与驱动器),74LS TTL 电路扩展并行口 2.用串口扩展并口 3.8155并行接口芯片
• I/O扩展:利用单片机的硬件资源扩展输入 /输出接口
• 可作为单片机外部I/O接口芯片种类很多: 通用TTL电路扩展并行口,如74LS244、 74LS373、 74LS377等;专用芯片8255、 8155和8279等
用串行口扩展并行I/O口
(1)扩展并行输入口
MCS51 P3.0
(RX D)
HGFEDCBA QH 74LS165 SIN
HGFEDCBA QH 74LS165 SIN
QH S/L
CLK VCC
QH +5V
S/L
CLK VCC +5V
P1.0
P3.1 (TX D)
若16位并行输入数据已送到两个74LS165的输入端, √P1.0= 0, 16位数据被同时接收, √P1.0= 1, 开始串行移位
(3)中断传送方式(IRQ): 一方通过申请中断的方式与另一方进行数据传送
(4)直接存储器存取方式(DMA): 双方直接通过总线传送数据, 不经CPU中转
I/O接口的功能 1.实现不同外设的速度匹配
2.输出数据锁存
3.输入数据三态缓冲 二. I/O端口的编址 1.独立编址方式: 需设置专门的读写I/O指令和控制信号
通用芯片扩展I/O接口
• 当扩展构成输出口时,输出接口芯片应具 有锁存功能,以便输出数据能在输出口上 保留,便于外部数据读取;
• 构成输入口时,要求接口芯片有一定的缓 冲能力。
数据的输入/输出传送方式
(1)无条件传送方式: 一方对另一方来说总是准备好的
(2)查询传送方式(LOOK UP): 传送前一方先查询另一方的状态,若已经准备好 就传送,否则就继续查询/等待
2.统一编址方式: 将I/O端口寄存器与数据存储器单元
同等对待 MCS-51使用 I/O 和外部数据存储器 RAM 统一编址方 式
I/O接口电路的扩展
在单片机的I/O口线不够用的情况下,可以借助 外部器件对I/O口进行扩展。当仅需要少量的I/O 口线时,可以使用锁存器和三态门电路来实现。
CLR
VCC
用串行口扩展并行I/O口
(1)扩展并行输入口
MCS51 P3.0
wenku.baidu.com(RX D)
HGFEDCBA QH 74LS165 SIN
HGFEDCBA QH 74LS165 SIN
QH S/L
CLK VCC
QH +5V
S/L
CLK VCC +5V
P1.0
P3.1 (TX
经PD3) .0端,一位一位移入串行口的缓冲器中。单片机接 收完一个字节,发出中断申请,置 RI 为“1”。当CPU发 现RI=1则可以从串行口缓冲器中读走数据。
设定74LS273的地址为FEFFH(P2.0=0即可) DDIS: MOV DPTR, #0FEFFH ;指向I/O地址 MOVX A, @DPTR ;RD=0,读取74LS244 MOVX @DPTR, A ;WR=0,送至74LS273 SJMP DDIS
用串行口扩展并行I/O口
单片机控制系统中,串行口常用来扩展I/O接口,使 用移位寄存器作为锁存或输入信号的接口,可以方便 地扩展并行输入、输出口。这种方法不占用片外 RAM地址,简单易行,便于操作,适用于速度较慢、实 时性不高的场合。
SETB P1.0
令REN=1
P1.0
P3.1 (TX D)
√ P1.0= 0, 16位数据被同时接收 √ P1.0= 1, 开始串行移位
初始化
装载数据
允许移位
设置每组字节数
串行口方式0
N 接收完毕?
Y
令RI=0
转存
一组接收完毕? N
Y
全部接收完毕?
N
Y
MOV R7, #05H
MOV R0, #20H
START:CLR P1.0
CLK CLR FEFFH选中74LS244缓冲
74LS244
器
≥1
WR P2.0
Q0
Q1
D0
Q2
D1
Q3
D2
Q4
D3
S0 S1 S2 S3
RD
≥1
Q5
D4
Q6
D5
Q7
D6
S4 S5 S6
1G
D7
S7
2G
用74LS TTL电路扩展并行I/O口
例:将各开关的状态反映在发光二极管上,即开关合 则对应灯亮。
74LS273
◆74LS273为输出锁存器
P0.0 P0.1
D0 D1
Q0 Q1
+5V
◆74LS244为输入缓冲器
P0.2 P0.3 P0.4
D2 D3
Q2 Q3
◆当P2.0=0,且WR=0时,
D4 Q4 如FEFFH选中74LS273锁
P0.5
D5 Q5 存器,
P0.6 P0.7
D6
Q6
D7 Q7 ◆当P2.0=0,且RD=0时,如
用串行口扩展并行I/O口
(1)串行口扩展并行输入口
74LS165芯片是8位并行输入和串行移位输出寄存器。
a.S/L 是移位/置位控制端;S/L=0时,锁存并行输入数
据,S/L=1时,移位。
b.CLK 是移位时钟输入端,
c.QH 是串行移位输出端,
HGFEDCBA QH 74LS165 SIN
QH S/L
1Q
8Q
1D
8D
2D
7D
2Q 74LS273 7Q
3Q
6Q
3D
6D
4D
5D
4Q
5Q
GND
CLK
OE
VCC
1Q
8Q
1D
8D
2D
7D
2Q 74LS373 7Q
3Q
6Q
3D
6D
4D
5D
4Q
5Q
GND
G
OE
VCC
1Q
8Q
1D
8D
2D
7D
2Q 74LS374 7Q
3Q
6Q
3D
6D
4D
5D
4Q
5Q
GND
CLK
用74LS TTL电路扩展并行I/O口
4.用串行口扩展并行I/O口 例9-7: 从16位扩展口读入5组数据(每组2B),并转 存至内部RAM 20H 开始单元。
MCS51 P3.0
(RX D)
HGFEDCBA QH 74LS165 SIN
HGFEDCBA QH 74LS165 SIN
QH S/L
CLK VCC
QH +5V
S/L
CLK VCC +5V
CLK VCC +5V
用串行口扩展并行I/O口
(1)扩展并行输入口
MCS51 P3.0
(RX D)
HGFEDCBA QH 74LS165 SIN
HGFEDCBA QH 74LS165 SIN
QH S/L
CLK VCC
QH +5V
S/L
CLK VCC +5V
P1.0
P3.1 (TX D)
√ 串行口工作于方式0,RXD接收数据,TXD发出移位脉冲 √ 两个165芯片是串联方式。