扩展输入输出PPT课件

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

• ① AT89S51可以通过“MOVX @Ri,A”指令把输出数据送到B口的输出数
据锁存器,82C55收到后便令输出缓冲器满引脚
(PC1)变低,以通知
输出设备输出的数据已在PB口的PB7~PB0上。
• ② 输出外设收到
上低电平后,先从PB7~PB0上取走输出数据,然后使
B 变低电平,以通知82C55输出外设已收到82C55输出的数据。
A,#0C2H
;设定命令控制字
• MOV
A,#08H ; 方式控制字08H送A
• MOVX
@DPTR,A ; 08H送控制字寄存器,PC4清0
23
24
24
(1)具有两个8位端口(PA、PB)和两个4位端口(PC的 上半部分和下半部分)。
(2)任何端口都可以设定为输入或输出,各端口的输入、 输出共有16种组合。
PA口、PB口和PC口均可设定为方式0,并可根据需要,向 控制寄存器写入工作方式控制字,规定各端口为输入或输 出方式。
54
55
55
56
56
57
• 1.存储器方式
• 存储器方式用于对片内256B RAM单元进行读/写,若IO/ =0且
=0,
则 AT 8 9 S 5 1 可 通 过 A D 7 ~ A D 0 上 的 地 址 选 择 R A M 存 储 器 中 任 意 单 元 读 / 写 。
• 2.I/OM方式 CE
• MOV
R1,#7FH ;控制口地址7FH→R1
• MOV
A,#0BH ;控制字0BH→A
• MOVX
@R1, A ;控制字7FH→控制口,把PC5置1
44
45
• 如果想把PC口的PC5复位,相应的控制字0AH,程序如下:
• MOV
R1,#7FH
;控制口地址7FH→ R1
• MOV
A,#0AH
;控制字0AH→A
51
52
52
53
53
控制寄存器中的D3~D0位用来设置PA口、PB口和PC口 的工作方式。
D4、D5位用来确定A口、B口以选通输入/输出方式工作 时是否允许中断请求。
D6、D7位用来设置计数器的操作。 (3)81C55的状态字 有一个状态标志寄存器,用来存入PA口和PB口的状态标
志。它的地址与控制寄存器地址相同,只能对其读出, 不能写入。格式如图9-14所示。
57
58
58
59
ABSTB
选通I/O方式又可分为选通I/O数据输入和选通I/O数据输出两种方式。 ① 选通I/O数据输入
PA口和PB口都可设定为本方式。若命令字中D0=0且D3、D2=10,则PA口设定 为本工作方式;若命令字中D1= 0且
59
60
60
61
61
62
62
63
图9-17 81C55计数器工作方式及 引脚输出波形
1
9.3 AT89S51扩展I/O接口芯片81C55的设计 9.3.1 81C55芯片介绍 9.3.2 81C55的工作方式 9.3.3 AT89S51单片机与81C55的接口设计及软件编程
9.4 利用74LSTTL电路扩展并行I/O口 9.5 用AT89S51单片机的串行口扩展并行口
9.5.1 用74LS165扩展并行输入口 9.5.2 用74LS164扩展并行输出口 9.6 用I/O口控制的声音报警接口 9.6.1 蜂鸣音报警接口 9.6.2 音乐报警接口
63
64
64
65
65
66
图9-19 AT89S51单片机与81C55的接口电路
66
67
CE
M
67
68
68
69
69
70
• MOV • MOVX • MOV • MOV • MOVX
计数
A,#40H
;计数器为连续方波输出
@ DPTR,A
;计数初值高6位装入计数器
DPTR,#7F00H ;指向命令/状态口
/写控制逻辑电路和一个8位数据总线缓冲器。 • 各部件的功能如下:
13
14
14
15
15
16
RD WR
16
17
CRWSDR
17
18
•9.2.2 工作方式选择控制字及端口 PC置位/复位控制字

可向82C55控制寄存器写入两种不同的控制字。
•1 . 工 作 方 式 选 择 控 制 字

