版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
8常用可編程并行數(shù)字接口芯片及其應(yīng)用目前常用的可編程芯片有如下幾種:8255A
并行I/O接口8253/8254
計數(shù)器/定時器8259A
中斷控制器8237ADMA控制器通信(根據(jù)信息交換方式分類)并行通信串行通信可編程不可編程8.1可編程接口芯片的基本概念8.2定時/計數(shù)8253/8254
8.2.1系統(tǒng)的時間基準
計算機是一種嚴格按時序進行工作的數(shù)字化、智能化機器,因此,它離不開定時與計數(shù)。第一,計算機系統(tǒng)本身需要一個時間基準,以保證計算機在確定時刻完成規(guī)定動作,如動態(tài)存儲器的定時刷新等。計算機系統(tǒng)本身的時間基準是它的主時鐘頻率(主頻)第二,用計算機構(gòu)成的測控系統(tǒng)常被要求能提供一些定時和計數(shù)的功能,如定時中斷,定時檢測、以及其它定時處理等。
定時與計數(shù)的本質(zhì)是一樣的,區(qū)別在于計數(shù)器的輸入信號CLK的不同。系統(tǒng)定時分類
1、軟件定時
軟件定時是實現(xiàn)系統(tǒng)定時或延時控制的最簡單的方法。軟件定時是指CPU執(zhí)行一段具有固定延時時間的循環(huán)程序。優(yōu)點是不需要外加硬件電路且定時精確。缺點是定時過程中,CPU一直在執(zhí)行該定時程序,不能做其它工作,定時時間越長,CPU的開銷越大,而且不能響應(yīng)中斷,否則定時就不準確了。2、硬件定時
硬件定時是指由硬件電路來實現(xiàn)的定時。硬件定時的優(yōu)點減輕CPU的負擔,使得在定時期間CPU能做其它工作。
不可編程的硬件定時如555時基電路;缺點:元件參數(shù)一經(jīng)設(shè)定就不能改變,電路調(diào)試也比較麻煩。另外,時間一長,電阻、電容器件老化,電路工作不穩(wěn)定,會嚴重影響定時準確度和穩(wěn)定性。
可編程硬件定時,它是一種軟硬件結(jié)合的定時方法,是為了克服單獨的軟件定時和硬件定時的缺點,而將硬件電路做成通用的定時/計數(shù)器并集成到一個硅片上,其定時參數(shù)和工作方式又可由軟件來控制。如Intel的8253定時/計數(shù)器。8.2.18253主要特性
8253是為微型計算機配套而設(shè)計的一個可編程定時器/計數(shù)器芯片,24引腳雙列直插式封裝,采用單一的正5V。1、片內(nèi)具有3個獨立的16位減法計數(shù)器(或稱計數(shù)通道),每個計數(shù)器又可分成兩個8位的計數(shù)器。2、計數(shù)頻率為0~2MHz。3、兩種計數(shù)方式:即二進制或BCD方式計數(shù)。4、六種工作方式,既可對系統(tǒng)時鐘脈沖計數(shù)實現(xiàn)定時,又可對外部事件進行計數(shù)。5、可由軟件或硬件控制開始計數(shù)或停止計數(shù)。8.2.28253內(nèi)部結(jié)構(gòu)
數(shù)據(jù)總線緩沖器8D0~D7內(nèi)部總線CLK0計數(shù)器0GATE0OUT0計數(shù)器1CLK1GATE1OUT1計數(shù)器2CLK2GATE2OUT2讀/寫邏輯A0A1WRRDCS控制字寄存器1.數(shù)據(jù)總線緩沖器,CPU通過其傳遞對
8253進行讀寫的內(nèi)容;2.讀寫邏輯控制,對8253內(nèi)部寄存器的讀寫操作3.控制寄存器(8位)——存放CPU送來的控制字,控制8253的工作方式及計數(shù)初值的寫入。4.有三個獨立的計數(shù)/定時通道——
計數(shù)器0,計數(shù)器1,計數(shù)器2。計數(shù)通道內(nèi)部邏輯框圖計數(shù)初值寄存器(16位):用于存放計數(shù)初值。在初始化時裝入的,一旦裝入,計數(shù)過程中保持不變。計數(shù)采用二進制(0~FFFFH)或BCD碼(0~9999H)(計數(shù)初值R)=0000H時,初值max=65536/10000(計數(shù)初值R)=0001H時,初值min=1/1減1計數(shù)器(16位):用于進行減1計數(shù)操作,每來一個CLK,它就作減1運算,直至將計數(shù)初值減為零。
當前計數(shù)值鎖存器(16位):用于鎖存減1計數(shù)器的內(nèi)容,以供讀出和查詢。計數(shù)初值與輸入時鐘(CLK)頻率及輸出波形(OUT)頻率之間的關(guān)系為:
初值=fCLK/fOUT例:fCLK=1.193MHz,fout=18.2HZ,
則初值=655498.2.38253外部特性
8253引腳功能8253引腳
8253與CPU的接口
8位數(shù)據(jù)線:D0~D7
尋址控制線:A0、A1、CS
讀寫控制線:RD、WR8253與外設(shè)的接口注:三個獨立的計數(shù)器/定時器時鐘輸入:CLK
輸入門控:GATE
波形輸出:OUT
8253的引腳信號D7~D0:數(shù)據(jù)總線,雙向,三態(tài)。用于與CPU之間傳遞信息。/RD:讀信號,CPU輸入到8253。通知8253把某個內(nèi)部R的值送數(shù)據(jù)線D7~D0。/WR:寫信號,CPU輸入到8253。
。通知8253把D7~D0上的值寫入內(nèi)部某個R中。/CS:片選信號,CPU輸入到8253。
通過地址譯碼邏輯電路與地址總線相連。A1、A0:地址線,CPU輸入到8253。指出當前8253被訪問的是哪個R(端口)8253的讀寫操作及端口地址計數(shù)器的3個引腳CLK(時鐘):外部輸入給8253
在計數(shù)過程中,此引腳上每輸入1個時鐘信號(下降沿),計數(shù)器的計數(shù)值將減1GATE(門控):外部輸入給8253,控制計數(shù)器工作允許/關(guān)閉計數(shù)——高電平時允許計數(shù)觸發(fā)/重觸發(fā)計數(shù)——↑觸發(fā)開始計數(shù)或重裝初值OUT(計數(shù)器輸出)8253輸出到外部根據(jù)初始化設(shè)置工作方式的不同,OUT引腳可輸出單個或連續(xù)的波形信號。在PC/XT機中,8253端口地址譯碼如p391圖:
A9A8A7A6A5=00010參加譯碼實現(xiàn)片選(CS=0)
A4A3A2未用,A1A0接8253的A1A0。故系統(tǒng)分配給8253端口地址為40~05FH,實際只用了前4個,分別對應(yīng):
CNT0(40H)、CNT1(41H)、
CNT2(42H)、控制字端口(43H)8253
端口尋址參考P3048.2.38253編程命令一、8253的控制字二8253初始化編程編程命令有兩類
寫入命令寫控制字寫計數(shù)器初始值寫鎖存命令
讀出命令:讀取計數(shù)器當前被鎖存的計數(shù)值。初始化編程必須嚴格遵守
先寫控制字,再對各計數(shù)器通道寫入初始值初始值的寫入,要符合控制字中的格式規(guī)定初始化編程8253初始化編程舉例(寫控制字和寫計數(shù)器初始值)初值決定了讀寫方式由CPU訪問輸出鎖存器,即可讀出每個計數(shù)器的計數(shù)值。如果是8位計數(shù)只需讀一次;如果是16位計數(shù),則要讀兩次,先讀低8位,后讀高8位。由于計數(shù)器在不停的計數(shù)過程中,必須先使用鎖存命令鎖存計數(shù)器的當前值,再讀取計數(shù)器的值。8253鎖存讀出命令
先向控制寄存器寫鎖存命令,再讀被鎖存的計數(shù)值D7D6決定鎖存哪一個寄存器,D5D4=00為鎖存命令,D3D2D1D0可設(shè)定為全0。假定計數(shù)器1的初始化如例8.18253的工作方式
每個計數(shù)器有6種工作方式,其主要標志有3點:一是輸出波形的不同二是啟動計數(shù)的方式不同
軟件啟動:寫入初值,則開始計數(shù)硬件啟動:寫入初值且GATE↑有效,則開始計數(shù)三是計數(shù)過程中GATE對計數(shù)操作的控制不同
GATE高/低電平:允許/停止計數(shù)(6種方式同)
GATE↑有效:觸發(fā)開始計數(shù)/觸發(fā)重裝初值(1)對計數(shù)器初始化后,計數(shù)器全部控制邏輯電路復(fù)位,輸出OUT為初始狀態(tài)(高/低電平);(2)初始化后,要經(jīng)過1個CLK↑和1個CLK↓,計數(shù)執(zhí)行部件才能開始減1計數(shù);(3)CLK↑時,計數(shù)器對GATE采樣,決定工作狀態(tài)
各種工作方式共同遵循的規(guī)則6種工作方式方式0:計數(shù)結(jié)束產(chǎn)生中斷輸出(軟件控制)方式1:重復(fù)觸發(fā)的單穩(wěn)輸出(硬件控制)方式2:分頻器(軟件控制)方式3:方波發(fā)生器(軟件控制)方式4:選通信號發(fā)生器(軟件觸發(fā))方式5:選通信號發(fā)生器(硬件觸發(fā))
CWN=4WROUT
N43210裝控制字裝初值計數(shù)開始計數(shù)結(jié)束GATE方式0——計數(shù)結(jié)束產(chǎn)生中斷CLKFF①n=5543210CLKWROUT軟件啟動,計數(shù)過程OUT=‘0’,減1計數(shù)到0,則OUT=‘1’,計數(shù)結(jié)束
——可作為中斷請求用;GATE↑的作用:無效不可自動重裝初值,需編程重新寫入初值才可繼續(xù)工作。在計數(shù)期間寫入新的初值,立即有效。n=55433210WRGATEOUT②WROUTn=9n=49843210③
CWN=3WRCLKGATEOUT
N3210FF3210FF裝控制字裝初值計數(shù)開始計數(shù)結(jié)束方式1——可重觸發(fā)的單穩(wěn)態(tài)觸發(fā)器WRGATEOUT①n=443210CLKGATEOUT443210②WRGATEOUT3210210n=2n=3③①硬件啟動②計數(shù)期間OUT為低電平,計數(shù)結(jié)束,OUT變?yōu)楦唠娖?,故OUT為1個寬度為TW=N×TCLK
的負脈沖—單穩(wěn)觸發(fā)器。③
GATE↑的作用:觸發(fā)重裝初值計數(shù)④不能自動重裝初值,計數(shù)期間若重新寫入初值,要等當前計數(shù)回零且GATE↑到來后,才有效。
CWN=3WRCLKGATEOUT
NN3213213213方式2——分頻器(脈沖信號發(fā)生器)①軟件啟動;②計數(shù)期間out=‘1’,計到1時,OUT=‘0’并保持1個CLK周期,然后OUT=‘1’,進入下一個計數(shù)周期,故OUT為CLK
的1/N分頻信號。③GATE↑作用:無效④有自動裝入初值功能,不用編程也能連續(xù)工作;計數(shù)過程若編程重裝初值,則當前計數(shù)結(jié)束后有效。
CWN=4WRCLKGATEOUT
NN43214321432與方式2類似,區(qū)別1:輸出方波,其占空比Q為:
N為偶數(shù):Q=0.5;N為奇數(shù):Q=(N+1)/2N。區(qū)別2:GATE↑有效,觸發(fā)重裝初值方式3——方波發(fā)生器
CWN=3WRCLKGATEOUT
NN3210FF3210FFN=3方式4——軟件觸發(fā)的選通信號發(fā)生器①軟件啟動。②計數(shù)結(jié)束(歸0)時,OUT產(chǎn)生一個寬度為1個CLK
周期的負脈沖——可作選通信號用③GATE↑作用:無效;④不能自動重裝初值,若編程重裝初值,立即有效
CWN=3WRCLKGATEOUT
NN3210FFFE3210FF方式5——硬件觸發(fā)的選通信號發(fā)生器①硬件啟動。②計數(shù)結(jié)束(歸0)時,使輸出OUT為一個寬度為1個
CLK周期的負脈沖——選通信號。③GATE↑的作用:觸發(fā)重裝初值計數(shù)④不能自動重裝初值,計數(shù)過程重裝初值,必須要在
GATE↑觸發(fā)有效。工作方式方式0與方式4的比較(軟件控制)啟動計數(shù)方式相同 都是軟觸發(fā),無自動重裝入能力 寫入控制字及初值后,若GATE=1,CE開始減計數(shù)當CE=0時,OUT改變電平狀態(tài)OUT輸出不同不同點方式0在計數(shù)期間OUT=0,計數(shù)結(jié)束OUT=1方式4在計數(shù)期間OUT=1,計數(shù)結(jié)束OUT=負脈沖OUTOUT方式
1與方式5的比較(硬件觸發(fā))
啟動計數(shù)方式相同寫入控制字及初值后,若GATE↑觸發(fā),CE開始減計數(shù),當CE=0時,OUT改變電平狀態(tài)OUT輸出不同方式1在計數(shù)期間OUT=0,計數(shù)結(jié)束OUT=1方式5在計數(shù)期間OUT=1,計數(shù)結(jié)束OUT=負脈沖計數(shù)期間GATEOUT計數(shù)期間GATEOUT方式2與方式3的比較(波形輸出)
相同點
啟動計數(shù)方式相同,均輸出連續(xù)周期波形,預(yù)置初值可自動重裝入不同點方式2輸出連續(xù)負脈沖周期波形方式3輸出連續(xù)方波周期波形方式3方式28.2.68253的應(yīng)用8253的端口地址為40H~43HCNT0—向系統(tǒng)提供定時中斷
CNT1——向DMAC系統(tǒng)提供定時中斷,定時刷新DRAMCNT2——提供喇叭的音調(diào)應(yīng)用一:在IBM-PC機中P4031、計數(shù)器0——向系統(tǒng)提供定時中斷工作方式及初值的確定分析:
fCLK0=1193181.6Hz,fOUT0=18.2Hz(周期為55ms)的方波控制8259A的IRQ0(日時鐘)的中斷,即每隔55ms產(chǎn)生一次中斷。初值=fCLK0/fOUT0=TOUT0/TCLK0=65536,采用二進制計數(shù),則初值寄存器=0000H綜合:計數(shù)器0工作方式3(方波),二進制計數(shù),初值N=0000H計數(shù)器0的初始化編程2、計數(shù)器1——向DMAC提供定時請求,刷新DRAM工作方式及初值的確定分析:
fCLK1=1193181.6Hz,TOUT1=15.6μs(周期為15.6μs)由OUT1每隔15.6μs向DMAC發(fā)送請求信號,以便對64KB的DRAM進行刷新。初值=fCLK1/fOUT1=fCLK1*TOUT1=18
可以采用二進制計數(shù),初值R=12H綜合:計數(shù)器1工作方式2(周期性負脈沖),二進制計數(shù),初值R=12H計數(shù)器1的初始化編程或12H2、計數(shù)器2——提供喇叭的音調(diào)工作方式及初值的確定分析:
fCLK2=1193181.6Hz,fOUT2=600HZ,由OUT2向揚聲器即喇叭提供頻率為600Hz的聲音信號,在PB1和PB0的控制下發(fā)出聲音。初值=fCLK2/fOUT2=1989
可以采用BCD碼計數(shù),初值R=1989H綜合:計數(shù)器2工作方式3(方波),BCD計數(shù),初值R=1989H計數(shù)器2的初始化編程H應(yīng)用二:系統(tǒng)機外擴實驗臺的應(yīng)用P404分析:輸入fclk0=250kHz,輸出fOUT0=1/1=1Hz,設(shè)置初值:N=fclk0/fOUT0=250000>65536(10000)故需要使用兩個計數(shù)器(CNT0和CNT1)串聯(lián)使用,可以擴大輸出脈沖的周期。如圖8.19所示,先由CNT0產(chǎn)生周期為10ms的方波作為CNT1
的輸入,再由CNT1產(chǎn)生周期為1S的負脈沖信號。工作方式及初值分析CNT0:工作于方式3(方波),二進制計數(shù),初值N0=fclk0/fOUT0=fclk0*TOUT0=250K*10ms=2500=09C4HCNT1:工作于方式2(周期性負脈沖信號),二進制計數(shù)。初值N1=fclk1/fOUT1=TOUT1/Tclk1=1s/10ms=100=64H編程如下:00110110B01110100B作業(yè)P4438.18.2計數(shù)與定時的區(qū)別
CLK為標準脈沖信號時——定時
CLK為標準脈沖信號時——計數(shù)
Intel8255A是一種通用的可編程序并行I/O接口芯片,又稱“可編程外設(shè)接口芯片”可由程序來改變其功能,通用性強、使用靈活。通過8255A,CPU可直接同并行外設(shè)相連接,是應(yīng)用最廣的并行I/O接口芯片。含3個獨立的8位并行輸入/輸出端口,各端口均具有數(shù)據(jù)的控制和鎖存能力??赏ㄟ^編程設(shè)置各端口的工作方式和數(shù)據(jù)傳送方向(入/出/雙向)。8.3可編程并行接口8255A8.3.18255A基本功能概述8.3.28255A內(nèi)部結(jié)構(gòu)及引腳(1)端口A對應(yīng)1個8位數(shù)據(jù)輸入鎖存器1個8位輸出鎖存器/緩沖器。(2)端口B對應(yīng)1個8位數(shù)據(jù)輸入緩沖器1個8位輸出鎖存器/緩沖器。
(3)端口C對應(yīng)1個8位數(shù)據(jù)輸入緩沖器1個8位輸出鎖存器/緩沖器。
數(shù)據(jù)端口A、B、C
通常使用方法:端口A、B作為獨立的輸入或者輸出端口,端口C配合端口A、B
A組控制和B組控制(1)A組控制電路
根據(jù)CPU寫入的方式控制字,控制A口和C口高4位的工作方式和讀寫操作。(2)B組控制電路
根據(jù)CPU寫入的方式控制字,控制B口和C口低4位的工作方式和讀寫操作。讀寫控制邏輯電路功能:管理CPU與8255三類信息的傳輸過程。數(shù)據(jù)總線緩沖器功能:通過它與系統(tǒng)數(shù)據(jù)總線相連。8255A引腳功能1.連接外設(shè)端的引腳PA0~PA7:A口外設(shè)數(shù)據(jù)線,接外設(shè);PB0~PB7:B口外設(shè)數(shù)據(jù)線,接外設(shè);PC0~PC7:C口外設(shè)數(shù)據(jù)線或聯(lián)絡(luò)線,接外設(shè)。2.連接系統(tǒng)總線的主要引腳D0~D7:數(shù)據(jù)線,雙向,連CPU數(shù)據(jù)總線;RESET:復(fù)位輸入,接系統(tǒng)總線的RESET;CS:片選控制輸入,接譯碼器;RD:讀命令輸入,接CPU的RD或IOR;WR:寫命令輸入,接CPU的WR或IOW;A0;A1:片內(nèi)端口地址輸入,可選4個片內(nèi)端口。8255通道選擇和基本操作表斷開功能CPU的DB→三態(tài)非法狀態(tài)CPU的DB→三態(tài)100×11×01×1××1×輸出操作(寫)CPU的DB→端口ACPU的DB→端口BCPU的DB→端口CCPU的DB→控制口00000000111101010011輸入操作(讀)端口A→CPU的DB端口B→CPU的DB端口C→CPU的DB000111000010001端口及操作功能A0A1RDWRCS在IBMPC/XT機中,有一片8255A,其占用的端口地址為60H~7FH共32個,實際只用到前4個——60H~63H分別為A口、B口、C口和控制口的地址。參考P3048255A的初始化:
8255A的各種工作方式由CPU對8255A寫入控制命令字來設(shè)定,這個過程稱為“初始化”。
8255A有2種控制命令字:
方式選擇控制字——確定3個端口的工作方式;
C口置位/復(fù)位控制字——確定C口某一位的初始狀態(tài),或用于設(shè)置INTE位的值(用于方式1,2)。8.3.38255A控制字皆寫入控制口1.8255的工作方式控制字1D7D6D5D4D3D2D1D00輸出1輸入PC3~PC0B口0
輸出1輸入0方式01方式1B口工作方式PC7~PC40輸出1輸入A口0輸出1輸入特征位,D7=1表示是方式控制字A口工作方式00方式001方式11x方式2A組控制B組控制例A端口方式1輸入、B端口方式1輸出、
PC6,PC7作輸入,給出方式控制字。1011110X1010011XBCHA7HA端口方式1輸出、B端口方式1輸入、
PC4,PC5作輸出,給出方式控制字。0D7D6D5D4D3D2D1D00復(fù)位1置位設(shè)置內(nèi)容特征位,D7=0表示是C口按位置位/復(fù)位控制字無意義選擇設(shè)置位2、C端口置/復(fù)位控制字D3D2D1C端口位000PC0001PC1010PC2011PC3100PC4101PC5110PC6111PC7解:
MOVDX,0063H
;置DX為控制口地址
MOVAL,00000100B;置PC2為0OUTDX,ALMOVAL,00001001B;置PC4為1OUTDX,AL例、通過控制口置PC2為0,置PC4為1
例:設(shè)8255的A端口工作于方式1輸入,B端口工作于方式0輸出,置PC4=1,(8255的操作地址為60H~63H)MOVAL,0B0H;1011000XOUT63H,AL;寫方式控制字
MOVAL,09H;0XXX01001OUT63H,AL
;寫置/復(fù)位控制字b7b6b5b4b3b2b1b01011000xb7b6b5b4b3b2b1b00xxx1001C口置/復(fù)位控制字工作方式控制字8.3.48255的工作方式A端口有三種工作方式方式0、方式1、方式2B端口有二種工作方式方式0、方式1C端口無工作方式選擇工作于方式0,或作為A、B端口工作于方式1、2時的聯(lián)絡(luò)信號注:方式0(基本輸入/輸出):常用于無條件傳輸方式1(選通輸入/輸出):常用于查詢和中斷方式方式2(雙向數(shù)據(jù)傳送):常用于查詢和中斷方式工作方式方式0—基本輸入和輸出方式。A、B與C口之間沒有硬件聯(lián)系,即可分別作為獨立的輸入或輸出端口方式1—選通輸入/輸出方式:A口輸入/輸出分別與C口的PC3、4、5/PC3、6、7聯(lián)用;B口與C口(PC0~PC2)聯(lián)用;C口的剩余線只能工作于方式0。方式2—雙向輸入/輸出方式。只有A口可工作于此方式,C口的PC3~PC7可作為A端口雙向工作的專用狀態(tài)聯(lián)絡(luò)線。B口可工作在方式1,則C口的PC0~PC2作為專用的聯(lián)絡(luò)信號線。方式0(基本輸入/輸出方式)特點:
1)
8255A相當于三個獨立的8位數(shù)據(jù)口,即A口、
B口、C口(C口又可分為兩個4位的端口)。
2)各端口既可設(shè)置為輸入口,也可設(shè)置為輸出口,但不能同時實現(xiàn)輸入及輸出。
3)設(shè)置為輸出口時有鎖存能力,設(shè)置為輸入口有緩沖而無鎖存能力。
C端口即可以作為一個8位端口,也可以分為兩個獨立的4位端口,各端口單向傳輸。D7D6D5D4D3D2D1D0特征位A口方式0A口輸入PC7~PC4輸出B口方式0B口輸出10010001PC3~PC0輸入應(yīng)用無條件傳送方式
A、B、C端口均傳送數(shù)據(jù)信息
查詢方式
A、B端口傳送數(shù)據(jù),C端口傳送狀態(tài)工作在方式0的端口作為輸入口相當于普通的三態(tài)門作為輸出口相當于普通的鎖存器二、方式1(選通輸入/輸出)功能:A、B端口作8位數(shù)據(jù)輸入或輸出,C端口的特定位為A、B端口服務(wù)電特性:作輸入/輸出時,A、B端口皆有鎖存功能
應(yīng)用:查詢方式:C端口特定位傳送狀態(tài)中斷方式:C端口特定位發(fā)中斷請求1011/01/011/01/0D7D6D5D4D3D2D1D0特征位A口工作方式
A口I/OPC7~PC4I/OB口工作方式
B口I/OPC3~PC0I/O10111/0×××A口方式1輸入控制字1××××11×B口方式1輸入控制字PA7~PA0PC4PC5PC3INTEAC口:D4與門IBFASTBAINTRARDD7~D0A口方式1輸入固定的聯(lián)絡(luò)信號B口方式1輸入時固定的聯(lián)絡(luò)信號PB7~PB0PC2PC1PC0INTEBC口:D2與門IBFBSTBBINTRBRDD7~D0表示PC6、PC7為輸入/輸出A,B口工作在方式1作為輸入口時,C口特定位作為聯(lián)絡(luò)信號方式1下輸入端口的聯(lián)絡(luò)信號輸入設(shè)備數(shù)據(jù)準備好發(fā)出此信號給8255A作用是將外設(shè)送來的數(shù)據(jù)鎖存到8255A的輸入口②IBF:輸入緩沖器滿信號(高電平有效)8255A的輸入端口收到數(shù)據(jù)后自動發(fā)此信號給外設(shè)作為應(yīng)答。表示數(shù)據(jù)已進入輸入口,但CPU未取走,此時外設(shè)不能再送新數(shù)據(jù)過來。③
INTR:中斷申請信號(高電平或上升沿有效)8255A發(fā)出,向CPU發(fā)出中斷申請,請求將輸入口的數(shù)據(jù)取走(INAL,DX)。①STB:選通信號(低電平有效)STB、IBF、INTE均為1時,8255A自動發(fā)INTR④INTE:中斷允許控制信號控制是否允許8255A的INTR的發(fā)出。此信號無引出,通過控制口對C口相應(yīng)位的置位/復(fù)位,設(shè)置允許或不允許。
A口,對PC4(C口D4)置位,使INTEA=1,允許中斷復(fù)位,使INTEA=0,禁止中斷
B口,對PC2(C口D2)置位,使INTEB=1,允許中斷復(fù)位,使INTEB=0,禁止中斷注意:在方式1下,作為聯(lián)絡(luò)信號的外部引腳
PC4、PC2,不受C口按位置位/復(fù)位控制字的控制。PB7~PB0PA7~PA0STBIBFINTRRD外設(shè)送來數(shù)據(jù)②⑤當INTE=1時
①AB口方式1的輸入時序③④STB的↓使得IBF變?yōu)椤?”有效;INTE=1和IBF=1,STB↑使得INTR變?yōu)椤?”有效;RD↓使得INTR復(fù)位無效,RD↑使得IBF=“0”無效10101/0A口方式1輸出控制字110B口方式1輸出控制字A口方式1輸出時相應(yīng)的聯(lián)絡(luò)信號B口方式1輸出時相應(yīng)的聯(lián)絡(luò)信號方式1下輸出端口的聯(lián)絡(luò)信號PA7~PA0PC7PC6PC3INTEAC口:D6與門ACKAOBFAINTRAWRD7~D0PB7~PB0PC1PC2PC0INTEBC口:D2與門ACKBOBFBINTRBWRD7~D0表示PC4、PC5為輸入/輸出由外設(shè)發(fā)出,送給8255A。作用是通知8255A,輸出端口的數(shù)據(jù)已被外設(shè)取走,可以傳送下一個數(shù)據(jù)。③INTR:中斷申請信號(高電平或上升沿有效)8255A發(fā)出,用來向CPU發(fā)出中斷申請。方式1下輸出端口的聯(lián)絡(luò)信號①OBF:輸出緩沖器滿信號(低電平有效)②ACK:外設(shè)響應(yīng)信號(低電平有效)當OBF、ACK、INTE均為1時,8255A自動發(fā)出INTRCPU執(zhí)行“OUTDX,AL”,AL中數(shù)據(jù)送至8255A輸出緩沖器后,8255A自動發(fā)出此信號。表明8255A輸出端口中有數(shù)據(jù),可用來通知外設(shè)把數(shù)據(jù)取走。④
INTE:中斷允許控制信號作用是控制是否允許中斷申請信號INTR發(fā)出此信號無引出,通過控制口對C口相應(yīng)位的置位/復(fù)位設(shè)置允許或不允許。A口,對PC6(C口D6)置位,使INTEA=1,允許中斷復(fù)位,使INTEA=0,禁止中斷B口,對PC2(C口D2)置位,使INTEB=1,允許中斷復(fù)位,使INTEB=0,禁止中斷注意:在方式1下,作為聯(lián)絡(luò)信號的外部引腳PC6、PC2,不受C口按位置位/復(fù)位控制字控制①D7~D0CPU輸出的DATADATA寫入端口A/BWROBFINTRACK②當INTE=1時
AB口方式1的輸出時序③④⑤WR↑使得CPU的data寫入端口,使得OBF有效=“0”,使得INTR無效=“0”ACK↓使得OBF無效=“1”,RD↑使得IBF=“0”無效INTE=1和OBF=1,ACK↑使得INTR有效=“1”8255的狀態(tài)字為采用程序查詢的數(shù)據(jù)交換方式提供了狀態(tài)標志
輸入:IBF
輸出:OBFCPU通過讀C端口獲得狀態(tài)字方式1,A組和B組的工作狀態(tài)字注意:
C端口的狀態(tài)位與C端口的外部引腳PC7~PC0狀態(tài)不完全一致方式1,A組和B組的工作狀態(tài)字D7D6D5D4D3D2D1D0I/OI/OIBFAINTEAINTRAPC7PC6PC5PC4PC3A口作輸入口OBFAINTEAI/OI/OINTRAPC7PC6PC5PC4PC3A口作輸出口INTEBIBFBINTRBPC2PC1PC0B口作輸入口B口作輸出口INTEBOBFBINTRBPC2PC1PC0A組狀態(tài)B組狀態(tài)STBAACKBC口的狀態(tài)字ACKASTBB方式1用于查詢方式時:輸入/輸出時,CPU查詢C口的IBF/OBF標志方式1A口B口輸入時的狀態(tài)字方式1A口B口輸出時的狀態(tài)字C端口C端口STBASTBBACKBACKA方式1用于于中斷方式時:輸入時,輸入設(shè)備通過STB向8255A發(fā)中斷請求;輸出時,輸出設(shè)備通過ACK向8255A發(fā)中斷請求。方式
2——雙向輸入/輸出功能
僅A端口具有雙向數(shù)據(jù)傳送功能
C端口特定位的組合應(yīng)用
電特性A端口具有雙向鎖存和緩沖特性
應(yīng)用A端口雙向傳送數(shù)據(jù)
查詢方式:C端口特定位傳送狀態(tài)中斷方式:C端口特定位發(fā)中斷請求
工作在方式2時,C口有5根引腳作為A口的聯(lián)絡(luò)信號,是方式1下A口輸入、輸出聯(lián)絡(luò)信號的組合PA7~PA0PC6PC7ACKAOBFAD7~D0RDWRPC4PC5STBAIBFAINTEA1PC4INTEA2PC6與門PC3INTRA或門與門方式2時的狀態(tài)字例:8255A控制LED發(fā)光二極管A端口接8個開關(guān)B端口接8個LED發(fā)光二極管要求:開關(guān)斷開LED亮,反之滅圖8.358088外擴展8255A接線圖端口地址:0218~021BH方式0,A口輸入,B口輸出:控制字為10010000B
[例8.11]
8255A端口地址0218H~021BH
8253A端口地址20H和21H(已初始化)分析:8255A的A端口工作在方式1作為輸出口用,B口未用。打印機與CPU采用中斷的方式進行數(shù)據(jù)的傳遞打印機的工作情況及與8255接口的聯(lián)絡(luò)線當打印機處于“空閑”狀態(tài)時,BUSY=0,同時向8255A發(fā)出一個負脈沖ACK作為應(yīng)答信號,表示字符打印完成;CPU得知打印機空閑(檢測BUSY=0或
IR3的中斷請求有效),將一個新的打印字符送入8255的A口,此時CPU再通過PC0向打印機發(fā)送一個選通脈沖,將字符送入打印機,此時打印機BUSY=0表示打印機忙;CPU得知打印機忙(檢測BUSY=1或
IR3的中斷請求無效),則不再發(fā)新字符給打印機,直到得知打印機空閑再發(fā)新數(shù)據(jù)過去8255的工作情況及與打印機和CPU接口的聯(lián)絡(luò)線A口方式1,作為輸出口PC0產(chǎn)生打印機的選通脈沖,而自動聯(lián)絡(luò)線PC7未用PC6接受打印機的應(yīng)答信號ACK輸入PC3自動作INTR,接中斷控制器8253A的IR3,中斷類型號0BH,中斷向量在向量表中0002CH~0002FH這四個單元中單元通道C其他位及通道B未用PA7~PA0PC7PC6PC3INTEAPC6與門ACKAOBFAINTRAWRD7~D0軟件程序如下:指向下一個打印字符例:
8255A打印機接口設(shè)8255A的端口地址分別為0C0H、0C2H、0C4H和0C6H,A口為方式1輸出8255端口線的使用A為數(shù)據(jù)通道,方式1,輸出PC0產(chǎn)生打印機的選通脈沖PC7未用;PC6為ACK輸入PC3自動作INTR,接中斷控制器8253A的IR3,中斷類型號0BH,中斷向量在0002CH~0002FH單元通道C其他位及通道B未用PA7~PA0PC7PC6PC3INTEAPC6與門ACKAOBFAINTRAWRD7~D08255初始化MOV AL,0A0H ;初始化,1010XXX0OUT 0C6H,AL;控制字MOV AL,1 ;PC0=1,選通無效OUT 0C6H,AL設(shè)置中斷向量設(shè)置向量0100H:2000HPUSHDS ;保護原數(shù)據(jù)段XORAX,AXMOVDS,AX ;設(shè)向量表段地址為0000HMOV AX,2000HMOV WORDPTR[002CH],AX;中斷服務(wù)程序偏移地址MOV AX,0100HMOV WORDPTR[002EH],AX;中斷服務(wù)程序段地址POP DS
;恢復(fù)原數(shù)據(jù)段8255中斷設(shè)置MOV AL,0DH ;00001101;PC6置1OUT 0C6H,AL ;允許8255A中斷STI ;CPU開中斷;主程序中斷服務(wù)程序中斷服務(wù)程序發(fā)選通信號,將數(shù)據(jù)送打印機打印機接收并打印字符后發(fā)出應(yīng)答信號,清除8255A的數(shù)據(jù)緩沖區(qū)滿信號RINT:MOVAL,[DI] ;輸出字符送A通道
OUT0C0H,ALMOVAL,0 ;PC0產(chǎn)生低電平脈沖選通信號
OUT 0C6H,AL;00000000,PC0置0INC ALOUT 0C6H,AL;00000001,PC0置1… ;后續(xù)處理
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 【正版授權(quán)】 ISO 22073-1:2024 EN Gas welding equipment - Part 1: Line pressure regulators and line pressure regulators with flow-metering devices for gas distribution pipelines up to 6 M
- 企業(yè)中秋節(jié)的慰問信范文(7篇)
- 主持人的心得體會
- DB12T 606.1-2015 農(nóng)村地區(qū)郵政與快遞服務(wù)規(guī)范 第1部分:郵政
- 中秋晚會董事長精彩致辭范文(15篇)
- 端午節(jié)周記范文合集4篇
- 高等數(shù)學(管)-教學大綱
- 影響疫苗免疫效果的幾點因素
- 影響孩子一生的早期教育
- 糖果王國課件教學課件
- 工程估價完整全套教學課件
- HSS評分(膝關(guān)節(jié)評分)
- 海南省義務(wù)教育學校辦學基本標準(試行)
- 卟啉病(改)課件
- 過程流程圖專業(yè)知識講座
- 民航M9英語詞匯練習
- 處方書寫規(guī)范-課件
- GB/T 12727-2023核電廠安全重要電氣設(shè)備鑒定
- 部編版道德與法治六年級下冊第二單元《愛護地球共同責任》大單元作業(yè)設(shè)計
- 2023年重慶移動招聘考試試題(附答案)
- 故障車輛應(yīng)急調(diào)換方案
評論
0/150
提交評論