第6章可編程并行接口芯片和串行接口芯片2課件_第1頁
第6章可編程并行接口芯片和串行接口芯片2課件_第2頁
第6章可編程并行接口芯片和串行接口芯片2課件_第3頁
第6章可編程并行接口芯片和串行接口芯片2課件_第4頁
第6章可編程并行接口芯片和串行接口芯片2課件_第5頁
已閱讀5頁,還剩71頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第6章可編程并行接口芯片和串行接口芯片22022/11/5第6章可編程并行接口芯片和串行接口芯片2第6章可編程并行接口芯片和串行接口芯片22022/11/2第1教學(xué)內(nèi)容(6學(xué)時(shí))可編程接口芯片概述8255A芯片的原理8255A芯片的應(yīng)用實(shí)例教學(xué)目標(biāo)理解常用可編程通信接口芯片的作用了解8255A芯片的原理掌握8255A初始化方法掌握8255A作為LED顯示器、開關(guān)、打印機(jī)等接口時(shí)的硬件連接方法和控制程序設(shè)計(jì)教學(xué)重點(diǎn)及難點(diǎn)常用可編程通信接口芯片的作用8255A方式1的工作原理及時(shí)序(難點(diǎn))8255A作為接口時(shí)控制程序設(shè)計(jì)方法(重點(diǎn))第6章可編程并行接口芯片和串行接口芯片2教學(xué)內(nèi)容(6學(xué)時(shí))第6章可編程并行接口芯片和串行接口芯片226.1并行接口和串行接口6.1.1可編程接口芯片概述接口電路中的單元(1)輸入/輸出數(shù)據(jù)鎖存器和緩沖器,用以解決CPU與外設(shè)之間速度不匹配的矛盾,以及起隔離和緩沖的作用;(2)控制命令和狀態(tài)寄存器,以存放CPU對外設(shè)的控制命令,以及外設(shè)的狀態(tài)信息;(3)地址譯碼器,用來選擇接口電路中的不同端口(寄存器);(4)讀寫控制邏輯;(5)中斷控制邏輯。第6章可編程并行接口芯片和串行接口芯片26.1并行接口和串行接口第6章可編程并行接口芯片和串行接3接口中的一些公用引腳作用及其連接方法

√1.片選概念CS或CE2.讀/寫概念DB線,M/IO線,RD線,WR線,CE/CS線

√3.可編程接口的概念

目前所用的接口芯片大部分是多通道、多功能的:所謂多通道就是指一個(gè)接口芯片一面與CPU連接,另一面可接幾個(gè)外設(shè);所謂多功能是指一個(gè)接口芯片能實(shí)現(xiàn)多種接口功能,實(shí)現(xiàn)不同的電路工作狀態(tài)。第6章可編程并行接口芯片和串行接口芯片2接口中的一些公用引腳作用及其連接方法第6章可編程并行接口芯片4

4.“聯(lián)絡(luò)”的概念(了解)

STB:選通信號;RDY:就緒信號(Ready)1)以輸入接口為例:RDY=“H”表示接口芯片中輸入寄存器已空,可接受外設(shè)信息以實(shí)現(xiàn)外設(shè)與接口的輸入操作。STB=“L”表示接口選通,是外設(shè)向接口發(fā)出的。過程:1)外設(shè)把數(shù)據(jù)送上接口芯片端口后,用STB信號有效打人接口芯片輸入寄存器;2)在STB的后沿,把RDY信號拉為“L”,表明輸入寄存器已有數(shù)據(jù)。RDY=“L”正是接口與外設(shè)的通信標(biāo)志,外設(shè)接收RDY=”L”后,暫不送數(shù)據(jù);3)CPU發(fā)出讀數(shù)指令,讀人該數(shù)據(jù),并使RDY置“H”。然后,又開始新一輪的輸入操作在輸入接口中,RDY信號有時(shí)用IBF(輸入緩沖器滿)表示。第6章可編程并行接口芯片和串行接口芯片2√4.“聯(lián)絡(luò)”的概念(了解)過程:1)外設(shè)把數(shù)據(jù)送上接5輸出過程:RDY=“H”,表示接口寄存器已有數(shù)據(jù),通知外設(shè)來取數(shù);STB=“L”,表示端口數(shù)據(jù)已為外設(shè)接收,且已處理,CPU可送新數(shù)據(jù)到接口寄存器,STB的后沿使RDY變?yōu)椤癓”。在輸出接口中,RDY信號有時(shí)用OBF(輸出緩沖器滿)表示,STB信號有時(shí)用ACK(響應(yīng))表示。接口芯片的引腳⑴⑵⑶⑷第6章可編程并行接口芯片和串行接口芯片2輸出過程:接口芯片的引腳⑴⑵⑶⑷第6章可編程并行接口芯片和串66.1.2并行接口、串行接口和模擬接口數(shù)據(jù)信息分:數(shù)字量、模擬量和開關(guān)量;數(shù)字接口(數(shù)字量和開關(guān)量);模擬接口(模擬量);數(shù)字接口分并行接口和串行接口;接口芯片與CPU之間傳送的總是并行數(shù)字量;串行接口內(nèi)必須含并-串/串-并轉(zhuǎn)換部件;模擬接口內(nèi)必須含A/D或D/A轉(zhuǎn)換器第6章可編程并行接口芯片和串行接口芯片26.1.2并行接口、串行接口和模擬接口數(shù)據(jù)信息分:數(shù)字量、76.2可編程并行接口芯片8255A6.2.18255A的結(jié)構(gòu)和引腳功能第6章可編程并行接口芯片和串行接口芯片26.2可編程并行接口芯片8255A6.2.18255A81.?dāng)?shù)據(jù)總線緩沖器 這是一個(gè)三態(tài)雙向8位緩沖器,它是8255A與系統(tǒng)數(shù)據(jù)總線的接口。2.三個(gè)8位端口PA、PB和PC(數(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ù)輸入/輸出、鎖存/緩沖器;端口C(PC口)有一個(gè)8位數(shù)據(jù)輸入緩沖器和一個(gè)8位數(shù)據(jù)輸出鎖存/緩沖器。通常PA口與PB口用作輸入/輸出的數(shù)據(jù)端口,PC口用作控制或狀態(tài)信息的端口。一、8255A的內(nèi)部結(jié)構(gòu)第6章可編程并行接口芯片和串行接口芯片21.?dāng)?shù)據(jù)總線緩沖器一、8255A的內(nèi)部結(jié)構(gòu)第6章可編程并行接9

3.A組和B組的控制電路(了解)這兩組控制電路根據(jù)CPU發(fā)出的方式選擇控制字來控制8255A的工作方式,每個(gè)控制組都接收來自讀/寫控制邏輯的“命令”,接收來自內(nèi)部數(shù)據(jù)總線的“控制字”,并向與其相連的端口發(fā)出適當(dāng)?shù)目刂菩盘枴?/p>

A組控制部件用來控制PA口和PC口的高4位(PC7~PC4);B組控制部件用來控制PB口和PC口的低4位(PC3~PCo)。。4.讀/寫控制邏輯用來管理數(shù)據(jù)信息、控制字和狀態(tài)字的傳送,它接收來自CPU地址總線的A1、A0和控制總線的有關(guān)信號(RD、WR、RESET等),向8255A的A、B兩組控制部件發(fā)送命令。第6章可編程并行接口芯片和串行接口芯片23.A組和B組的控制電路(了解)第6章可編程并行接口芯片和10二、8255A的引腳功能。CS—選片信號,低電平有效,由它啟動CPU與8255A之間的通信(Communication)。RD—讀信號,低電平有效。它控制8255A送出數(shù)據(jù)或狀態(tài)信息至CPU。WR—寫信號,低電平有效。它控制把CPU輸出的數(shù)據(jù)或命令信號寫到8255A。RESET——復(fù)位信號,高電平有效,它清除控制寄存器并置所有端口(A、B、C)為輸入方式。A1,A0:片內(nèi)寄存器選擇信號(輸入)A1A0=00:選中PA口;A1A0=01:選中PB口;A1A0=10:選中PC口;A1A0=11:選中控制端口;D7—D0:與CPU側(cè)連接的數(shù)據(jù)線(雙向)

PA7—PA0:A口外設(shè)數(shù)據(jù)線(雙向)PB7—PB0:B口外設(shè)數(shù)據(jù)線(雙向)PC7—PC0:C口外設(shè)數(shù)據(jù)線(雙向)第6章可編程并行接口芯片和串行接口芯片2二、8255A的引腳功能。CS—選片信號,低電平有效,由它11A1A0RDWRCS輸入操作(讀)001010000111000端口A數(shù)據(jù)總線端口B數(shù)據(jù)總線端口C數(shù)據(jù)總線輸出操作(寫)00110101111100000000數(shù)據(jù)總線端口A數(shù)據(jù)總線端口B數(shù)據(jù)總線端口C數(shù)據(jù)總線控制寄存器斷開功能(禁止)X1XX11X01X11100數(shù)據(jù)總線為三態(tài)(高阻)非法狀態(tài)數(shù)據(jù)總線為三態(tài)(高阻)表8-18255A端口功能選擇第6章可編程并行接口芯片和串行接口芯片2A1A0RDWRCS輸入操作(讀)00010端口A數(shù)據(jù)總線126.2.28255A的工作方式√一、方式0——基本輸入輸出方式0下,每一個(gè)口都作為基本的輸入輸出口8255A在方式0工作時(shí)

1.CPU可以采用無條件讀寫方式與8255A交換數(shù)據(jù);2.把C口的兩個(gè)部分用作控制和狀態(tài)口,與外設(shè)的控制和狀態(tài)端相連,CPU可以通過對C口的讀寫,實(shí)現(xiàn)A口與B口的查詢方式工作;3.方式0中,不允許采用中斷方式工作。第6章可編程并行接口芯片和串行接口芯片26.2.28255A的工作方式√一、方式0——基本13二、方式1——選通輸入輸出(應(yīng)答式輸入輸出)(了解)方式1下將三個(gè)端口分成A、B兩組,A、B兩個(gè)口仍作為數(shù)據(jù)輸入輸出口,而C口分成兩部分,分別作為A口和B口的聯(lián)絡(luò)信號。方式1的輸入第6章可編程并行接口芯片和串行接口芯片2二、方式1——選通輸入輸出(應(yīng)答式輸入輸出)(了解)第6章可14(1)STB:輸入的選通信號低電平有效。由外設(shè)提供,為低電平時(shí),就把輸入的數(shù)據(jù)信號(PA7-PA0或PB7-PB0)送入A端口(或B端口)的數(shù)據(jù)鎖存器。(2)IBF:輸入緩沖器滿信號,高電平有效。由8255A輸出,有效時(shí),用以通知外部設(shè)備輸入的數(shù)據(jù)已寫入緩沖器。(3)INTR:中斷請求信號高電平有效。當(dāng)外部設(shè)備要向CPU傳送數(shù)據(jù)或請求服務(wù)時(shí),8255A就用INTR端的高電平向CPU提出中斷請求。當(dāng)STB、IBF和INTE都為高電平時(shí),表明數(shù)據(jù)鎖存器內(nèi)已寫入了數(shù)據(jù).使INTR成為高電平輸出。(4)INTE:中斷允許信號A端口用PC4位的置位/復(fù)位控制,B端口用PC2位的置位/復(fù)位控制。只有當(dāng)PC4或PC2置"1"時(shí),才允許對應(yīng)的端口送出中斷請求。第6章可編程并行接口芯片和串行接口芯片2(1)STB:輸入的選通信號第6章可編程并行接口芯片和串行接15方式1的輸入過程如下(A口):1)當(dāng)外設(shè)準(zhǔn)備好數(shù)據(jù),在送出數(shù)據(jù)的同時(shí),送出一個(gè)選通信號STB。8255A的A口數(shù)據(jù)鎖存器在STB下降沿控制下將數(shù)據(jù)鎖存。2)8255A向外設(shè)送出高電平的IBF,表示鎖存數(shù)據(jù)已完成,暫時(shí)不要再送數(shù)據(jù)。如果PC4=1(INTE=1),這時(shí)就會使INTR變成高電平輸出,向CPU發(fā)出中斷請求。3)CPU響應(yīng)中斷,執(zhí)行IN指令時(shí),RD信號的下降沿清除中斷請求,而RD結(jié)束時(shí)的上升沿則使IBF復(fù)位到零。外設(shè)在檢測到IBF為零后,可以開始輸入下一個(gè)字節(jié)。2.方式1的輸出聯(lián)絡(luò)信號信號的作用如下:(1)OBF:輸出緩沖器滿信號;低電平有效。由8255A輸出,當(dāng)其有效時(shí),表示CPU已經(jīng)將數(shù)據(jù)輸出到指定的端口,通知外設(shè)可以將數(shù)據(jù)取走。(2)ACK:響應(yīng)信號,低電平有效。由外設(shè)送來,有效時(shí)表示8255A數(shù)據(jù)已經(jīng)為外設(shè)所接收。

第6章可編程并行接口芯片和串行接口芯片2方式1的輸入過程如下(A口):第6章可編程并行接口芯片和串行16(3)INTR:中斷請求信號高電平有效。當(dāng)外設(shè)接收了由CPU送給8255A的數(shù)據(jù)后,8255A就用INTR端向CPU發(fā)出中斷請求,請求CPU再輸出后面的數(shù)據(jù)。INTR是當(dāng)ACK,OBF和INTE都為高電平時(shí),才能被置成高電平。(4)INTE:中斷允許信號。A口的INTE由PC6置/復(fù)位,B口的INTE由PC2置/復(fù)位。PC4、PC5位可以由控制字的D3,設(shè)置為輸入或輸出數(shù)據(jù)用。方式1的輸出過程如下(A口):1)微處理器發(fā)WR信號,將數(shù)據(jù)送入端口的輸出緩沖器,WR上升沿一方面清除INTR信號,另一方面使OBF有效,通知外設(shè)可以取數(shù);2)外設(shè)取數(shù)后,發(fā)ACK信號,一方面使OBF無效(表示數(shù)已取走),另一方面使INTR有效,開始另一個(gè)新的輸出過程。三、方式2——雙向選通輸入輸出(了解)

通過8位數(shù)據(jù)線與外設(shè)進(jìn)行雙向通信的方式,既能發(fā)送,又能接收數(shù)據(jù)。工作時(shí)可以用中斷方式,也可以用查詢方式與CPU聯(lián)系。第6章可編程并行接口芯片和串行接口芯片2(3)INTR:中斷請求信號第6章可編程并行接口芯片和串17第6章可編程并行接口芯片和串行接口芯片2第6章可編程并行接口芯片和串行接口芯片2186.2.38255A的初始化一、方式控制字第6章可編程并行接口芯片和串行接口芯片26.2.38255A的初始化一、方式控制字第6章可編程19二、C口按位置/復(fù)位(了解)第6章可編程并行接口芯片和串行接口芯片2二、C口按位置/復(fù)位(了解)第6章可編程并行接口芯片和串行接20例:用程序?qū)c口的第七位置1,第3位置0。設(shè)控制口地址為:0EBH

MOVAL,00001111B;0FHOUT0EBH,AL

MOVAL,00000110B;06HOUT0EBH,AL第6章可編程并行接口芯片和串行接口芯片2例:用程序?qū)c口的第七位置1,第3位置0。216.2.48255A的應(yīng)用舉例√例1:在一系統(tǒng)中,要求8255A工作在方式0。現(xiàn)要求將從A口讀取的數(shù)據(jù)1)求反后從B口輸出;2)將其絕對值從C口輸出0

Moval,90hOut63h,al

;送控制字到控制字寄存器。Calldelay1Inal,60h;從A口輸入數(shù)據(jù)1)Calldelay2NOTALOut61h,al;從B口輸出數(shù)據(jù)2)Calldelay3CMPAL,0JGEPLDNEGALPLD:Out62h,al

;從C口輸出數(shù)據(jù)60h~63h10010000第6章可編程并行接口芯片和串行接口芯片26.2.48255A的應(yīng)用舉例√例1:在一系統(tǒng)中,要求22√例2:假定在一個(gè)系統(tǒng)中,要求8255工作在方式1,端口A為輸出,端口B為輸入,PC4~PC5

為輸出,禁止端口B中斷.要求:1)對8255A初始化;2)在PC4引腳上輸出負(fù)脈沖信號。(了解)1)Moval,10100111bMovdx,43h;控制寄存器地址

Outdx,al;8255A初始化Moval,0dh;A口的INTE(PC6)置1Outdx,al;A口開放中斷Moval,04h;B口的INTE(PC2)置0Outdx,al;B口禁止中斷40H~43HMOVAL,00001001BOUT43H,ALCALLDELAYMOVAL,00001000BOUT43H,ALCALLDELAYMOVAL,00001001BOUT43H,AL第6章可編程并行接口芯片和串行接口芯片2√例2:假定在一個(gè)系統(tǒng)中,要求8255工作在方式1,端口A為23例6-2開關(guān)接口D0-D7PA0A0PA1A1PA2PA3CSPA4PA5PA6RDPA7WR8255AS0S1S2S3S4S5S6S7+5v編程:每隔5分鐘從PA口讀入8個(gè)開關(guān)的狀態(tài)存入2000H:3000H開始的數(shù)據(jù)區(qū),工作10小時(shí)結(jié)束。設(shè)8255A的端口地址為60H~63HINAL,60HMOVAX,2000HMOVDS,AXMOVBX,3000H內(nèi)存初始化MOVCX,120循環(huán)次數(shù)初始化10×60/5=120MOVAL,10010000B(90H)OUT63H,AL8255A初始化MOV[BX],ALINCBXCALLDELAY5MDECCXJNZLOPMOVAH,4CHINT21HLOP:PA口讀開關(guān)狀態(tài)將開關(guān)狀態(tài)送人內(nèi)存并修改地址指針延時(shí)5分工作10小時(shí)嗎工作結(jié)束,返回DOS系統(tǒng)第6章可編程并行接口芯片和串行接口芯片2例6-2開關(guān)接口D0-D7PA0S0+5v編程:每24七段LED顯示接口七段(或八段)LED數(shù)碼管簡介abcdefgDPabcDefgDPabcdefgDP陰極陽極圖6-20七段(或八段)LED數(shù)碼管第6章可編程并行接口芯片和串行接口芯片2七段LED顯示接口七段(或八段)LED數(shù)碼管簡介abcdef25例6-3LED接口編程:開始點(diǎn)亮LED7,每隔5妙鐘發(fā)光燈向上移動一個(gè),循環(huán)點(diǎn)亮8個(gè)燈,工作10小時(shí)結(jié)束。設(shè)8255A的端口地址為60H~63HD0-D7PA0A0PA1A1PA2PA3CSPA4PA5PA6RDPA7WR8255A+5vLED0LED1LED2LED3LED4LED5LED6LED7MOVAL,7FHOUT60H,ALMOVCX,7200循環(huán)次數(shù)初始化10×60×60/5=7200MOVAL,10000000B(80H)OUT63H,AL8255A初始化RORAL,01HCALLDELAY5SLOOPLOPMOVAH,4CHINT21HPA口送燈控制字1—滅0-亮改變燈控制字延時(shí)5妙工作10小時(shí)嗎工作結(jié)束,返回DOS系統(tǒng)LOP:第6章可編程并行接口芯片和串行接口芯片2例6-3LED接口編程:開始點(diǎn)亮LED7,每隔5妙鐘發(fā)26例6-8LED/開關(guān)接口(p214)鎖存器譯碼器AD0-AD7

ALEAD8-AD15BHE8086RDWRRESETY0D0-D7PA0A0PA1A1PA2PA3CSPA48255APA5PA6RDPA7WRPB3RESETPB2PB1PB0圖6-238086CPU、8255A同開關(guān)7段LED的接口LED第6章可編程并行接口芯片和串行接口芯片2例6-8LED/開關(guān)接口(p214)鎖譯AD0-A278255A111+5v+5vPA0PA1PA7PB3PB2PB1PB0abDP8255A初始化PA口輸出、PB口輸入工作于方式0從PB口讀入信息屏蔽高4位,取開關(guān)狀態(tài)查7段顯示碼表從PA口輸出7段顯示碼延時(shí)程序流程(工作原理)A1A2A0A1要求:用7段顯示器現(xiàn)實(shí)開關(guān)的狀態(tài)設(shè):8255A端口地址0FFF8H、0FFFAH、0FFFCH、0FFFEH第6章可編程并行接口芯片和串行接口芯片28255A111+5v+5vPA0PA1PA7PB3PB2P28解題分析(1)8255A的負(fù)載能力較小,所以輸出口PA經(jīng)驅(qū)動器同7段LED顯示器連接;(2)8255A設(shè)置為方式0工作,PA口輸出,PB口輸入;(3)由于8255A的A0A1與CPU的A1A2相連接,A0可以為“1”或“0”,因此,每個(gè)端口有兩個(gè)地址,如:PA口地址為0FF8H或0FF9H;(4)按題意可寫出控制程序如下:第6章可編程并行接口芯片和串行接口芯片2解題分析(1)8255A的負(fù)載能力較小,所以輸出口PA經(jīng)驅(qū)動29

ORG 2000H MOV AL,82H;(10000010B)8255A方式字 MOV DX,0FFFEH;8255A控制字端口地址 OUT DX,AL;送方式字RDPORTB: MOV DL,0FAH;送端口B地址 IN AL,DX;讀端口B數(shù)據(jù) AND AL,0FH;屏蔽高4位

MOV BX,OFFSETSSEGCODE;求段碼首地址 XLAT;查表[BX+AL]→AL MOV DL,0F8H;設(shè)A口地址 OUT DX,AL;段碼輸出到A口顯示

MOV AX,56CH;延時(shí)DELAY: DEC AX JNZ DELAYJMP RDPORTB;返回再次讀B口內(nèi)容 HLT;暫停讀開關(guān)狀態(tài)處理顯示第6章可編程并行接口芯片和串行接口芯片2 ORG 2000H讀開關(guān)狀態(tài)處理顯示第6章可編程并行接30

ORG 2500HSSEGCODE DB0C0H,0F9H,0A4H,0B0H,99H, DB92H,82H,0F8H,80H,98H,88H DB83H,0C6H,0A1H,86H,8EH

;段碼定義(共陰)例如:0C0H=11000000B;顯示“0”PA0=a段=“0”點(diǎn)亮PA1=b段=“0”點(diǎn)亮PA2=c段=“0”點(diǎn)亮PA3=d段=“0”點(diǎn)亮PA4=e段=“0”點(diǎn)亮PA5=f段=“0”點(diǎn)亮PA6=g段=“1”滅PA7=DP段=“1”滅abcdefgDP第6章可編程并行接口芯片和串行接口芯片2 abcdefgDP第6章可編程并行接口芯片和串行接口芯31(1)如果驅(qū)動改為反向器,則段碼應(yīng)修改為:SSEGCODE DB3FH,06H,5BH,4FH,66H, DB6DH,7DH,07H,7FH,67H,77H DB7CH,39H,5EH,79H,71H例如:3FH=0C0H=00111111B;顯示“1”PA0=a段=“1”點(diǎn)亮PA1=b段=“1”點(diǎn)亮PA2=c段=“1”點(diǎn)亮PA3=d段=“1”點(diǎn)亮PA4=e段=“1”點(diǎn)亮PA5=f段=“1”點(diǎn)亮PA6=g段=“0”滅PA7=DP段=“0”滅(2)如果要求7段LED循環(huán)顯示0-F十六個(gè)數(shù),每個(gè)顯示5秒,顯示20遍,則程序?yàn)椋旱?章可編程并行接口芯片和串行接口芯片2(1)如果驅(qū)動改為反向器,則段碼應(yīng)修改為:第6章可編程并行接32 ORG 2000H MOV AL,80H(10000000B);8255A方式字 MOV DX,0FFFEH;8255A控制字端口地址 OUT DX,AL;送方式字

MOV BX,20;循環(huán)次數(shù)20次DISFLOP: LEA DI,SSEGCODE;求段碼首地址 MOV CX,16;顯示字符個(gè)數(shù)LOP: MOV AL,[DI];取顯示字符送A口 MOV DL,0F8H;設(shè)A口地址 OUT DX,AL

;段碼輸出到A口顯示

INC DI

;修改顯示指針 CALL DELAY5S;延時(shí)5秒子程序

LOOPLOP;循環(huán)16次

DEC BX;修改循環(huán)20次的計(jì)數(shù)值JNZ DISPLOP;返回再次讀B口內(nèi)容A口顯示一個(gè)字符A口顯示0~F共16個(gè)字符A口重復(fù)顯示(0~F)16個(gè)字符共20遍8255A初始化第6章可編程并行接口芯片和串行接口芯片2 ORG 2000HA口顯示A口顯示0~F共16個(gè)字符A33

HLT;暫停 ORG 2100H DELAY5S: : : ORG 2500HSSEGCODE DB0C0H,0F9H,0A4H,0B0H,99H, DB92H,82H,0F8H,80H,98H,88H DB83H,0C6H,0A1H,86H,8EH

;段碼定義(共陰)例如:0C0H=11000000B;顯示“0”PA0=a段=“0”點(diǎn)亮PA1=b段=“0”點(diǎn)亮PA2=c段=“0”點(diǎn)亮PA3=d段=“0”點(diǎn)亮PA4=e段=“0”點(diǎn)亮PA5=f段=“0”點(diǎn)亮PA6=g段=“1”滅PA7=DP段=“1”滅第6章可編程并行接口芯片和串行接口芯片2 第6章可編程并行接口芯片和串行接口芯片234例:8255A組成交通燈的控制。√編寫程序?qū)崿F(xiàn)下列功能:K0、K1、K2全部閉合時(shí),紅燈亮;K0、K1、K2全部打開時(shí),綠燈亮;其他情況黃燈亮。

分析:K0、K1、K2全部閉合,PA2PA1PA0:000(00H),紅燈亮:PB2PB1PB0:100(04H);K0、K1、K2全部打開,PA2PA1PA0:111(07H),綠燈亮:PB2PB1PB0:010(02H);其他情況黃燈亮:PB2PB1PB0:001(01H);。第6章可編程并行接口芯片和串行接口芯片2例:8255A組成交通燈的控制。√分析:第6章可編程并行接口35根據(jù)電路圖可知:8255工作于方式0,A口作輸入口,B口作輸出口。方式控制字為:10010000.端口A的地址為:340H,端口B的地址為341H,控制字寄存器地址為343H。

程序如下:

MOVDX,343H ;控制字端口地址 MOVAL,90H ;方式控制字

OUTDX,AL ;初始化8255

AGAIN: MOVDX,340H ;送端口A地址

INAL,DX ;讀端口A

ANDAL,00000111B;取A口的低3位

CMPAL,00000111B(07H);判斷是否全部打開

JEGREEN

CMPAL,00000000B(00H);判斷是否全部閉合

JERED

MOVAL,1 ;黃燈亮

JMPOUTPUT

RED: MOVAL,4

;紅燈亮

JMPOUTPUT

GREEN: MOVAL,2 ;綠燈亮

OUTPUT:MOVDX,341H ;B口端口地址

OUTDX,AL

JMPAGAIN

HLT

第6章可編程并行接口芯片和串行接口芯片2根據(jù)電路圖可知:8255工作于方式0,A口作輸入口,B口作輸36√6.22用一片8255A控制一組紅、綠、黃燈,如習(xí)圖8-8所示,反復(fù)檢測s1、s2,要求由s1、s2的“閉合”和“斷開”控制紅、綠、黃3燈的點(diǎn)亮。

當(dāng)s1合,S2合時(shí),黃燈亮;

當(dāng)s1合,s2斷時(shí),紅燈亮;

當(dāng)s1斷,s2合時(shí),綠燈亮;

當(dāng)s1斷,s2斷時(shí),黃燈亮。

試根據(jù)上述條件編制初始化程序以及控制程序(已知8255A的端口地址為60H~63H。

當(dāng)s1合,S2合時(shí),黃燈亮;當(dāng)s1合,s2斷時(shí),紅燈亮;

當(dāng)s1斷,s2合時(shí),綠燈亮;當(dāng)s1斷,s2斷時(shí),黃燈亮。S2S1(PA1PA0)0 0A口(00H)

PC2=1C口(04H)

10A口(02H)

PC0=1C口(01H)

0 1A口(01H)

PC1=1C口(02H)

1 1A口(03H)

PC2=1C口(04H)

第6章可編程并行接口芯片和串行接口芯片2√6.22用一片8255A控制一組紅、綠、黃燈,如習(xí)圖8-837演講完畢,謝謝聽講!再見,seeyouagain3rew2022/11/5第6章可編程并行接口芯片和串行接口芯片2演講完畢,謝謝聽講!再見,seeyouagain3rew38第6章可編程并行接口芯片和串行接口芯片22022/11/5第6章可編程并行接口芯片和串行接口芯片2第6章可編程并行接口芯片和串行接口芯片22022/11/2第39教學(xué)內(nèi)容(6學(xué)時(shí))可編程接口芯片概述8255A芯片的原理8255A芯片的應(yīng)用實(shí)例教學(xué)目標(biāo)理解常用可編程通信接口芯片的作用了解8255A芯片的原理掌握8255A初始化方法掌握8255A作為LED顯示器、開關(guān)、打印機(jī)等接口時(shí)的硬件連接方法和控制程序設(shè)計(jì)教學(xué)重點(diǎn)及難點(diǎn)常用可編程通信接口芯片的作用8255A方式1的工作原理及時(shí)序(難點(diǎn))8255A作為接口時(shí)控制程序設(shè)計(jì)方法(重點(diǎn))第6章可編程并行接口芯片和串行接口芯片2教學(xué)內(nèi)容(6學(xué)時(shí))第6章可編程并行接口芯片和串行接口芯片2406.1并行接口和串行接口6.1.1可編程接口芯片概述接口電路中的單元(1)輸入/輸出數(shù)據(jù)鎖存器和緩沖器,用以解決CPU與外設(shè)之間速度不匹配的矛盾,以及起隔離和緩沖的作用;(2)控制命令和狀態(tài)寄存器,以存放CPU對外設(shè)的控制命令,以及外設(shè)的狀態(tài)信息;(3)地址譯碼器,用來選擇接口電路中的不同端口(寄存器);(4)讀寫控制邏輯;(5)中斷控制邏輯。第6章可編程并行接口芯片和串行接口芯片26.1并行接口和串行接口第6章可編程并行接口芯片和串行接41接口中的一些公用引腳作用及其連接方法

√1.片選概念CS或CE2.讀/寫概念DB線,M/IO線,RD線,WR線,CE/CS線

√3.可編程接口的概念

目前所用的接口芯片大部分是多通道、多功能的:所謂多通道就是指一個(gè)接口芯片一面與CPU連接,另一面可接幾個(gè)外設(shè);所謂多功能是指一個(gè)接口芯片能實(shí)現(xiàn)多種接口功能,實(shí)現(xiàn)不同的電路工作狀態(tài)。第6章可編程并行接口芯片和串行接口芯片2接口中的一些公用引腳作用及其連接方法第6章可編程并行接口芯片42

4.“聯(lián)絡(luò)”的概念(了解)

STB:選通信號;RDY:就緒信號(Ready)1)以輸入接口為例:RDY=“H”表示接口芯片中輸入寄存器已空,可接受外設(shè)信息以實(shí)現(xiàn)外設(shè)與接口的輸入操作。STB=“L”表示接口選通,是外設(shè)向接口發(fā)出的。過程:1)外設(shè)把數(shù)據(jù)送上接口芯片端口后,用STB信號有效打人接口芯片輸入寄存器;2)在STB的后沿,把RDY信號拉為“L”,表明輸入寄存器已有數(shù)據(jù)。RDY=“L”正是接口與外設(shè)的通信標(biāo)志,外設(shè)接收RDY=”L”后,暫不送數(shù)據(jù);3)CPU發(fā)出讀數(shù)指令,讀人該數(shù)據(jù),并使RDY置“H”。然后,又開始新一輪的輸入操作在輸入接口中,RDY信號有時(shí)用IBF(輸入緩沖器滿)表示。第6章可編程并行接口芯片和串行接口芯片2√4.“聯(lián)絡(luò)”的概念(了解)過程:1)外設(shè)把數(shù)據(jù)送上接43輸出過程:RDY=“H”,表示接口寄存器已有數(shù)據(jù),通知外設(shè)來取數(shù);STB=“L”,表示端口數(shù)據(jù)已為外設(shè)接收,且已處理,CPU可送新數(shù)據(jù)到接口寄存器,STB的后沿使RDY變?yōu)椤癓”。在輸出接口中,RDY信號有時(shí)用OBF(輸出緩沖器滿)表示,STB信號有時(shí)用ACK(響應(yīng))表示。接口芯片的引腳⑴⑵⑶⑷第6章可編程并行接口芯片和串行接口芯片2輸出過程:接口芯片的引腳⑴⑵⑶⑷第6章可編程并行接口芯片和串446.1.2并行接口、串行接口和模擬接口數(shù)據(jù)信息分:數(shù)字量、模擬量和開關(guān)量;數(shù)字接口(數(shù)字量和開關(guān)量);模擬接口(模擬量);數(shù)字接口分并行接口和串行接口;接口芯片與CPU之間傳送的總是并行數(shù)字量;串行接口內(nèi)必須含并-串/串-并轉(zhuǎn)換部件;模擬接口內(nèi)必須含A/D或D/A轉(zhuǎn)換器第6章可編程并行接口芯片和串行接口芯片26.1.2并行接口、串行接口和模擬接口數(shù)據(jù)信息分:數(shù)字量、456.2可編程并行接口芯片8255A6.2.18255A的結(jié)構(gòu)和引腳功能第6章可編程并行接口芯片和串行接口芯片26.2可編程并行接口芯片8255A6.2.18255A461.?dāng)?shù)據(jù)總線緩沖器 這是一個(gè)三態(tài)雙向8位緩沖器,它是8255A與系統(tǒng)數(shù)據(jù)總線的接口。2.三個(gè)8位端口PA、PB和PC(數(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ù)輸入/輸出、鎖存/緩沖器;端口C(PC口)有一個(gè)8位數(shù)據(jù)輸入緩沖器和一個(gè)8位數(shù)據(jù)輸出鎖存/緩沖器。通常PA口與PB口用作輸入/輸出的數(shù)據(jù)端口,PC口用作控制或狀態(tài)信息的端口。一、8255A的內(nèi)部結(jié)構(gòu)第6章可編程并行接口芯片和串行接口芯片21.?dāng)?shù)據(jù)總線緩沖器一、8255A的內(nèi)部結(jié)構(gòu)第6章可編程并行接47

