当前位置:文档之家› 微机接口技术课件 7.2 主机的数据通信接口——串口并口

微机接口技术课件 7.2 主机的数据通信接口——串口并口

CPU
DB
RD WR Reset Ready INT
地址 译码
控制寄存器
数据缓冲 输入寄存器
ACK 输入 Ready 设备
数据缓冲 输出寄存器
状态寄存器
Ready ACK
CS
并行接口
A1 A0
输出 设备
7.2.1 可编程并行通信接口8255A
1 特点 1)具有三个可编程为输入或输出的端口; 2)端口C可被分成2组,每组4位;
7.2 并行通信接口8255A
并行通信
特点:每个字符的所有位是同时传送的,即:一个字符的每一位都有一个 单独的通道。 并行通信通常用于短距离的高速传送。它的优点是传输速度快,然而对于 远距离传送来讲,由于每一位都需要一个通道(即一根传输线)所以成本 较高。
1
0

1


0
1


1

0
1
并行通信接口
4 端口地址
CS A1 A0 RD WR
读操作
0
0
0
0
1 PA口->数据总线->CPU
0
0
1
0
1 PB口->数据总线->CPU
0
1
0
0
1 PC口->数据总线->CPU
写操作
0
0
0
1
0 PA口<-数据总线<-CPU
0
0
1
1
0 PB口<-数据总线<-CPU
0
1
0
1
0 PC口<-数据总线<-CPU
0 1 1 1 0 控制寄存器<-数据总线
2)方式1-----选通输入/输出(具有握手的单向输入/输出) 特点: ◆三端口被分成两组(A组和B组); ◆每一组分别包含有8位的数据通道和4位的控制/数据通道; ◆8位的数据通道既可以作为输入,也可以作为输出,且带有锁存; ◆若只有一个端口工作在方式1,余下的13位可工作在方式0; ◆若二个端口都工作在方式1,端口C还留下二位,它们可以由程序指
A
方式1
PB0--7 B
PC0--3 PC4--7 C
PA0--7 A
方式2
PB0--7
控制或I/O 控制或I/O
B
C
PA0--7 A
PB0--7
I/O 控制
PA0--7
2 8255A的方式选择控制字
用于指定A、B、C三个端口的工作方式
D7
D6 D5 D4 D3 D2 D1 D0
置方式标志
1=有效
(1)方式0的输入输出时序
(A)输入时序
RD 输入端口
数据
CS、A0--1 D0--7
数据
(B)输出时序
WR D0--7 CS、A0--1 输出端口
数据
数据
方式0的典型举例
• A口接8个发光二极管,PC7连接一个开关 – 开关接通高电平时,8管全亮(点亮时为1) – 开关接通低电平时,8管循环点亮 – 假设端口地址为 60H—63H
• 问题分析 – 二极管和开关属简单外设,永远就绪,无需关心其状态如何 – A口选择工作方式0,设置为输出口 – C口的上半部为输入口(用于输入开关的高或低电平数据) – B口和C口的下半部不用 (方式字位均可取0) – 方式字为:1000 1000=88H
方式0的典型程序代码
IN AL , 62H
2 内部结构
D0--7
数据总线 缓冲器
RD
WR A0 A1
Reset
读/写 控制逻辑
CS
A组 控制
B组 控制
内部 数据 总线
A组 端口A
A组 端口C 高4位
B组 端口C 低4位
B组 端口B
PA0---7 PC4---7 PC0---3 PB0---7
3 管脚结构
PA3 PA2 PA1 PA0 RD
CS
GND
A1 A0 PC7 PC6 PC5 PC4 PC0 PC1 PC2 PC3 PB0 PB1 PB2
1
40
2
39
3
38
4
375366 Nhomakorabea35
7
34
8
33
9 8255A 32
10
31
11
30
12
29
13
28
14
27
15
26
16
25
17
24
18
23
19
22
20
21
PA4 PA5 PA6 PA7 WR
0----复位 1----置位
设8255A的控制口地址为FF83H,数据口A、B、C的地址分别为80H、81H、 82H。请说明下列程序的功能。
MOV DX,0FF83H MOV AL,91H OUT DX,AL DEC DX IN AL,DX
10010001
A组----方式0 A口输入,C口上半部分输出
定作为输入或输出,也具有置位和复位功能。
(A)方式1的输入
1 0 1 1 1/0 X X X
方式1
PC6,7 (0-输出)
B组----方式0 B口输出,C口下半部分输入
从C口读入数据
MOV DX,0FF83H MOV AL,0FH OUT DX,AL MOV AL,06H OUT DX,AL
00001111
PC7置1
00000110
PC3置0
2 8255A的程序设计 1)方式0------基本输入/输出(没有握手的输入/输出) 特点: ◆每一个端口都可以作为输入或者输出端口; ◆端口C可以分成二个(PC0—3和PC4—7)相互独立的部分。
内容
数据 数据 数据 数据或状态 数据 数据 数据
控制字
8255A工作方式
1 8255A的工作方式
1)方式0------基本输入/输出(没有握手的输入/输出) 2)方式1-----选通输入/输出(具有握手的单向输入/输出) 3)方式2-----双向输入/输出(具有握手的双向输入/输出)
方式0
B
C
只用于对端口C的每一位进行置位或复位
D7 D6 D5 D4 D3 D2 D1 D0
无关
置位/复位 控制字标志
0=有效
000----指定C口的第0位 001----指定C口的第1位 010----指定C口的第2位 011----指定C口的第3位 100----指定C口的第4位 101----指定C口的第5位 110----指定C口的第6位 111----指定C口的第7位
A组
端口C上半部分 0----输出 1----输入
端口A 0----输出 1----输入
方式选择 00------方式0 01------方式1 1X ----方式2
B组
端口C下半部分 0----输出 1----输入
端口B 0----输出 1----输入
方式选择 0----方式0 1----方式1
3 8255A的置位/复位控制字
RESET
D0 D1 D2 D3 D4 D5 D6 D7 VCC PB7 PB6 PB5 PB4 PB3
PA0-PA7:A端口 PB0-PB7:B端口 PC0-PC7:C端口 D0-D7:数据总线 RD:读有效 WR:写有效 RESET:复位 A0、A1:片内寻址 CS:片选 GND:接地 Vcc:工作电压
相关主题