




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第6章可編程并行接口芯片和串行接口芯片22022/11/5第6章可編程并行接口芯片和串行接口芯片2第6章可編程并行接口芯片和串行接口芯片22022/11/2第1教學內容(6學時)可編程接口芯片概述8255A芯片的原理8255A芯片的應用實例教學目標理解常用可編程通信接口芯片的作用了解8255A芯片的原理掌握8255A初始化方法掌握8255A作為LED顯示器、開關、打印機等接口時的硬件連接方法和控制程序設計教學重點及難點常用可編程通信接口芯片的作用8255A方式1的工作原理及時序(難點)8255A作為接口時控制程序設計方法(重點)第6章可編程并行接口芯片和串行接口芯片2教學內容(6學時)第6章可編程并行接口芯片和串行接口芯片226.1并行接口和串行接口6.1.1可編程接口芯片概述接口電路中的單元(1)輸入/輸出數據鎖存器和緩沖器,用以解決CPU與外設之間速度不匹配的矛盾,以及起隔離和緩沖的作用;(2)控制命令和狀態(tài)寄存器,以存放CPU對外設的控制命令,以及外設的狀態(tài)信息;(3)地址譯碼器,用來選擇接口電路中的不同端口(寄存器);(4)讀寫控制邏輯;(5)中斷控制邏輯。第6章可編程并行接口芯片和串行接口芯片26.1并行接口和串行接口第6章可編程并行接口芯片和串行接3接口中的一些公用引腳作用及其連接方法
√1.片選概念CS或CE2.讀/寫概念DB線,M/IO線,RD線,WR線,CE/CS線
√3.可編程接口的概念
目前所用的接口芯片大部分是多通道、多功能的:所謂多通道就是指一個接口芯片一面與CPU連接,另一面可接幾個外設;所謂多功能是指一個接口芯片能實現多種接口功能,實現不同的電路工作狀態(tài)。第6章可編程并行接口芯片和串行接口芯片2接口中的一些公用引腳作用及其連接方法第6章可編程并行接口芯片4
√
4.“聯(lián)絡”的概念(了解)
STB:選通信號;RDY:就緒信號(Ready)1)以輸入接口為例:RDY=“H”表示接口芯片中輸入寄存器已空,可接受外設信息以實現外設與接口的輸入操作。STB=“L”表示接口選通,是外設向接口發(fā)出的。過程:1)外設把數據送上接口芯片端口后,用STB信號有效打人接口芯片輸入寄存器;2)在STB的后沿,把RDY信號拉為“L”,表明輸入寄存器已有數據。RDY=“L”正是接口與外設的通信標志,外設接收RDY=”L”后,暫不送數據;3)CPU發(fā)出讀數指令,讀人該數據,并使RDY置“H”。然后,又開始新一輪的輸入操作在輸入接口中,RDY信號有時用IBF(輸入緩沖器滿)表示。第6章可編程并行接口芯片和串行接口芯片2√4.“聯(lián)絡”的概念(了解)過程:1)外設把數據送上接5輸出過程:RDY=“H”,表示接口寄存器已有數據,通知外設來取數;STB=“L”,表示端口數據已為外設接收,且已處理,CPU可送新數據到接口寄存器,STB的后沿使RDY變?yōu)椤癓”。在輸出接口中,RDY信號有時用OBF(輸出緩沖器滿)表示,STB信號有時用ACK(響應)表示。接口芯片的引腳⑴⑵⑶⑷第6章可編程并行接口芯片和串行接口芯片2輸出過程:接口芯片的引腳⑴⑵⑶⑷第6章可編程并行接口芯片和串66.1.2并行接口、串行接口和模擬接口數據信息分:數字量、模擬量和開關量;數字接口(數字量和開關量);模擬接口(模擬量);數字接口分并行接口和串行接口;接口芯片與CPU之間傳送的總是并行數字量;串行接口內必須含并-串/串-并轉換部件;模擬接口內必須含A/D或D/A轉換器第6章可編程并行接口芯片和串行接口芯片26.1.2并行接口、串行接口和模擬接口數據信息分:數字量、76.2可編程并行接口芯片8255A6.2.18255A的結構和引腳功能第6章可編程并行接口芯片和串行接口芯片26.2可編程并行接口芯片8255A6.2.18255A81.數據總線緩沖器 這是一個三態(tài)雙向8位緩沖器,它是8255A與系統(tǒng)數據總線的接口。2.三個8位端口PA、PB和PC(數據端口個數)
PA、PB和PC端口都可由程序設定為各種不同的工作方式。端口A(PA口)有一個8位數據輸入鎖存器和一個8位數據輸出鎖存/緩沖器;端口B(PB口)有一個8位數據輸入緩沖器和一個8位數據輸入/輸出、鎖存/緩沖器;端口C(PC口)有一個8位數據輸入緩沖器和一個8位數據輸出鎖存/緩沖器。通常PA口與PB口用作輸入/輸出的數據端口,PC口用作控制或狀態(tài)信息的端口。一、8255A的內部結構第6章可編程并行接口芯片和串行接口芯片21.數據總線緩沖器一、8255A的內部結構第6章可編程并行接9
3.A組和B組的控制電路(了解)這兩組控制電路根據CPU發(fā)出的方式選擇控制字來控制8255A的工作方式,每個控制組都接收來自讀/寫控制邏輯的“命令”,接收來自內部數據總線的“控制字”,并向與其相連的端口發(fā)出適當的控制信號。
A組控制部件用來控制PA口和PC口的高4位(PC7~PC4);B組控制部件用來控制PB口和PC口的低4位(PC3~PCo)。。4.讀/寫控制邏輯用來管理數據信息、控制字和狀態(tài)字的傳送,它接收來自CPU地址總線的A1、A0和控制總線的有關信號(RD、WR、RESET等),向8255A的A、B兩組控制部件發(fā)送命令。第6章可編程并行接口芯片和串行接口芯片23.A組和B組的控制電路(了解)第6章可編程并行接口芯片和10二、8255A的引腳功能。CS—選片信號,低電平有效,由它啟動CPU與8255A之間的通信(Communication)。RD—讀信號,低電平有效。它控制8255A送出數據或狀態(tài)信息至CPU。WR—寫信號,低電平有效。它控制把CPU輸出的數據或命令信號寫到8255A。RESET——復位信號,高電平有效,它清除控制寄存器并置所有端口(A、B、C)為輸入方式。A1,A0:片內寄存器選擇信號(輸入)A1A0=00:選中PA口;A1A0=01:選中PB口;A1A0=10:選中PC口;A1A0=11:選中控制端口;D7—D0:與CPU側連接的數據線(雙向)
PA7—PA0:A口外設數據線(雙向)PB7—PB0:B口外設數據線(雙向)PC7—PC0:C口外設數據線(雙向)第6章可編程并行接口芯片和串行接口芯片2二、8255A的引腳功能。CS—選片信號,低電平有效,由它11A1A0RDWRCS輸入操作(讀)001010000111000端口A數據總線端口B數據總線端口C數據總線輸出操作(寫)00110101111100000000數據總線端口A數據總線端口B數據總線端口C數據總線控制寄存器斷開功能(禁止)X1XX11X01X11100數據總線為三態(tài)(高阻)非法狀態(tài)數據總線為三態(tài)(高阻)表8-18255A端口功能選擇第6章可編程并行接口芯片和串行接口芯片2A1A0RDWRCS輸入操作(讀)00010端口A數據總線126.2.28255A的工作方式√一、方式0——基本輸入輸出方式0下,每一個口都作為基本的輸入輸出口8255A在方式0工作時
1.CPU可以采用無條件讀寫方式與8255A交換數據;2.把C口的兩個部分用作控制和狀態(tài)口,與外設的控制和狀態(tài)端相連,CPU可以通過對C口的讀寫,實現A口與B口的查詢方式工作;3.方式0中,不允許采用中斷方式工作。第6章可編程并行接口芯片和串行接口芯片26.2.28255A的工作方式√一、方式0——基本13二、方式1——選通輸入輸出(應答式輸入輸出)(了解)方式1下將三個端口分成A、B兩組,A、B兩個口仍作為數據輸入輸出口,而C口分成兩部分,分別作為A口和B口的聯(lián)絡信號。方式1的輸入第6章可編程并行接口芯片和串行接口芯片2二、方式1——選通輸入輸出(應答式輸入輸出)(了解)第6章可14(1)STB:輸入的選通信號低電平有效。由外設提供,為低電平時,就把輸入的數據信號(PA7-PA0或PB7-PB0)送入A端口(或B端口)的數據鎖存器。(2)IBF:輸入緩沖器滿信號,高電平有效。由8255A輸出,有效時,用以通知外部設備輸入的數據已寫入緩沖器。(3)INTR:中斷請求信號高電平有效。當外部設備要向CPU傳送數據或請求服務時,8255A就用INTR端的高電平向CPU提出中斷請求。當STB、IBF和INTE都為高電平時,表明數據鎖存器內已寫入了數據.使INTR成為高電平輸出。(4)INTE:中斷允許信號A端口用PC4位的置位/復位控制,B端口用PC2位的置位/復位控制。只有當PC4或PC2置"1"時,才允許對應的端口送出中斷請求。第6章可編程并行接口芯片和串行接口芯片2(1)STB:輸入的選通信號第6章可編程并行接口芯片和串行接15方式1的輸入過程如下(A口):1)當外設準備好數據,在送出數據的同時,送出一個選通信號STB。8255A的A口數據鎖存器在STB下降沿控制下將數據鎖存。2)8255A向外設送出高電平的IBF,表示鎖存數據已完成,暫時不要再送數據。如果PC4=1(INTE=1),這時就會使INTR變成高電平輸出,向CPU發(fā)出中斷請求。3)CPU響應中斷,執(zhí)行IN指令時,RD信號的下降沿清除中斷請求,而RD結束時的上升沿則使IBF復位到零。外設在檢測到IBF為零后,可以開始輸入下一個字節(jié)。2.方式1的輸出聯(lián)絡信號信號的作用如下:(1)OBF:輸出緩沖器滿信號;低電平有效。由8255A輸出,當其有效時,表示CPU已經將數據輸出到指定的端口,通知外設可以將數據取走。(2)ACK:響應信號,低電平有效。由外設送來,有效時表示8255A數據已經為外設所接收。
第6章可編程并行接口芯片和串行接口芯片2方式1的輸入過程如下(A口):第6章可編程并行接口芯片和串行16(3)INTR:中斷請求信號高電平有效。當外設接收了由CPU送給8255A的數據后,8255A就用INTR端向CPU發(fā)出中斷請求,請求CPU再輸出后面的數據。INTR是當ACK,OBF和INTE都為高電平時,才能被置成高電平。(4)INTE:中斷允許信號。A口的INTE由PC6置/復位,B口的INTE由PC2置/復位。PC4、PC5位可以由控制字的D3,設置為輸入或輸出數據用。方式1的輸出過程如下(A口):1)微處理器發(fā)WR信號,將數據送入端口的輸出緩沖器,WR上升沿一方面清除INTR信號,另一方面使OBF有效,通知外設可以取數;2)外設取數后,發(fā)ACK信號,一方面使OBF無效(表示數已取走),另一方面使INTR有效,開始另一個新的輸出過程。三、方式2——雙向選通輸入輸出(了解)
通過8位數據線與外設進行雙向通信的方式,既能發(fā)送,又能接收數據。工作時可以用中斷方式,也可以用查詢方式與CPU聯(lián)系。第6章可編程并行接口芯片和串行接口芯片2(3)INTR:中斷請求信號第6章可編程并行接口芯片和串17第6章可編程并行接口芯片和串行接口芯片2第6章可編程并行接口芯片和串行接口芯片2186.2.38255A的初始化一、方式控制字第6章可編程并行接口芯片和串行接口芯片26.2.38255A的初始化一、方式控制字第6章可編程19二、C口按位置/復位(了解)第6章可編程并行接口芯片和串行接口芯片2二、C口按位置/復位(了解)第6章可編程并行接口芯片和串行接20例:用程序將pc口的第七位置1,第3位置0。設控制口地址為:0EBH
MOVAL,00001111B;0FHOUT0EBH,AL
MOVAL,00000110B;06HOUT0EBH,AL第6章可編程并行接口芯片和串行接口芯片2例:用程序將pc口的第七位置1,第3位置0。216.2.48255A的應用舉例√例1:在一系統(tǒng)中,要求8255A工作在方式0?,F要求將從A口讀取的數據1)求反后從B口輸出;2)將其絕對值從C口輸出0
Moval,90hOut63h,al
;送控制字到控制字寄存器。Calldelay1Inal,60h;從A口輸入數據1)Calldelay2NOTALOut61h,al;從B口輸出數據2)Calldelay3CMPAL,0JGEPLDNEGALPLD:Out62h,al
;從C口輸出數據60h~63h10010000第6章可編程并行接口芯片和串行接口芯片26.2.48255A的應用舉例√例1:在一系統(tǒng)中,要求22√例2:假定在一個系統(tǒng)中,要求8255工作在方式1,端口A為輸出,端口B為輸入,PC4~PC5
為輸出,禁止端口B中斷.要求:1)對8255A初始化;2)在PC4引腳上輸出負脈沖信號。(了解)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:假定在一個系統(tǒng)中,要求8255工作在方式1,端口A為23例6-2開關接口D0-D7PA0A0PA1A1PA2PA3CSPA4PA5PA6RDPA7WR8255AS0S1S2S3S4S5S6S7+5v編程:每隔5分鐘從PA口讀入8個開關的狀態(tài)存入2000H:3000H開始的數據區(qū),工作10小時結束。設8255A的端口地址為60H~63HINAL,60HMOVAX,2000HMOVDS,AXMOVBX,3000H內存初始化MOVCX,120循環(huán)次數初始化10×60/5=120MOVAL,10010000B(90H)OUT63H,AL8255A初始化MOV[BX],ALINCBXCALLDELAY5MDECCXJNZLOPMOVAH,4CHINT21HLOP:PA口讀開關狀態(tài)將開關狀態(tài)送人內存并修改地址指針延時5分工作10小時嗎工作結束,返回DOS系統(tǒng)第6章可編程并行接口芯片和串行接口芯片2例6-2開關接口D0-D7PA0S0+5v編程:每24七段LED顯示接口七段(或八段)LED數碼管簡介abcdefgDPabcDefgDPabcdefgDP陰極陽極圖6-20七段(或八段)LED數碼管第6章可編程并行接口芯片和串行接口芯片2七段LED顯示接口七段(或八段)LED數碼管簡介abcdef25例6-3LED接口編程:開始點亮LED7,每隔5妙鐘發(fā)光燈向上移動一個,循環(huán)點亮8個燈,工作10小時結束。設8255A的端口地址為60H~63HD0-D7PA0A0PA1A1PA2PA3CSPA4PA5PA6RDPA7WR8255A+5vLED0LED1LED2LED3LED4LED5LED6LED7MOVAL,7FHOUT60H,ALMOVCX,7200循環(huán)次數初始化10×60×60/5=7200MOVAL,10000000B(80H)OUT63H,AL8255A初始化RORAL,01HCALLDELAY5SLOOPLOPMOVAH,4CHINT21HPA口送燈控制字1—滅0-亮改變燈控制字延時5妙工作10小時嗎工作結束,返回DOS系統(tǒng)LOP:第6章可編程并行接口芯片和串行接口芯片2例6-3LED接口編程:開始點亮LED7,每隔5妙鐘發(fā)26例6-8LED/開關接口(p214)鎖存器譯碼器AD0-AD7
ALEAD8-AD15BHE8086RDWRRESETY0D0-D7PA0A0PA1A1PA2PA3CSPA48255APA5PA6RDPA7WRPB3RESETPB2PB1PB0圖6-238086CPU、8255A同開關7段LED的接口LED第6章可編程并行接口芯片和串行接口芯片2例6-8LED/開關接口(p214)鎖譯AD0-A278255A111+5v+5vPA0PA1PA7PB3PB2PB1PB0abDP8255A初始化PA口輸出、PB口輸入工作于方式0從PB口讀入信息屏蔽高4位,取開關狀態(tài)查7段顯示碼表從PA口輸出7段顯示碼延時程序流程(工作原理)A1A2A0A1要求:用7段顯示器現實開關的狀態(tài)設:8255A端口地址0FFF8H、0FFFAH、0FFFCH、0FFFEH第6章可編程并行接口芯片和串行接口芯片28255A111+5v+5vPA0PA1PA7PB3PB2P28解題分析(1)8255A的負載能力較小,所以輸出口PA經驅動器同7段LED顯示器連接;(2)8255A設置為方式0工作,PA口輸出,PB口輸入;(3)由于8255A的A0A1與CPU的A1A2相連接,A0可以為“1”或“0”,因此,每個端口有兩個地址,如:PA口地址為0FF8H或0FF9H;(4)按題意可寫出控制程序如下:第6章可編程并行接口芯片和串行接口芯片2解題分析(1)8255A的負載能力較小,所以輸出口PA經驅動29
ORG 2000H MOV AL,82H;(10000010B)8255A方式字 MOV DX,0FFFEH;8255A控制字端口地址 OUT DX,AL;送方式字RDPORTB: MOV DL,0FAH;送端口B地址 IN AL,DX;讀端口B數據 AND AL,0FH;屏蔽高4位
MOV BX,OFFSETSSEGCODE;求段碼首地址 XLAT;查表[BX+AL]→AL MOV DL,0F8H;設A口地址 OUT DX,AL;段碼輸出到A口顯示
MOV AX,56CH;延時DELAY: DEC AX JNZ DELAYJMP RDPORTB;返回再次讀B口內容 HLT;暫停讀開關狀態(tài)處理顯示第6章可編程并行接口芯片和串行接口芯片2 ORG 2000H讀開關狀態(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”點亮PA1=b段=“0”點亮PA2=c段=“0”點亮PA3=d段=“0”點亮PA4=e段=“0”點亮PA5=f段=“0”點亮PA6=g段=“1”滅PA7=DP段=“1”滅abcdefgDP第6章可編程并行接口芯片和串行接口芯片2 abcdefgDP第6章可編程并行接口芯片和串行接口芯31(1)如果驅動改為反向器,則段碼應修改為:SSEGCODE DB3FH,06H,5BH,4FH,66H, DB6DH,7DH,07H,7FH,67H,77H DB7CH,39H,5EH,79H,71H例如:3FH=0C0H=00111111B;顯示“1”PA0=a段=“1”點亮PA1=b段=“1”點亮PA2=c段=“1”點亮PA3=d段=“1”點亮PA4=e段=“1”點亮PA5=f段=“1”點亮PA6=g段=“0”滅PA7=DP段=“0”滅(2)如果要求7段LED循環(huán)顯示0-F十六個數,每個顯示5秒,顯示20遍,則程序為:第6章可編程并行接口芯片和串行接口芯片2(1)如果驅動改為反向器,則段碼應修改為:第6章可編程并行接32 ORG 2000H MOV AL,80H(10000000B);8255A方式字 MOV DX,0FFFEH;8255A控制字端口地址 OUT DX,AL;送方式字
MOV BX,20;循環(huán)次數20次DISFLOP: LEA DI,SSEGCODE;求段碼首地址 MOV CX,16;顯示字符個數LOP: MOV AL,[DI];取顯示字符送A口 MOV DL,0F8H;設A口地址 OUT DX,AL
;段碼輸出到A口顯示
INC DI
;修改顯示指針 CALL DELAY5S;延時5秒子程序
LOOPLOP;循環(huán)16次
DEC BX;修改循環(huán)20次的計數值JNZ DISPLOP;返回再次讀B口內容A口顯示一個字符A口顯示0~F共16個字符A口重復顯示(0~F)16個字符共20遍8255A初始化第6章可編程并行接口芯片和串行接口芯片2 ORG 2000HA口顯示A口顯示0~F共16個字符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”點亮PA1=b段=“0”點亮PA2=c段=“0”點亮PA3=d段=“0”點亮PA4=e段=“0”點亮PA5=f段=“0”點亮PA6=g段=“1”滅PA7=DP段=“1”滅第6章可編程并行接口芯片和串行接口芯片2 第6章可編程并行接口芯片和串行接口芯片234例:8255A組成交通燈的控制?!叹帉懗绦驅崿F下列功能:K0、K1、K2全部閉合時,紅燈亮;K0、K1、K2全部打開時,綠燈亮;其他情況黃燈亮。
分析:K0、K1、K2全部閉合,PA2PA1PA0:000(00H),紅燈亮:PB2PB1PB0:100(04H);K0、K1、K2全部打開,PA2PA1PA0:111(07H),綠燈亮:PB2PB1PB0:010(02H);其他情況黃燈亮:PB2PB1PB0:001(01H);。第6章可編程并行接口芯片和串行接口芯片2例:8255A組成交通燈的控制?!谭治觯旱?章可編程并行接口35根據電路圖可知: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根據電路圖可知:8255工作于方式0,A口作輸入口,B口作輸36√6.22用一片8255A控制一組紅、綠、黃燈,如習圖8-8所示,反復檢測s1、s2,要求由s1、s2的“閉合”和“斷開”控制紅、綠、黃3燈的點亮。
當s1合,S2合時,黃燈亮;
當s1合,s2斷時,紅燈亮;
當s1斷,s2合時,綠燈亮;
當s1斷,s2斷時,黃燈亮。
試根據上述條件編制初始化程序以及控制程序(已知8255A的端口地址為60H~63H。
當s1合,S2合時,黃燈亮;當s1合,s2斷時,紅燈亮;
當s1斷,s2合時,綠燈亮;當s1斷,s2斷時,黃燈亮。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控制一組紅、綠、黃燈,如習圖8-837演講完畢,謝謝聽講!再見,seeyouagain3rew2022/11/5第6章可編程并行接口芯片和串行接口芯片2演講完畢,謝謝聽講!再見,seeyouagain3rew38第6章可編程并行接口芯片和串行接口芯片22022/11/5第6章可編程并行接口芯片和串行接口芯片2第6章可編程并行接口芯片和串行接口芯片22022/11/2第39教學內容(6學時)可編程接口芯片概述8255A芯片的原理8255A芯片的應用實例教學目標理解常用可編程通信接口芯片的作用了解8255A芯片的原理掌握8255A初始化方法掌握8255A作為LED顯示器、開關、打印機等接口時的硬件連接方法和控制程序設計教學重點及難點常用可編程通信接口芯片的作用8255A方式1的工作原理及時序(難點)8255A作為接口時控制程序設計方法(重點)第6章可編程并行接口芯片和串行接口芯片2教學內容(6學時)第6章可編程并行接口芯片和串行接口芯片2406.1并行接口和串行接口6.1.1可編程接口芯片概述接口電路中的單元(1)輸入/輸出數據鎖存器和緩沖器,用以解決CPU與外設之間速度不匹配的矛盾,以及起隔離和緩沖的作用;(2)控制命令和狀態(tài)寄存器,以存放CPU對外設的控制命令,以及外設的狀態(tài)信息;(3)地址譯碼器,用來選擇接口電路中的不同端口(寄存器);(4)讀寫控制邏輯;(5)中斷控制邏輯。第6章可編程并行接口芯片和串行接口芯片26.1并行接口和串行接口第6章可編程并行接口芯片和串行接41接口中的一些公用引腳作用及其連接方法
√1.片選概念CS或CE2.讀/寫概念DB線,M/IO線,RD線,WR線,CE/CS線
√3.可編程接口的概念
目前所用的接口芯片大部分是多通道、多功能的:所謂多通道就是指一個接口芯片一面與CPU連接,另一面可接幾個外設;所謂多功能是指一個接口芯片能實現多種接口功能,實現不同的電路工作狀態(tài)。第6章可編程并行接口芯片和串行接口芯片2接口中的一些公用引腳作用及其連接方法第6章可編程并行接口芯片42
√
4.“聯(lián)絡”的概念(了解)
STB:選通信號;RDY:就緒信號(Ready)1)以輸入接口為例:RDY=“H”表示接口芯片中輸入寄存器已空,可接受外設信息以實現外設與接口的輸入操作。STB=“L”表示接口選通,是外設向接口發(fā)出的。過程:1)外設把數據送上接口芯片端口后,用STB信號有效打人接口芯片輸入寄存器;2)在STB的后沿,把RDY信號拉為“L”,表明輸入寄存器已有數據。RDY=“L”正是接口與外設的通信標志,外設接收RDY=”L”后,暫不送數據;3)CPU發(fā)出讀數指令,讀人該數據,并使RDY置“H”。然后,又開始新一輪的輸入操作在輸入接口中,RDY信號有時用IBF(輸入緩沖器滿)表示。第6章可編程并行接口芯片和串行接口芯片2√4.“聯(lián)絡”的概念(了解)過程:1)外設把數據送上接43輸出過程:RDY=“H”,表示接口寄存器已有數據,通知外設來取數;STB=“L”,表示端口數據已為外設接收,且已處理,CPU可送新數據到接口寄存器,STB的后沿使RDY變?yōu)椤癓”。在輸出接口中,RDY信號有時用OBF(輸出緩沖器滿)表示,STB信號有時用ACK(響應)表示。接口芯片的引腳⑴⑵⑶⑷第6章可編程并行接口芯片和串行接口芯片2輸出過程:接口芯片的引腳⑴⑵⑶⑷第6章可編程并行接口芯片和串446.1.2并行接口、串行接口和模擬接口數據信息分:數字量、模擬量和開關量;數字接口(數字量和開關量);模擬接口(模擬量);數字接口分并行接口和串行接口;接口芯片與CPU之間傳送的總是并行數字量;串行接口內必須含并-串/串-并轉換部件;模擬接口內必須含A/D或D/A轉換器第6章可編程并行接口芯片和串行接口芯片26.1.2并行接口、串行接口和模擬接口數據信息分:數字量、456.2可編程并行接口芯片8255A6.2.18255A的結構和引腳功能第6章可編程并行接口芯片和串行接口芯片26.2可編程并行接口芯片8255A6.2.18255A461.數據總線緩沖器 這是一個三態(tài)雙向8位緩沖器,它是8255A與系統(tǒng)數據總線的接口。2.三個8位端口PA、PB和PC(數據端口個數)
PA、PB和PC端口都可由程序設定為各種不同的工作方式。端口A(PA口)有一個8位數據輸入鎖存器和一個8位數據輸出鎖存/緩沖器;端口B(PB口)有一個8位數據輸入緩沖器和一個8位數據輸入/輸出、鎖存/緩沖器;端口C(PC口)有一個8位數據輸入緩沖器和一個8位數據輸出鎖存/緩沖器。通常PA口與PB口用作輸入/輸出的數據端口,PC口用作控制或狀態(tài)信息的端口。一、8255A的內部結構第6章可編程并行接口芯片和串行接口芯片21.數據總線緩沖器一、8255A的內部結構第6章可編程并行接47
3.A組和B組的控制電路(了解)這兩組控制電路根據CPU發(fā)出的方式選擇控制字來控制8255A的工作方式,每個控制組都接收來自讀/寫控制邏輯的“命令”,接收來自內部數據總線的“控制字”,并向與其相連的端口發(fā)出適當的控制信號。
A組控制部件用來控制PA口和PC口的高4位(PC7~PC4);B組控制部件用來控制PB口和PC口的低4位(PC3~PCo)。。4.讀/寫控制邏輯用來管理數據信息、控制字和狀態(tài)字的傳送,它接收來自CPU地址總線的A1、A0和控制總線的有關信號(RD、WR、RESET等),向8255A的A、B兩組控制部件發(fā)送命令。第6章可編程并行接口芯片和串行接口芯片23.A組和B組的控制電路(了解)第6章可編程并行接口芯片和48二、8255A的引腳功能。CS—選片信號,低電平有效,由它啟動CPU與8255A之間的通信(Communication)。RD—讀信號,低電平有效。它控制8255A送出數據或狀態(tài)信息至CPU。WR—寫信號,低電平有效。它控制把CPU輸出的數據或命令信號寫到8255A。RESET——復位信號,高電平有效,它清除控制寄存器并置所有端口(A、B、C)為輸入方式。A1,A0:片內寄存器選擇信號(輸入)A1A0=00:選中PA口;A1A0=01:選中PB口;A1A0=10:選中PC口;A1A0=11:選中控制端口;D7—D0:與CPU側連接的數據線(雙向)
PA7—PA0:A口外設數據線(雙向)PB7—PB0:B口外設數據線(雙向)PC7—PC0:C口外設數據線(雙向)第6章可編程并行接口芯片和串行接口芯片2二、8255A的引腳功能。CS—選片信號,低電平有效,由它49A1A0RDWRCS輸入操作(讀)001010000111000端口A數據總線端口B數據總線端口C數據總線輸出操作(寫)00110101111100000000數據總線端口A數據總線端口B數據總線端口C數據總線控制寄存器斷開功能(禁止)X1XX11X01X11100數據總線為三態(tài)(高阻)非法狀態(tài)數據總線為三態(tài)(高阻)表8-18255A端口功能選擇第6章可編程并行接口芯片和串行接口芯片2A1A0RDWRCS輸入操作(讀)00010端口A數據總線506.2.28255A的工作方式√一、方式0——基本輸入輸出方式0下,每一個口都作為基本的輸入輸出口8255A在方式0工作時
1.CPU可以采用無條件讀寫方式與8255A交換數據;2.把C口的兩個部分用作控制和狀態(tài)口,與外設的控制和狀態(tài)端相連,CPU可以通過對C口的讀寫,實現A口與B口的查詢方式工作;3.方式0中,不允許采用中斷方式工作。第6章可編程并行接口芯片和串行接口芯片26.2.28255A的工作方式√一、方式0——基本51二、方式1——選通輸入輸出(應答式輸入輸出)(了解)方式1下將三個端口分成A、B兩組,A、B兩個口仍作為數據輸入輸出口,而C口分成兩部分,分別作為A口和B口的聯(lián)絡信號。方式1的輸入第6章可編程并行接口芯片和串行接口芯片2二、方式1——選通輸入輸出(應答式輸入輸出)(了解)第6章可52(1)STB:輸入的選通信號低電平有效。由外設提供,為低電平時,就把輸入的數據信號(PA7-PA0或PB7-PB0)送入A端口(或B端口)的數據鎖存器。(2)IBF:輸入緩沖器滿信號,高電平有效。由8255A輸出,有效時,用以通知外部設備輸入的數據已寫入緩沖器。(3)INTR:中斷請求信號高電平有效。當外部設備要向CPU傳送數據或請求服務時,8255A就用INTR端的高電平向CPU提出中斷請求。當STB、IBF和INTE都為高電平時,表明數據鎖存器內已寫入了數據.使INTR成為高電平輸出。(4)INTE:中斷允許信號A端口用PC4位的置位/復位控制,B端口用PC2位的置位/復位控制。只有當PC4或PC2置"1"時,才允許對應的端口送出中斷請求。第6章可編程并行接口芯片和串行接口芯片2(1)STB:輸入的選通信號第6章可編程并行接口芯片和串行接53方式1的輸入過程如下(A口):1)當外設準備好數據,在送出數據的同時,送出一個選通信號STB。8255A的A口數據鎖存器在STB下降沿控制下將數據鎖存。2)8255A向外設送出高電平的IBF,表示鎖存數據已完成,暫時不要再送數據。如果PC4=1(INTE=1),這時就會使INTR變成高電平輸出,向CPU發(fā)出中斷請求。3)CPU響應中斷,執(zhí)行IN指令時,RD信號的下降沿清除中斷請求,而RD結束時的上升沿則使IBF復位到零。外設在檢測到IBF為零后,可以開始輸入下一個字節(jié)。2.方式1的輸出聯(lián)絡信號信號的作用如下:(1)OBF:輸出緩沖器滿信號;低電平有效。由8255A輸出,當其有效時,表示CPU已經將數據輸出到指定的端口,通知外設可以將數據取走。(2)ACK:響應信號,低電平有效。由外設送來,有效時表示8255A數據已經為外設所接收。
第6章可編程并行接口芯片和串行接口芯片2方式1的輸入過程如下(A口):第6章可編程并行接口芯片和串行54(3)INTR:中斷請求信號高電平有效。當外設接收了由CPU送給8255A的數據后,8255A就用INTR端向CPU發(fā)出中斷請求,請求CPU再輸出后面的數據。INTR是當ACK,OBF和INTE都為高電平時,才能被置成高電平。(4)INTE:中斷允許信號。A口的INTE由PC6置/復位,B口的INTE由PC2置/復位。PC4、PC5位可以由控制字的D3,設置為輸入或輸出數據用。方式1的輸出過程如下(A口):1)微處理器發(fā)WR信號,將數據送入端口的輸出緩沖器,WR上升沿一方面清除INTR信號,另一方面使OBF有效,通知外設可以取數;2)外設取數后,發(fā)ACK信號,一方面使OBF無效(表示數已取走),另一方面使INTR有效,開始另一個新的輸出過程。三、方式2——雙向選通輸入輸出(了解)
通過8位數據線與外設進行雙向通信的方式,既能發(fā)送,又能接收數據。工作時可以用中斷方式,也可以用查詢方式與CPU聯(lián)系。第6章可編程并行接口芯片和串行接口芯片2(3)INTR:中斷請求信號第6章可編程并行接口芯片和串55第6章可編程并行接口芯片和串行接口芯片2第6章可編程并行接口芯片和串行接口芯片2566.2.38255A的初始化一、方式控制字第6章可編程并行接口芯片和串行接口芯片26.2.38255A的初始化一、方式控制字第6章可編程57二、C口按位置/復位(了解)第6章可編程并行接口芯片和串行接口芯片2二、C口按位置/復位(了解)第6章可編程并行接口芯片和串行接58例:用程序將pc口的第七位置1,第3位置0。設控制口地址為:0EBH
MOVAL,00001111B;0FHOUT0EBH,AL
MOVAL,00000110B;06HOUT0EBH,AL第6章可編程并行接口芯片和串行接口芯片2例:用程序將pc口的第七位置1,第3位置0。596.2.48255A的應用舉例√例1:在一系統(tǒng)中,要求8255A工作在方式0?,F要求將從A口讀取的數據1)求反后從B口輸出;2)將其絕對值從C口輸出0
Moval,90hOut63h,al
;送控制字到控制字寄存器。Calldelay1Inal,60h;從A口輸入數據1)Calldelay2NOTALOut61h,al;從B口輸出數據2)Calldelay3CMPAL,0JGEPLDNEGALPLD:Out62h,al
;從C口輸出數據60h~63h10010000第6章可編程并行接口芯片和串行接口芯片26.2.48255A的應用舉例√例1:在一系統(tǒng)中,要求60√例2:假定在一個系統(tǒng)中,要求8255工作在方式1,端口A為輸出,端口B為輸入,PC4~PC5
為輸出,禁止端口B中斷.要求:1)對8255A初始化;2)在PC4引腳上輸出負脈沖信號。(了解)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:假定在一個系統(tǒng)中,要求8255工作在方式1,端口A為61例6-2開關接口D0-D7PA0A0PA1A1PA2PA3CSPA4PA5PA6RDPA7WR8255AS0S1S2S3S4S5S6S7+5v編程:每隔5分鐘從PA口讀入8個開關的狀態(tài)存入2000H:3000H開始的數據區(qū),工作10小時結束。設8255A的端口地址為60H~63HINAL,60HMOVAX,2000HMOVDS,AXMOVBX,3000H內存初始化MOVCX,120循環(huán)次數初始化10×60/5=120MOVAL,10010000B(90H)OUT63H,AL8255A初始化MOV[BX],ALINCBXCALLDELAY5MDECCXJNZLOPMOVAH,4CHINT21HLOP:PA口讀開關狀態(tài)將開關狀態(tài)送人內存并修改地址指針延時5分工作10小時嗎工作結束,返回DOS系統(tǒng)第6章可編程并行接口芯片和串行接口芯片2例6-2開關接口D0-D7PA0S0+5v編程:每62七段LED顯示接口七段(或八段)LED數碼管簡介abcdefgDPabcDefgDPabcdefgDP陰極陽極圖6-20七段(或八段)LED數碼管第6章可編程并行接口芯片和串行接口芯片2七段LED顯示接口七段(或八段)LED數碼管簡介abcdef63例6-3LED接口編程:開始點亮LED7,每隔5妙鐘發(fā)光燈向上移動一個,循環(huán)點亮8個燈,工作10小時結束。設8255A的端口地址為60H~63HD0-D7PA0A0PA1A1PA2PA3CSPA4PA5PA6RDPA7WR8255A+5vLED0LED1LED2LED3LED4LED5LED6LED7MOVAL,7FHOUT60H,ALMOVCX,7200循環(huán)次數初始化10×60×60/5=7200MOVAL,10000000B(80H)OUT63H,AL8255A初始化RORAL,01HCALLDELAY5SLOOPLOPMOVAH,4CHINT21HPA口送燈控制字1—滅0-亮改變燈控制字延時5妙工作10小時嗎工作結束,返回DOS系統(tǒng)LOP:第6章可編程并行接口芯片和串行接口芯片2例6-3LED接口編程:開始點亮LED7,每隔5妙鐘發(fā)64例6-8LED/開關接口(p214)鎖存器譯碼器AD0-AD7
ALEAD8-AD15BHE8086RDWRRESETY0D0-D7PA0A0PA1A1PA2PA3CSPA48255APA5PA6RDPA7WRPB3RESETPB2PB1PB0圖6-238086CPU、8255A同開關7段LED的接口LED第6章可編程并行接口芯片和串行接口芯片2例6-8LED/開關接口(p214)鎖譯AD0-A658255A111+5v+5vPA0PA1PA7PB3PB2PB1PB0abDP8255A初始化PA口輸出、PB口輸入工作于方式0從PB口讀入信息屏蔽高4位,取開關狀態(tài)查7段顯示碼表從PA口輸出7段顯示碼延時程序流程(工作原理)A1A2A0A1要求:用7段顯示器現實開關的狀態(tài)設:8255A端口地址0FFF8H、0FFFAH、0FFFCH、0FFFEH第6章可編程并行接口芯片和串行接口芯片28255A111+5v+5vPA0PA1PA7PB3PB2P66解題分析(1)8255A的負載能力較小,所以輸出口PA經驅動器同7段LED顯示器連接;(2)8255A設置為方式0工作,PA口輸出,PB口輸入;(3)由于8255A的A0A1與CPU的A1A2相連接,A0可以為“1”或“0”,因此,每個端口有兩個地址,如:PA口地址為0FF8H或0FF9H;(4)按題意可寫出控制程序如下:第6章可編程并行接口芯片和串行接口芯片2解題分析(1)8255A的負載能力較小,所以輸出口PA經驅動67
ORG 2000H MOV AL,82H;(10000010B)8255A方式字 MOV DX,0FFFEH;8255A控制字端口地址 OUT DX,AL;送方式字RDPORTB: MOV DL,0FAH;送端口B地址 IN AL,DX;讀端口B數據 AND AL,0FH;屏蔽高4位
MOV BX,OFFSETSSEGCODE;求段碼首地址 XLAT;查表[BX+AL]→AL MOV DL,0F8H;設A口地址 OUT DX,AL;段碼輸出到A口顯示
MOV AX,56CH;延時DELAY: DEC AX JNZ DELAYJMP RDPORTB;返回再次讀B口內容 HLT;暫停讀開關狀態(tài)處理顯示第6章可編程并行接口芯片和串行接口芯片2 ORG 2000H讀開關狀態(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”點亮PA1=b段=“0”點亮PA2=c段=“0”點亮PA3=d段=“0”點亮PA4=e段=“0”點亮PA5=f段=“0”點亮PA6=g段=“1”滅PA7=DP段=“1”滅abcdefgDP第6章可編程并行接口芯片和串行接口芯片2 abcdefgDP第6章可編程并行接口芯片和串行接口芯69(1)如果驅動改為反向器,則段碼應修改為:SSEGCODE DB3FH,06H,5BH,4FH,66H, DB6DH,7DH,07H,7FH,67H,77H DB7CH,39H,5EH,79H,71H例如:3FH=0C0H=00111111B;顯示“1”PA0=a段=“1”點亮PA1=b段=“1”點亮PA2=c段=“1”點亮PA3=d段=“1”點亮PA4=e段=“1”點亮PA5=f段=“1”點亮PA6=g段=“0”滅PA7=DP段=“0”滅(2)如果要求7段LED循環(huán)顯示0-F十六個數,每個顯示5秒,顯示20遍,則程序為:第6章可編程并行接口芯片和串行接口芯片2(1)如果驅動改為反向器,則段碼應修改為:第6章可編程并行接70 ORG 2000H MOV AL,80H(10000000B);8255A方式字 MOV DX,0FFFEH;8255A控制字端口地址 OUT DX,AL;送方式字
MOV BX,20;循環(huán)次數20次DISFLOP: LEA DI
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 河南工業(yè)和信息化職業(yè)學院《信息管理專業(yè)研究方法論與創(chuàng)新教育》2023-2024學年第二學期期末試卷
- 天津美術學院《生物統(tǒng)計與田間試驗設計》2023-2024學年第二學期期末試卷
- 廣州華商職業(yè)學院《泰國社會與文化》2023-2024學年第二學期期末試卷
- 錦州醫(yī)科大學《電路電子技術與數學邏輯》2023-2024學年第二學期期末試卷
- 馬鞍山師范高等??茖W?!段膶W概論2》2023-2024學年第二學期期末試卷
- 江西建設職業(yè)技術學院《生物工程進展專題》2023-2024學年第二學期期末試卷
- 山東輕工職業(yè)學院《傳統(tǒng)建筑理論》2023-2024學年第二學期期末試卷
- 上海商學院《建筑工程材料實訓》2023-2024學年第二學期期末試卷
- 貴州黔南科技學院《材料科學基礎B》2023-2024學年第二學期期末試卷
- 閩南科技學院《計算機視覺基礎》2023-2024學年第二學期期末試卷
- 小學數學最新人教版三年級下冊第一單元《位置與方向(一)》單元測試題(答案解析)
- 細胞生物學(全套1047張課件)
- 人機料法環(huán)五要素如何管理
- 20級大學物理(下)A卷期終試卷及答案解析-南京理工大學
- 新北師大版(2022) 選擇性必修第三冊 Unit 8 Literature Lesson 1 The Last Leaf 教案
- 地震應急預案及應急演練腳本
- 道教系統(tǒng)諸神仙位寶誥全譜
- 二十四節(jié)氣文化融入幼兒園食育的有效途徑
- 統(tǒng)計過程控制SPC培訓資料
- 回字格+米字格練字模版(A4最大利用率)
- 食品經營操作流程圖
評論
0/150
提交評論