3.A組和B組的控制電路(了解)這兩組控制電路根據(jù)CPU發(fā)出的方式選擇控制字來控制8255A的工作方式,每個(gè)控制組都接收來自讀/寫控制邏輯的“命令”,接收來自內(nèi)部數(shù)據(jù)總線的“控制字”,并向與其相連的端口發(fā)出適當(dāng)?shù)目刂菩盘枴?/p>

A組控制部件用來控制PA口和PC口的高4位(PC7~PC4);B組控制部件用來控制PB口和PC口的低4位(PC3~PCo)。。4.讀/寫控制邏輯用來管理數(shù)據(jù)信息、控制字和狀態(tài)字的傳送,它接收來自CPU地址總線的A1、A0和控制總線的有關(guān)信號(RD、WR、RESET等),向8255A的A、B兩組控制部件發(fā)送命令。第6章可編程并行接口芯片和串行接口芯片23.A組和B組的控制電路(了解)第6章可編程并行接口芯片和48二、8255A的引腳功能。CS—選片信號,低電平有效,由它啟動CPU與8255A之間的通信(Communication)。RD—讀信號,低電平有效。它控制8255A送出數(shù)據(jù)或狀態(tài)信息至CPU。WR—寫信號,低電平有效。它控制把CPU輸出的數(shù)據(jù)或命令信號寫到8255A。RESET——復(fù)位信號,高電平有效,它清除控制寄存器并置所有端口(A、B、C)為輸入方式。A1,A0:片內(nèi)寄存器選擇信號(輸入)A1A0=00:選中PA口;A1A0=01:選中PB口;A1A0=10:選中PC口;A1A0=11:選中控制端口;D7—D0:與CPU側(cè)連接的數(shù)據(jù)線(雙向)

PA7—PA0:A口外設(shè)數(shù)據(jù)線(雙向)PB7—PB0:B口外設(shè)數(shù)據(jù)線(雙向)PC7—PC0:C口外設(shè)數(shù)據(jù)線(雙向)第6章可編程并行接口芯片和串行接口芯片2二、8255A的引腳功能。CS—選片信號,低電平有效,由它49A1A0RDWRCS輸入操作(讀)001010000111000端口A數(shù)據(jù)總線端口B數(shù)據(jù)總線端口C數(shù)據(jù)總線輸出操作(寫)00110101111100000000數(shù)據(jù)總線端口A數(shù)據(jù)總線端口B數(shù)據(jù)總線端口C數(shù)據(jù)總線控制寄存器斷開功能(禁止)X1XX11X01X11100數(shù)據(jù)總線為三態(tài)(高阻)非法狀態(tài)數(shù)據(jù)總線為三態(tài)(高阻)表8-18255A端口功能選擇第6章可編程并行接口芯片和串行接口芯片2A1A0RDWRCS輸入操作(讀)00010端口A數(shù)據(jù)總線506.2.28255A的工作方式√一、方式0——基本輸入輸出方式0下,每一個(gè)口都作為基本的輸入輸出口8255A在方式0工作時(shí)

