




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第7章并行接口
7.1并行接口的特點CPU與外部設備的信息交換稱為通信,若數據的各位是同時傳送的,則稱為并行通信。為CPU與外設采用并行通信的示意圖CPU并行接口外設DBABCBDataCONTROLSTATUS一、并行接口的功能一般而言,一個并行接口電路應具有以下三方面的功能:1.
實現與系統總線的連接,提供數據的輸入與輸出功能,這是并行接口電路最基本的功能。2.實現與I/O設備的連接,具有與I/O設備進行應答的同步機構,保證有效地進行數據的收發。3.有中斷請求與處理功能,使得數據的輸入輸出可以采用中斷的方法來實現,這一功能對于需要采用中斷傳輸的I/O是必需的。二、并行接口的外部信號并行接口電路的外部信號可分成兩部分:與I/O設備相連的接口信號以及與CPU相連的接口信號。1.與I/O設備的接口信號(1)數據信息,用于實現接口電路與I/O設備的數據交換;(2)控制信息,用于接口電路向I/O設備提供控制信號;(3)狀態信息,用于接口電路接收I/O設備提供的狀態信號。2.與CPU的接口信號(1)數據信號,用于接口電路與CPU進行數據交換;(2)地址線及地址譯碼信號,用于選擇不同的接口電路以及接口電路內部不同的寄存器;(3)讀寫控制信號,用于確定CPU當前對接口電路的操作性質是讀還是寫;(4)中斷應答信號,用于實現中斷請求和中斷響應操作。三.并行接口的特點(1)在多根數據線上以字節為單位與IO設備或被控對象傳送信息(2)在并行接口中,除了少數場合(如采用245,373等無條件傳送)之外,一般都要求接口與外設之間設置并行數據線的同時,至少還要設置兩根握手聯絡信號線,以便進行互鎖異步握手方式(即查詢方式)通信(3)在并行接口中,8位(或16位)是一起傳輸的,因此,并口與外設交換數據時,即使只用到其中的1位,也是一次輸入/輸出8位(或16位)(4)并行傳送的信息,不要求固定的格式,而串行傳送的信息有數據格式的要求不同。7.2可編程并行接口8255A一、8255A的內部結構和外部特性(一)8255A的外部引腳8255A的引腳432140371825141516171312111034......27D7D0A0A1RESETVCCGND986535368255APPI數據總線控制線電源線通道A通道B通道CCPU接口外設接口...PA7PA0...PB7PB0...PC7PC0A組控制數據總線緩沖器讀/寫控制邏輯B組控制RESETA0A1A組A口8位A組A口A組C口高位(4位)B組C口低位(4位)8位B組B口PA7~PA0PC7~PC4PC3~PC0PB7~PB0圖7-28255A內部結構框圖D7~D0(二)8255A的內部結構譯
碼
器PA寄存器(8bit)8個讀&寫&/WR/RDD0-7A0-1/CS8個同時控制8個3態門內部選中線,用于選中1個存單元或IO端口外譯
碼
器/XIOW/XIORXA0-1XA5--98255芯片與系統總線連接及PA口讀寫控制原理圖XD0-7I讀出I寫入/Y0/IOY38個8個I輸入I輸出PA0-7外設數據線A組控制寄存器1.三個8位的I/O端口A,B,C三個端口都可以作為數據I/O口使用。有時,A,B口作為數據I/O,而C口作為控制或狀態端口,分為上、下兩部分,配合A,B口工作。2.A組,B組控制部件A組包括C口的高4位:PC4~PC7A口:PA0~PA7B組包括C口的低4位:PC0~PC3B口:PB0~PB7
A組,B組的控制寄存器,接收CPU寫入的控制字,規定兩組的工作方式。3.數據總線緩沖器
三態雙向8位緩沖器,是8255A與CPU之間的數據接口,傳送CPU與8255A之間所有的控制,狀態和數據信息。4.讀/寫控制邏輯接受CPU的控制命令,向片內各部件發出操作命令。片選信號,接CPU高位地址的譯碼輸出。讀信號,有效,CPU讀8255A的數據或狀態信息。RESET:復位信號,有效時,清除8255A中的控制寄存器,置各端口為輸入方式。A1,A0:端口選擇信號A1A000端口A口01B口10C口11控制字寄存器表7-18255A端口選擇和基本操作A1A0輸入操作(CPU讀)00010數據總線通道A01010數據總線通道B10010數據總線通道C00100數據總線通道A01100數據總線通道B10100數據總線通道C輸出操作(CPU寫)11100數據總線控制字寄存器1數據總線三態11010非法條件斷開功能110數據總線三態8255A端口選擇和基本操作如表7-1所示二、8255A的控制字1.工作方式控制字D7D6D5D4D3D2D1D0B組
端口C(下半部)
1=輸入,0=輸出
端口B
1=輸入,0=輸出
方式選擇
0=方式0,1=方式1A組
端口C(上半部)
1=輸入,0=輸出
端口A
1=輸入,0=輸出
方式選擇
00=方式0,01=方式1,1=方式2方式設置標志
1=有效例:MOVAL,10010101BOUTCWR,AL;CWR為控制字寄存器地址則:A口:方式0輸入B口:方式1輸出C口PC4~PC7:方式0輸出C口PC0~PC3:方式1輸入例:若把A口設定為方式1,輸出,C口上半部定為輸入;B口設定為方式0,輸入;C口下半部設定為輸出。則方式選擇控制字應為:10101010B=AAH。設控制口地址為303H,于是初始化的程序段為:MOV DX,303H ;8255A的控制口地址MOV AL,0AAH ;控制字OUT DX,AL ;控制字寫入控制端口2.端口C的置位/復位控制字D7D6D5D4D3D2D1D0位的置位/復位
1=置位,0=復位位選擇
D3D2D1通道C位按位置位/復位控制
標志0=有效000位0001位1010位2011位3100位4101位5110位6111位7不使用設置為000例如,可以用以下指令置位PC3MOVAL,00000111BOUTCWR,AL可以用以下指令復位PC3MOVAL,00000110BOUTCWR,AL7.38255A的工作方式0及應用1.方式0(基本的I/O方式)特點(1)方式0的功能方式0是一種基本的I/O方式(外設數據直通方式)。三個端口的每一個都可由指令選擇作為輸入或輸出,沒有規定固定的用于應答式的聯絡信號。一旦外設送出數據后,(稍經過延遲t1R)就能直接流入8255輸入端口;CPU對8255輸出端口寫入數據后,(稍經過延遲tWB)能直接流出到輸出線上。(2)方式控制字100D4D30D1D0
A口、B口、C口上半部分,C口下半部分的輸入、輸出共有16種不同的組合。譯
碼
器PA端口寄存器(8bit)8個讀&寫&/WR/RDD0-7A0-1/CS8個同時控制8個3態門內部選中線,用于選中1個存單元或IO端口外譯
碼
器/XIOW/XIORXA0-1XA5--98255芯片PA口方式0輸入XD0-7I讀出I寫入/Y0/IOY38個8個I流入I流出PA0-7外設數據線A組控制邏輯10(3)方式0的時序方式0的輸入時序tRRRD數據有效PA7-0D7~D0t1RtHRtRAtARtRDtDF方式0輸入時序圖CS,A1,A0譯
碼
器PA端口寄存器(8bit)8個讀&寫&/WR/RDD0-7A0-1/CS8個同時控制8個3態門內部選中線,用于選中1個存單元或IO端口外譯
碼
器/XIOW/XIORXA0-1XA5--98255芯片PA口方式0輸出XD0-7I讀出I寫入/Y0/IOY38個8個I流入I流出PA0-7外設數據線A組控制邏輯01方式0的輸出的時序tWWWR輸出tDWtWDtWAtAWtWB圖9-7方式0輸出時序圖CS,A1,A0數據有效D7~D0數據有效tWWWR輸出tDWtWDtWAtAWtWB圖9-7方式0輸出時序圖CS,A1,A0數據有效D7~D0tWWWRPA7-0tDWtWDtWAtAWtWB圖9-7方式0輸出時序圖CS,A1,A0數據有效D7~D0數據有效
2.方式0的應用例1.設計一個國際Centronics標準插座的打印機接口分析:參看課本P188圖8.16和8.17的打印機Centronics標準插座和并口DB25插座的連接圖。這是國際定義的標準信號線(市場上的打印線就是一端連接PC機并口DB25插座,另一端連接打印Cenreonics標準插座)此處把問題最簡單化,只保留數據信號和/STROBE與BUSY一對最基本的握手聯絡信號。/STROBE:并口發給打印機,實現把數據線上的數據寫入打印機BUSY:打印機發給并口,表示打印機是否空閑(一)硬件設計:給出系統總線到并口插座DB25之間的并口電路18~25111PC7PA0-7PC2GND/CSA1A0D1-7/RD/WRXA1XA0XD0-7/XIOR/XIOW譯碼器300H-303HXA9-28255A2~9DATA1-8/STBBUSYGND(二)軟件設計8255初始化向PA口送一個字符發/STB有效負脈沖把字符送入打印機修改打印緩沖區地址指針修改打印緩沖區剩余字符個數BUSY=0?字符數=0?NNYYBUFDB100DUP(?);定義打印緩沖取,用來存放打印字符START:MOVDX,303H;8255初始化MOVAL,10000001B;A口輸出,PC4-7輸出,PC0-3輸入OUTDX,ALMOVAL,00001111B;PC7設置1,產生/STB無效信號OUTDX,ALMOVSI,offsetBUF;設置打印緩沖區地址指針SIMOVCX,lengthBUF;設置打印字符個數寄存器CXL:MOVDX,302H;查詢PC2=1?(即BUSY=1?)INAL,DXANDAL,04HJNZL;是,表示忙,回L循環等待MOVDX,300H;將打印緩沖區當前字符送到PA口輸出MOVAL,[SI]OUTDX,ALMOVDX,303H;在PC7上軟件產生/STB負脈沖信號MOVAL,00001110BOUTDX,ALNOPNOPMOVDX,00001111BOUTDX,ALINCSI;修改打印機緩沖區地址指針DECCX;字符個數寄存器減1JNZL;沒有減到0,表示還有字符需要打印,繼續下一個例2.設計一個3*4矩陣鍵盤及其接口,使得計算機能夠通過掃描方法判斷是那個按鍵按下分析:矩陣鍵盤的按鍵排成n行m列,每個按鍵占據行列的一個交叉點,需要的輸入輸出線為n+m,最大按鍵數為n×m。顯然,在按鍵較多的應用場合,矩陣鍵盤可以減少與微機系統接口的連線,是一般微機常用的鍵盤結構。 在掃描每一行時,讀列線,若讀得的結果為全“1”,說明沒有鍵按下,即尚未掃描到閉合鍵;若某一列為低電平,說明有鍵按下,而且行號和列號已經確定。然后用同樣的方法,依次向列線掃描輸出,讀行線。如果兩次所得到的行號和列號分別相同,則鍵碼確定無疑,即得到閉合鍵的行列掃描碼。(一)硬件設計為一個3×4矩陣鍵盤及其接口電路。圖9-213×4矩陣鍵盤的接口PA0PB0PA1PA2PB1PB2PB3鍵0123567490A0B8行0行1行3+5V列0列1列2列3圖9-213×4矩陣鍵盤的接口PA0PB0PA1PA2PB1PB2PB3鍵0123567490A0B8圖9-21
3×4矩陣鍵盤的接口/CSA1A0D1-7/RD/WRXA1XA0XD0-7/XIOR/XIOW譯碼器A0H-A3HXA9-28255A(二)軟件設計右圖是實現鍵處理工作的程序流程。設中8255A的端口地址為A0H(A口)、A1H(B口)、A2H(C口)和A3H(控制口),鍵處理的程序如下:Y圖
鍵處理程序流程初始化判別按鍵確已按下?確定鍵值等待鍵釋放鍵值處理N鍵處理程序流程判別按鍵確已按下?確定鍵值等待鍵釋放鍵值處理NYMOV AL,82HOUT0A3H,AL ;8255A初始化,選擇方式0,A口為輸出,B口為輸入MOV AL,0OUT 0A0H,AL ;使各行線接地(為0電平)LOP1:IN AL,0A1H ;讀列線狀態AND AL,0FH ;屏蔽無用位,保留列線位CMP AL,0FH ;有列線為0電平嗎?JZ LOP1 ;無,則繼續查列線狀態,等待鍵按下;確定按鍵閉合,等待鍵按下;識別按下的鍵BEGIN:MOV BL,3 ;行數送BLMOV BH,4 ;列數送BHMOVAL,11111110B;起始掃描碼,第一次使行線0接地MOV CH,0FH ;設置屏蔽碼MOV CL,0FFH ;取鍵號初值為FFHLOP2:OUT 0A0H,AL ;逐行掃描ROL AL ;修改掃描碼,準備掃描下一行MOV AH,AL ;掃描碼送AH保存IN AL,0A1H ;讀列線數據AND AL,CL ;屏蔽無用位,保留列線位CMP AL,CL ;有列線接地嗎?JNZ LOP3 ;有,轉去找該列線ADD CH,BH ;否,修改鍵號,使適合下一行MOV AL,AH ;掃描碼送ALDEC BL ;行數減1JNZ LOP2 ;未掃描完,轉下一行JMP BEGINLOP3:INC CH ;鍵號加1RCR AL ;帶進位循環右移一位JCLOP3;C=1,說明該列未接地,轉去檢查下一列線MOV AL,CH ;是,鍵號送ALCMP AL,0 ;是0號鍵嗎?JZ KEY0 ;轉0號鍵處理程序CMP AL,1 ;是1號鍵嗎?JZ KEY1 ;轉1號鍵處理CMP AL,0BH ;是B號鍵嗎?JZ KEYB ;轉B號鍵處理(1)方式1的功能7.48255A的工作方式1及應用1.方式1(選通的I/O方式)特點A口、B口作為數據I/O口,同時規定C口的某些位作為控制或狀態信號配合A口、B口的I/O。外設送出數據后,還必須對8255發送STB選通信號才能使數據流入8255輸入端口;CPU對8255輸出端口寫入數據后,雖然能直接流出到輸出線,但必須要外設發回一個ACK才能使8255撤銷/OBF和INTR,以便CPU知道何時可以寫入新的數據。(2)方式1輸入方式1的輸入組態8STBAIBFAINTRAPC3PC5PC4PA7~01011I/O方式1(端口A)方式1端口A輸入PC6,71=輸入0=輸出A組方式控制字PC6,7I/OINTEAD7D6D5D4D3D2D1D02譯
碼
器PA端口寄存器(8bit)8個讀&寫&/WR/RDD0-7A0-1/CS8個同時控制8個3態門內部選中線,用于選中1個存單元或IO端口外譯
碼
器/XIOW/XIORXA0-1XA5--98255芯片PA口方式1輸入XD0-7I讀出I寫入/Y0/IOY38個8個I流入I流出PA0-7接外設數據線A組控制邏輯/STBA(PC4)IBFA(PC5)INTRA(PC3)接8259外設中斷請求線IRi0
表示控制生效或失效方式1(端口B)IBFBINTRBPC0PC1PB7~0INTEB端口B輸入端口B方式1B組方式控制字1
11PC2聯絡信號的定義/STB(Strobe):選通輸入IBF(InputBufferFull):輸入緩沖器滿INTR(InterruptRequest):中斷請求信號INTEA(InterruptEnableA):A口中斷允許信號,通過對PC4的按位置位/復位來控制(PC4=1,中斷允許)。INTEB(InterruptEnableB):由PC2的置位/復位控制。方式1的輸入時序tSTtSTBtSITtRIBtRITtPStPHSTBIBFRD來自外設的輸入數據INTRtSTtSTBtSITtRIBtRITtPStPHSTBIBFRD來自外設的輸入數據INTR方式1輸入時序圖(3)方式1輸出方式1的輸出組態INTRAPC3PC6PC7PA7~01010I/O方式1輸出端口A端口A方式1PC4,51=輸入0=輸出A組方式1控制字PC4,5I/OINTEA2端口A輸出譯
碼
器PA端口寄存器(8bit)8個讀&寫&/WR/RDD0-7A0-1/CS8個同時控制8個3態門內部選中線,用于選中1個存單元或IO端口外譯
碼
器/XIOW/XIORXA0-1XA5--98255芯片PA口方式1輸出XD0-7I讀出I寫入/Y0/IOY38個8個I流入I流出PA0-7接外設數據線A組控制邏輯/ACKA(PC6)/OBFA(PC7)INTRA(PC3)接8259外設中斷請求線IRi0
表示控制生效或失效方式1輸出端口BINTRBPC0PC2PC1INTEB端口B輸入端口B方式1B組方式1控制字1
10PB7~0聯絡信號的定義OBF(OutputBufferFull):輸出緩中器滿信號ACK(Acknowledge):外設應答信號INTR(InterruptRequest):中斷請求信號INTEA(InterruptEnableA):由PC6置位/復位控制INTEB(InterruptEnableB):由PC2置位/復位控制方式1的輸出時序tAOBtWOBtWITtAKtAITtWB輸出WROBFACKINTR圖9-11方式1輸出時序圖tAOBtWOBtWITtAKtAITtWB輸出WROBFACKINTR圖9-11方式1輸出時序圖2.方式1的應用例3.查詢方式的雙機并行通信甲乙兩臺微機之間并行傳送1K字節數據。甲機發送,乙機接收。甲機一側的8255A采用方式1工作,乙機一側的8255A采用方式0工作。兩機的CPU與接口之間都采用查詢方式交換數據。甲機8255A是方式1發送,因此,把PA口指定為輸出,發送數據,而PC7和PC6引腳分別固定作聯絡線。乙機8255A是方式0接收數據,故把PA口定義為輸入,另外,選用引腳PC7和PC3作聯絡線。雖然,兩側的8255A都設置了聯絡線,但有本質的差別:甲機8255A是方式1,其聯絡線是固定的,不可替換的;乙機的8255A是方式0,其聯絡線是不固定的,可以選擇,比如可選擇PC4和PC1、或PC5、PC2等任意組合。(1)硬件接口電路設計接口電路的連接如圖所示。2.2.PA0~7PC7PC3PC4~6PC0~2PB0~7PA0~7PC7PC6PC8PC0~5PB0~78255A8255A方式0方式1未用
查詢方式的雙機地通信OBFACKPA0~7PC7PC3PC4~6PC0~2PB0~7PA0~7PC7PC6PC8PC0~5PB0~78255A8255A方式0方式1未用PA0~7PC7PC3PC4~6PC0~2PB0~7PA0~7PC7PC6PC8PC0~5PB0~78255A8255A方式0方式1乙(接收)甲(發送)未用OBFACK/CSA1A0D1-7/RD/WR/CSA1A0D0-7/RD/WRXA1XA0XD0-7/XIOR/XIOWXA1XA0XD0-7/XIOR/XIOW譯碼器300H-303HXA9-2譯碼器300H-303HXA9-2(2)接口軟件編程接口驅動程序包含發送程序和接收程序。①甲機發送程序段:MOV DX,303H ;8255A命令口
MOV AL,10100000B ;初始化工作方式字
OUT DX,AL
MOV AL,0DH ;置發送中斷允許INTEA=1
OUT DX,AL ;PC6=1
MOV SI,OFFSETBUFS ;設置發送數據區的指針
MOV CX,3FFH ;發送字節數
MOV DX,300H ;向A口寫第一個數,產生第 ;一個OBF信號
MOV AL,[SI] ;送給乙方,以便獲取乙方的 ;ACK信號
OUT DX,AL
INC SI ;內存地址加1
DEC CX ;傳送字節數減1MOV DX,302H ;8255A狀態口
IN AL,DX ;查發送中斷請求INTRA=1?
AND AL,08H ;PC3=1?
JZ L ;若無中斷請求,則等待;
;若有中斷請求,則向A口寫數
MOV DX,300H ;8255APA口地址
MOV AL,[SI] ;從內存取數
OUT DX,AL ;通過A口向乙機發送第二個數據
INC SI ;內存地址加1
DEC CX ;字節數減1
JNZ L ;字節未完,繼續
MOV AH,4C00H ;已完,退出
INT 21H ;返回DOS
BUFS DB1024個數據L:②乙機接收程序段:MOV DX,303H ;8255A命令口
MOV AL,10011000B ;初始化工作方式字
OUT DX,AL
MOV AL,00000111B ;置ACK=1(PC3=1)
OUT DX,AL
MOV D
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 風力發電機組液壓傳動系統(風電機組課件)
- 農藝師考試練習冊試題及答案
- 提高2024園藝師考試思維能力與綜合素養的策略試題及答案
- 探索花藝師考試內容與方法的全面結合試題及答案
- 高校輔導員考試的時間管理與試題及答案
- 幫助你通過農業職業經理人考試的資源試題及答案
- 輔導員崗位考試所需的核心素質與能力分析試題及答案
- 園藝設計中的環保理念與實踐試題及答案
- 農作物育種技術與應用研究試題及答案
- 2024年福建事業單位考試角色扮演學習方式試題及答案
- 高速公路工程質量管理制度匯編
- 2025年春形勢與政策第二學期練習題、知識點梳理
- 2025屆浙江省杭州市下學期高三考前(二模)語文試題試卷含解析
- 北師大版四年級數學下學期月考質量評估課后輔導過關檢測考試
- 2025年吉林交通職業技術學院單招職業技能考試題庫新版
- 第二單元第1課《葉子的紋理》課件 一年級美術下冊 浙美版
- 2025年洛陽職業技術學院單招職業技能測試題庫一套
- 企業上市居間合同范本
- 2025年河南應用技術職業學院單招職業技能測試題庫及參考答案
- 上環取環的知識
- DT帶式輸送機設計手冊
評論
0/150
提交評論