8051单片机9扩展IO口设计

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

9.2 8255A概述
9.2 8255A概述
A口的方式1输入工作过程:
a.当输入设备输入一个数据并送到PA7~PA0上时,输入设备 自动在选通输入线/STBA上发送一个低电平选通信号。
b.8255A收到/STBA上负脉冲后自动做两件事:一是把 PA7~PA0上输人数据存入A口的输入数据缓冲/锁存器;二 是使输入缓冲器输出线IBFA变为高电平,以通知输入设备 8255A的A口已收到它送来的输入数据。
第九章 扩展I/O接 口设计
9.1 I/O接口的基本模型
数据总线
微 处 地址总线
理 控制总线 器
I/O接口 数据端口 数据端口 数据端口
数据
外 状态 围
控制 设 备
I/O端口的交换信息:
1. 数据信息:数字量、模拟量、开关量、脉冲量
2. 状态信息:反应外设当前所处的工作状态,Ready=1? Busy=0?
位并行端口(C的上半部分和下半部分)。 (3) 方式0是单向I/O,一次初始化只能指定端口作
输入或者输出 (4)数据输出锁存,输入不锁存
9.2 8255A概述
例:假设8255A的控制字寄存器地址为FF7FH,则 编写一个初始化程序,使得A口和C口的高4位工 作在方式0输出, B口和C口的低4位工作于方式0 输入:
9.2 8255A概述
B口的方式1输出工作过程:
a. 8031可以通过MOVX @Ri,A 指令把输出数据送到B口 的输出数据锁存器,8255A收到后便令输出缓冲器满引脚 线到/达OBB口FB的(PPCB1)7变~P为B0低上电。平,以通知输出设备输出数据已
b.P以B输通7出~知P设B820备5上5收A取到输走/出O输设B出F备B数上已据低收;电到二平输是后出使做数/A两据C件。K事B变:为一低是电从平,
位定义 D7
D6 D5 D4
D3
D2
D1
来自百度文库
D0
置方式标志: A组方式选择 A口出入 端口C上 B组方式 B口出入 端口C下
功能
1: 工作方式 00:方式0 2: PC口控制 01:方式1
1x:方式2
设置位: 半部设置 选择: 设置位: 半部设置 0:输出 0:输出 0:方式0 0:输出 0:输出 1:输入 1:输入 1:方式1 1:输入 1:输入
c./皆A8C在25K高5BA和电从中平回断,答允I输N许T入R触线B发变/A器为CQK高IBN电收I平E到B而低状向电态C平进P后U行请就检求对测中/O,断B若F。它B、们
d.CPU响应/INT0上中断请求后便可通过中断服务程序把 下一个输出数据送到B口的输出数据锁存器,并重复上述 过程,完成下一个数据的输出。
(1) 方式1输入 /STB:选通输入,是由输入外设送来的输入信号。 IBF:输入缓冲器满,高电平有效。表示数据已送入
8255A的输入锁存器,它由/STB信号的下降沿置 位,由/RD信号的上升沿使其复位。 INTR:中断请求信号,高电平有效。由8255A输出, 向单片机发中断请求。
INTE A:A口中断允许,由PC4控制, INTE B:B口中断允许,由PC2控制。
3. 控制信息:控制外设的启动和停止,以及给出命令字, 设置接口的工作方式
9.1 I/O接口的基本模型
I/O接口的功能: 速度协调、信号格式配合、时序配合、电平配合、数 据缓冲、地址译码、校验和检查
I/O编址方式: 统一编址: I/O地址与存储器地址统一进行编址。因此,
某个存储单元既可指存储器单元,也可指I/O地址。 对片外I/O口的输入/输出指令就是访问片外RAM的 指令,即:MOVX 独立编址:端口地址与存储器地址分开编址。对I/O端 口独立编址,需要专门的I/O指令和接口信号访问I/O 端口
例如:控制字07H写入控制口,置“1” PC3; 08H写入控制口,清“0” PC4。
9.2 8255A概述
9.2.4 8255A的工作方式
PA口有三种方式,PB口和PC口只有两种方式 1. 方式0的特点 (1) 基本输入/输出方式,不需要联络信号 (2) 具有两个彼此独立的8位端口(A、B)和两个4
9.2 8255A概述
典型的并行接口组成部分:
1) 数据端口(接外设):包括相应的输入缓冲寄存器 和输出缓冲寄存器
2) 地址、数据、控制总线:与微处理器通信 3) 控制寄存器:选择数据端口,选择端口传送方向,
选择与CPU交换信息的方法(查询或中断) 4) 一个状态寄存器 5) 中断电路
9.2 8255A概述
8255的三个端口具体工作在什么方式下,是通过 CPU对控制口的写入控制字来决定的。8255有两个 控制字:方式选择控制字和C口置/复位控制字。用 户通过程序把这两个控制字送到8255的控制寄存器 (A0A1=11),这两个控制字以D7来作为标志。
9.2 8255A概述
(1) 控制字为设置工作方式
端口A、B通常作为数据端口,C口作为控制和状态 联络线,在模式控制下,C口又可分为两个4位的端口, 与A口和B口配合使用
9.2 8255A概述
2. A组和B组控制电路
A组:端口A和端口C的上半部 (PC4~PC7) B组:端口B和端口C的下半部 (PC0~PC3)
在825A中,除了端口A, B, C,还有一个控制寄存器,控制A 组与B组的工作方式。
A1 A0 RD WR CS
功能
000 1
10 00
端口A数据总线 数据总线端口A
010 1
10 00
端口B数据总线 数据总线端口B
100 1
10 00
端口C数据总线 数据总线端口C
1 1 1 0 0 数据总线控制字寄存器
9.2 8255A概述
9.2.3 8255A的控制字
8255A有三种工作方式: (1) 方式0:基本输入输出; (2) 方式1:选通输入输出; (3) 方式2:双向传送(仅A口有)。
MOV DPTR,#0FF7FH ;控制字寄存器地址 送DPTR
MOV A,#83H
;方式控制字83H送A
MOVX @DPTR,A
;83H送控制字寄存器
9.2 8255A概述
2. 方式1 (选通输入/输出工作方式): A口和B口通常 用于I/O数据传送,C口用作A口和B口的联络线, 以中断方式传送数据。
9.2 8255A概述
3. 方式2 : PA7~PA0为双向I/O总线
(1) 一次初始化可指定PA口既作输入口又作输出口 (2) 当输入时,PA7~PA0受/STBA和IBFA控制,其工作
过程和方式1输入时相同; 当输出时,PA7~PA0 受/OBFA、/ACKA控制,其工作过程和方式1输出时 相同。
3. 控制引脚
1) CS:片选信号 2) RD:读信号,控制8255A送出数据至微处理器 3) WR:写信号,控制把微处理器输出的数据/命令写到8255A 4) RESET:复位信号, 清除控制寄存器, 置所有端口为输入方式
9.2 8255A概述
4. 端口寻址
因为825A中有4个端口寄存器 (A、B、C乙机控制字 寄存器),因此用A0,A1加以选择
9.1 I/O接口的基本模型
I/O接口的数据传送方式:
1) 程序查询方式:主机与设备串行工作。数据交换完 全由微处理器的程序控制
2) 程序中断方式:外围设备主动通知CPU,准备送出 输入数据或者接受输出数据
3) 直接内存访问方式(DMA):数据交换不经CPU,直 接在内存和外围设备间进行
4) 通道方式:通道是一个具有特殊功能的微处理器, 由通道实现对外围设备的统一管理和外设与内存之 间的数据交换。
分(PC3~PC0)输入。
9.2 8255A概述
(2) 控制字为C口按位设置
可对C口8位中的任一位置“1”或清“0”。用于位控。
位定义 D7 方式选择位
功能 置为0
D6 D5 无关位
D4 D3 D2 D1 位选择: 000:选择第0位 001:选择第1位
…… 111:选择第7位
D0 1:置位 0:复位
9.2.2 8255A的内部结构和引脚功能
9.2 8255A概述
1. 数据端口
8255A与51单片机相连,可为外设提供三个8位的I/O端口: (1) A口(PA0~PA7):8位数据输出锁存/缓冲器,8位数据输
入锁存器 (2)B口(PB0~PB7):8位数据输入输出锁存/缓冲器,8位数
据输入缓冲器 (3)C口(PC0~PC7):8位输出锁存/缓冲器,8位输入缓冲器
c.8255A同时检测到/STBA变为高电平、IBFA为高电平时使 INTRA变为高电平,向CPU发出中断请求。
d.CPU响应中断后,可以通过中断服务程序从A口的“输入 数据缓冲/锁存器”读取输入设备送来的输入数据。当输入 数据被CPU读走后,8255A撤消INTRA上中断请求,并使 IBFA变为低电平,以通知输入设备可以送下一个输入数据。
(3) PA口工作于方式2时,PC口有5条线固定为PA口与 外设之间的联络信号线。余下的3根线可以作为PB 口方式1下的联络线,也可与PB口一起成为方式0的 I/O线
(4) 数据在输入/输出时都被锁存
9.2 8255A概述
(2) 方式1输出
/OBF:输出缓冲器满信号,8255A给外设的联络信号, 外设可以将数据取走。它由/WR信号的上升沿清 “0”,由/ACK信号的下降沿置“1”。
/ACK:外设的响应信号,外设已将数据取走。 INTR:中断请求信号。表示该数据已被外设取走, 请求单片机继续输出下一个数据。由/WR的下降沿复位。 INTE A:中断允许,由PC6控制。 INTE B:中断允许,由PC2控制。
组别
A组控制
B组控制
9.2 8255A概述
C口上半部分(PC7~PC4)随A口称为A组, C口下半部分(PC3~PC0)随B口称为B组。 其中A口可工作于方式0、1、和2,而B口只能工作
在方式0和1。 例如:写入工作方式控制字95H(1001,0101B) 可将8255A编程为:A口方式0输入,B口方式1输出, C口的上半部分(PC7~ PC4)输出,C口的下半部
相关文档
最新文档