8255A的工作方式及其初始化編程_第1頁
8255A的工作方式及其初始化編程_第2頁
免費(fèi)預(yù)覽已結(jié)束,剩余2頁可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、 8255A的工作方式及其初始化編程 8255A有三種匸作方式:基木輸入/輸出方式、單向選通輸入/輸出方式和雙向選通輸入/輸岀方式. 1. 8255A的工作方式 (1)方式0:基木輸入/輸出方式(basic Input/Output) 方式0是8255A的基木輸入/輸出方式,其持點(diǎn)是與外設(shè)傳送數(shù)據(jù)時(shí),不需要設(shè)迓專用的聯(lián)絡(luò)(應(yīng)答)信號(hào),可以無條件的直 接進(jìn)行I/O傳送. A, B, C 3個(gè)端口都可以工作在方式0 A 口和B 口工作在方式0時(shí),只能設(shè)宜為以8位數(shù)據(jù)格式輸入/輸出; C 口工作在方式0時(shí),可以祐4位和低4位分別設(shè)置為數(shù)據(jù)輸入或數(shù)據(jù)輸出方式. 方式0常用于與外設(shè)無條件數(shù)據(jù)傳送或査詢方

2、式數(shù)據(jù)傳送. (2)方式1:?jiǎn)蜗蜻x通輸入/輸出方式(strobe Input/Output) 方式1是一種帶選通信號(hào)的巾方向輸入/輸出工作方式,其持點(diǎn)是:與外設(shè)傳送數(shù)據(jù)時(shí),需要聯(lián)絡(luò)信號(hào)進(jìn)行協(xié)調(diào),允許用査 詢或中斷方式傳送數(shù)據(jù). 由于C 口的PCO, PC1和PC2定義為B 口工作在方式1的聯(lián)絡(luò)信號(hào)線,PC3, PC4和PC5定義為A 口工作方式1的聯(lián)絡(luò)信號(hào)線,因此只允許A 口和B 口工作 在方式1 A 口和B 口工作在方式1,當(dāng)數(shù)據(jù)輸入時(shí),C 口的引腳信號(hào)定義如圖所示.PC3, PC4和PC5定義為A 口的聯(lián)絡(luò)信號(hào)線INTRA, 麗和IBFA, PCO, PC1和PC2 定義為B 口的聯(lián)絡(luò)信號(hào)

3、線INTRB, IBFB和帀瓦,剿余的PC6和PC7仍可以作 為基木I/O線,工作在方式0 方式1輸入聯(lián)絡(luò)信號(hào)的功能如下: STB (strobe input):選通信號(hào),輸入低電平有效此信號(hào)由外設(shè)產(chǎn)生輸A, STB有效時(shí),選通A 口或B 口的輸入數(shù) 據(jù)鎖存器,鎖存由外設(shè)輸入的數(shù)據(jù),供CPU讀取. IBF( input buffer full):輸入緩沖器滿信號(hào),輸出,高電平有效當(dāng)A 口或B 口的輸入數(shù) 據(jù)鎖存器接收到外設(shè)輸入的數(shù)據(jù)時(shí),IBF變?yōu)榈v電平, 作為對(duì)外設(shè)可左的響應(yīng)信號(hào),CPU讀取 數(shù)據(jù)后IBF被清除. IXTR:中斷請(qǐng)求信號(hào),輸出,高電平有效,用干請(qǐng)求以中斷方式傳送數(shù)據(jù).DD 増口

