版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第八章可編程接口芯片
8.1計數(shù)器/定時器電路8253-PIT
一.8253的結(jié)構(gòu)和功能
計算機系統(tǒng)中,實現(xiàn)定時或延時有三種方法:軟件定時、不可編程的硬件定時、可編程的硬件定時器。8253為可編程的硬件定時/計數(shù)器。1.主要功能A、具有3個獨立的16位計數(shù)器通道;B、每個計數(shù)器均可按二進制或十進制〔BCD〕計數(shù);C、每個計數(shù)器的計數(shù)速率高達2MHz;D、每個通道有6種工作方式,可由程序設(shè)置和改變;E、所有的輸入輸出都與TTL(晶體管-晶體管邏輯電路的英文縮寫,Transister-Transister-Logic)兼容。整理ppt第一頁,共五十九頁。二.8253的引線1、數(shù)據(jù)線〔D7~D0〕2、地址線:選擇內(nèi)部寄存器;3、控制線:完成片選和讀寫操作。CLK:輸入脈沖線;GATE:門控信號輸入線;GATE=0禁止計數(shù),GATE=1允許工作;OUT:輸出引腳;當計數(shù)到“0〞時,OUT端輸出一信號。8253引腳排列圖8253GATE1VccWRRDCSA1CLK2OUT2GATE2CLK1OUT1GATE0D7D6D5D4D3D2D1D0CLK0OUT0GNDA0整理ppt第二頁,共五十九頁。三.8253的內(nèi)部結(jié)構(gòu)〔書283頁〕4、三個計數(shù)器〔減法器〕計數(shù)器的3個引腳3個獨立的16位減法器,可作定時/計數(shù)器使用;計數(shù)器按二/BCD方式減法計數(shù),從預常減到零時,OUT端輸出一信號。數(shù)據(jù)總線緩沖器計數(shù)器0讀/寫邏輯控制字存放器計數(shù)器1計數(shù)器2CLK0CLK1CLK2GATE0GATE1GATE2OUT0OUT1OUT2D7~D0RDWRA0A1CS8253內(nèi)部結(jié)構(gòu)內(nèi)部數(shù)據(jù)總線1、數(shù)據(jù)總線緩沖器(傳送信息)寫控制字,寫時常,讀計數(shù)值2、讀寫邏輯幻燈片33、控制字存放器(存放控制字)整理ppt第三頁,共五十九頁。8253輸入信號組合的功能表〔書284頁表8.1〕CSRDWRA1A0寄存器選擇和操作01000寫入計數(shù)器001001寫入計數(shù)器101010寫入計數(shù)器201011寫入控制寄存器00100讀計數(shù)器000101讀計數(shù)器100110讀計數(shù)器200111無操作(三態(tài))1****禁止(三態(tài))整理ppt第四頁,共五十九頁。計數(shù)器的3個引腳CLK時鐘輸入信號——在計數(shù)過程中,此引腳上每輸入一個時鐘信號〔下降沿〕,計數(shù)器的計數(shù)值減1GATE門控輸入信號——控制計數(shù)器工作,可分成電平控制和上升沿控制兩種類型OUT計數(shù)器輸出信號——當一次計數(shù)過程結(jié)束〔計數(shù)值減為0〕,OUT引腳上將產(chǎn)生一個輸出信號整理ppt第五頁,共五十九頁。四.8253-PIT的控制字〔書285頁〕00選擇計數(shù)器001選擇計數(shù)器110選擇計數(shù)器211非法選擇0=二進制1=BCD計數(shù)器讀/寫格式工作方式數(shù)制D0D1D2D3D4D5D6D7在8253的初始化編程中,由CPU向8253的控制字存放器寫入一個控制字來規(guī)定8253的工作方式。00
計數(shù)器鎖存命令10只讀/寫高位有效字節(jié)(高八位)01只讀/寫低位有效字節(jié)(低八位)11先讀寫低位有效字節(jié)然后讀寫高位有效字節(jié)000方式0001方式1*10方式2*11方式3100方式4101方式5整理ppt第六頁,共五十九頁。計數(shù)器結(jié)構(gòu)示意圖預置寄存器GATECLKOUT減1計數(shù)器輸出鎖存器計數(shù)初值存于預置存放器;在計數(shù)過程中,減法計數(shù)器的值不斷遞減,而預置存放器中的預置不變。輸出鎖存器用于寫入鎖存命令時,鎖定當前計數(shù)值整理ppt第七頁,共五十九頁。五、8253的工作方式8253有6種工作方式,由方式控制字確定熟悉每種工作方式的特點才能根據(jù)實際應(yīng)用問題,選擇正確的工作方式每種工作方式的過程類似:⑴設(shè)定工作方式⑵設(shè)定計數(shù)初值〔⑶硬件啟動〕⑷計數(shù)初值進入減1計數(shù)器⑸每輸入一個時鐘計數(shù)器減1的計數(shù)過程⑹計數(shù)過程結(jié)束整理ppt第八頁,共五十九頁。方式0計數(shù)結(jié)束中斷①②⑤④⑥GATEOUTCLK
031244方式0WR①設(shè)定工作方式②設(shè)定計數(shù)初值④計數(shù)值送入計數(shù)器⑤計數(shù)過程⑥計數(shù)結(jié)束整理ppt第九頁,共五十九頁。計數(shù)開始的時刻需要注意:處理器寫入8253的計數(shù)初值只是寫入了預置存放器,之后到來的第一個CLK輸入脈沖〔需先由低電平變高,再由高變低〕才將預置存放器的初值送到減1計數(shù)器。從第二個CLK信號的下降沿,計數(shù)器才真正開始減1計數(shù)。整理ppt第十頁,共五十九頁。方式1可編程單穩(wěn)脈沖①②⑤④⑥①設(shè)定工作方式②設(shè)定計數(shù)初值③③硬件啟動④計數(shù)值送入計數(shù)器⑤計數(shù)過程⑥計數(shù)結(jié)束GATEOUTCLK
031244方式1WR整理ppt第十一頁,共五十九頁。*CW寫入,OUT=0;*寫入時常,通道開始計數(shù);*計數(shù)到零,OUT=1;*計數(shù)器只計數(shù)一遍;*OUT是N+1個CLK后變高;*計數(shù)過程中,GATE=0,計數(shù)暫停;*計數(shù)過程中可改變計數(shù)值;〔書圖9-6〕1.方式0(書上287頁)43210FFOUTGATE=1CLKWRCW=10LSB=432220FFOUTGATECLKWRCW=10LSB=31
置時常整理ppt第十二頁,共五十九頁。方式1〔可編程單拍脈沖〕〔書上288頁〕*寫入控制字OUT=1,寫入常數(shù)不計數(shù);*GATE啟動計數(shù),OUT=0;*計數(shù)到,OUT=1。*單拍脈沖寬度為N;*由GATE重新啟動;*計數(shù)中,可重新啟動;*計數(shù)中,可改變計數(shù)值,再次啟動有效。3230FFOUTGATECLKWRCW=12LSB=313230OUTGATECLKWRCW=12LSB=3121整理ppt第十三頁,共五十九頁。方式2〔速率發(fā)生器--分頻工作方式〕*寫入控制字OUT=1;*寫入常數(shù)立即對CLK計數(shù);*計數(shù)到1,OUT=0;*一個CLK周期后,OUT=1,重新計數(shù)。*通道連續(xù)工作不需重置時常;*計數(shù)過程中,GATE=0,計數(shù)暫停,GATE變高后重新計數(shù);*計數(shù)過程中可改變計數(shù)值;新的計數(shù)值在下一次有效。32OUTGATECLKWRCW=14LSB=332132321OUTGATE=1CLKWRCW=14LSB=33213整理ppt第十四頁,共五十九頁。方式3〔方波速率發(fā)生器〕*與方式2的區(qū)別在于:輸出為周期是N個CLK脈沖的方波。*假設(shè)計數(shù)值為偶數(shù),每個CLK使計數(shù)值減2,計到0,OUT改變狀態(tài),重裝計數(shù)值開始新的計數(shù)。*假設(shè)計數(shù)值為奇數(shù),第一個脈沖先減1,以后,每個CLK使計數(shù)值減2,計到0時,OUT改變狀態(tài),重裝計數(shù)值后,第一個脈沖減3,以后,每個CLK使計數(shù)值減2,計到0時,OUT改變狀態(tài)。*GATE信號控制計數(shù)過程;*計數(shù)過程中寫入新的計數(shù)值將在半周期結(jié)束時裝入計數(shù)器。542OUTGATE=1CLKWRCW=16LSB=52545252424OUTGATE=1CLKWRCW=16LSB=424242整理ppt第十五頁,共五十九頁。例:要求計數(shù)器0工作于方式3,輸出方波的頻率為2KHz,計數(shù)脈沖的頻率為2.5MHz,采用BCD計數(shù),試寫出初始化程序段。1.常數(shù)計算:n=TOUT/TCLK=fCLK/Fout=2.5MHz/2KHz=1250=1250H〔BCD〕MOVAL,37HOUT83H,AL能看出:8253的端口地址為:80H,81H,82H,83H。000111112.8253的方式控制字為:3.初始化程序段:=37HMOVAL,50HOUT80H,ALMOVAL,12HOUT80H,AL整理ppt第十六頁,共五十九頁。方式4〔軟件觸發(fā)選通〕*寫入控制字OUT=1;*寫入常數(shù)立即對CLK計數(shù);*計數(shù)到0,OUT=0;*一個CLK周期后,OUT=1,計數(shù)器停止計數(shù)。*計數(shù)器只計數(shù)一遍;*OUT是N+1個CLK后變低;*計數(shù)過程中,GATE=0,計數(shù)暫停;*假設(shè)在計數(shù)過程中,改變計數(shù)值,那么按新的計數(shù)值重新開始計數(shù)。321OUTGATE=1CLKWRCW=18LSB=30FFFEFD321OUTGATE=1CLKWRCW=18LSB=301FF2LSB=2整理ppt第十七頁,共五十九頁。方式5〔硬件觸發(fā)選通〕*寫入控制字OUT=1;*寫入常數(shù)后,由GATE的上升沿啟動計數(shù);*計數(shù)到0,OUT=0;*一個CLK周期后,OUT=1,計數(shù)器停止計數(shù)。*計數(shù)器只計數(shù)一次;*OUT是N+1個CLK后變低;*在計數(shù)過程中出現(xiàn)的GATE脈沖,將使計數(shù)器重新開始計數(shù),對輸出狀態(tài)沒有影響;*假設(shè)在計數(shù)過程中改變計數(shù)值,只要沒有GATE信號觸發(fā),不影響計數(shù)過程。有新的GATE信號觸發(fā)那么按新的計數(shù)值開始計數(shù)。321OUTGATECLKWRCW=1ALSB=30FF3321OUTGATECLKWRCW=1ALSB=30FF32整理ppt第十八頁,共五十九頁。六.8253-PIT工作方式小結(jié)1.輸出端OUT的初始狀態(tài)只有方式0是在寫入控制字后輸出為低,其它均為高;2.計數(shù)值的設(shè)置任一種方式,只有在寫入計數(shù)值后才能開始計數(shù),方式0、2、3、4在寫入計數(shù)值后,計數(shù)自動開始,方式1、5需外部觸發(fā),才開始計數(shù)。整理ppt第十九頁,共五十九頁。計數(shù)值N與輸出波形的關(guān)系方式功能N與輸出波形的關(guān)系0計完最后一個數(shù)中斷
寫入計數(shù)值N后,經(jīng)過N+1個CLK脈沖輸出變高1硬件再觸發(fā)單拍脈沖
單拍負脈沖的寬度為N個CLK脈沖2速率發(fā)生器N個CLK脈沖,輸出寬度為一個CLK周期的負脈沖3方波速率發(fā)生器寫入N后,輸出N/2個CLK高電平,N/2個CLK低電平(N為偶數(shù));(N+1)/2個CLK高電平,(N-1)/2個CLK低電平(N為奇數(shù))4軟件觸發(fā)選通
寫入N后,過N+1個CLK,輸出寬度為一個CLK的負脈沖5硬件觸發(fā)選通
門控觸發(fā)后過N+1個CLK,輸出寬度為一個CLK的負脈沖整理ppt第二十頁,共五十九頁。各種工作方式的輸出波形〔291〕方式0方式1方式2方式3方式4方式50N0N0N0/N110NN/2N/20/N0N01N01N01整理ppt第二十一頁,共五十九頁。3.門控信號的作用-----GATE輸入總是在CLK輸入時鐘的上升沿被采樣。在方式0,2,3,4中,GATE輸入是電平起作用。在方式1,2,3,5中GATE輸入是上升沿起作用的。(書300頁表9-3)GATE方式功
能低或變?yōu)榈蜕仙馗?計完最后一個數(shù)中斷禁止計數(shù)___允許計數(shù)1硬件再觸發(fā)單拍脈沖-----①啟動計數(shù)②下一個CLK脈沖使輸出變低-----2速率發(fā)生器①禁止計數(shù)②立即使輸出為高①重新裝入計數(shù)值②啟動計數(shù)允許計數(shù)3方波速率發(fā)生器①禁止計數(shù)②立即使輸出為高啟動計數(shù)允許計數(shù)4軟件觸發(fā)選通禁止計數(shù)-----允許計數(shù)5硬件觸發(fā)選通------啟動計數(shù)------整理ppt第二十二頁,共五十九頁。4.在計數(shù)過程中改變計數(shù)值立即有效是寫入計數(shù)值后的下一個CLK脈沖后,新的計數(shù)值開始起作用。5.計數(shù)到0后計數(shù)器的狀態(tài)計數(shù)器減到0后并不停止,在方式0,1,4,5,計數(shù)器減到0后從FFFF/9999繼續(xù)計數(shù)。方式2,3是連續(xù)計數(shù),計數(shù)器自動裝入計數(shù)值后,繼續(xù)計數(shù)。方式功能
改變計數(shù)值0計完最后一個數(shù)中斷立即有效1硬件再觸發(fā)單拍脈沖外部觸發(fā)后有效2速率發(fā)生器計數(shù)到1后有效3方波速率發(fā)生器外部觸發(fā)后有效計數(shù)到0后有效4軟件觸發(fā)選通立即有效5硬件觸發(fā)選通外部觸發(fā)后有效整理ppt第二十三頁,共五十九頁。七.8253-PIT的編程8253-PIT初始化編程的步驟:1.寫入通道控制字,規(guī)定通道的工作方式;〔8253的A1A0=11〕2.寫入計數(shù)值〔由控制字的最高兩位D7D6確定通道號〕。①假設(shè)規(guī)定只寫入低8位,那么寫入的為計數(shù)值的低8位,高8位自動置0;②假設(shè)規(guī)定只寫入高8位,那么寫入的為計數(shù)值的高8位,低8位自動置0;③假設(shè)是16位計數(shù)值,那么分兩次寫入,先寫入低8位,再寫入高8位。定時系數(shù)〔計數(shù)初值〕n=定時時間t時鐘頻率fc=定時時間t/時鐘脈沖周期Tc整理ppt第二十四頁,共五十九頁。8253的控制字編程;某個8253的計數(shù)器0、1、2端口和控制端口地址依次是40H~43H;設(shè)置其中計數(shù)器0為方式0,采用二進制計數(shù),先低后高寫入計數(shù)值moval,30h;方式控制字:30H=00110000Bout43h,al;寫入控制端口:43H整理ppt第二十五頁,共五十九頁。8253的計數(shù)初值編程;某個8253的計數(shù)器0、1、2端口和控制端口地址依次是40H~43H;設(shè)置計數(shù)器0采用二進制計數(shù),寫入計數(shù)初值:1024〔=400H〕movax,1024 ;計數(shù)初值:1024〔=400H〕 ;寫入計數(shù)器0地址:40Hout40h,al ;寫入低字節(jié)計數(shù)初值moval,ahout40h,al ;寫入高字節(jié)計數(shù)初值整理ppt第二十六頁,共五十九頁。例:8253的地址為04H~07H,要使計數(shù)器1工作在方式0,僅用8位二進制計數(shù),計數(shù)值為128,編制初始化程序。編程步驟:1、確定計數(shù)值及數(shù)制。128=0128H(BCD)=80H(二進制)2、確定工作方式及使用的計數(shù)器。方式0,計數(shù)器13、確定讀寫格式。如果用0128H那么即寫高位又寫低位,用80H只寫低位,高位自動置0,0080H。4、確定控制字。01010000D0D1D2D3D4D5D6D701選擇計數(shù)器101只讀/寫低位有效字節(jié)〔低八位〕000方式00=二進制=50H5、確定端口地址。控制口07H,計數(shù)器1的端口地址05HMOVAL,50HOUT07H,ALMOVAL,80HOUT05H,,AL思考:如果用BCD數(shù)制呢?6、編寫初始化程序。先寫控制字,再寫計數(shù)值。針對每個計數(shù)器。這里只用計數(shù)器1整理ppt第二十七頁,共五十九頁。01110001D0D1D2D3D4D5D6D701選擇計數(shù)器1先寫低位有效字節(jié)〔低八位〕再寫高位有效字節(jié)〔高八位〕000方式01=BCD=71HMOVAL,71HOUT07H,AL;先寫控制字MOVAL,28HOUT05H,AL;再寫低八位計數(shù)值:128=0128H(BCD)MOVAL,01HOUT05H,AL;最后寫高八位思考:如果端口地址>255呢?例如200H~203H。MOVDX,203HMOVAL,71HOUTDX,AL;先寫控制字MOVDX,201HMOVAL,28HOUTDX,AL;再寫低八位MOVAL,01HOUTDX,,AL;最后寫高八位整理ppt第二十八頁,共五十九頁。例:8253的地址為04H~07H,要使計數(shù)器0工作在方式1,BCD計數(shù),計數(shù)值為3000,編制初始化程序。00100011D0D1D2D3D4D5D6D700選擇計數(shù)器010只寫高位有效字節(jié)〔高八位〕001方式1=23H1=BCDMOVAL,23HOUT07H,AL;先寫控制字MOVAL,30HOUT04H,,AL;再寫高八位計數(shù)值=3000D=3000H〔BCD〕,只寫高位整理ppt第二十九頁,共五十九頁。例:8253的地址為04H~07H,要使計數(shù)器2工作在方式2,二進制計數(shù),計數(shù)值為02F0H,編制初始化程序。10110100D0D1D2D3D4D5D6D710選擇計數(shù)器2010方式2=0B4H0=二進制MOVAL,0B4HOUT07H,AL;先寫控制字計數(shù)值=02F0H,先寫低位0F0H,再寫高位02H先寫低位有效字節(jié)〔低八位〕再寫高位有效字節(jié)〔高八位〕MOVAL,0F0HHOUT06H,AL;再寫低八位MOVAL,02HOUT06H,AL;最后寫高八位整理ppt第三十頁,共五十九頁。習題1、某系統(tǒng)中,8253芯片的計數(shù)器0,計數(shù)器1,計數(shù)器2及控制端口地址分別為70H,71H,72H,73H。假設(shè)利用計數(shù)器0對外部事件計數(shù),其GATE接高電平,當計數(shù)計滿3000次,向CPU發(fā)出中斷申請;且利用計數(shù)器1輸出頻率為100HZ的方波,CLK1=2MHZ。試編寫8253的初始化程序。解:根據(jù)題意分析,計數(shù)器0工作在方式0,計數(shù)置3000次;計數(shù)器1工作在方式3,計數(shù)值n=20000=4E20H次8253的初始化程序片段如下:MOVAL,21HOUT73H,ALMOVAL,30HOUT70H,AL;給計數(shù)器0送計數(shù)初值MOVAL,76HOUT73H,AL;設(shè)置計數(shù)器1的控制字MOVAL,20HOUT71H,ALMOVAL,4EHOUT71H,AL注:對每一個計數(shù)器,其控制字必須寫在它的計數(shù)值之前。計數(shù)值寫入計數(shù)器的格式,必須按照控制字的RL1,RL0的規(guī)定格式來寫整理ppt第三十一頁,共五十九頁。習題2、利用8253的2#計數(shù)器周期性地每隔10ms產(chǎn)生一次中斷,能看出CLK頻率為2MHz。試選擇工作方式,并編寫出相應(yīng)的初始化程序?!苍O(shè)8253的地址為70H~73H〕解:要產(chǎn)生周期性的中斷信號,可選擇方式2。計數(shù)初值為n=10ms×2MHz=20000=4E20H初始化程序為MOVAL,10110100BOUT73H,ALMOVAL,20HOUT72H,ALMOVAL,4EHOUT72H,AL整理ppt第三十二頁,共五十九頁。例〔286〕設(shè)8253芯片的端口地址為388H38BH?,F(xiàn)要求計數(shù)器0工作在方式3,計數(shù)初值為2354,十進制計數(shù);計數(shù)器1工作在方式2,計數(shù)初值為18H,二進制計數(shù)。試根據(jù)上述要求編寫初始化程序及讀取計數(shù)器0當前計數(shù)值的程序。;計數(shù)器0的初始化程序 MOV DX,38BH ;給計數(shù)器0送控制字 MOV AL,00110111B OUT DX,AL MOV DX,388H ;送計數(shù)初值的低8位 MOV AL,54H OUT DX,AL MOV AL,23H ;送計數(shù)初值的高8位 OUT DX,AL整理ppt第三十三頁,共五十九頁。;計數(shù)器1的初始化程序 MOV DX,38BH ;給計數(shù)器1送控制字 MOV AL,01010100B OUT DX,AL MOV DX,389H ;計數(shù)初值送低8位 MOV AL,18H OUT DX,AL整理ppt第三十四頁,共五十九頁。;計數(shù)器0當前計數(shù)值讀出程序 MOV DX,38BH ;送計數(shù)器0當前計數(shù)值鎖存命令 MOV AL,00H OUT DX,AL MOV DX,388H ;讀出當前計數(shù)值的低8位 IN AL,DX MOV CL,AL IN AL,DX ;讀出當前計數(shù)值的高8位 MOV CH,AL整理ppt第三十五頁,共五十九頁。例1:某8253端口地址為F8H~FBH,欲用通道0以方式1,按BCD計數(shù),計數(shù)值為5080。1.確定通道控制字;2.計數(shù)值的低8位為80;3.計數(shù)值的高8位為50。00110011初始化程序為:MOVAL,33HOUT0FBH,ALMOVAL,80HOUT0F8H,ALMOVAL,50HOUT0F8H,AL在計數(shù)過程中,8253讀計數(shù)器現(xiàn)行值的方法:〔將計數(shù)值存入內(nèi)部鎖存器〕MOVAL,43H;計數(shù)器1的鎖存命令OUT0FBH,AL;寫入控制存放器INAL,0F9H;讀低8位MOVCL,AL;存入CL中INAL,0F9H;讀高8位MOVCH,AL;存入CH中第二節(jié)Intel8253-PIT的應(yīng)用舉例01000011整理ppt第三十六頁,共五十九頁。例2:系統(tǒng)中8253芯片的通道0至通道2和控制端口的地址分別為0FFF0H,0FFF2H,0FFF4H和0FFF6H。1、通道0工作在方式2,CLK0=2MHZ,要求輸出OUT0=1KHZ的速率波;2、通道1工作在方式0,其CLK1輸入外部計數(shù)事件,每計滿1000個向CPU發(fā)出中斷請求。編寫8253通道0和通道1的初始化程序。1、8253通道0的初始化程序為MOVAL,00100101BMOVDX,0FFF6HOUTDX,ALMOVAL,20HMOVDX,0FFF0HOUTDX,AL2、8253通道1的初始化程序為MOVAL,01100001BMOVDX,0FFF6HOUTDX,ALMOVAL,10HMOVDX,0FFF2HOUTDX,AL1、N=2M/1K=2000=2000H(BCD)2、N=1000=1000H(BCD)整理ppt第三十七頁,共五十九頁。例3:編程,將8253計數(shù)器0設(shè)置為方式1,計數(shù)初值為3000,計數(shù)器1設(shè)置為方式2,計數(shù)初值為2022H,計數(shù)器2設(shè)置為方式4,計數(shù)初值為4030H?!苍O(shè)8253的端口地址為70H~73H〕MOVAL,00100011B;送計數(shù)器0控制字OUT73H,ALMOVAL,30HOUT70H,AL;送計數(shù)器0的計數(shù)初值MOVAL,01110100BOUT73H,AL;送計數(shù)器1的控制字MOVAL,10HOUT71H,ALMOVAL,20HOUT71H,AL;送計數(shù)器1的計數(shù)初值MOVAL,10111000BOUT73H,AL;送計數(shù)器2的控制字MOVAL,30HOUT72H,ALMOVAL,40HOUT72H,AL;送計數(shù)器2的計數(shù)初值N0=3000=3000H(BCD)整理ppt第三十八頁,共五十九頁。A4A3A0A5M/IOA7A6A9A8G1G2BG2ACBAY4A2A1RDWRD7—D0GATE0OUT0CLK0CLK1CLK2GATE1OUT1GATE2OUT2A1A0RDWRD7—D0CS1MHz方波5V2KHz方波1ms的負脈沖單脈沖8086CPU74LS138例4:用8253產(chǎn)生各種定時波形。由圖可知: A9A8A7A6A5A4A3A2A1A011
00
0
10*
*0端口地址310H,312H,314H,316H&&&整理ppt第三十九頁,共五十九頁。例2:用8253產(chǎn)生各種定時波形。要求:〔1〕通道0輸出頻率為2KHz的方波;〔2〕通道1產(chǎn)生寬度為1ms的負脈沖;〔3〕通道2以硬件方式觸發(fā),輸出單脈沖時常為26。分析圖知道:8253初始地址為310H,3通道所用時鐘脈沖頻率為1MHz。分析:通道0工作于方式3,時間常數(shù)N0=1MHz/2KHz=500=0500H(BCD);通道1工作于方式1,OUT1的寬度為時常,時間常數(shù)N1=1ms/0.001ms=1000=1000H(BCD);通道2工作于方式5,時間常數(shù)N2=26=0026H(BCD)。整理ppt第四十頁,共五十九頁。;通道0初始化程序MOVDX,316HMOVAL,00100111BOUTDX,ALMOVDX,310HMOVAL,05HOUTDX,AL;通道1初始化程序MOVDX,316HMOVAL,01100011BOUTDX,ALMOVDX,312HMOVAL,10HOUTDX,AL;通道2初始化程序MOVDX,316HMOVAL,10011011BOUTDX,ALMOVDX,314HMOVAL,26HOUTDX,AL整理ppt第四十一頁,共五十九頁。例5.有如下接口原理如下圖。要求發(fā)光二極管L0亮5S后就熄滅;L1在K1啟動后亮6S后就熄滅;L2亮4S滅4S交替進行。寫出源程序片段〔段定義語句可以省略〕。整理ppt第四十二頁,共五十九頁。由譯碼電路分析知,8253計數(shù)器0、計數(shù)器1、計數(shù)器2及控制端口的地址分別為91H,93H,95H,97H。8253的計數(shù)器0應(yīng)該工作在方式0,計數(shù)初值N0=5×1000=5000;計數(shù)器1應(yīng)工作在方式1〔門控信號觸發(fā)〕,N1=6×1000=6000;計數(shù)器2應(yīng)工作在方式3,N2=〔4+4〕×1000=8000。根據(jù)以上分析,可以編寫出8253初始化程序片段。;初始化計數(shù)器0MOVAL,21H;00100001BOUT97H,ALMOVAL,50HOUT91H,AL;初始化計數(shù)器1MOVAL,63H;01100011BOUT97H,ALMOVAL,60HOUT93H,AL;初始化計數(shù)器2MOVAL,0A7H;10100111BOUT97H,ALMOVAL,80HOUT95H,AL整理ppt第四十三頁,共五十九頁。例6:接口原理圖如下圖。要求發(fā)光二極管L1在K1啟動后亮3S就熄滅;發(fā)光二極管L2亮2S滅2S交替進行。編寫簡化源程序。整理ppt第四十四頁,共五十九頁。根據(jù)譯碼電路,8253的端口地址為0B3H,0B7H,0BBH,0BFH。根據(jù)題目要求,經(jīng)分析得出:計數(shù)器1工作在方式1,計數(shù)初值N=6000;計數(shù)器2工作在方式3,計數(shù)初值N=8000。初始化程序片段為:MOVAL,01100011BOUT0BFH,ALMOVAL,60HOUT0B7H,ALMOVAL,10100111BOUTOBFH,ALMOVAL,80HOUT0BBH,AL整理ppt第四十五頁,共五十九頁。例7.某系統(tǒng)中,8253芯片的計數(shù)器0,計數(shù)器1,計數(shù)器2及控制端口地址分別為0130H,0131H,0132H,0133H。假設(shè)利用計數(shù)器1對外部事件計數(shù),其GATE接高電平,當計數(shù)計滿3200次,向CPU發(fā)出中斷申請;且利用計數(shù)器2輸出高電平為0.005S,低電平為0.005S交替變換的方波,CLK2=2MHz。試編寫8253的初始化程序。解:根據(jù)題意分析,計數(shù)器1工作在方式0,計數(shù)置3200次;計數(shù)器2工作在方式3,計數(shù)值n=20000=4E20H次。8253的初始化程序片段如下:MOVDX,0133HMOVAL,61HOUTDX,ALMOVDX,0131HMOVAL,32HOUTDX,ALMOVDX,0133HMOVAL,0B6HOUTDX,ALMOVDX,0132HMOVAL,20HOUTDX,ALMOVAL,4EHOUTDX,AL整理ppt第四十六頁,共五十九頁。例8.編程將8253的計數(shù)器0設(shè)置為方式1,計數(shù)初值為3000H;計數(shù)器1設(shè)置為方式2,計數(shù)初值為2022H;計數(shù)器2設(shè)置為方式4,計數(shù)初值為50。8253的端口地址為3B0H~3B3H。ADDREQU3B0HMOVDX,ADDR+3;控制存放器地址MOVAL,00110010B;計數(shù)器0設(shè)置為方式1,二進制計數(shù)OUTDX,ALMOVDX,ADDR;計數(shù)器0地址MOVAL,0OUTDX,AL;設(shè)置0#初值低8位MOVAL,30HOUTDX,AL;設(shè)置0#初值高8位MOVDX,ADDR+3MOVAL,01110100B;計數(shù)器1設(shè)置為方式2,二進制計數(shù)OUTDX,ALMOVDX,ADDR+1;計數(shù)器1地址MOVAL,10HOUTDX,ALMOVAL,20HOUTDX,ALMOVDX,ADDR+3MOVAL,10011001B;計數(shù)器2設(shè)置為方式4,十進制計數(shù)OUTDX,ALMOVDX,ADDR+2MOVAL,50HOUTDX,AL;設(shè)置2#初值低8位整理ppt第四十七頁,共五十九頁。8.1.58253應(yīng)用舉例例8.2使用8253計數(shù)器2產(chǎn)生頻率為40kHz的方波,設(shè)8253的端口地址為0040H0043H,能看出時鐘端CLK2輸入信號的頻率為2MHz。試設(shè)計8253與8088總線的接口電路,并編寫產(chǎn)生方波的程序。8253與8088總線的接口電路如圖8.12所示。為了使計數(shù)器2產(chǎn)生方波,應(yīng)使其工作于方式3,輸入的2MHz的CLK2時鐘信號進行50次分頻后可在OUT2端輸出頻率為40kHz的方波,因此,對應(yīng)的控制字應(yīng)為10010111B,計數(shù)初值為十進制數(shù)50。程序如下所示:整理ppt第四十八頁,共五十九頁。MOV AL,10010111B ;對計數(shù)器2送控制字MOV DX,0043HOUT DX,ALMOV AL,50H ;送計數(shù)初值50MOV DX,0042HOUT DX,AL整理ppt第四十九頁,共五十九頁。圖8.128253與8088總線的連接整理ppt第五十頁,共五十九頁。例8.38253在IBMPC/XT機中的應(yīng)用。圖8.138253在IBMPC/XT機中的連接整理ppt第五十一頁,共五十九頁。可以看出,要使8253的片選信號CS有效,應(yīng)使A9A8A7A6A5=00010,由于A4A3A2未參加譯碼,這三位為任意狀態(tài)均可使8253選中,因此8253的端口地址為40H~5FH,若取A4A3A2=000,則8253計數(shù)器0、計數(shù)器1、計數(shù)器2以及控制寄存器的端口地址分別為40H、41H、42H和43H。如圖中所示,8253三個計數(shù)器使用相同的時鐘頻率,它們是由8284時鐘發(fā)生器輸出時鐘信號PCLK,再經(jīng)過D觸發(fā)器74LS175(圖中未畫出)二分頻后得到的,頻率為1.19MHz,8253的GATE0和GATE1接+5V,始終處于選返狀態(tài),GATE2接8255的PB0。整理ppt第五十二頁,共五十九頁。1)計數(shù)器0該計數(shù)器向系統(tǒng)日歷時鐘提供定時中斷,工作方式為方式3,設(shè)置的控制字為36H。門控GATE0接+5?V為常啟狀態(tài),計數(shù)器計數(shù)初值預置為0(即65536)。因此,OUT0輸出方波的頻率為1.19MHz/65536=18.21?Hz,即每秒產(chǎn)生18.2次中斷,或者說每隔55?ms申請一次日歷時鐘中斷。其程序如下:MOV AL,36H;設(shè)置計數(shù)器0為工作方式3,采用二進制計數(shù)OUT 43H,AL ;寫
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年江蘇省鎮(zhèn)江市中考語文真題卷含答案解析
- 幼兒園保育工作計劃總結(jié)
- 2025年楚雄市高壓電工證理論考試練習題含答案
- 安環(huán)部員工2025年度工作總結(jié)模版
- 小學六年級語文教師教學工作總結(jié)
- 腳手架工程量計算方法
- 2025年市場監(jiān)督管理局業(yè)務(wù)考試復習題集及答案解析
- 花卉栽培試題庫及答案
- 2025年社區(qū)公共衛(wèi)生服務(wù)培訓試題集含答案
- 電工三級(高級工)試題含答案
- 膽囊癌課件教學課件
- 廣西2025年高等職業(yè)教育考試全區(qū)模擬測試 能源動力與材料 大類試題及逐題答案解說
- 2026江蘇省公務(wù)員考試公安機關(guān)公務(wù)員(人民警察)歷年真題匯編附答案解析
- 孕婦貧血教學課件
- 超市冷庫應(yīng)急預案(3篇)
- 5年(2021-2025)山東高考生物真題分類匯編:專題17 基因工程(解析版)
- 2025年10月自考00610高級日語(二)試題及答案
- 新華資產(chǎn)招聘筆試題庫2025
- 2025年中國潛孔鉆機行業(yè)細分市場研究及重點企業(yè)深度調(diào)查分析報告
- 食品經(jīng)營場所及設(shè)施設(shè)備清洗消毒和維修保養(yǎng)制度
- 2026年遼寧軌道交通職業(yè)學院單招職業(yè)技能測試題庫必考題
評論
0/150
提交評論