4、DMA传送方式
DMA(Direct Memory Access)方式
第七章 可编程接口芯片技术 一、可编程并行接口芯片8255A
21
? 8255A是Intel公司生产的可编程并行I/O接口芯片,有3个8位并行I/O口,共
24位,其各端口工作方式由软件编程设定。
? 8255A是应用最广泛的可编程并行接口芯片,使用方便,通用性强。 1.
8255A的内部结构及引脚功能
8255A是40个引脚双列直播插式芯片,有三个可存取数据的端口,分别是A口、B口、C口,可以通过编程来设置其工作方式;有一个控制端口,可以通控制端口设置8255A 数据端口的工作方式。
22
2.
8255A的工作方式
? A口可工作于方式0、方式1、方式2 ? B口可工作于方式0、方式1 ? C口只能工作于方式0 1)方式0—基本输入输出
在方式0下,每一个端口都作为基本的输入或输出口,端口C口的高4位和低4位以及端口A口、端口B都可独立地设置为输入口或输出口。 2)方式1—单向选通输入输出
三个数据端口分为A、B两组,分别称为A组控制和B组控制。端口A和端口B仍作为数据的输入或输出口,端口C作为联络控制信号,被分成两部分,一部分作为端口A和端口B的联络信号,另一部分仍可作为基本的输入输出口。 3)方式2—双向选通输入输出
端口A的方式2可使8255A与外设进行双向通信,既能发送数据,又能接收数据。可采用查询方式和中断方式进行传输。
3.8255A的编程
1).8255A的控制字 (1)方式选择控制字
(2)端口C置位/复位控制字
23
【例】设8255A的A口和B口工作在方式0,A口作为输入端口,接有8个开关;B口为输出端口,接有8个发光二极管。系统硬件电路如图所示,不断扫描开关Ki,当开关K0闭合时,点亮LED0、LED2、LED4、LED6,其它LED暗;当开关K1闭合时,点亮LED1、LED3、LED5、LED7,其它LED暗;当开关K0和K1同时闭合时退出。设8255A端口A、端口B、端口C及控制端口的地址分别为200H~203H。试编写程序。
解:首先确定工作方式控制字。根据题意,A口为输入端口,B口输出端口,均工作在方式0下,端口C没使用,设没有用到的控制字中对应位设置为0,所以8255A的控制字为:
24
CODE SEGMENT
ASSUME CS:CODE
START:MOV AL,90H ; 8255初始化 MOV DX,203H
AGAIN:MOV DX,200H IN AL,DX
TEST AL,03H ; 检测K0 K1 JZ EXIT
TEST AL,01H ;检测K0 JZ DISP_0
TEST AL,02H ;检测K1
JZ DISP_1 JMP AGAIN
DIAP_0: MOV AL,55H ;偶位上LED亮,奇位上LED暗 MOV DX,201H OUT DX,AL JMP AGAIN
DIAP_1: MOV AL,0AAH ;奇位上LED亮,偶位上LED暗 MOV DX,201H OUT DX,AL JMP AGAIN EXIT: MOV AH,4CH INT 21H CODE ENDS
END START
小结:
1.8255A支持哪几种传送方式?
答:支持无条件的程序传送方式、程序查询传送方式、中断传送方式3种传送方式。 2.支持多少条单元、地址、地址线? 答:4条单元,2条地址,2条地址线。 3.4个单元地址值如何确定? 答:通过2条地址A0、A1确定。
4.假设A、B、C都工作在方式0,8255接一个外设,能否实现查询传递,原因是什么,怎么实现?
答:方式0:基本的输入输出工作方式 方式0有以下特点:
①任何一个端口都可用作输入或输出。
②由A口、B口、C口高4位与C口低4位4组组合成不同的输入/输出组态。 方式0只能用无条件传送或按查询方式传送。
所以,能实现,将A口与B口作为数据端口,将C口的4位规定为控制信号输出口,另外4位规定为状态输入口,用C口配合A口与B口工作。
25