8255A的工作方式1

1、程序解析:

(1)MOV AL,0A0H ;初始化工作方式字

 1,有效;01选择方式1,即把PA口设置为方式1,输出;PB口选择方式0,输出;

(2)MOV AL,0DH ;允许中断请求,需要置INTEA=1,即置PC6=1

 将PC6置为高,置位信号为1

(3)AND AL,08H ;查发送中断PC3 

 2、汇编程序:

甲机发送数据:

方式1,PA口输出。

PC6:联络线OBF,缓冲器满信号,低电平有效,代表CPU已经将数据写到了8259A的输出端口

PC7:联络线ACK,低电平有效,代表外设已经从8259A的端口接收到了数据,是对OBF的应答

    MOV DX,303H    ;8255A的控制口地址,这里设8255A的控制口地址为303H
    MOV AL,0A0H    ;初始化工作方式字
    OUT DX,AL
    
    MOV AL,0DH    ;允许中断请求,需要置INTEA=1,即置PC6=1
    OUT DX,Al
    
    MOV SI,OFFSET BUFS    ;发送数据区的指针
    MOV CX,3FFH    ;发送字节数
    
    MOV DX,300H    ;向PA口写数据 
    MOV AL,[SI]    ;发送给乙方 
    OUT DX,AL
    
    INC SI    ;内存地址加1
    DEC CX    ;传送字节数减1
    
   L:MOV DX,302H    ;8255A的控制口地址,这里设8255A的控制口地址为302H
    IN AL,DX    ;查询发送中断
    AND AL,08H    ;查发送中断PC3 
    JZ L ;无中断请求则等待
    
    MOV DX 300H ;若有中断请求,则向PA口写入数据(PA口地址) 
    MOV AL,[SI]    ;从内存取数字 
    OUT DX,AL    ;送数到 PA口 ,向乙机发送数据

    INC SI
    DEC CX
    JNZ L
    MOV AL,4CH
    INT 21H
    BUF DB  


 

猜你喜欢

转载自www.cnblogs.com/zhai1997/p/12109903.html