4、B方式 A和增口 B方武1數(shù)莞愉入的 為了能實(shí)現(xiàn)用中斷方式傳送數(shù)據(jù),在8255A內(nèi)部設(shè)有一個(gè)中斷允許觸發(fā)器INTE,半觸發(fā)湍 為廣時(shí)允許中斷,為(T時(shí)禁止中斷A 口的峨發(fā)器由PC4置位或復(fù)位,B 口的觸發(fā)器由PC2 g 位或復(fù)位. 方式1數(shù)據(jù)輸入的時(shí)序如圖所示. 作為外設(shè)接收數(shù)據(jù)的選通信號(hào)十外設(shè)接收到送來的數(shù)據(jù)后,向8255A回送ACK信號(hào),作為對(duì)面戸信號(hào)的應(yīng)答.ACK信 號(hào)有效之后約350ns, OBF變?yōu)闊o效,表明一次數(shù)據(jù)傳送結(jié)束.INTR信號(hào)在中斷允許鮭發(fā)器INTE為1且信號(hào)無效 之后約350ns變?yōu)閸u電平. 若用中斷方式傳送數(shù)據(jù)時(shí),通常把INTR連到8259A的請(qǐng)求輸入端IRi. (3

5、)方式2:雙向選通輸入/輸出方式(bi-directional bus) 方式2為雙向選通輸入/輸出方式,是方式1輸入和輸出的組合,即同一端口的信號(hào)線 既可以輸入又可以輸岀.由于C 口的PC7PC3定義為A 口工作在方式2時(shí)的聯(lián)絡(luò)信號(hào)線, 因此只允許A 口工作在方式2,引腳信號(hào)定義如圖所示. 由圖可以看出,PA7-PA0為雙方向數(shù)據(jù)端口,既可以輸入數(shù)據(jù)又可以輸出數(shù)據(jù). C 口的PC7PC3定義為A 口的聯(lián)絡(luò)信號(hào)線,其中PC4和PC5作為數(shù)據(jù)輸入時(shí)的聯(lián)絡(luò)信 號(hào)線,PC1定義為輸入選通信號(hào)顧,PC5定義為輸入緩沖湍滿IBFA; PC6和PC7作為數(shù)據(jù)輸出時(shí)的讀絡(luò)信號(hào)線,PC7定義為輸出緩沖器滿5甌

6、,PC6定義 為輸出應(yīng)答信號(hào)屁瓦;PC3定義為中斷請(qǐng)求信號(hào)INTRA. 需要注慰的是:輸入和輸出公用一個(gè)中斷請(qǐng)求線PC3,但中斷允許觸發(fā)器有兩個(gè),即輸入中斷允許觸發(fā)器為INTE2,由PC4 寫入設(shè)母輸岀中斷允許觸發(fā)器為INTE1,由PC6寫入設(shè)毘剩余的PC2PC0仍可以作為基木I/O線,丄作在方式0. 2. 8255A初始化編程 8255A的A, B, C三個(gè)端口的匸作方式是在初始化編程時(shí),通過向8255A的控制端口寫入控制字來設(shè)定的. 8255A由編程寫入的控制字有兩個(gè):方式控制字和迓位/復(fù)位控制字方式控制字用于設(shè)迓端口 A, B, C的匸作方式和數(shù) 據(jù)傳送方向;迓位/復(fù)位控制字用于設(shè)宜C

7、口的PC7-PC0中某一條口線PCi (i = 07)的電平兩個(gè)控制字公用一個(gè)端口地址, 由控制字的昴商位作為區(qū)分這兩個(gè)控制字的標(biāo)忐位. (1)方式控制字的格式8255A L:作方式控制字的格式如圖所示. D0:設(shè)置PC3PCO的數(shù)據(jù)傳送方向.D0 = l為輸入;D0=0為輸岀. D1:設(shè)逍B 口的數(shù)據(jù)傳送方向.Dl = l為輸入;Dl.=0為輸出. D2:設(shè)魚:B 口的工作方式.D2=l為方式1;D2=0為方式0 D3:設(shè)置PC7-PC4的數(shù)據(jù)傳送方向.D3 = l為輸入;D3=0為輸岀. D1:設(shè)置A 口的數(shù)據(jù)傳送方向D4 = 1為輸A;D4=0為輸出. D6D5:設(shè)豐A 口的匸作方式D6

8、D5 = 00為方式0, D6D5=01為方式1, 或11為方式2 Dr 6 IX 1)D, rx 1:標(biāo)占位一1 00: - 01: AIIAZI lx: A MAX 2 0: Allll; -h All績(jī)?nèi)?10 0: PGPG 1ft岀 - 1i): Pr.-PGI| h PG PQffi 入 - 0: h BUift入 - 0: BI1 方式(I h Bll方式1 、“I外設(shè)的數(shù)據(jù)準(zhǔn)備就緒后,向8255A發(fā)送麗信號(hào)以便鎖存輸入的數(shù)據(jù),就的寬度至少為500ns,在麗有效之后 的約300ns, IBF變?yōu)楦唠娖?,并一直保持到而信?hào)由低電平變?yōu)楦唠娖剑?待CPU讀取數(shù)據(jù)后約300ns變?yōu)榈碗?/p>