1.CPU可以采用無條件讀寫方式與8255A交換數(shù)據(jù);2.把C口的兩個(gè)部分用作控制和狀態(tài)口,與外設(shè)的控制和狀態(tài)端相連,CPU可以通過對C口的讀寫,實(shí)現(xiàn)A口與B口的查詢方式工作;3.方式0中,不允許采用中斷方式工作。第6章可編程并行接口芯片和串行接口芯片26.2.28255A的工作方式√一、方式0——基本51二、方式1——選通輸入輸出(應(yīng)答式輸入輸出)(了解)方式1下將三個(gè)端口分成A、B兩組,A、B兩個(gè)口仍作為數(shù)據(jù)輸入輸出口,而C口分成兩部分,分別作為A口和B口的聯(lián)絡(luò)信號。方式1的輸入第6章可編程并行接口芯片和串行接口芯片2二、方式1——選通輸入輸出(應(yīng)答式輸入輸出)(了解)第6章可52(1)STB:輸入的選通信號低電平有效。由外設(shè)提供,為低電平時(shí),就把輸入的數(shù)據(jù)信號(PA7-PA0或PB7-PB0)送入A端口(或B端口)的數(shù)據(jù)鎖存器。(2)IBF:輸入緩沖器滿信號,高電平有效。由8255A輸出,有效時(shí),用以通知外部設(shè)備輸入的數(shù)據(jù)已寫入緩沖器。(3)INTR:中斷請求信號高電平有效。當(dāng)外部設(shè)備要向CPU傳送數(shù)據(jù)或請求服務(wù)時(shí),8255A就用INTR端的高電平向CPU提出中斷請求。當(dāng)STB、IBF和INTE都為高電平時(shí),表明數(shù)據(jù)鎖存器內(nèi)已寫入了數(shù)據(jù).使INTR成為高電平輸出。(4)INTE:中斷允許信號A端口用PC4位的置位/復(fù)位控制,B端口用PC2位的置位/復(fù)位控制。只有當(dāng)PC4或PC2置"1"時(shí),才允許對應(yīng)的端口送出中斷請求。第6章可編程并行接口芯片和串行接口芯片2(1)STB:輸入的選通信號第6章可編程并行接口芯片和串行接53方式1的輸入過程如下(A口):1)當(dāng)外設(shè)準(zhǔn)備好數(shù)據(jù),在送出數(shù)據(jù)的同時(shí),送出一個(gè)選通信號STB。8255A的A口數(shù)據(jù)鎖存器在STB下降沿控制下將數(shù)據(jù)鎖存。2)8255A向外設(shè)送出高電平的IBF,表示鎖存數(shù)據(jù)已完成,暫時(shí)不要再送數(shù)據(jù)。如果PC4=1(INTE=1),這時(shí)就會使INTR變成高電平輸出,向CPU發(fā)出中斷請求。3)CPU響應(yīng)中斷,執(zhí)行IN指令時(shí),RD信號的下降沿清除中斷請求,而RD結(jié)束時(shí)的上升沿則使IBF復(fù)位到零。外設(shè)在檢測到IBF為零后,可以開始輸入下一個(gè)字節(jié)。2.方式1的輸出聯(lián)絡(luò)信號信號的作用如下:(1)OBF:輸出緩沖器滿信號;低電平有效。由8255A輸出,當(dāng)其有效時(shí),表示CPU已經(jīng)將數(shù)據(jù)輸出到指定的端口,通知外設(shè)可以將數(shù)據(jù)取走。(2)ACK:響應(yīng)信號,低電平有效。由外設(shè)送來,有效時(shí)表示8255A數(shù)據(jù)已經(jīng)為外設(shè)所接收。

第6章可編程并行接口芯片和串行接口芯片2方式1的輸入過程如下(A口):第6章可編程并行接口芯片和串行54(3)INTR:中斷請求信號高電平有效。當(dāng)外設(shè)接收了由CPU送給8255A的數(shù)據(jù)后,8255A就用INTR端向CPU發(fā)出中斷請求,請求CPU再輸出后面的數(shù)據(jù)。INTR是當(dāng)ACK,OBF和INTE都為高電平時(shí),才能被置成高電平。(4)INTE:中斷允許信號。A口的INTE由PC6置/復(fù)位,B口的INTE由PC2置/復(fù)位。PC4、PC5位可以由控制字的D3,設(shè)置為輸入或輸出數(shù)據(jù)用。方式1的輸出過程如下(A口):1)微處理器發(fā)WR信號,將數(shù)據(jù)送入端口的輸出緩沖器,WR上升沿一方面清除INTR信號,另一方面使OBF有效,通知外設(shè)可以取數(shù);2)外設(shè)取數(shù)后,發(fā)ACK信號,一方面使OBF無效(表示數(shù)已取走),另一方面使INTR有效,開始另一個(gè)新的輸出過程。三、方式2——雙向選通輸入輸出(了解)

通過8位數(shù)據(jù)線與外設(shè)進(jìn)行雙向通信的方式,既能發(fā)送,又能接收數(shù)據(jù)。工作時(shí)可以用中斷方式,也可以用查詢方式與CPU聯(lián)系。第6章可編程并行接口芯片和串行接口芯片2(3)INTR:中斷請求信號第6章可編程并行接口芯片和串55第6章可編程并行接口芯片和串行接口芯片2第6章可編程并行接口芯片和串行接口芯片2566.2.38255A的初始化一、方式控制字第6章可編程并行接口芯片和串行接口芯片26.2.38255A的初始化一、方式控制字第6章可編程57二、C口按位置/復(fù)位(了解)第6章可編程并行接口芯片和串行接口芯片2二、C口按位置/復(fù)位(了解)第6章可編程并行接口芯片和串行接58例:用程序?qū)c口的第七位置1,第3位置0。設(shè)控制口地址為:0EBH

MOVAL,00001111B;0FHOUT0EBH,AL

MOVAL,00000110B;06HOUT0EBH,AL第6章可編程并行接口芯片和串行接口芯片2例:用程序?qū)c口的第七位置1,第3位置0。596.2.48255A的應(yīng)用舉例√例1:在一系統(tǒng)中,要求8255A工作在方式0?,F(xiàn)要求將從A口讀取的數(shù)據(jù)1)求反后從B口輸出;2)將其絕對值從C口輸出0

Moval,90hOut63h,al

;送控制字到控制字寄存器。Calldelay1Inal,60h;從A口輸入數(shù)據(jù)1)Calldelay2NOTALOut61h,al;從B口輸出數(shù)據(jù)2)Calldelay3CMPAL,0JGEPLDNEGALPLD:Out62h,al

;從C口輸出數(shù)據(jù)60h~63h10010000第6章可編程并行接口芯片和串行接口芯片26.2.48255A的應(yīng)用舉例√例1:在一系統(tǒng)中,要求60√例2:假定在一個(gè)系統(tǒng)中,要求8255工作在方式1,端口A為輸出,端口B為輸入,PC4~PC5

為輸出,禁止端口B中斷.要求:1)對8255A初始化;2)在PC4引腳上輸出負(fù)脈沖信號。(了解)1)Moval,10100111bMovdx,43h;控制寄存器地址

