版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、第7章 并行接口,7.1 并行接口的特點,CPU與外部設(shè)備的信息交換稱為通信,若數(shù)據(jù)的各位是同時傳送的,則稱為并行通信。,為CPU與外設(shè)采用并行通信的示意圖,一、并行接口的功能,一般而言,一個并行接口電路應具有以下 三方面的功能:,1. 實現(xiàn)與系統(tǒng)總線的連接,提供數(shù)據(jù)的輸入與輸出功能,這是并行接口電路最基本的功能。,2. 實現(xiàn)與I/O設(shè)備的連接,具有與I/O設(shè)備進行應答的同步機構(gòu),保證有效地進行數(shù)據(jù)的收發(fā)。,3. 有中斷請求與處理功能,使得數(shù)據(jù)的輸入輸出可以采用中斷的方法來實現(xiàn),這一功能對于需要采用中斷傳輸?shù)腎/O是必需的。,二、并行接口的外部信號,并行接口電路的外部信號可分成兩部分:與I/O
2、設(shè)備相連的接口信號以及與CPU相連的接口信號。,1.與I/O設(shè)備的接口信號,(1)數(shù)據(jù)信息,用于實現(xiàn)接口電路與I/O設(shè)備的數(shù)據(jù)交換;,(2)控制信息,用于接口電路向I/O設(shè)備提供控制信號;,(3)狀態(tài)信息,用于接口電路接收I/O設(shè)備提供的狀態(tài)信號。,2.與CPU的接口信號,(1)數(shù)據(jù)信號,用于接口電路與CPU進行數(shù)據(jù)交換;,(2)地址線及地址譯碼信號,用于選擇不同的接口電路以及接口電路內(nèi)部不同的寄存器;,(3)讀寫控制信號,用于確定CPU當前對接口電路的操作性質(zhì)是讀還是寫;,(4)中斷應答信號,用于實現(xiàn)中斷請求和中斷響應操作。,三.并行接口的特點,(1)在多根數(shù)據(jù)線上以字節(jié)為單位與IO設(shè)備或被
3、控對象傳送信息,(2)在并行接口中,除了少數(shù)場合(如采用245,373等無條件傳送)之外,一般都要求接口與外設(shè)之間設(shè)置并行數(shù)據(jù)線的同時,至少還要設(shè)置兩根握手聯(lián)絡信號線,以便進行互鎖異步握手方式(即查詢方式)通信,(3)在并行接口中,8位(或16位)是一起傳輸?shù)?因此, 并口與外設(shè)交換數(shù)據(jù)時,即使只用到其中的1位,也是一次輸入/輸出8位(或16位),(4)并行傳送的信息,不要求固定的格式,而串行傳送的信息有數(shù)據(jù)格式的要求不同。,7.2 可編程并行接口8255A,一、8255A的內(nèi)部結(jié)構(gòu)和外部特性,(一)8255A的外部引腳,8255A的引腳,4 3 2 1 40,3718 251415 16 1
4、713121110,34,.,.,.,.,.,.,27,D7,D0,A0,A1,RESET,VCC,GND,9865,3536,8255APPI,數(shù)據(jù)總線,控制線,電源線,通道A,通道B,通道C,CPU接口,外設(shè)接口,.,.,.,PA7,PA0,.,.,.,PB7,PB0,.,.,.,PC7,PC0,(二)8255A的內(nèi)部結(jié)構(gòu),譯碼器,PA寄存器(8bit),8個,讀 CWR為控制字寄存器地址,則:A口: 方式0輸入,B口: 方式1輸出,C口PC4PC7: 方式0輸出,C口PC0PC3: 方式1輸入,例:若把A口設(shè)定為方式1,輸出,C口上半部定為輸入;B口設(shè)定為方式0,輸入;C口下半部設(shè)定為輸
5、出。則方式選擇控制字應為:10101010B = AAH。,設(shè)控制口地址為303H,于是初始化的程序段為:,MOV DX,303H;8255A的控制口地址,MOV AL,0AAH ;控制字,OUT DX,AL;控制字寫入控制端口,2. 端口C的置位/復位控制字,D7 D6 D5 D4 D3 D2 D1 D0,位的置位/復位1=置位,0=復位,位 選 擇D3 D2 D1 通道C位,按位置位/復位控制標志0=有效,0 0 0 位0,0 0 1 位1,0 1 0 位2,0 1 1 位3,1 0 0 位4,1 0 1 位5,1 1 0 位6,1 1 1 位7,不使用設(shè)置為000,例如,可以用以下指令置
6、位PC3,MOV AL, 00000111B,OUT CWR, AL,可以用以下指令復位PC3,MOV AL, 00000110B,OUT CWR, AL,7.3 8255A的工作方式0及應用,1. 方式0 (基本的I/O方式)特點,(1) 方式0的功能,方式0是一種基本的I/O方式(外設(shè)數(shù)據(jù)直通方式)。三個端口的每一個都可由指令選擇作為輸入或輸出,沒有規(guī)定固定的用于應答式的聯(lián)絡信號。 一旦外設(shè)送出數(shù)據(jù)后,(稍經(jīng)過延遲t1R)就能直接流入8255輸入端口;CPU對8255輸出端口寫入數(shù)據(jù)后, (稍經(jīng)過延遲tWB)能直接流出到輸出線上。,(2) 方式控制字,A口、B口、C口上半部分,C口下半部分
7、的輸入、輸出共有16種不同的組合。,譯碼器,PA端口寄存器(8bit),8個,讀 定義打印緩沖取,用來存放打印字符 START: MOV DX,303H ; 8255初始化 MOV AL,10000001B ;A口輸出,PC4-7輸出,PC0-3輸入 OUT DX,AL MOV AL,00001111B ;PC7設(shè)置1,產(chǎn)生/STB無效信號 OUT DX,AL MOV SI, offset BUF;設(shè)置打印緩沖區(qū)地址指針SI MOV CX, length BUF;設(shè)置打印字符個數(shù)寄存器CX L: MOV DX,302H ;查詢PC2=1?(即BUSY=1?) IN AL,DX AND AL,0
8、4H JNZ L ;是,表示忙,回L循環(huán)等待,MOV DX,300H ;將打印緩沖區(qū)當前字符送到PA口輸出 MOV AL,SI OUT DX,AL MOV DX,303H ;在PC7上軟件產(chǎn)生/STB負脈沖信號 MOV AL,00001110B OUT DX,AL NOP NOP MOV DX,00001111B OUT DX,AL INC SI ;修改打印機緩沖區(qū)地址指針 DEC CX ;字符個數(shù)寄存器減1 JNZ L ;沒有減到0 ,表示還有字符需要打印,繼續(xù)下一個,例2. 設(shè)計一個3*4矩陣鍵盤及其接口,使得計算機能夠通過掃描方法判斷是那個按鍵按下,分析: 矩陣鍵盤的按鍵排成n行m列,每
9、個按鍵占據(jù)行列的一個交叉點,需要的輸入輸出線為n+m,最大按鍵數(shù)為nm。顯然,在按鍵較多的應用場合,矩陣鍵盤可以減少與微機系統(tǒng)接口的連線,是一般微機常用的鍵盤結(jié)構(gòu)。,在掃描每一行時,讀列線,若讀得的結(jié)果為全“1”,說明沒有鍵按下,即尚未掃描到閉合鍵;若某一列為低電平,說明有鍵按下,而且行號和列號已經(jīng)確定。然后用同樣的方法,依次向列線掃描輸出,讀行線。如果兩次所得到的行號和列號分別相同,則鍵碼確定無疑,即得到閉合鍵的行列掃描碼。,(一)硬件設(shè)計 為一個34矩陣鍵盤及其接口電路。,圖,9,21 3,4,矩陣鍵盤的接口,PA,0,PB,0,PA,1,PA,2,PB,1,PB,2,PB,3,鍵,0,1
10、,2,3,5,6,7,4,9,0,A,0,B,8,行,0,行,1,行,3,+5,V,列,0,列,1,列,2,列,3,圖,9,21 3,4,矩陣鍵盤的接口,PA,0,PB,0,PA,1,PA,2,PB,1,PB,2,PB,3,鍵,0,1,2,3,5,6,7,4,9,0,A,0,B,8,圖9-2134矩陣鍵盤的接口,/CS A1 A0 D1-7 /RD /WR,XA1 XA0 XD0-7 /XIOR /XIOW,譯碼器 A0H-A3H,XA9-2,8255A,(二)軟件設(shè)計 右圖是實現(xiàn)鍵處理工作的程序流程。,設(shè)中8255A的端口地址為A0H(A口)、A1H(B口)、A2H(C口)和A3H(控制口)
11、,鍵處理的程序如下:,MOVAL,82H,OUT 0A3H,AL;8255A初始化,選擇方式0,A口為輸出,B口為輸入,MOVAL,0,OUT0A0H,AL;使各行線接地(為0電平),LOP1: INAL,0A1H;讀列線狀態(tài),ANDAL,0FH;屏蔽無用位,保留列線位,CMP AL,0FH;有列線為0電平嗎?,JZLOP1;無,則繼續(xù)查列線狀態(tài),等待鍵按下,;確定按鍵閉合,等待鍵按下,;識別按下的鍵,BEGIN: MOVBL,3;行數(shù)送BL,MOVBH,4;列數(shù)送BH,MOV AL,11111110B ;起始掃描碼,第一次使行線0接地,MOVCH,0FH;設(shè)置屏蔽碼,MOVCL,0FFH;取
12、鍵號初值為FFH,LOP2: OUT0A0H,AL;逐行掃描,ROLAL;修改掃描碼,準備掃描下一行,MOVAH,AL;掃描碼送AH保存,INAL,0A1H;讀列線數(shù)據(jù),ANDAL,CL;屏蔽無用位,保留列線位,CMPAL,CL;有列線接地嗎?,JNZLOP3;有,轉(zhuǎn)去找該列線,ADDCH,BH;否,修改鍵號,使適合下一行,MOVAL,AH;掃描碼送AL,DECBL;行數(shù)減1,JNZLOP2;未掃描完,轉(zhuǎn)下一行,JMPBEGIN,LOP3: INCCH;鍵號加1,RCRAL;帶進位循環(huán)右移一位,JC LOP3 ;C=1,說明該列未接地,轉(zhuǎn)去檢查下一列線,MOVAL,CH;是,鍵號送AL,CMP
13、AL,0;是0號鍵嗎?,JZKEY0;轉(zhuǎn)0號鍵處理程序,CMPAL,1;是1號鍵嗎?,JZKEY1;轉(zhuǎn)1號鍵處理,CMPAL,0BH;是B號鍵嗎?,JZKEYB;轉(zhuǎn)B號鍵處理,(1) 方式1的功能,7.4 8255A的工作方式1及應用,1. 方式1 (選通的I/O方式)特點,A口、B口作為數(shù)據(jù)I/O口,同時規(guī)定C口的某些位作為控制或狀態(tài)信號配合A口、B口的I/O。 外設(shè)送出數(shù)據(jù)后,還必須對8255發(fā)送STB選通信號才能使數(shù)據(jù)流入8255輸入端口;CPU對8255輸出端口寫入數(shù)據(jù)后, 雖然能直接流出到輸出線,但必須要外設(shè)發(fā)回一個ACK才能使8255撤銷/OBF和INTR,以便CPU知道何時可以寫
14、入新的數(shù)據(jù)。,(2) 方式1輸入, 方式1的輸入組態(tài),8,STBA,IBFA,INTRA,PC3,PC5,PC4,PA70,1 0 1 1 I/O ,方式1(端口A),方式1,端口A輸入,PC6,7,1=輸入,0=輸出,A組方式控制字,PC6,7,I/O,INTEA,D7 D6 D5 D4 D3 D2 D1 D0,2,方式1(端口B),IBFB,INTRB,PC0,PC1,PB70,INTEB,端口B輸入,端口B方式1,B組方式控制字,1 1 1 ,PC2, 聯(lián)絡信號的定義,/STB(Strobe): 選通輸入,IBF(Input Buffer Full): 輸入緩沖器滿,INTR(Inter
15、rupt Request): 中斷請求信號,INTEA(Interrupt Enable A): A口中斷允許信號,通過對PC4的按位置位/復位來控制(PC4=1, 中斷允許)。,INTEB(Interrupt Enable B): 由PC2的置位/復位控制。, 方式1的輸入時序,t,ST,t,STB,t,SIT,t,RIB,t,RIT,t,PS,t,PH,IBF,來自外設(shè)的,輸入數(shù)據(jù),INTR,t,ST,t,STB,t,SIT,t,RIB,t,RIT,t,PS,t,PH,IBF,來自外設(shè)的,輸入數(shù)據(jù),INTR,方式1輸入時序圖,(3) 方式1輸出, 方式1的輸出組態(tài),INTRA,PC3,PC
16、6,PC7,PA70,1 0 1 0 I/O ,方式1輸出端口A,端口A方式1,PC4,5,1=輸入,0=輸出,A組方式1控制字,PC4,5,I/O,INTEA,2,端口A輸出,方式1輸出端口B,INTRB,PC0,PC2,PC1,INTEB,端口B輸入,端口B方式1,B組方式1控制字,1 1 0 ,PB70, 聯(lián)絡信號的定義,OBF(Output Buffer Full): 輸出緩中器滿信號,ACK(Acknowledge): 外設(shè)應答信號,INTR(Interrupt Request): 中斷請求信號,INTEA(Interrupt Enable A): 由PC6置位/復位控制,INTEB
17、(Interrupt Enable B): 由PC2置位/復位控制, 方式1的輸出時序,t,AOB,t,WOB,t,WIT,t,AK,t,AIT,t,WB,輸出,INTR,圖,9,11,方式,1,輸出時序圖,t,AOB,t,WOB,t,WIT,t,AK,t,AIT,t,WB,輸出,INTR,圖,9,11,方式,1,輸出時序圖,2.方式1的應用 例3 . 查詢方式的雙機并行通信,甲乙兩臺微機之間并行傳送1K字節(jié)數(shù)據(jù)。甲機發(fā)送,乙機接收。甲機一側(cè)的8255A采用方式1工作,乙機一側(cè)的8255A采用方式0工作。兩機的CPU與接口之間都采用查詢方式交換數(shù)據(jù)。,甲機8255A是方式1發(fā)送,因此,把PA口
18、指定為輸出,發(fā)送數(shù)據(jù),而PC7和PC6引腳分別固定作聯(lián)絡線 。乙機8255A是方式0接收數(shù)據(jù),故把PA口定義為輸入,另外,選用引腳PC7和PC3作聯(lián)絡線。雖然,兩側(cè)的8255A都設(shè)置了聯(lián)絡線,但有本質(zhì)的差別:甲機8255A是方式1,其聯(lián)絡線是固定的,不可替換的;乙機的8255A是方式0,其聯(lián)絡線是不固定的,可以選擇,比如可選擇PC4和PC1、或PC5、PC2等任意組合。,(1)硬件接口電路設(shè)計,接口電路的連接如圖所示。,2. 2.,PA,0,7,PC,7,PC,3,PC,4,6,PC,0,2,PB,0,7,PA,0,7,PC,7,PC,6,PC,8,PC,0,5,PB,0,7,8255,A,8
19、255,A,方式,0,方式,1,未,用,查詢方式的雙機地通信,OBF,ACK,PA,0,7,PC,7,PC,3,PC,4,6,PC,0,2,PB,0,7,PA,0,7,PC,7,PC,6,PC,8,PC,0,5,PB,0,7,8255,A,8255,A,方式,0,方式,1,未,用,PA,0,7,PC,7,PC,3,PC,4,6,PC,0,2,PB,0,7,PA,0,7,PC,7,PC,6,PC,8,PC,0,5,PB,0,7,8255,A,8255,A,方式,0,方式,1,乙(接收),甲(發(fā)送),未,用,OBF,ACK,/CS A1 A0 D1-7 /RD /WR,/CS A1 A0 D0-7
20、 /RD /WR,XA1 XA0 XD0-7 /XIOR /XIOW,XA1 XA0 XD0-7 /XIOR /XIOW,譯碼器 300H-303H,XA9-2,譯碼器 300H-303H,XA9-2,(2)接口軟件編程,接口驅(qū)動程序包含發(fā)送程序和接收程序。, 甲機發(fā)送程序段:,MOVDX, 302H; 8255A 狀態(tài)口INAL, DX; 查發(fā)送中斷請求INTRA=1?ANDAL, 08H; PC3=1?JZL; 若無中斷請求, 則等待; 若有中斷請求,則向A口寫數(shù)MOVDX, 300H; 8255APA口地址MOVAL, SI; 從內(nèi)存取數(shù)OUTDX, AL; 通過A口向乙機發(fā)送第二個數(shù)據(jù)
21、INCSI; 內(nèi)存地址加1DECCX; 字節(jié)數(shù)減1JNZL; 字節(jié)未完, 繼續(xù)MOVAH, 4C00H; 已完, 退出INT21H; 返回DOSBUFSDB 1024個數(shù)據(jù),L:,乙機接收程序段:,MOVDX, 303H; 8255A命令口MOVAL, 10011000B; 初始化工作方式字OUTDX, ALMOVAL, 00000111B; 置ACK=1 (PC3=1)OUTDX, ALMOVDI, OFFSET BUFR; 設(shè)置接收數(shù)據(jù)區(qū)的指針MOVCX, 3FFH; 接收字節(jié)數(shù),MOVDX, 302H; 8255A PC口INAL, DX; 查甲機的OBF=0? ; (乙機的PC7=0)ANDAL, 80H; 即查甲機是否有數(shù)據(jù)發(fā)來JNZL1; 若無數(shù)據(jù)發(fā)來,則等待; 若有數(shù)據(jù), 則從A口讀數(shù)MOVDX, 300H; 8255A PA口地址INAL, DX; 從A口讀入數(shù)據(jù)MOVDI, AL; 存入內(nèi)存MOVDX, 303H; 產(chǎn)生ACK信號, 并發(fā)回給甲機MOVAL, 00000110B; PC3 置“ 0”O(jiān)UTDX, ALNOPNOP,L1:,MOVAL, 00000111B; PC3 置“ 1”O(jiān)UTDX, ALINCDI; 內(nèi)存地址加1DECCX; 字節(jié)數(shù)減1JNZL1; 字節(jié)未完, 則繼續(xù)MO
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 防恐防爆安全培訓感想課件
- 防凍液課件知識
- 閥門內(nèi)外漏培訓課件
- 部門食品安全培訓制度課件
- 部門納新介紹
- 心臟瓣膜病 課件
- (新教材)2026年北師大版三年級上冊數(shù)學 第一單元 混合運算 整 理與復習 課件
- (新教材)2026年冀教版一年級下冊數(shù)學 3.3.2兩位數(shù)加一位數(shù)進位 課件
- 音樂小屋比賽課件
- 兒科小兒腹瀉液體療法核心要點
- 2026年寧夏黃河農(nóng)村商業(yè)銀行科技人員社會招聘備考題庫及完整答案詳解1套
- 初三數(shù)學備課組年終工作總結(jié)
- 2026年尼勒克縣輔警招聘考試備考題庫必考題
- 湖南名校聯(lián)考聯(lián)合體2026屆高三年級1月聯(lián)考物理試卷+答案
- 2024年黑龍江三江美術(shù)職業(yè)學院單招職業(yè)適應性測試題庫附答案解析
- 成都傳媒集團招聘筆試題庫2026
- 污泥處置合同協(xié)議
- 2025年蘇州工業(yè)園區(qū)領(lǐng)軍創(chuàng)業(yè)投資有限公司招聘備考題庫及一套完整答案詳解
- 鄉(xiāng)村振興視角下人工智能教育在初中英語閱讀教學中的應用研究教學研究課題報告
- 2026廣東深圳市檢察機關(guān)招聘警務輔助人員13人備考筆試試題及答案解析
- 2026年中國禮品行業(yè)展望白皮書
評論
0/150
提交評論