82C55有3种基本工作方式:
• 分基本I/O和选通I/O两种方式,见表9-3。在I/O方式下,81C55可选择片内任 意端口寄存器读/写,端口地址由A2、A1、A0三位决定(见表9-2)。
• (1)基本I/O方式。本方式下,PA、PB、PC三口用作输入/输出,由图9-13的 命 令 字 决 定 。 其 中 , PA 、 P B 两 口 的 输 入 / 输 出 由 D 1 、 D 0 决 定 , P C 口 各 位 由 D 3 、 D2状态决
@DPTR,A
;方式控制字→控制寄存器
• MOVDPTR,#0FF7CH ;PA口地址FF7CH→DPTR
• MOVX
A,@DPTR
; 从 PA 口 读 入 数 据 → A
• MOVDPTR,#0FF7DH ;PB口地址FF7DH→DPTR
• MOVA,#data1
;要输出的数据#data1→A
• MOVX
2
内容概要 AT89S51有4个I/O口P0~P3,真正用作I/O口线的只有P1口的8位I/O口线 和P3口的某些位线。因此,大多需要外部I/O接口的扩展。 介绍AT89S51与两种常用的可编程I/O接口芯片82C55和81C55的扩展接 口设计。此外还介绍使用廉价的74LSTTL芯片扩展并行I/O接口以及用 AT89S51串行口来扩展并行I/O接口的设计。最后介绍使用I/O口控制的声音 报警接口。
3
4
4
5
• 2.输出数据锁存 • 与外设比,单片机的工作速度快,数据在数据总线上保留的时间十分短暂,无法
满足慢速外设的数据接收。所以在扩展的I/O接口电路中应有输出数据锁存器, 以保证输出数据能为慢速的接收设备所接收。 • 3.输入数据三态缓冲 • 数据总线上可能“挂”有多个数据源,为使传送数据时不发生冲突,只允许当前 时刻正在接收数据的I/O接口使用数据总线,其余的I/O接口应处于隔离状态, 为此要求I/O接口电路能为数据输入提供三态缓冲功能。
48
48
49
49
50
• (3)控制引脚
RESET:复位输入线,在RESET线上输入一个大于600ns宽的正脉冲时, 81C55即可处于复位状态, PA、PB、PC三口也定义为输入方式。
、IO/ : 为片选线,若 =0,则AT89S51单片机选中本
81C55工作;否则,本81C55未被选中。IO/ 为I/O端口或RAM存储器选择
线,若IO/ =0,则AT89S51单片机选中81C55片内的RAM存储器;若
ICOE/ =1,M则AT89CS5E1单片机选中81C55的C某E一I/O端口。

=1且
:当
=0且 =1时,81C55被读出数据状态;当
= 0时,81C55被写入数据状态。
M
M
RD WR
RD WR
RD WR
50
51
TIMEROUT TIMEROUT
7
8
8
9
• 3.中断传送 • 为了提高单片机对外设的工作效率,通常采用中断传送方式,来实现I/O数据的
传送。单片机只有在外设准备好后,才中断主程序的执行,从而进入与外设数据 传送的中断服务子程序,进行数据传送。中断服务完成后又返回主程序断点处继 续执行。采用中断方式可大大提高工作效率。 • 9.1.4 I/O接口电路 • 常用的外围I/O接口芯片: • (1)82C55:可编程通用并行接口(3个8位I/O口)。
9
10
10
11
图9-1 82C55的引脚图
图9-2 82C55的内部结构
11
12
CS RD WR
12
13
• PA7~PA0:端口A输入/输出线。 • PB7~PB0:端口B输入/输出线。 • PC7~PC0:端口C输入/输出线。 • A1、A0:地址线,用来选择82C55内部的4个端口。 • RESET:复位引脚,高电平有效。 • 2.内部结构 • 如图9-2所示,3个并行数据输入/输出端口,两种工作方式的控制电路,一个读
• MOVDPTR,#××××H ; 控制寄存器端口地址

;××××H送DPTR
• MOV
A,#07H
; 方式控制字83H送A
21
图9-4 PC口按位置位/复位控制字格式
22
23
• MOVX 1
@DPTR,A; 控制字83H送控制寄存器,把PC3置
• …………
• MOVDPTR,#××××H; 控制字寄存器端口地址送DPTR• MOVXFra bibliotek@R1,A
;控制字7FH→控制口, PC5清0
• 82C55接口芯片在AT89S51单片机应用系统中广泛用于与各种外部数字设备的 连接,如打印机、键盘、显示器以及作为数字信息的输入、输出接口。
45
46
46
47
• 1.81C55的结构 • 逻辑结构如图9-11。


图9-11 81C55的逻辑结构
1
第9章 目录 9.1 I/O接口扩展概述
9.1.1 扩展的I/O接口功能 9.1.2 I/O端口的编址 9.1.3 I/O数据的传送方式 9.1.4 I/O接口电路 9.2 AT89S51扩展I/O接口芯片82C55的设计 9.2.1 82C55芯片简介 9.2.2 工作方式选择控制字及端口PC置位/复位控制字 9.2.3 82C55的3种工作方式 9.2.4 AT89S51单片机与82C55的接口设计
@DPTR,A
;将#data1送PB口输出
• MOVDPTR,#0FF7EH ;PC口地址→DPTR
• MOVA,# data 2
;数据#data 2→A
• MOVX 出
@DPTR,A
;将数据#data 2送PC口输
43
44
• 【例9-5】对端口PC的置位/复位。
• 1PC口1中的任1一位,均可用指令来置位或复位。例如,如果想把PC口的PC5 置“1”,相应的控制字为00001011B = 0BH(关于82C55的PC口置位/复位 的控制字说明见图9-4)。程序如下:
5
6
6
7
• 1.独立编址 • I/O端口地址空间和存储器地址空间分开编址。优点是I/O地址空间和存储器地
址空间相互独立,界限分明。但需要设置一套专门的读写I/O端口的指令和控制 信号。 • 2.统一编址 • 把I/O端口与数据存储器单元同等对待。I/O端口和外部数据存储器RAM统一编 址。因此外部数据存储器空间也包括I/O端口在内。 • 优点是不需专门的I/O指令。缺点是需要把数据存储器单元地址与I/O端口的地 址划分清楚,避免数据冲突。
; 控制字83H送控制字寄存
26
27
27
28
STB
STB
28
29
STB STB STB
29
30
30
31
图9-5 方式1输入应答联络信号
31
32
图9-6 PA口方式1输入工作过程示意图
32
33
ACK
OBF ACK
OBF
33
34
INTE A—控制PA口是否允许中断,由PC6控制。 INTEB—控制PB口是否允许中断,由PC2控制。 • 方式1输出工作示意如图9-8所示。以PB口的方式1输出为例,介绍工作过程。
图9-3 82C55的方式控制字格式
19
20
20
21
• 2.PC口按位置位/复位控制字
• 为另一控制字。即PC口中任何一位,可用一个写入82C55控制口的置位/复位控 制字来对PC口按位置“1”或清“0”。用于位控。格式如图9-4所示。
• 【例9-2】 AT89S51向82C55的控制字寄存器写入工作方式控制字07H,则 PC3置1;08H写入控制口,则PC4清0。程序段如下:
OBF
OBF ACK
34
35
图9-7 方式1输出应答联络信号
35
36
36
37
ACK
OBF
OBF ACK
37
38
图9-9 PA口在方式2下的工作示意图
38
39
CS RD WR
RD WR
39
40
CS
40
41
图9-10 AT89S51单片机扩展一片82C55的接口电路
41
42
42
43
• MOVX

(1)方式0—基本输入/输出;

(2)方式1—选通输入/输出;

( 3 ) 方 式 2 — 双 向 传 送 ( 仅 PA 口 有 此 工 作 方 式 ) 。

3种工作方式方式控制字来决定。格式如图9-3所示。最高位D7=1,为
本方式控制字的标志,以便与另一控制字相区别(最高位D7 = 0)。
18
19
25
26
• 【例9-3】 假设82C55的控制字寄存器端口地址为FF7FH,令PA口和PC口的 高4位为方式0输出,PB口和PC口的低4位为方式0输入,初始化程序:
• MOVDPTR,#0FF7FH ; 端口地址#0FF7F送DPTR
• MOV
A,#83H
; 方式控制字83H送A
• MOVX 器
@DPTR,A
相关文档
最新文档