版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第一講: 第七章 接口與并行通信回顧: 微機(jī)系統(tǒng)結(jié)構(gòu)及控制信號(hào)的名稱(chēng)和作用。本講重點(diǎn):I/O接口概述,CPU與I/O接口,I/O接口與系統(tǒng)的連接。講授內(nèi)容:7.1 CPU與外設(shè)之間的數(shù)據(jù)傳輸一CPU與I/O接口接口電路按功能可分為兩類(lèi):是使微處理器正常工作所需要的輔助電路:時(shí)鐘信號(hào)或中斷請(qǐng)求等;是輸入/輸出接口電路:CPU與外部設(shè)備信息的傳送(接收、發(fā)送)。 最常用的外部設(shè)備:如鍵盤(pán)、顯示裝置、打印機(jī)、磁盤(pán)機(jī)等都是通過(guò)輸入/輸出接口和總線(xiàn)相連的,完成檢測(cè)和控制的儀表裝置也屬于外部設(shè)備之列,也是通過(guò)接口電路和主機(jī)相連。1為什么要用接口電路:需要分析一下外部設(shè)備的輸入/輸出操作和存儲(chǔ)器讀/寫(xiě)操作的
2、不同之處:存儲(chǔ)器都是用來(lái)保存信息的,功能單一,傳送方式單一(一次必定是傳送1個(gè)字節(jié)或者1個(gè)字),品種很有限(只有只讀類(lèi)型和可讀/可寫(xiě)類(lèi)型),存取速度基本上和CPU的工作速度匹配.。外部設(shè)備的功能多種多樣的(輸入設(shè)備,輸出設(shè)備,輸入設(shè)備/輸出設(shè)備),信息多樣(數(shù)字式的,模擬式的),信息傳輸?shù)姆绞剑ú⑿械模械模?,外設(shè)的工作速度通常比CPU的速度低得多,而且各種外設(shè)的工作速度互不相同,這也要求通過(guò)接口電路對(duì)輸入/輸出過(guò)程起一個(gè)緩沖和聯(lián)絡(luò)的作用。注:接口電路完成相應(yīng)的信號(hào)轉(zhuǎn)換、速度匹配、數(shù)據(jù)緩沖等功能2接口的功能(8種):尋址能力:對(duì)送來(lái)的片選信號(hào)進(jìn)行識(shí)別。輸入/輸出功能:根據(jù)讀/寫(xiě)信號(hào)決定當(dāng)前進(jìn)
3、行的是輸入操作還是輸出操作。數(shù)據(jù)轉(zhuǎn)換功能:并行數(shù)據(jù)向串行數(shù)據(jù)的轉(zhuǎn)換或串行數(shù)據(jù)向并行數(shù)據(jù)的轉(zhuǎn)換。聯(lián)絡(luò)功能:就緒信號(hào),忙信號(hào)等。中斷管理:發(fā)出中斯請(qǐng)求信號(hào)、接收中斷響應(yīng)信號(hào)、發(fā)送中斷類(lèi)型碼的功能。并具有優(yōu)先級(jí)管理功能。復(fù)位:接收復(fù)位信號(hào),從而使接口本身以及所連的外設(shè)進(jìn)行重新啟動(dòng)??删幊蹋河密浖?lái)決定其工作方式,用軟件來(lái)設(shè)置有關(guān)的控制信號(hào)。錯(cuò)誤檢測(cè):一類(lèi)是傳輸錯(cuò)誤。另類(lèi)是覆蓋錯(cuò)誤。注:一些接口還可根據(jù)具體情況設(shè)置其它的檢測(cè)信息。二I/O接口與系統(tǒng)的連接1CPU與I/O設(shè)備之間的信號(hào)(三類(lèi))(1) 數(shù)據(jù)信息 包括三種形式:數(shù)字量、模擬量 、開(kāi)關(guān)量(2) 狀態(tài)信息 是外設(shè)通過(guò)接口往CPU傳送的如:“準(zhǔn)備
4、好”(READY)信號(hào)、“忙”(BUSY)信號(hào)(3) 控制信息 是CPU通過(guò)接口傳送給外設(shè)的 如:外設(shè)的啟動(dòng)信號(hào)、停止信號(hào)就是常見(jiàn)的控制信息2接口部件的I/O端口:數(shù)據(jù)端口、控制端口、狀態(tài)端口CPU和外設(shè)進(jìn)行數(shù)據(jù)傳輸時(shí),各類(lèi)信息在接口中進(jìn)入不同的寄存器,一般稱(chēng)這些寄存器為I/O端口,每個(gè)端口有一個(gè)端口地址。用于對(duì)來(lái)自CPU和內(nèi)存的數(shù)據(jù)或者送往CPU和內(nèi)存的數(shù)據(jù)起緩沖作用的,這些端口叫數(shù)據(jù)端口。用來(lái)存放外部設(shè)備或者接口部件本身的狀態(tài),稱(chēng)為狀態(tài)端口。用來(lái)存放CPU發(fā)出的命令,以便控制接口和設(shè)備的動(dòng)作,這類(lèi)端口叫控制端口。如下圖注:輸入還是輸出,所用到的地址總是對(duì)端口而言的,不是對(duì)接口部件而言的。為
5、了節(jié)省地址空間,將數(shù)據(jù)輸入端口和數(shù)據(jù)輸出端口對(duì)應(yīng)同一個(gè)端口地址。同樣,狀態(tài)端口和控制端口也常用同一個(gè)端口地址。CPU對(duì)外設(shè)的輸入/輸出操作就歸結(jié)為對(duì)接口芯片各端口的讀/寫(xiě)操作。 3接口與系統(tǒng)的連接.接口電路位于CPU與外設(shè)之間,從結(jié)構(gòu)上看,可以把一個(gè)接口分為兩個(gè)部分,用來(lái)和I/O設(shè)備相連;用來(lái)和系統(tǒng)總線(xiàn)相連,這部分接口電路結(jié)構(gòu)類(lèi)似,連在同一總線(xiàn)上。下圖是一個(gè)典型的I/O接口和外部電路的連接圖:聯(lián)絡(luò)信號(hào):讀/寫(xiě)信號(hào),以便決定數(shù)據(jù)傳輸方向。地址譯碼器,片選信號(hào):地址譯碼器除了接收地址信號(hào)外,還用來(lái)區(qū)分I/0地址空間和內(nèi)存地址空間的信號(hào)(M/)用于譯碼過(guò)程。注:一個(gè)接口通常有若干個(gè)寄存器可讀/寫(xiě),一
6、般用1-2位低位地址結(jié)合讀/寫(xiě)信號(hào)來(lái)實(shí)現(xiàn)對(duì)接口內(nèi)部寄存器的尋址。4輸入輸出的尋址方式CPU對(duì)外設(shè)的尋址方式通常有兩種:(1) 存儲(chǔ)器對(duì)應(yīng)輸入輸出方式每一個(gè)外設(shè)端口占有存儲(chǔ)器的一個(gè)地址。優(yōu)點(diǎn):CPU對(duì)外設(shè)的操作可使用全部的存儲(chǔ)器操作指令,尋址方式多,使用方便靈活,且可尋址的外設(shè)數(shù)量多。缺點(diǎn):由于外設(shè)占用了存儲(chǔ)單元的地址,使內(nèi)存的容量減小,同時(shí),程序的可讀性下降。(2) 端口尋址的輸入輸出方式CPU有專(zhuān)門(mén)的輸入輸出指令( IN, OUT),通過(guò)這些指令中的地址來(lái)區(qū)分不同的外設(shè)。優(yōu)點(diǎn):容易掌握,編出的程序可讀性好。缺點(diǎn):可尋址的范圍較小,還必須有相應(yīng)的控制線(xiàn)(M/)來(lái)區(qū)分是尋址內(nèi)存還是外設(shè)。7.2
7、可編程并行接口芯片8255A一并行通信與接口并行通信就是把一個(gè)字符的各位同時(shí)用幾根線(xiàn)進(jìn)行傳輸。傳輸速度快,信息率高。電纜要多,隨著傳輸距離的增加,電纜的開(kāi)銷(xiāo)會(huì)成為突出的問(wèn)題,所以,并行通信用在傳輸速率要求較高,而傳輸距離較短的場(chǎng)合。Intel 8255A是一個(gè)通用的可編程的并行接口芯片,它有三個(gè)并行I/O口,又可通過(guò)編程設(shè)置多種工作方式,價(jià)格低廉,使用方便,可以直接與Intel系列的芯片連接使用,在中小系統(tǒng)中有著廣泛的應(yīng)用。二8255A的編程結(jié)構(gòu)8255A由以下幾部分組成:見(jiàn)圖7-31三個(gè)數(shù)據(jù)端口A,B,C 這三個(gè)端口均可看作是I/O口,但它們的結(jié)構(gòu)和功能也稍有不同。A口:是一個(gè)獨(dú)立的8位I/
8、O口,它的內(nèi)部有對(duì)數(shù)據(jù)輸入/輸出的鎖存功能。B口:也是一個(gè)獨(dú)立的8位I/O口,僅對(duì)輸出數(shù)據(jù)的鎖存功能。C口:可以看作是一個(gè)獨(dú)立的8位I/O口;也可以看作是兩個(gè)獨(dú)立的4位I/O口。也是僅對(duì)輸出數(shù)據(jù)進(jìn)行鎖存。2A組和B組的控制電路這是兩組根據(jù)CPU命令控制8255A工作方式的電路,這些控制電路內(nèi)部設(shè)有控制寄存器,可以根據(jù)CPU送來(lái)的編程命令來(lái)控制8255A的工作方式,也可以根據(jù)編程命令來(lái)對(duì)C口的指定位進(jìn)行置/復(fù)位的操作。A組控制電路用來(lái)控制A口及C口的高4位;B組控制電路用來(lái)控制B口及C口的低4位。 圖7-3 8255A的編程結(jié)構(gòu)2A組和B組的控制電路這是兩組根據(jù)CPU命令控制8255A工作方式的
9、電路,這些控制電路內(nèi)部設(shè)有控制寄存器,可以根據(jù)CPU送來(lái)的編程命令來(lái)控制8255A的工作方式,也可以根據(jù)編程命令來(lái)對(duì)C口的指定位進(jìn)行置/復(fù)位的操作。A組控制電路用來(lái)控制A口及C口的高4位;B組控制電路用來(lái)控制B口及C口的低4位。3數(shù)據(jù)總線(xiàn)緩沖器8位的雙向的三態(tài)緩沖器。作為8255A與系統(tǒng)總線(xiàn)連接的界面,輸入/輸出的數(shù)據(jù),CPU的編程命令以及外設(shè)通過(guò)8255A傳送的工作狀態(tài)等信息,都是通過(guò)它來(lái)傳輸?shù)摹?讀/寫(xiě)控制邏輯讀/寫(xiě)控制邏輯電路負(fù)責(zé)管理8255A的數(shù)據(jù)傳輸過(guò)程。它接收片選信號(hào)及系統(tǒng)讀信號(hào)、寫(xiě)信號(hào)、復(fù)位信號(hào)RESET,還有來(lái)自系統(tǒng)地址總線(xiàn)的口地址選擇信號(hào)A0和A1。習(xí)題與思考:1接口電路的主
10、要作用是什么?它的基本結(jié)構(gòu)如何?2說(shuō)明接口電路中控制寄存器與狀態(tài)寄存器的功能,通常它們可共用一個(gè)端口地址碼,為什么?3CPU尋址外設(shè)端口的方式通常有哪兩種?試說(shuō)明它們的優(yōu)缺點(diǎn)。4在CPU與外部設(shè)備接口電路的連接中,通過(guò)數(shù)據(jù)總線(xiàn)可傳輸哪幾種信息?在這里地址譯碼器起什么作用?第二講: 7.2 可編程并行接口芯片8255A回顧:接口與系統(tǒng)的連接, 并行通信與接口,8255A的編程結(jié)構(gòu)。本講重點(diǎn):8255A的工作方式,8255A的編程及應(yīng)用。講授內(nèi)容:三8255A的引腳功能引腳信號(hào)可以分為兩組:一組是面向CPU的信號(hào),一組是面向外設(shè)的信號(hào)。1面向CPU的引腳信號(hào)及功能D0-D7:8位,雙向,三態(tài)數(shù)據(jù)線(xiàn)
11、,用來(lái)與系統(tǒng)數(shù)據(jù)總線(xiàn)相連;RESET:復(fù)位信號(hào),高電平有效,輸入,用來(lái)清除8255A的內(nèi)部寄存器,并置A口,B口,C口均為輸入方式;:片選,輸入,用來(lái)決定芯片是否被選中;:讀信號(hào),輸入,控制8255A將數(shù)據(jù)或狀態(tài)信息送給CPU;:寫(xiě)信號(hào),輸入,控制CPU將數(shù)據(jù)或控制信息送到8255A;A1,AO:內(nèi)部口地址的選擇,輸入。這兩個(gè)引腳上的信號(hào)組合決定對(duì)8255A內(nèi)部的哪一個(gè)口或寄存器進(jìn)行操作。8255A內(nèi)部共有4個(gè)端口:A口,B口,C口和控制口,兩個(gè)引腳的信號(hào)組合選中端口見(jiàn)下表。,A1,A0這幾個(gè)信號(hào)的組合決定了8255A的所有具體操作, 表7-1 8255A的操作功能表 A1 A0操 作數(shù) 據(jù)
12、傳 送 方 式 0 0 1 0 0讀 A 口A口數(shù)據(jù) 數(shù)據(jù)總線(xiàn) 0 0 1 0 1讀 B 口B口數(shù)據(jù) 數(shù)據(jù)總線(xiàn) 0 0 1 1 0讀 C 口C口數(shù)據(jù) 數(shù)據(jù)總線(xiàn) 0 1 0 0 0寫(xiě) A 口數(shù)據(jù)總線(xiàn)數(shù)據(jù) A口 0 1 0 0 1寫(xiě) B 口數(shù)據(jù)總線(xiàn)數(shù)據(jù) B口 0 1 0 1 0寫(xiě) C 口數(shù)據(jù)總線(xiàn)數(shù)據(jù) C口 0 1 0 1 1寫(xiě)控制口數(shù)據(jù)總線(xiàn)數(shù)據(jù) 控制口2面向外設(shè)的引腳信號(hào)及功能 PA0PA7:A組數(shù)據(jù)信號(hào),用來(lái)連接外設(shè); PB0PB7:B組數(shù)據(jù)信號(hào),用來(lái)連接外設(shè); PC0PC7:C組數(shù)據(jù)信號(hào),用來(lái)連接外設(shè)或者作為控制信號(hào)。四8255A的工作方式8255A有三種工作方式,用戶(hù)可以通過(guò)編程來(lái)設(shè)置。方式
13、0簡(jiǎn)單輸入/輸出查詢(xún)方式;A,B,C三個(gè)端口均可。方式1選通輸入/輸出中斷方式;A ,B,兩個(gè)端口均可。方式2雙向輸入/輸出中斷方式。只有A端口才有。工作方式的選擇可通過(guò)向控制端口寫(xiě)入控制字來(lái)實(shí)現(xiàn)。 在不同的工作方式下,8255A三個(gè)輸入/輸出端口的排列示意圖如圖7-4所示。1方式0:為一種簡(jiǎn)單的輸入/輸出方式,沒(méi)有規(guī)定固定的應(yīng)答聯(lián)絡(luò)信號(hào),可用A,B,C三個(gè)口的任一位充當(dāng)查詢(xún)信號(hào),其余I/O口仍可作為獨(dú)立的端口和外設(shè)相連。方式0的應(yīng)用場(chǎng)合有兩種:一種是同步傳送;一種是查詢(xún)傳送。2方式1 方式1是一種選通I/O方式,A口和B口仍作為兩個(gè)獨(dú)立的8位I/O數(shù)據(jù)通道,可單獨(dú)連接外設(shè),通過(guò)編程分別設(shè)置它
14、們?yōu)檩斎牖蜉敵觥6鳦口則要有6位(分成兩個(gè)3位)分別作為A口和B口的應(yīng)答聯(lián)絡(luò)線(xiàn),其余2位仍可工作在方式0,可通過(guò)編程設(shè)置為輸入或輸出。 (1) 方式1的輸入組態(tài)和應(yīng)答信號(hào)的功能 圖7-5給出了8255A的A口和B口方式1的輸入組態(tài)。 圖7-5 方式1輸入組態(tài)C口的PC3-PC5用作A口的應(yīng)答聯(lián)絡(luò)線(xiàn), PC0-PC2則作用B口的應(yīng)答聯(lián)絡(luò)線(xiàn),余下的PC6PC7則可作為方式0使用。應(yīng)答聯(lián)絡(luò)線(xiàn)的功能如下:選通輸入。用來(lái)將外設(shè)輸入的數(shù)據(jù)打入8255A的輸入緩沖器。IBF:輸入緩沖器滿(mǎn)。作為STB的回答信號(hào),。INTR:中斷請(qǐng)求信號(hào)。INTR置位的條件是STB為高且IBF為高且INTE為高。INTE:中斷
15、允許。對(duì)A口來(lái)講,是由PC4置位來(lái)實(shí)現(xiàn),對(duì)B口來(lái)講,則是由PC0置位來(lái)實(shí)現(xiàn)。事先將其置位。 A口B口: PC4PC2IBF: PC5PC1INTR: PC3PC0 INTE: PC4置1 PC2置1(2) 方式1的輸出組態(tài)和應(yīng)答信號(hào)功能 圖7-7 方式1的輸出組態(tài)C口的PC3、PC6、PC7用作A口的應(yīng)答聯(lián)絡(luò)線(xiàn), PC0-PC2則作用B口的應(yīng)答聯(lián)絡(luò)線(xiàn),余下的PC4PC5則可作為方式0使用。應(yīng)答聯(lián)絡(luò)線(xiàn)的功能如下:輸出緩沖器滿(mǎn)。當(dāng)CPU已將要輸出的數(shù)據(jù)送入8255A時(shí)有效,用來(lái)通知外設(shè)可以從8255A取數(shù)。:響應(yīng)信號(hào)。作為對(duì)的響應(yīng)信號(hào),表示外設(shè)已將數(shù)據(jù)從8255A的輸出緩沖器中取走。INTR:中斷
16、請(qǐng)求信號(hào)。INTR置位的條件是ACK為高且OBF為高且INTE為高。INTE:中斷允許。對(duì)A口來(lái)講,由PC6的置位來(lái)實(shí)現(xiàn),對(duì)B口仍是由PC2的置位來(lái)實(shí)現(xiàn)。 A口B口:PC6PC2:PC7PC1INTR:PC3PC0 INTE:PC6置1PC2置13方式2方式2為雙向選通I/O方式,只有A口才有此方式。這時(shí),C口有5根線(xiàn)用作A口的應(yīng)答聯(lián)絡(luò)信號(hào),其余3根線(xiàn)可用作方式0,也可用作B口方式1的應(yīng)答聯(lián)絡(luò)線(xiàn)。方式2:就是方式1的輸入與輸出方式的組合,各應(yīng)答信號(hào)的功能也相同。而C口余下的PC0PC2正好可以充當(dāng)B 口方式1的應(yīng)答線(xiàn),若B口不用或工作于方式0,則這三條線(xiàn)也可工作于方式0。(1) 方式2的組態(tài)
17、:PC4IBF:PC5:PC6:PC7INTR:PC3(2) 方式2的應(yīng)用場(chǎng)合方式2是一種雙向工作方式,如果一個(gè)并行外部設(shè)備既可以作為輸入設(shè)備,又可以作為輸出設(shè)備,并且輸入輸出動(dòng)作不會(huì)同時(shí)進(jìn)行。(3) 方式2和其它方式的組合(見(jiàn)書(shū)中183頁(yè)) 方式2和方式0輸入的組合: 控制字:11XXX01T 方式2和方式0輸出的組合:控制字:11XXX00T 方式2和方式1輸入的組合:控制字:11XXX11X 方式2和方式1輸出的組合:控制字:11XXX10X 其中X表示與其取值無(wú)關(guān),而T表示視情況可取1或0。五8255A的編程及應(yīng)用18255A的編程對(duì)8255A的編程涉及到兩個(gè)內(nèi)容:寫(xiě)控制字設(shè)置工作方式
18、等信息,使C口的指定位置位/復(fù)位的功能。注:均寫(xiě)入控制端口(1) 控制字格式控制字要寫(xiě)入8255A的控制口,寫(xiě)入控制字之后,8255A才能按指定的工作方式工作。8255A的控制字格式與各位的功能如圖7-11所示。D7D6D5D4D3D2D1D0 =1 控制字標(biāo)志 C口低4位 A組工作方式 1 - 輸入 00 - 方式0 A口控制 0 - 輸出 01 - 方式1 1 - 輸入 B口控制 1x - 方式2 0 - 輸出 1 - 輸入 C口高4位控制 B組工作方式 0 - 輸出 1 - 輸入 0 - 方式0 0 - 輸出 1 - 方式1 圖7-11 8255A的控制字格式例1 某系統(tǒng)要求使用8255
19、A的A口方式0輸入,B口方式0輸出,C口高4位方式0輸出,C口低4位方式0輸入。 則控制字為: 10010001 即91H 初始化程序?yàn)椋?MOV AL, 91H OUT CTRL_PORT,AL(2) C口的置位/復(fù)位功能只有C口才有,它是通過(guò)向控制口寫(xiě)入按指定位置位/復(fù)位的控制字來(lái)實(shí)現(xiàn)的。C口的這個(gè)功能可用于設(shè)置方式1的中斷允許,可以設(shè)置外設(shè)的啟/停等。 按位置位/復(fù)位的控制字格式如圖7-12所示。D7D6D5D4D3D2D1D0 =0 控制字標(biāo)志 1 - 置位 無(wú)意義 置位/復(fù)位引腳編碼 0 - 復(fù)位 000 - PC0 001 - PC1 . 111 - PC7 圖7-12 位置位/復(fù)
20、位控制字格式例如在書(shū)中例2,A口方式2 要求發(fā)兩個(gè)中斷允許,即PC4和PC6均需置位。B口方式1要求使PC2置位來(lái)開(kāi)放中斷。初始化程序可補(bǔ)充完整如下。 MOV AL,0C4H OUT CTRL_PORT,AL;設(shè)置工作方式 MOV AL,09H OUT CTRL_PORT,AL;PC4置位,A口輸入允許中斷 MOV AL,ODH OUT CTRL_PORT,AL;PC6置位,A口輸出允許中斷 MOV AL, 05H OUT CTRL_PORT,AL;PC2置位;B口輸出允許中斷2接口應(yīng)用舉例例3 利用8255A的A口方式0與微型打印機(jī)相連,將內(nèi)存緩沖區(qū)BUFF中的字符打印輸出。試完成相應(yīng)的軟硬
21、件設(shè)計(jì)。(CPU為8088)首先我們分析一下打印機(jī)的工作。微型打印機(jī)和主機(jī)之間的接口采用并行接口。圖7-13 打印機(jī)數(shù)據(jù)傳輸時(shí)序表7-2 Centronics標(biāo)準(zhǔn)引腳信號(hào)引腳 名 稱(chēng)方向 功 能1STROBE入數(shù)據(jù)選通,有效時(shí)接收數(shù)據(jù)2-9DATA1-DATA8入數(shù)據(jù)線(xiàn)10ACKNLG出響應(yīng)信號(hào),有效時(shí)準(zhǔn)備接收數(shù)據(jù)11BUSY出忙信號(hào),有效時(shí)不能接收數(shù)據(jù)12PE出紙用完13SLCT出選擇聯(lián)機(jī),指出打印機(jī)不能工作14AUTOLF入自動(dòng)換行31INIT入打印機(jī)復(fù)位32ERROR出出錯(cuò)36SLCTIN入有效時(shí)打印機(jī)不能工作它的工作流程是:主機(jī)將要打印的數(shù)據(jù)送上數(shù)據(jù)線(xiàn),然后發(fā)選通信號(hào)。打印機(jī)將數(shù)據(jù)讀入
22、,同時(shí)使BUSY線(xiàn)為高,通知主機(jī)停止送數(shù)。這時(shí),打印機(jī)內(nèi)部對(duì)讀入的數(shù)據(jù)進(jìn)行處理。處理完以后使ACK有效,同時(shí)使BUSY失效,通知主機(jī)可以發(fā)下一個(gè)數(shù)據(jù)。硬件連線(xiàn)如下圖:說(shuō)明:由PC0充當(dāng)打印機(jī)的選通信號(hào),通過(guò)對(duì)PC0的置位/復(fù)位來(lái)產(chǎn)生選通。同時(shí),由PC7來(lái)接收打印機(jī)發(fā)出的“BUSY”信號(hào)作為能否輸出的查詢(xún)。8255A的控制字為:10001000 即88H A口方式0,輸出;C口高位方式0輸入,低位方式0輸出PC0置位: 00000001 即 01HPC0復(fù)位: 00000000 即 00H 8255A的4個(gè)口地址分別為:00H,01H,02H,03H。編制程序如下:DADA SEGMENTBUF
23、F DB This is a print program!,$DATA ENDSCODE SEGMENT ASSUME CS:CODE, DS:DATASTART:MOV AX, DATA MOV DS, AX MOV SI,OFFSET BUFF MOV AL, 88H ;8255A初始化,A口方式0,輸出 OUT 03H, AL ; C口高位方式0輸入,低位方式0輸出 MOV AL, 01H; OUT 03H,AL ;使PC0置位,即使選通無(wú)效WAIT: IN AL, 02H TEST AL, 80H ;檢測(cè)PC7是否為1即是否忙 JNZ WAIT ; 為忙則等待 MOV AL,SI CM
24、P AL,$ ;是否結(jié)束符 JZ DONE ; 是則輸出回車(chē) OUT 00H,AL ;不是結(jié)束符,則從A口輸出 MOV AL,00H OUT 03H, AL MOV AL, 01H OUT 03H,AL ;產(chǎn)生選通信號(hào) INC SI ;修改指針,指向下一個(gè)字符 JMP WAITDONE: MOV AL,0DH OUT 00H,AL ;輸出回車(chē)符 MOV AL, 00H OUT 03H,AL MOV AL, 01H OUT 03H,AL ;產(chǎn)生選通WAIT1: IN AL, 02H TEST AL, 80H ;檢測(cè)PC7是否為1即是否忙 JNZ WAIT 1 ; 為忙則等待 MOV AL,0AH
25、 OUT 00H,AL ;輸出換行符 MOV AL, 00H OUT 03H,AL MOV AL, 01H OUT 03H,AL ;產(chǎn)生選通 MOV AH,4CH INT 21H CODE ENDSEND START例4 將上例中8255A的工作方式改為方式1,采用中斷方式將BUFF開(kāi)始的緩沖區(qū)中的100個(gè)字符從打印機(jī)輸出。(假設(shè)打印機(jī)接口仍采用Centronics標(biāo)準(zhǔn))分析:仍用PC0作為打印機(jī)的選通,打印機(jī)的作為8255A的A口,8255A的中斷請(qǐng)求信號(hào)(PC3)接至系統(tǒng)中斷控制器8259A的IR3,其它硬件連線(xiàn)同上例,如圖7-15所示。圖7-15 中斷方式硬件連線(xiàn)8255A的控制字為:1
26、010XXX0 PC0置位: 00000001 即 01HPC0復(fù)位: 00000000 即 00HPC6置位: 00001101 即 0DH ,允許8255A的A口輸出中斷由硬件連線(xiàn)可以分析出,8255A的4個(gè)口地址分別為:00H,01H,02H,03H。假設(shè)8259A初始化時(shí)送ICW2為08H,則8255A A口的中斷類(lèi)型碼是0BH,此中斷類(lèi)型碼對(duì)應(yīng)的中斷向量應(yīng)放到中斷向量表從2CH開(kāi)始的4個(gè)單元中。主程序: MAIN: MOV AL,0A0H OUT 03H,AL ;設(shè)置8255A的控制字 MOV AL,01H ;使選通無(wú)效 OUT 03H,AL XOR AX,AX MOV DS,AX MOV AX,OFFSET ROUTINTR MOV WORD PTR 002CH,AX MOV AX,SEG ROUTINTR MOV WORD PTR 002EH,AX ;送中斷向量 MOV AL,0DH OUT 03H,AL
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025廣西百色市西林縣民政局招聘編外聘用人員(補(bǔ)招聘)1人備考考試題庫(kù)附答案解析
- 安全生產(chǎn)審批工作制度
- 2026泰安寧陽(yáng)縣事業(yè)單位初級(jí)綜合類(lèi)崗位公開(kāi)招聘工作人員(19人)備考考試題庫(kù)附答案解析
- 2026中交新疆交通投資發(fā)展有限公司運(yùn)營(yíng)人員招聘27人備考考試題庫(kù)附答案解析
- 鐵路企業(yè)安全生產(chǎn)制度
- 農(nóng)業(yè)生產(chǎn)核心制度
- 天然氣安全生產(chǎn)檢查制度
- 發(fā)電廠生產(chǎn)安全管理制度
- 校園生產(chǎn)安全管理制度
- 沖壓安全生產(chǎn)獎(jiǎng)罰制度
- 安全監(jiān)理生產(chǎn)責(zé)任制度
- 2026年云南保山電力股份有限公司校園招聘(50人)考試參考試題及答案解析
- 2026年云南保山電力股份有限公司校園招聘(50人)筆試備考題庫(kù)及答案解析
- 中央中國(guó)熱帶農(nóng)業(yè)科學(xué)院院屬單位2025年第一批招聘筆試歷年參考題庫(kù)附帶答案詳解
- 研發(fā)費(fèi)用加計(jì)扣除審計(jì)服務(wù)協(xié)議
- 2025年二年級(jí)上冊(cè)語(yǔ)文期末專(zhuān)項(xiàng)復(fù)習(xí)-按課文內(nèi)容填空默寫(xiě)表(含答案)
- 2026年遼寧經(jīng)濟(jì)職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)傾向性考試題庫(kù)及參考答案詳解1套
- 建筑施工公司成本管理制度(3篇)
- 2025年婦產(chǎn)科副高試題庫(kù)及答案
- 全國(guó)物業(yè)管理法律法規(guī)及案例解析
- 2025年度黨委黨建工作總結(jié)
評(píng)論
0/150
提交評(píng)論