版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、6.1 并行接口和串行接口 6.2 可編程并行接口芯片8255A6.3 可編程串行接口芯片8251第第6章章 可編程并行接口芯片和串行接口芯片可編程并行接口芯片和串行接口芯片重慶工學(xué)院教學(xué)內(nèi)容教學(xué)內(nèi)容(6學(xué)時(shí))學(xué)時(shí))可編程接口芯片概述可編程接口芯片概述8255A芯片的原理芯片的原理8255A芯片的應(yīng)用實(shí)例芯片的應(yīng)用實(shí)例教學(xué)目標(biāo)教學(xué)目標(biāo) 理解常用可編程通信接口芯片的作用理解常用可編程通信接口芯片的作用 了解了解8255A芯片的原理芯片的原理 掌握掌握8255A初始化方法初始化方法 掌握掌握8255A作為作為L(zhǎng)ED顯示器、開(kāi)關(guān)、打印機(jī)等接口時(shí)的硬件連接方法顯示器、開(kāi)關(guān)、打印機(jī)等接口時(shí)的硬件連接方法
2、 和控制程序設(shè)計(jì)和控制程序設(shè)計(jì)教學(xué)重點(diǎn)及難點(diǎn)教學(xué)重點(diǎn)及難點(diǎn)常用可編程通信接口芯片的作用常用可編程通信接口芯片的作用8255A方式方式1的工作原理及時(shí)序(難點(diǎn))的工作原理及時(shí)序(難點(diǎn))8255A作為接口時(shí)控制程序設(shè)計(jì)方法(重點(diǎn))作為接口時(shí)控制程序設(shè)計(jì)方法(重點(diǎn))重慶工學(xué)院v6.1 并行接口和串行接口v6.1.1 可編程接口芯片概述接口電路中的單元v(1)輸入輸出數(shù)據(jù)鎖存器和緩沖器,用以解決CPU與外設(shè)之間速度不匹配的矛盾,以及起隔離和緩沖的作用;v(2)控制命令和狀態(tài)寄存器,以存放CPU對(duì)外設(shè)的控制命令,以及外設(shè)的狀態(tài)信息;v(3)地址譯碼器,用來(lái)選擇接口電路中的不同端口(寄存器);v(4)讀寫(xiě)
3、控制邏輯;v(5)中斷控制邏輯。重慶工學(xué)院v接口中的一些公用引腳作用及其連接方法接口中的一些公用引腳作用及其連接方法 1.片選概念片選概念 CS 或或CE 2. 讀讀/寫(xiě)概念寫(xiě)概念 DB線,線,M/IO線線 ,RD線線 ,WR線線 ,CE/CS線線 3.可編程接口的概念可編程接口的概念 目前所用的接口芯片大部分是多通道、多功能的:目前所用的接口芯片大部分是多通道、多功能的:v所謂所謂多通道多通道就是指一個(gè)接口芯片一面與就是指一個(gè)接口芯片一面與CPU連接,連接, 另一面可另一面可接幾個(gè)外設(shè);接幾個(gè)外設(shè);v所謂所謂多功能多功能是指一個(gè)接口芯片能實(shí)現(xiàn)多種接口功能,實(shí)現(xiàn)不是指一個(gè)接口芯片能實(shí)現(xiàn)多種接口
4、功能,實(shí)現(xiàn)不同的電路工作狀態(tài)。同的電路工作狀態(tài)。重慶工學(xué)院 4. “聯(lián)絡(luò)聯(lián)絡(luò)”的概念的概念(了解)(了解) STB: 選通信號(hào);選通信號(hào); RDY: 就緒信號(hào)(就緒信號(hào)(Ready) 1) 以以輸入接口輸入接口為例:為例: RDY=“H”表示接口芯片中輸入表示接口芯片中輸入 寄寄存器已存器已 空空,可接受外設(shè)信息以實(shí)現(xiàn)外設(shè)可接受外設(shè)信息以實(shí)現(xiàn)外設(shè)與接口的輸入操作。與接口的輸入操作。 STB=“L”表示接口選通,是外設(shè)向表示接口選通,是外設(shè)向接口發(fā)出的。接口發(fā)出的。過(guò)程:過(guò)程:1)外設(shè)把數(shù)據(jù)送上接口芯片端口后,用)外設(shè)把數(shù)據(jù)送上接口芯片端口后,用STB信號(hào)有效打人接口芯片信號(hào)有效打人接口芯片輸入
5、寄存器;輸入寄存器; 2)在)在STB的后沿,把的后沿,把RDY信號(hào)拉信號(hào)拉 為為“L”,表明輸入寄存器已有數(shù),表明輸入寄存器已有數(shù)據(jù)。據(jù)。RDY=“L”正是接口與外設(shè)的通信標(biāo)志,外設(shè)正是接口與外設(shè)的通信標(biāo)志,外設(shè) 接收接收RDY=”L”后,暫后,暫不送數(shù)據(jù);不送數(shù)據(jù); 3)CPU發(fā)出讀數(shù)指令,讀人該數(shù)據(jù),并使發(fā)出讀數(shù)指令,讀人該數(shù)據(jù),并使RDY置置 “H”。然后,又。然后,又開(kāi)始新一輪的輸入操作在輸入接口中,開(kāi)始新一輪的輸入操作在輸入接口中, RDY信號(hào)有時(shí)用信號(hào)有時(shí)用IBF(輸入緩沖器滿輸入緩沖器滿)表示。表示。重慶工學(xué)院v輸出過(guò)程:輸出過(guò)程:v RDY=“H”,表示接口寄存器已有數(shù)據(jù),通
6、知外設(shè)來(lái)取數(shù)表示接口寄存器已有數(shù)據(jù),通知外設(shè)來(lái)取數(shù);v STB=“L”,表示端口數(shù)據(jù)已為外設(shè)接收,且已處理,表示端口數(shù)據(jù)已為外設(shè)接收,且已處理,CPU可送新數(shù)據(jù)到接口可送新數(shù)據(jù)到接口 寄存器,寄存器,STB的后沿使的后沿使RDY變?yōu)樽優(yōu)椤癓”。在輸出接口中,在輸出接口中,RDY信號(hào)有時(shí)用信號(hào)有時(shí)用OBF(輸出輸出 緩沖器滿緩沖器滿)表示,表示,STB信號(hào)有時(shí)用信號(hào)有時(shí)用ACK(響應(yīng)響應(yīng))表示。表示。接口芯片的引腳接口芯片的引腳重慶工學(xué)院6.1.2 并行接口、串行接口和模擬接口v數(shù)據(jù)信息分:數(shù)字量、模擬量和開(kāi)關(guān)量;v數(shù)字接口(數(shù)字量和開(kāi)關(guān)量);v模擬接口(模擬量);v數(shù)字接口分并行接口和串行接口
7、;v接口芯片與CPU之間傳送的總是并行數(shù)字量;v串行接口內(nèi)必須含并-串/串-并轉(zhuǎn)換部件;v模擬接口內(nèi)必須含A/D或D/A轉(zhuǎn)換器重慶工學(xué)院6.2 可編程并行接口芯片可編程并行接口芯片8255Av6.2.1 8255A的結(jié)構(gòu)和引腳功能重慶工學(xué)院v1數(shù)據(jù)總線緩沖器這是一個(gè)三態(tài)雙向8位緩沖器,它是8255A與系統(tǒng)數(shù)據(jù)總線的接口。v 2三個(gè)三個(gè)8位端口位端口PA、PB和和PC(數(shù)據(jù)端口個(gè)數(shù))數(shù)據(jù)端口個(gè)數(shù)) PA、PB和PC端口都可由程序設(shè)定為各種不同的工作方式。 端口A(PA口)有一個(gè)8位數(shù)據(jù)輸入鎖存器和一個(gè)8位數(shù)據(jù)輸出鎖存緩沖器; 端口B(PB口)有一個(gè)8位數(shù)據(jù)輸入緩沖器和一個(gè)8位數(shù)據(jù)輸入輸出、鎖存緩
8、沖器; 端口C(PC口)有一個(gè)8位數(shù)據(jù)輸入緩沖器和一個(gè)8位數(shù)據(jù)輸出鎖存緩沖器。 通常PA口與PB口用作輸入輸出的數(shù)據(jù)端口,PC口用作控制或狀態(tài)信息的端口。一、一、8255A的內(nèi)部結(jié)構(gòu)的內(nèi)部結(jié)構(gòu)重慶工學(xué)院v 3A組和組和B組的控制電路(了解)組的控制電路(了解) 這兩組控制電路根據(jù)CPU發(fā)出的方式選擇控制字來(lái)控制8255A的工作方式,每個(gè)控制組都接收來(lái)自讀寫(xiě)控制邏輯的“命令”,接收來(lái)自內(nèi)部數(shù)據(jù)總線的 “控制字”,并向與其相連的端口發(fā)出適當(dāng)?shù)目刂菩盘?hào)。 A組控制部件用來(lái)控制PA口和PC口的高4位(PC7PC4); B組控制部件用來(lái)控制PB口和PC口的低4位(PC3PCo)。4讀寫(xiě)控制邏輯讀寫(xiě)控制邏
9、輯 用來(lái)管理數(shù)據(jù)信息、控制字和狀態(tài)字的傳送,它接收來(lái)自CPU地址總線的 A1、A0和控制總線的有關(guān)信號(hào)(RD、WR、RESET等),向8255A的A、B兩組控制部件發(fā)送命令。重慶工學(xué)院二、8255A的引腳功能。CS 選片信號(hào),低電平有效,由它啟動(dòng)CPU與8255A之間的通信(Communication)。vRD 讀信號(hào),低電平有效。它控制8255A送出數(shù)據(jù)或狀態(tài)信息至CPU。vWR 寫(xiě)信號(hào),低電平有效。它控制把CPU輸出的數(shù)據(jù)或命令信號(hào)寫(xiě)到8255A。vRESET復(fù)位信號(hào),高電平有效,它清除控制寄存器并置所有端口(A、B、C)為輸入方式。vA1,A0:片內(nèi)寄存器選擇信號(hào)(輸入) A1A0=00
10、: 選中選中PA口口; A1A0=01: 選中選中PB口口; A1A0=10: 選中選中PC口口; A1A0=11: 選中控制端口選中控制端口;vD7D0:與CPU側(cè)連接的數(shù)據(jù)線(雙向) vPA7PA0:A口外設(shè)數(shù)據(jù)線(雙向)vPB7PB0:B口外設(shè)數(shù)據(jù)線(雙向)vPC7PC0:C口外設(shè)數(shù)據(jù)線(雙向)重慶工學(xué)院A1A0RDWRCS輸入操作(讀)輸入操作(讀)001010000111000端口A數(shù)據(jù)總線端口B數(shù)據(jù)總線端口C數(shù)據(jù)總線輸出操作(寫(xiě))輸出操作(寫(xiě))00110101111100000000數(shù)據(jù)總線端口A數(shù)據(jù)總線端口B數(shù)據(jù)總線端口C數(shù)據(jù)總線控制寄存器斷開(kāi)功能(禁止)斷開(kāi)功能(禁止)X1XX
11、11X01X11100數(shù)據(jù)總線為三態(tài)(高阻)非法狀態(tài)數(shù)據(jù)總線為三態(tài)(高阻)表表 8 81 8255A1 8255A端口功能選擇端口功能選擇重慶工學(xué)院6.2.2 8255A的工作方式 一、方式0基本輸入輸出 方式0下,每一個(gè)口都作為基本的輸入輸出口 8255A在方式0工作時(shí) 1.CPU可以采用無(wú)條件讀寫(xiě)方式無(wú)條件讀寫(xiě)方式與8255A交換數(shù)據(jù); 2. 把C口的兩個(gè)部分用作控制和狀態(tài)口,與外設(shè)的控制和狀態(tài)端相 連,CPU可以通過(guò)對(duì)C口的讀寫(xiě),實(shí)現(xiàn)A口與B口的查詢方式查詢方式工作; 3.方式0中,不允許采用中斷方式不允許采用中斷方式工作。重慶工學(xué)院二、方式1選通輸入輸出(應(yīng)答式輸入輸出)(了解) 方式
12、1下將三個(gè)端口分成A、B兩組,A、B兩個(gè)口仍作為數(shù)據(jù)輸入輸出口,而C口分成兩部分,分別作為A口和B口的聯(lián)絡(luò)信號(hào)。1.方式方式1的輸入的輸入重慶工學(xué)院(1)STB:輸入的選通信號(hào) 低電平有效。由外設(shè)提供,為低電平時(shí),就把輸 入的數(shù)據(jù)信號(hào)(PA7-PA0或PB7-PB0)送入A端口(或B端口)的數(shù)據(jù)鎖存器。(2)IBF:輸入緩沖器滿信號(hào), 高電平有效。由8255A輸出,有效時(shí),用以通 知外部設(shè)備輸入的數(shù)據(jù)已寫(xiě)入緩沖器。(3)INTR:中斷請(qǐng)求信號(hào) 高電平有效。當(dāng)外部設(shè)備要向CPU傳送數(shù)據(jù)或請(qǐng)求服務(wù)時(shí),8255A就用INTR端的高電平向CPU提出中斷請(qǐng)求。當(dāng)STB、IBF和 INTE都為高電平時(shí),表
13、明數(shù)據(jù)鎖存器內(nèi)已寫(xiě)入了數(shù)據(jù)使INTR成為高電平輸 出。(4)INTE:中斷允許信號(hào) A端口用PC4位的置位復(fù)位控制,B端口用PC2位的置位復(fù)位控制。只有當(dāng)PC4或PC2置1時(shí),才允許對(duì)應(yīng)的端口送出中斷請(qǐng)求。重慶工學(xué)院v方式方式1的輸入過(guò)程如下的輸入過(guò)程如下(A口口):1)當(dāng)外設(shè)準(zhǔn)備好數(shù)據(jù),在送出數(shù)據(jù)的同時(shí),送出一個(gè)選通信號(hào)STB。8255A的A口數(shù)據(jù)鎖存器在STB下降沿控制下將數(shù)據(jù)鎖存。2)8255A向外設(shè)送出高電平的IBF,表示鎖存數(shù)據(jù)已完成,暫時(shí)不要再送數(shù)據(jù)。如果PC41(INTE1),這時(shí)就會(huì)使INTR變成高電平輸出,向CPU發(fā)出中斷請(qǐng)求。3)CPU響應(yīng)中斷,執(zhí)行IN指令指令時(shí),RD信號(hào)
14、的下降沿清除中斷請(qǐng)求,而RD結(jié)束時(shí)的上升沿則使IBF復(fù)位到零。外設(shè)在檢測(cè)到IBF為零后,可以開(kāi)始輸入下一個(gè)字節(jié)。 2方式方式1的輸出的輸出 聯(lián)絡(luò)信號(hào)信號(hào)的作用如下: (1)OBF:輸出緩沖器滿信號(hào);低電平有效。由8255A輸出,當(dāng)其有效時(shí),表示CPU已經(jīng)將數(shù)據(jù)輸出到指定的端口,通知外設(shè)可以將數(shù)據(jù)取走。 (2)ACK:響應(yīng)信號(hào),低電平有效。由外設(shè)送來(lái),有效時(shí)表示8255A數(shù)據(jù)已經(jīng)為外設(shè)所接收。 重慶工學(xué)院(3) INTR:中斷請(qǐng)求信號(hào)高電平有效。當(dāng)外設(shè)接收了由CPU送給8255A的數(shù)據(jù)后,8255A就用INTR端向CPU發(fā)出中斷請(qǐng)求,請(qǐng)求CPU再輸出后面的數(shù)據(jù)。INTR是當(dāng)ACK,OBF和INT
15、E都為高電平時(shí),才能被置成高電平。(4) INTE:中斷允許信號(hào)。A口的INTE由PC6置復(fù)位,B口的INTE由PC2置復(fù)位。 PC4、PC5位可以由控制字的可以由控制字的D3,設(shè)置為輸入或輸出數(shù)據(jù)用。設(shè)置為輸入或輸出數(shù)據(jù)用。v方式方式1的輸出過(guò)程如下的輸出過(guò)程如下(A口口):1)微處理器發(fā))微處理器發(fā)WR信號(hào),將數(shù)據(jù)送入端口的輸出緩沖器,信號(hào),將數(shù)據(jù)送入端口的輸出緩沖器,WR上升沿一上升沿一方面清除方面清除INTR信號(hào),另一方面使信號(hào),另一方面使OBF有效,通知外設(shè)可以取數(shù);有效,通知外設(shè)可以取數(shù);2)外設(shè)取數(shù)后,發(fā))外設(shè)取數(shù)后,發(fā)ACK信號(hào),一方面使信號(hào),一方面使OBF無(wú)效(表示數(shù)已取走)
16、,無(wú)效(表示數(shù)已取走),另一方面使另一方面使INTR有效,開(kāi)始另一個(gè)新的輸出過(guò)程。有效,開(kāi)始另一個(gè)新的輸出過(guò)程。三、方式三、方式2雙向選通輸入輸出(了解)雙向選通輸入輸出(了解)v 通過(guò)通過(guò)8位數(shù)據(jù)線與外設(shè)進(jìn)行雙向通信的方式,既能發(fā)送,又能接收位數(shù)據(jù)線與外設(shè)進(jìn)行雙向通信的方式,既能發(fā)送,又能接收數(shù)據(jù)。工作時(shí)可以用中斷方式,也可以用查詢方式與數(shù)據(jù)。工作時(shí)可以用中斷方式,也可以用查詢方式與CPU聯(lián)系聯(lián)系。重慶工學(xué)院重慶工學(xué)院6.2.3 8255A 的初始化一、方式控制字重慶工學(xué)院二、C口按位置/復(fù)位(了解)重慶工學(xué)院v例:用程序?qū)c口的第七位置1,第3位置0。 設(shè)控制口地址為:0EBH MOV
17、AL, 00001111B ; 0FH OUT 0EBH,AL MOV AL, 00000110B ; 06H OUT 0EBH,AL重慶工學(xué)院6.2.4 8255A的應(yīng)用舉例的應(yīng)用舉例例例1:在一系統(tǒng)中,要求:在一系統(tǒng)中,要求8255A工作在方式工作在方式0。 現(xiàn)要求將從現(xiàn)要求將從A口讀取的數(shù)據(jù)口讀取的數(shù)據(jù) 1)求反后從求反后從B口輸出;口輸出; 2)將其絕對(duì)值從將其絕對(duì)值從C口輸出口輸出 0 Mov al, 90h Out 63h, al ;送控制字到控制字寄存器。送控制字到控制字寄存器。 Call delay1 In al, 60h ; 從從A口輸入數(shù)據(jù)口輸入數(shù)據(jù)1) Call dela
18、y2 NOT AL Out 61h, al ; 從從B口輸出數(shù)據(jù)口輸出數(shù)據(jù)2) Call delay3 CMP AL,0 JGE PLD NEG AL PLD: Out 62h, al ; 從從C口輸出數(shù)據(jù)口輸出數(shù)據(jù)60h63h1 0 0 1 0 0 0 0重慶工學(xué)院例例2:假定在一個(gè)系統(tǒng)中,要求:假定在一個(gè)系統(tǒng)中,要求8255工作在方式工作在方式1,端口,端口A為輸出,端口為輸出,端口B為輸入,為輸入,PC4PC5 為輸出,禁止端口為輸出,禁止端口B中斷中斷.要求:要求:1)對(duì)對(duì)8255A初始化;初始化;2) 在在PC4引腳上輸出負(fù)脈沖信號(hào)。引腳上輸出負(fù)脈沖信號(hào)。(了解)(了解)1)Mov
19、al, 10100111bMov dx, 43h ; 控制寄存器地址控制寄存器地址 Out dx, al ; 8255A初始化初始化Mov al, 0dh ; A口的口的INTE(PC6)置置1Out dx, al ; A口開(kāi)放中斷口開(kāi)放中斷Mov al, 04h ; B口的口的INTE(PC2)置)置0Out dx, al ; B口禁止中斷口禁止中斷40H43H2)MOV AL,00001001B3) OUT 43H,AL4) CALL DELAY5) MOV AL,00001000B OUT 43H,AL CALL DELAY MOV AL,00001001B OUT 43H,AL重慶工學(xué)
20、院例6-2 開(kāi)關(guān)接口D0-D7 PA0A0 PA1A1 PA2 PA3CS PA4 PA5 PA6RD PA7WR 8255AS0S1S2S3S4S5S6S75vv編程:編程:每隔每隔5分鐘從分鐘從PA口讀入口讀入8個(gè)開(kāi)關(guān)的狀態(tài)存入個(gè)開(kāi)關(guān)的狀態(tài)存入2000H:3000H開(kāi)始的數(shù)據(jù)區(qū),工作開(kāi)始的數(shù)據(jù)區(qū),工作10小時(shí)結(jié)束。小時(shí)結(jié)束。v設(shè)設(shè)8255A的端口地址為的端口地址為60H63HIN AL,60HMOV AX,2000HMOV DS,AXMOV BX,3000H內(nèi)存初始化內(nèi)存初始化MOV CX,120循環(huán)次數(shù)初始化循環(huán)次數(shù)初始化1060/5=120MOV AL,10010000B(90H)OU
21、T 63H,AL8255A初始化初始化MOV BX,ALINC BXCALL DELAY 5MDEC CXJNZ LOPMOV AH,4CHINT 21HLOP:PA口讀開(kāi)關(guān)狀態(tài)口讀開(kāi)關(guān)狀態(tài)將開(kāi)關(guān)狀態(tài)送將開(kāi)關(guān)狀態(tài)送人內(nèi)存并修改人內(nèi)存并修改地址指針地址指針延時(shí)延時(shí)5分分工作工作10小時(shí)嗎小時(shí)嗎工作結(jié)束,返工作結(jié)束,返回回DOS系統(tǒng)系統(tǒng)重慶工學(xué)院七段七段LED顯示接口顯示接口七段(或八段)七段(或八段)LED數(shù)碼管簡(jiǎn)介數(shù)碼管簡(jiǎn)介abcdefgDPabcDefgDPabcdefgDP陰極陰極陽(yáng)極陽(yáng)極圖圖6-20 七段(或八段)七段(或八段)LED數(shù)碼管數(shù)碼管重慶工學(xué)院例6-3 LED接口v編程:開(kāi)始
22、點(diǎn)亮編程:開(kāi)始點(diǎn)亮LED7,每隔,每隔5妙妙鐘發(fā)光燈向上移動(dòng)一個(gè),循環(huán)點(diǎn)鐘發(fā)光燈向上移動(dòng)一個(gè),循環(huán)點(diǎn)亮亮8個(gè)燈,工作個(gè)燈,工作10小時(shí)結(jié)束。小時(shí)結(jié)束。v設(shè)設(shè)8255A的端口地址為的端口地址為60H63HD0-D7 PA0A0 PA1A1 PA2 PA3CS PA4 PA5 PA6RD PA7WR 8255A5vLED0LED1LED2LED3LED4LED5LED6LED7MOV AL,7FHOUT 60H , ALMOV CX,7200循環(huán)次數(shù)初始化循環(huán)次數(shù)初始化106060/5=7200MOV AL,10000000B(80H)OUT 63H,AL8255A初始化初始化ROR AL,01H
23、CALL DELAY 5SLOOP LOPMOV AH,4CHINT 21HPA口送燈控制字口送燈控制字1滅滅 0亮亮改變燈控制字改變燈控制字延時(shí)延時(shí)5妙妙工作工作10小時(shí)嗎小時(shí)嗎工作結(jié)束,返工作結(jié)束,返回回DOS系統(tǒng)系統(tǒng)LOP:重慶工學(xué)院例例6-8 LED/開(kāi)關(guān)接口(開(kāi)關(guān)接口(p214)鎖鎖 存存器器譯譯碼碼器器AD0-AD7 ALEAD8-AD15BHE8086RDWRRESETY0D0-D7 PA0A0 PA1A1 PA2 PA3CS PA4 8255A PA5 PA6RD PA7WR PB3RESET PB2 PB1 PB0圖圖623 8086CPU、8255A同開(kāi)關(guān)同開(kāi)關(guān)7段段LED
24、的接口的接口LED重慶工學(xué)院8255A111+5v+5vPA0PA1PA7PB3PB2PB1PB0abDP8255A初始化PA口輸出、PB口輸入工作于方式0從PB口讀入信息屏蔽高4位,取開(kāi)關(guān)狀態(tài)查7段顯示碼表從PA口輸出7段顯示碼延時(shí)程序流程(工作原理)程序流程(工作原理)A1A2A0A1要求:用7段顯示器現(xiàn)實(shí)開(kāi)關(guān)的狀態(tài)設(shè):8255A端口地址0FFF8H、 0FFFAH、0FFFCH、0FFFEH重慶工學(xué)院解題分析解題分析(1)8255A的負(fù)載能力較小,所以輸出的負(fù)載能力較小,所以輸出口口PA經(jīng)驅(qū)動(dòng)經(jīng)驅(qū)動(dòng)器同器同7段段LED顯示器連接;顯示器連接;(2) 8255A設(shè)置為方式設(shè)置為方式0工作,
25、工作,PA口輸出,口輸出,PB口輸口輸入;入;(3)由于)由于8255A的的A0A1與與CPU的的A1A2相連接,相連接,A0可可以為以為“1”或或“0”,因此,每個(gè)端口有兩個(gè)地址,因此,每個(gè)端口有兩個(gè)地址,如:如: PA口地址為口地址為0FF8H或或0FF9H;(4)按題意可寫(xiě)出控制程序如下:按題意可寫(xiě)出控制程序如下:重慶工學(xué)院ORG2000HMOVAL,82H ;(;(1000 0010B)8255A方式字方式字MOVDX,0FFFEH ;8255A控制字端口地址控制字端口地址OUTDX,AL ;送方式字送方式字RDPORTB:MOVDL,0FAH ;送端口送端口B地址地址INAL,DX
26、;讀端口讀端口B數(shù)據(jù)數(shù)據(jù)ANDAL,0FH ;屏蔽高屏蔽高4位位MOVBX,OFFSET SSEGCODE;求段碼首地址求段碼首地址XLAT ;查表查表BX+ALALMOVDL,0F8H ;設(shè);設(shè)A口地址口地址OUTDX,AL ;段碼輸出到段碼輸出到A口顯示口顯示MOVAX,56CH ;延時(shí)延時(shí)DELAY:DECAXJNZDELAY JMPRDPORTB ;返回再次讀;返回再次讀B口內(nèi)容口內(nèi)容HLT ;暫停;暫停讀開(kāi)關(guān)狀態(tài)讀開(kāi)關(guān)狀態(tài)處理處理顯示顯示重慶工學(xué)院ORG 2500HSSEGCODE DB 0C0H,0F9H,0A4H,0B0H,99H, DB 92H,82H,0F8H,80H,98H
27、,88HDB 83H,0C6H,0A1H,86H,8EH;段碼定義(共陰)段碼定義(共陰)例如:例如:0C0H=1100 0000B;顯示顯示“0”P(pán)A0=a段段=“0”點(diǎn)亮點(diǎn)亮 PA1=b段段=“0”點(diǎn)亮點(diǎn)亮 PA2=c段段=“0”點(diǎn)亮點(diǎn)亮 PA3=d段段=“0”點(diǎn)亮點(diǎn)亮 PA4=e段段=“0”點(diǎn)亮點(diǎn)亮 PA5=f段段=“0”點(diǎn)亮點(diǎn)亮 PA6=g段段=“1”滅滅 PA7=DP段段=“1”滅滅abcdefgDP重慶工學(xué)院(1)如果驅(qū)動(dòng)改為反向器,則段碼應(yīng)修改為:)如果驅(qū)動(dòng)改為反向器,則段碼應(yīng)修改為:SSEGCODE DB 3FH,06H,5BH,4FH,66H, DB 6DH,7DH,07H,
28、7FH,67H,77HDB 7CH,39H,5EH,79H,71H例如:例如:3FH= 0C0H =0011 1111B;顯示顯示“1”P(pán)A0=a段段=“1”點(diǎn)亮點(diǎn)亮 PA1=b段段=“1”點(diǎn)亮點(diǎn)亮 PA2=c段段=“1”點(diǎn)亮點(diǎn)亮 PA3=d段段=“1”點(diǎn)亮點(diǎn)亮 PA4=e段段=“1”點(diǎn)亮點(diǎn)亮 PA5=f段段=“1”點(diǎn)亮點(diǎn)亮 PA6=g段段=“0”滅滅 PA7=DP段段=“0”滅滅(2)如果要求)如果要求7段段LED循環(huán)顯示循環(huán)顯示0-F十六個(gè)數(shù),每個(gè)顯示十六個(gè)數(shù),每個(gè)顯示5秒,顯示秒,顯示20遍,則程序?yàn)椋罕?,則程序?yàn)椋褐貞c工學(xué)院ORG 2000HMOV AL,80H(1000 0000B)
29、 ;8255A方式字方式字MOV DX,0FFFEH ;8255A控制字端口地址控制字端口地址OUTDX,AL ;送方式字;送方式字 MOV BX,20 ;循環(huán)次數(shù);循環(huán)次數(shù)20次次DISFLOP: LEADI, SSEGCODE ;求段碼首地址求段碼首地址MOV CX,16 ;顯示字符個(gè)數(shù);顯示字符個(gè)數(shù)LOP:MOV AL,DI ;取顯示字符送;取顯示字符送A口口MOV DL,0F8H ;設(shè)設(shè)A口地址口地址OUTDX,AL ;段碼輸出到段碼輸出到A口顯示口顯示INCDI ;修改顯示指針;修改顯示指針CALL DELAY5S ;延時(shí);延時(shí)5秒子程序秒子程序LOOP LOP ;循環(huán);循環(huán)16次次
30、DECBX ;修改循環(huán);修改循環(huán)20次的計(jì)數(shù)值次的計(jì)數(shù)值 JNZDISPLOP ;返回再次讀;返回再次讀B口內(nèi)容口內(nèi)容A口顯示口顯示一個(gè)字符一個(gè)字符A口顯示口顯示0F共共16個(gè)字符個(gè)字符A口重復(fù)顯示口重復(fù)顯示(0F)16個(gè)個(gè)字符共字符共20遍遍8255A初始化初始化重慶工學(xué)院HLT ;暫停暫停ORG2100H DELAY5S:ORG2500HSSEGCODEDB 0C0H,0F9H,0A4H,0B0H,99H, DB 92H,82H,0F8H,80H,98H,88HDB 83H,0C6H,0A1H,86H,8EH;段碼定義(共陰)段碼定義(共陰)例如:例如:0C0H=1100 0000B;顯示
31、顯示“0”P(pán)A0=a段段=“0”點(diǎn)亮點(diǎn)亮 PA1=b段段=“0”點(diǎn)亮點(diǎn)亮 PA2=c段段=“0”點(diǎn)亮點(diǎn)亮 PA3=d段段=“0”點(diǎn)亮點(diǎn)亮 PA4=e段段=“0”點(diǎn)亮點(diǎn)亮 PA5=f段段=“0”點(diǎn)亮點(diǎn)亮 PA6=g段段=“1”滅滅 PA7=DP段段=“1”滅滅重慶工學(xué)院例:例:8255A組成交通燈的控制。組成交通燈的控制。編寫(xiě)程序?qū)崿F(xiàn)下列功能:編寫(xiě)程序?qū)崿F(xiàn)下列功能: K0、K1、K2全部閉合時(shí),紅燈亮;全部閉合時(shí),紅燈亮;K0、K1、K2全部打開(kāi)時(shí),綠燈亮;其他全部打開(kāi)時(shí),綠燈亮;其他情況黃燈亮。情況黃燈亮。 分析:分析: K0、K1、K2全部閉合,全部閉合,PA2PA1PA0 :000(00H
32、),紅燈亮:),紅燈亮:PB2PB1PB0:100(04H);); K0、K1、K2全部打開(kāi),全部打開(kāi),PA2PA1PA0 :111(07H),綠燈亮:),綠燈亮:PB2PB1PB0:010(02H);); 其他情況其他情況 黃燈亮:黃燈亮:PB2PB1PB0:001(01H);); 。重慶工學(xué)院v根據(jù)電路圖可知:根據(jù)電路圖可知:8255工作于方式工作于方式0,A口作輸入口,口作輸入口,B口作輸出口??谧鬏敵隹?。v方式控制字為:方式控制字為:10010000.v端口端口A的地址為:的地址為:340H,端口,端口B的地址為的地址為341H,控制字寄存器地址為,控制字寄存器地址為343H。程序如下:程序如下: MOV DX, 343H;控制字端口地址控制字端口地址 MOV AL,90H;方式控制字方式控制字OUT DX, AL;初始化初始化8255 AGAIN:MOV DX, 340H;送端口送端口A地址地址IN AL,DX;讀端口讀端口AAND AL,00000111B ;取取A口的低口的低3位位CMP AL, 00000111B(07H) ;判斷是否全部打開(kāi)判斷是否全部打開(kāi)JE GREENCMP AL, 00000000B(00H);判斷是否全部閉合判斷是否
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 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ì)用戶上傳內(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年度公司車輛租賃協(xié)議樣本
- 2024道路安全員招聘協(xié)議樣本
- 2024年聘用協(xié)議規(guī)范化樣本
- 2023-2024學(xué)年鄭州市高三下學(xué)期5月月考數(shù)學(xué)試題(A卷)
- 2024安全生產(chǎn)與環(huán)保綜合管理協(xié)議
- 二手車交易過(guò)戶協(xié)議范本2024
- 2024年度專項(xiàng)宣傳品訂制協(xié)議
- 2024年項(xiàng)目實(shí)施階段服務(wù)協(xié)議范本
- 天津市河北區(qū)2024-2025學(xué)年高二上學(xué)期11月期中英語(yǔ)試題(無(wú)答案)
- 2024專業(yè)桃苗采購(gòu)及種植服務(wù)協(xié)議
- 《民法典》全文學(xué)習(xí)PPT
- 破產(chǎn)法PPT課件
- 金融衍生工具ppt課件
- 光電效應(yīng)測(cè)定普朗克常數(shù).ppt
- “讓學(xué)引思”高效課堂推進(jìn)策略的研究
- 《培訓(xùn)機(jī)構(gòu)教師薪酬制度》
- 點(diǎn)子圖方格紙合計(jì)
- 乘法的故事(小學(xué)二年級(jí)課前小故事).ppt
- 《骨盆重要性》PPT課件.ppt
- WHO癌痛的三階梯止痛的原則
- 第二節(jié)絡(luò)合物的分子軌道理論
評(píng)論
0/150
提交評(píng)論