8255功能与应用
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
注意:C端口置1置0控制字尽管是对端口C进行操作, 但此控制字必须写入控制口,而不是写入C端口。
四、8255A的工作方式
1.方式0 -基本的输入或输出方式(重点要求)
• 三个端口的每一个都可由程序选定作为输出或输入; • 没有固定的用于应答的联络信号。
故方式0 :
• 可用于无条件传送的接口电路; • 也可用于查询式输入输出接口电路,此时,只需将端口C (也可用端口A、端口B)的某些位作为两个数据端口的控制 或状态信息。
(1)方式选择控制字
8255A有三种基本工作方式: (1) 方式0——基本输入输出方式 (2) 方式1——选通输入输出方式 (3) 方式3——双向传送方式 方式由CPU输出的命令字决定。
B
(2)C端口置1置0控制字:
•端口C的数位常常作为控制位来使用,所以,应使端 口C中的各位可以用置1置0控制字来单独设置。
8255A具有三个相互独立的输入/输出通道:
通道A、通道B、通道C。
A组控制逻辑控制端口A及端口C的上半部;
A组有0,1,2 三种工作方式。
B组控制逻辑控制端口B及端口C的下半部,
B组只能工作于方式0,1。
二、8255A的结构框图(如图8-1所示) 从功能上来分,8255A的结构可分为:总 线接口电路、内部控制逻辑和输入 / 输出 接口电路。 (1)总线接口电路 数据总线缓冲器和读/写控制逻辑。 (2)内部控制逻辑 (3)输入/输出接口电路
Vcc GND
4 3 2 1 40 39 38 37 18 8255A 19 9 20 8 21 6 22 5 23 36 24 35 25 14 15 16 17 13 26 12 7 11 10
PA0 PA1 PA2 PA3 PA4 PA5 PA6 PA7 PB0 PB1 PB2 PB3 PB4 PB5 PB6 PB7 PC0 PC1 PC2 PC3 PC4 PC5 PC6 PC7
MOV AL, 0DH OUT 83H, AL ;设按位置位/复位控制字 ;置PC6=1,使选通无效
具体程序段如下:
MOV AL, 81H OUT 83H, AL MOV AL, 0DH OUT 83H, AL WAIT:IN AL, 82H TEST AL, 04H JNZ WAIT MOV AL, BL OUT 80H, AL MOV AL,0CH OUT 83H, AL INC AL OUT 83H, AL
说明:C口还可按位设置
例2: 打印机驱动接口是一个并行接口,它需要 数据口输出数据,控制口用于控制打印机工作, 状态口用于测试打印机的现行工作状态。要求 用8255芯片设计一个打印机控制接口。用PC2去 检测打印机的BUSY信号,PC6产生选通脉冲 STB信号,PA口作为输出字符的数据口,工作 于方式0。设8255A的端口地址: A端口:80H B端口:81H C端口:82H 控制口:83H (1)画出硬件连接原理图。 (2)以查询方式编制输出一个字符(设该字符 已在BL寄存器中)的程序。
常见的几种数据传送方式的比较:
1. 无条件传送:只能用于外部设备与CPU的动作同步时, 否则出错。 这种方式程序设计较简单,只用在对一些简单外设的操作。
2. 查询传送: 接口及编程都较为简单;但在传送过程中,若外设 数据没有准备好,则CPU一直在查询、等待,而不能做其他事情, CPU的效率低下。 3. 中断传送: 只有当外设数据准备好时(向CPU发出请求),CPU 才进行数据传送,其余时间CPU可以做其他事情,CPU效率大大 提高; 但每传送一次数据,CPU都要执行一次中断服务程序, 除执行 IN 和 OUT 指令外,还要进行保护和恢复断点及某些寄 存器等工作,增加了额外开销,从而制约了其传送效率。
WAIT:IN AL, 82H TEST AL, 10H JNZ WAIT ;读C口状态 ;测试(PC4) ; PC4 =1,循环测试
In al, 64h Out 65h, al
; 从A口输入数据 ; 从B口输出数据
作业
P132:5、8、9题
8255A的引脚说明 8255A是40根引脚,双列直插式芯片。40根 引脚的分布图如图8-2所示,这些引脚可分 成: (1)与外设连接的引脚 (2)与CPU连接的引脚
D0 D1 D2 D3 D4 D5 D6 D7
34 33 32 31 30 29 28 27
A0 A1 CS RD WR RESET
4. DMA传送:在DMAC的控制下,外设直接和存储器(也可外设 与外设,存储器与存储器之间)进行数据传送,而不必经过 CPU ,从而传送效率大大提高;缺点是硬件电路较为复杂。
第八章 并行通信
可编程并行输入/输出接口芯片8255A 在多根传输线上同时传送数据。
接收方
发送方
Dn Dn-1
数据位
D0
C1 C0
练习1:
设8255的端口地址为:3F8H、 3F9H、 3FAH、 3FBH,要求 A 口工作于方式 0,输入; B口工作于方式 0 ,输出; C 口高 4 位为输出,低4位为输入,试编写8255的初始化程序。
控制字:10110001(B1H) MOV DX,3FBH MOV AL,0B1H OUT DX,AL
例1:在一系统中,要求8255工作在方式0,从A口 输入数据,从B口输出显示,从C口输出显示 10101010。设控制口地址为63H。
0
程序如下: Mov al, 90h Out 63h, al ;送控制字到控制字寄存器。 In al, 60h ; 从A口输入数据 Out 61h, al ; 从B口输出数据 mov al, 0AAH Out 62h, al ; 从C口输出数据
控制位
特点:速度快,但造价高;适合于短距离传送。
一、8255A的基本性能
Intel 8086/8088 系列的可编程外设接口电路
为8255(改进型为8255A)。
具有24条输入/输出引脚、可编程的通用并行输 入/输出接口电路。
8255A的通用性强,使用灵活,通过它CPU可直接 与外设相连接。
数据总线 D7~D0 CS
PA7~PA0 PB7~PB0
8 位开关 8 位 LED 指示灯
8255A
RESET 接系统 RESET 信号线 PC0 PC4 按钮 蜂鸣片
图8-3
系统连接图
2.方式1-选通的输入/输出方式(了解)
方式1是一种选通方式。端口A和端口B仍作为输 入输出,端口C的某些位作为选通信号。 方式 1 :
A组 控制
A组 A口 (8 位) PA7~PA0
数据
D7~D0
总线 缓冲器
内 部 数 据 总 线
A组 C口 (4 位) PC7~PC4
RD WR A1 A0 RESET CS
读/写 控制 逻辑
B组 C口 (4 位) PC3~PC0
B组 控制
B组 B口 (8 位) PB7~PB0
图8-1
8255A的结构框图
练习2:
设 8255A 口的端口地址为: 64H ,要求 A 口工作于方式 0 ,输 入;B口工作于方式0,输出;要求检测C口PC4,若PC4=0, 则读 A 口数据,并从 B 口输出显示,试编写程序实现该功能。
控制字:1011100X(B8H或B9H)
程序如下: Mov al, 0B8H Out 67h, al ;送控制字到控制字寄存器。
; (控制字若为wenku.baidu.com3H也对) ;送控制字 ;设按位置位/复位控制字 ;置PC6=1,使选通无效 ;读C口状态 ;测试BUSY状态(PC2) ;忙,循环测试 ;不忙,取打印字符 ;送A口 ;设按位置位/复位控制字 ;置PC6=0,选通打印机
;置PC6=1
总
结
掌握可编程输入/输出接口芯片8255A的应用 及编程方法(方式0,硬件电路,程序)。
• 可用作查询式输入\ 输出接口电路;
• 也可用于中断式输入\ 输出接口电路。
3.方式2-选通的双向I/O方式
此模式置限于A口使用,它在单一的8位总 线上实现与I/O设备或外部结构的双向通信。
方式2: • 可用作查询式输入\ 输出接口电路; • 也可用于中断式输入\ 输出接口电路。
五、 应用举例
A 口
B 口
图 8 2
-
82 55
A 引 脚 分 布 图
C 口
表5-1
8255A端口选择表
例:8255的A1、A0引脚分别接总线的A1、 A0,已知8255的A口地址为218H,问B 口、C口、控制口地址分别为多少? 219H、21AH、21BH
三、8255A的编程控制字
(1)工作方式控制字:用来设定通道的工作 方式及数据的传送方向的。 (2)C口按位置位/复位控制字:向控制寄存 器写入控制字,而使它的每一位置位或复位。 两个控制字的差别: 工作方式控制字放在程序的开始部分; 按位置位 / 复位控制字可放在初始化程序以 后的任何地方。
8255A作为打印机接口的示意图如下:
A0 A1 IOR IOW 译 码 器
A0 A1
RD
WR CS
工作过程:
8255A不断查询打 印机的状态,当 打印机为忙状态, 8255A处于查询等 待状态。 当打印机为空闲 状态时,CPU通过 8255A向打印机输 出一个字符。
复位PC6:00001100(0CH) 置位PC6:00001101 (0DH)