9、平,表示一次數(shù)據(jù)傳送結(jié)束IXTR是在 中斷允許觸發(fā)器INTE為1,且IBF為1 (8255A接收到數(shù)據(jù))的條件下,在 STB后沿(由低變商)之后約300ns變?yōu)樯屉娖剑靡韵駽PU發(fā)出中斷請(qǐng)求, 待而變?yōu)榈碗娖胶蠹s400ns, INTR被撤銷. A 口和B 口工作在方式1,當(dāng)數(shù)據(jù)輸出時(shí), C 口的引腳信號(hào)定義如圖所示. PC3, PC6和PC7定義為A 口聯(lián)絡(luò)信號(hào)線INTRA, ACK和面瓦,PCO, PC1和PC2定義為B 口聯(lián)絡(luò)信號(hào)線INTRB, 和ACKH ,剩余的PC1 和PC5仍可以作為基木I/O線,工作在方式0. 方式1輸出聯(lián)絡(luò)信號(hào)的功能如下: OBF (output buffer

10、 full):輸出緩沖辭滿指示信號(hào)輸出,低電平有效. OBF信號(hào)由8255A發(fā)送給外設(shè),、”I CPU將數(shù)據(jù)嗎入數(shù)據(jù)端口時(shí),OBF變?yōu)榈?電平,用于通知外設(shè)讀取數(shù)據(jù)端口中的數(shù)據(jù). ACK (acknowledge input):應(yīng)答信號(hào),輸入,低電平有效.ACK信號(hào)由 外設(shè)發(fā)送給8255A,作為對(duì)刁麗信號(hào)的響應(yīng)信號(hào),表示輸出的數(shù)據(jù)已經(jīng)被外設(shè)接 收,同時(shí)清除萬麗信號(hào). IXTR:中斷請(qǐng)求信號(hào),輸出,高電平有效用于請(qǐng)求以中斷方式傳鯉挙. OBF INTR 850ns 650o$, j I V- ACK 輸入 ;S50ns I i350ns I I 一 a, L_ 圖9端口 A和端口 B方式 1數(shù)據(jù)

11、籀岀的時(shí)序圖 方式1數(shù)據(jù)輸出的時(shí)序如圖所示.1 CPU向8255A寫入數(shù)據(jù)時(shí),阪信號(hào)上升沿后約650ns, OBF有效,發(fā)送給外設(shè), WR ,350ns| 圖 7 10端 E3A方式 2引腳信呂定義 I: Ell S255AI 作方式控制宇的格式 D7:方式控制字的標(biāo)忐位,恒為1. 例如,將8255A的A 口設(shè)定為匸作方式0輸入B 口設(shè)定為工作方式1輸出,C 口沒有定義,工作方式控制字為B. (2)C 口宜位/復(fù)位控制字的格式 8255A C 口置位/復(fù)位控制字的格式如圖所示. 8255A C 口迓位/復(fù)位控制字用于設(shè)宜C 口某一位口線PCi(i = O7) 輸出為商電平(宜位)或低電平(復(fù)位

12、),對(duì)各端口的匸作方式?jīng)]有影響 D3Dl:8種狀態(tài)組合000-111對(duì)應(yīng)表示PC0-PC7. D0:用來設(shè)定指定口線PCi為商電平還是低電平、”| D0 = l時(shí),抬定 口線PCi輸出高電平;當(dāng)D0 = 0時(shí),指定口線PC1輸出低電平. D6D4沒有定義,狀態(tài)可以任意,通常設(shè)宜為位作為標(biāo)志位,恒為0. 例如,若把PC2 口線輸出狀態(tài)設(shè)置為商電平,則置位/復(fù)位控制字為 00000101B. (3)8255A初始化編程 8255A的初始化編程比較簡(jiǎn)啟,只需要將1:作方式控制字寫入控制端口即可.另外,C 口置位/復(fù)位控制字的寫入只是對(duì)C 口抬定位輸岀狀態(tài)起作用,對(duì)A 口和B 口的工作方式?jīng)]有影響,因此只有需耍在初始化時(shí)抬定C 口某一位的輸出電平時(shí),才寫 入C 口宜位/復(fù)位控制字. 【例】設(shè)8255A的A 口工作在方式0,數(shù)據(jù)輸出,B 口工作在方式1,數(shù)據(jù)輸入,編寫初始化程序(設(shè)8255A的端口地址為 FF80H-FF83H) 初始化程序如下: MOV DX, 0FF83H ;控制寄存器端口地址為FF83H MOV AL, B ; A 口方式0,數(shù)據(jù)輸出,B 口方式1,數(shù)據(jù)輸入 OUT DX, AL ;將控制字寫入控制端 【例】將8255A的C 口中PCO設(shè)亙?yōu)樯屉娖捷敵?PC5設(shè)宜為低電平輸出,編寫初始化程序(設(shè)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論