Outdx,al;8255A初始化Moval,0dh;A口的INTE(PC6)置1Outdx,al;A口開放中斷Moval,04h;B口的INTE(PC2)置0Outdx,al;B口禁止中斷40H~43HMOVAL,00001001BOUT43H,ALCALLDELAYMOVAL,00001000BOUT43H,ALCALLDELAYMOVAL,00001001BOUT43H,AL第6章可編程并行接口芯片和串行接口芯片2√例2:假定在一個(gè)系統(tǒng)中,要求8255工作在方式1,端口A為61例6-2開關(guān)接口D0-D7PA0A0PA1A1PA2PA3CSPA4PA5PA6RDPA7WR8255AS0S1S2S3S4S5S6S7+5v編程:每隔5分鐘從PA口讀入8個(gè)開關(guān)的狀態(tài)存入2000H:3000H開始的數(shù)據(jù)區(qū),工作10小時(shí)結(jié)束。設(shè)8255A的端口地址為60H~63HINAL,60HMOVAX,2000HMOVDS,AXMOVBX,3000H內(nèi)存初始化MOVCX,120循環(huán)次數(shù)初始化10×60/5=120MOVAL,10010000B(90H)OUT63H,AL8255A初始化MOV[BX],ALINCBXCALLDELAY5MDECCXJNZLOPMOVAH,4CHINT21HLOP:PA口讀開關(guān)狀態(tài)將開關(guān)狀態(tài)送人內(nèi)存并修改地址指針延時(shí)5分工作10小時(shí)嗎工作結(jié)束,返回DOS系統(tǒng)第6章可編程并行接口芯片和串行接口芯片2例6-2開關(guān)接口D0-D7PA0S0+5v編程:每62七段LED顯示接口七段(或八段)LED數(shù)碼管簡介abcdefgDPabcDefgDPabcdefgDP陰極陽極圖6-20七段(或八段)LED數(shù)碼管第6章可編程并行接口芯片和串行接口芯片2七段LED顯示接口七段(或八段)LED數(shù)碼管簡介abcdef63例6-3LED接口編程:開始點(diǎn)亮LED7,每隔5妙鐘發(fā)光燈向上移動一個(gè),循環(huán)點(diǎn)亮8個(gè)燈,工作10小時(shí)結(jié)束。設(shè)8255A的端口地址為60H~63HD0-D7PA0A0PA1A1PA2PA3CSPA4PA5PA6RDPA7WR8255A+5vLED0LED1LED2LED3LED4LED5LED6LED7MOVAL,7FHOUT60H,ALMOVCX,7200循環(huán)次數(shù)初始化10×60×60/5=7200MOVAL,10000000B(80H)OUT63H,AL8255A初始化RORAL,01HCALLDELAY5SLOOPLOPMOVAH,4CHINT21HPA口送燈控制字1—滅0-亮改變燈控制字延時(shí)5妙工作10小時(shí)嗎工作結(jié)束,返回DOS系統(tǒng)LOP:第6章可編程并行接口芯片和串行接口芯片2例6-3LED接口編程:開始點(diǎn)亮LED7,每隔5妙鐘發(fā)64例6-8LED/開關(guān)接口(p214)鎖存器譯碼器AD0-AD7

ALEAD8-AD15BHE8086RDWRRESETY0D0-D7PA0A0PA1A1PA2PA3CSPA48255APA5PA6RDPA7WRPB3RESETPB2PB1PB0圖6-238086CPU、8255A同開關(guān)7段LED的接口LED第6章可編程并行接口芯片和串行接口芯片2例6-8LED/開關(guān)接口(p214)鎖譯AD0-A658255A111+5v+5vPA0PA1PA7PB3PB2PB1PB0abDP8255A初始化PA口輸出、PB口輸入工作于方式0從PB口讀入信息屏蔽高4位,取開關(guān)狀態(tài)查7段顯示碼表從PA口輸出7段顯示碼延時(shí)程序流程(工作原理)A1A2A0A1要求:用7段顯示器現(xiàn)實(shí)開關(guān)的狀態(tài)設(shè):8255A端口地址0FFF8H、0FFFAH、0FFFCH、0FFFEH第6章可編程并行接口芯片和串行接口芯片28255A111+5v+5vPA0PA1PA7PB3PB2P66解題分析(1)8255A的負(fù)載能力較小,所以輸出口PA經(jīng)驅(qū)動器同7段LED顯示器連接;(2)8255A設(shè)置為方式0工作,PA口輸出,PB口輸入;(3)由于8255A的A0A1與CPU的A1A2相連接,A0可以為“1”或“0”,因此,每個(gè)端口有兩個(gè)地址,如:PA口地址為0FF8H或0FF9H;(4)按題意可寫出控制程序如下:第6章可編程并行接口芯片和串行接口芯片2解題分析(1)8255A的負(fù)載能力較小,所以輸出口PA經(jīng)驅(qū)動67

ORG 2000H MOV AL,82H;(10000010B)8255A方式字 MOV DX,0FFFEH;8255A控制字端口地址 OUT DX,AL;送方式字RDPORTB: MOV DL,0FAH;送端口B地址 IN AL,DX;讀端口B數(shù)據(jù) AND AL,0FH;屏蔽高4位

MOV BX,OFFSETSSEGCODE;求段碼首地址 XLAT;查表[BX+AL]→AL MOV DL,0F8H;設(shè)A口地址 OUT DX,AL;段碼輸出到A口顯示

MOV AX,56CH;延時(shí)DELAY: DEC AX JNZ DELAYJMP RDPORTB;返回再次讀B口內(nèi)容 HLT;暫停讀開關(guān)狀態(tài)處理顯示第6章可編程并行接口芯片和串行接口芯片2 ORG 2000H讀開關(guān)狀態(tài)處理顯示第6章可編程并行接68

ORG 2500HSSEGCODE DB0C0H,0F9H,0A4H,0B0H,99H, DB92H,82H,0F8H,80H,98H,88H DB83H,0C6H,0A1H,86H,8EH

;段碼定義(共陰)例如:0C0H=11000000B;顯示“0”PA0=a段=“0”點(diǎn)亮PA1=b段=“0”點(diǎn)亮PA2=c段=“0”點(diǎn)亮PA3=d段=“0”點(diǎn)亮PA4=e段=“0”點(diǎn)亮PA5=f段=“0”點(diǎn)亮PA6=g段=“1”滅PA7=DP段=“1”滅abcdefgDP第6章可編程并行接口芯片和串行接口芯片2 abcdefgDP第6章可編程并行接口芯片和串行接口芯69(1)如果驅(qū)動改為反向器,則段碼應(yīng)修改為:SSEGCODE DB3FH,06H,5BH,4FH,66H, DB6DH,7DH,07H,7FH,67H,77H DB7CH,39H,5EH,79H,71H例如:3FH=0C0H=00111111B;顯示“1”PA0=a段=“1”點(diǎn)亮PA1=b段=“1”點(diǎn)亮PA2=c段=“1”點(diǎn)亮PA3=d段=“1”點(diǎn)亮PA4=e段=“1”點(diǎn)亮PA5=f段=“1”點(diǎn)亮PA6=g段=“0”滅PA7=DP段=“0”滅(2)如果要求7段LED循環(huán)顯示0-F十六個(gè)數(shù),每個(gè)顯示5秒,顯示20遍,則程序?yàn)椋旱?章可編程并行接口芯片和串行接口芯片2(1)如果驅(qū)動改為反向器,則段碼應(yīng)修改為:第6章可編程并行接70 ORG 2000H MOV AL,80H(10000000B);8255A方式字 MOV DX,0FFFEH;8255A控制字端口地址 OUT DX,AL;送方式字

MOV BX,20;循環(huán)次數(shù)20次DISFLOP: LEA DI

溫馨提示

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

最新文檔

評論

0/150

提交評論