匯編(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  


 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM