版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
教學內(nèi)容8253的編程結(jié)構(gòu)及工作原理
8253與CPU的連接
8253的初始化
8253的工作方式應用舉例在微型計算機系統(tǒng)中,常需要用到定時功能。所謂定時(計數(shù))就是通過硬件或軟件的方法產(chǎn)生一個時間基準,以此來實現(xiàn)對系統(tǒng)的定時或延時控制。
定時與計數(shù)
計數(shù):記錄事件產(chǎn)生的次數(shù)。在計算機中,其實質(zhì)是記錄脈沖個數(shù)。計數(shù)對象脈沖不一定要求是周期信號。
定時:在預定時間產(chǎn)生的有關信號。在計算機中,定時是通過累計計時單元獲得,即定時的本質(zhì)就是計數(shù),且定時所計脈沖是標準的周期脈沖。11.1定時功能的實現(xiàn)方法1.軟件定時
軟件定時:由于執(zhí)行每條指令都需要時間,則執(zhí)行一個程序段就需要一個固定的時間,通過適當?shù)靥暨x指令和安排循環(huán)次數(shù)來實現(xiàn)軟件的定時。這種方法由于要完全占用CPU的時間,因而降低了CPU的利用率。優(yōu)點:不需要外加硬件電路。缺點:可移植性差,定時時間越長,CPU的開銷越大,而且不能響應中斷,否則定時就不準確了。2.硬件定時硬件定時—由硬件電路來實現(xiàn)的定時 優(yōu)點—減輕CPU的負擔,使得在定時期間CPU能做其它工作。不可編程的硬件定時—555時基電路它采用固定的電路,如可以采用小規(guī)模集成電路555,外接電阻和電容構(gòu)成單穩(wěn)延時電路。這樣的定時電路簡單,而且通過改變電阻和電容,可以使定時在一定的范圍內(nèi)調(diào)整。缺點:不易修改定時參數(shù),時間長了會老化。11.1定時功能的實現(xiàn)方法可編程硬件定時—8253定時/計數(shù)器
這是目前在控制系統(tǒng)中廣泛使用的方法,它通過編程來控制電路的定時值及定時范圍,功能強,使用靈活。在計算機系統(tǒng)中,象定時中斷、定時檢測、定時掃描等等都是用可編程定時器來完成定時控制的。優(yōu)點:定時參數(shù)和工作方式又可由軟件來控制,定時過程不需要CPU干預。11.1定時功能的實現(xiàn)方法61.定時定義:提供時間基準。分類:內(nèi)部定時、外部定時。2.計數(shù)定時與計數(shù)本質(zhì)上是一致的。計數(shù)的信號隨機,定時的信號具有穩(wěn)定和準確的周期性。11.2可編程計數(shù)/定時器的工作原理73)計數(shù)器/定時器的用處:①作為中斷信號②輸出精確的定時信號③作為波特率發(fā)生器④實現(xiàn)延遲8計數(shù)器/定時器的基本原理圖12349說明:1)一般結(jié)構(gòu)中包含4個寄存器,其中控制/狀態(tài)寄存器共用一個端口地址,初始值/計數(shù)輸出寄存器共用另一個端口地址。2)計數(shù)輸出寄存器放當前計數(shù)值,計數(shù)執(zhí)行部件數(shù)值不能直接讀出;103)狀態(tài)寄存器用于CPU查詢狀態(tài)用;4)3個引腳信號:CLK——時鐘輸入、GATE——門控信號(模式不同則不同)、OUT——中斷請求或設備啟動或特殊波形信號11.28253定時計數(shù)器3個獨立的16位計數(shù)器通道每個計數(shù)器有6種工作方式按二進制或十進制(BCD碼)計數(shù)12
(1)8253的編程結(jié)構(gòu)1.
數(shù)據(jù)總線緩沖器:數(shù)據(jù)總線緩沖器是一個三態(tài),雙向8位寄存器,用于將8253與系統(tǒng)總線D0-D7相連。基本功能:向8253寫入確定8253工作方式的命令;向計數(shù)寄存器裝入初值;讀出計數(shù)器的初值或當前值。一、8253的編程結(jié)構(gòu)2.讀/寫邏輯讀/寫邏輯由CPU發(fā)來的讀、寫信號和地址信號,選擇讀出或?qū)懭爰拇嫫?,并且確定數(shù)據(jù)傳輸?shù)姆较颍菏亲x出還是寫入。3.控制字寄存器控制字寄存器接受CPU送來的控制字。這個控制字用來選擇計數(shù)器及相應的工作方式??刂谱旨拇嫫髦荒軐懭?,不能讀出。一、8253的編程結(jié)構(gòu)4.計數(shù)器(定時是對標準脈沖計數(shù))8253有三個獨立的計數(shù)通道每個通道的內(nèi)部結(jié)構(gòu)完全相同,均有16位的計數(shù)單元CE(減1計數(shù)器,不可讀寫)16位初值寄存器CR(只寫)16位輸出鎖存器OL組成(只讀)控制單元—控制該計數(shù)器的工作方式
一、8253的編程結(jié)構(gòu)計數(shù)器結(jié)構(gòu)示意圖預置寄存器GATECLKOUT減1計數(shù)器輸出鎖存器計數(shù)初值寄存器(16位):用于存放計數(shù)初值在計數(shù)器計數(shù)過程中保持不變。
計數(shù)單元(16位):用于進行減1計數(shù)操作,每來一個時鐘脈沖,它就作減1運算,直至將計數(shù)初值減為零。當前計數(shù)值鎖存器(16位):用于鎖存減1計數(shù)器的內(nèi)容,以供讀出和查詢。一、8253的編程結(jié)構(gòu)8253的引腳圖二、8253與CPU的連接8253GATE0OUT0CLK05V8088CPU2KHzD0~78253與8位CPU的連接譯碼地址M/IOCSWRRDA0A1A0A1WRRD二、8253與CPU的連接3個計數(shù)器相互獨立,3個計數(shù)初值寄存器,輸入的初值都不一樣。用一個片選信號不能區(qū)分3個空間,所以要用A1,A0配合片選信號對3個獨立的空間進行區(qū)分。A1A0相對于內(nèi)部尋址00計數(shù)器001計數(shù)器110計數(shù)器211控制寄存器(存儲3個計數(shù)器的工作方式)8253的I/O地址01000010010101001011001
00001
01001
10功能對計數(shù)器0設置計數(shù)初值CSRDA1A0WR對計數(shù)器1設置計數(shù)初值對計數(shù)器2設置計數(shù)初值設置控制字從計數(shù)器0讀出計數(shù)值從計數(shù)器1讀出計數(shù)值從計數(shù)器2讀出計數(shù)值8253加電后的工作方式不確定8253必須初始化編程,才能正常工作寫入控制字控制字寫入控制端口寫入計數(shù)初值初值寫入相應的計數(shù)器三、8253的初始化計數(shù)器n每個獨立的計數(shù)器都有一個控制寄存器,存放該計數(shù)器的工作方式,讀寫格式等信息。但這3個控制寄存器共用一個地址,即A1A0=11,芯片怎樣區(qū)分計算機是給哪個計數(shù)器控制器下達的命令呢?D7D6D5D4D3D2D1D0計數(shù)器00讀寫格式工作方式數(shù)制計數(shù)器001計數(shù)器110計數(shù)器211無效控制字寄存器同一地址A1A0=118253控制字格式
SC1SC0RW1RW0M2M1M0BCD1--計數(shù)值為BCD碼格式0--計數(shù)值為二進制格式M2M1M0模式選擇
000模式0001模式1/10模式2/11模式3100模式4101模式500----選計數(shù)器001----選計數(shù)器110----選計數(shù)器211----無意義三、8253的初始化00----對計數(shù)器進行鎖存01----只讀/寫低8位字節(jié)10----只讀/寫高8位字節(jié)11----先讀/寫低8位字節(jié),
再讀/寫高8位字節(jié).選擇二進制時計數(shù)值范圍:0000H~FFFFH0000H是最大值,代表65536選擇十進制(BCD碼)計數(shù)值范圍:0000~99990000代表最大值10000計數(shù)初值:N=CLK的頻率fc
定時的時間t例:設8253:fc=1MHZ,最大計數(shù)初值N=65536
一個定時器最大定時時間:Tmax=N/fc=65536/106=0.065536s8253初值計算例:使2號定時器,工作在方式3,計數(shù)初值=533h,二進制計數(shù).試寫出8253初始化程序段.8253端口地址:40H,41H,42H,43HMOVAL,10110110B;2號定時器,方式3OUT43H,ALMOVAX,0533HOUT42H,AL;2號數(shù)據(jù)口MOVAL,AHOUT42H,AL三、8253的初始化設置控制字;確定計數(shù)初值例:使0號定時器,工作在方式3,計數(shù)初值N=1000,二進制計數(shù).試寫出8253初始化程序段.8253端口地址:40H,41H,42H,43HMOVAL,10110110B;2號定時器,方式3OUT43H,ALMOVAX,1000OUT40H,AL;0號數(shù)據(jù)口MOVAL,AHOUT40H,AL讀取計數(shù)值對8位數(shù)據(jù)線,讀取16位計數(shù)值需分兩次計數(shù)在不斷進行,應該將當前計數(shù)值先行鎖存,然后讀?。合蚩刂谱諭/O地址:給8253寫入鎖存命令從計數(shù)器I/O地址:讀取鎖存的計數(shù)值讀取計數(shù)值,要注意讀寫格式和計數(shù)數(shù)制
例:要求讀出并檢查1號計數(shù)器的當前計數(shù)值是否是全“1”(假定計數(shù)值只有低8位),其程序段為
MOVDX,307H;命令口L:MOVAL,01000000B
;1號計數(shù)器的鎖存命令
OUTDX,AL;寫入命令寄存器
MOVDX,305H;1號計數(shù)器數(shù)據(jù)口
INAL,DX;讀計數(shù)器的當前計數(shù)值
CMPAL,0FFH;比較
JNEL;非全“1”,再讀
HLT;是全“1”,暫停
讀取計數(shù)值31
(1)8253的編程結(jié)構(gòu)8253控制字格式
SC1SC0RW1RW0M2M1M0BCD1--計數(shù)值為BCD碼格式0--計數(shù)值為二進制格式M2M1M0模式選擇
000模式0001模式1/10模式2/11模式3100模式4101模式500----選計數(shù)器001----選計數(shù)器110----選計數(shù)器211----無意義三、8253的初始化00----對計數(shù)器進行鎖存01----只讀/寫低8位字節(jié)10----只讀/寫高8位字節(jié)11----先讀/寫低8位字節(jié),
再讀/寫高8位字節(jié).四、8253的工作方式8253有6種工作方式,由方式控制字確定熟悉每種工作方式的特點才能根據(jù)實際應用問題,選擇正確的工作方式每種工作方式的過程類似:⑴設定工作方式⑵設定計數(shù)初值⑶硬件啟動⑷計數(shù)初值進入減1計數(shù)器⑸每輸入一個時鐘計數(shù)器減1的計數(shù)過程⑹計數(shù)過程結(jié)束基本規(guī)則:控制字寫入計數(shù)器時,所有的控制邏輯電路立即復位,輸出端OUT進入初始狀態(tài)(高電平或低電平);初始值寫入后,要經(jīng)過一個時鐘上升沿和下降沿,計數(shù)執(zhí)行部件才開始計數(shù);通常,在時鐘CLK的上升沿,門控GATE被采樣,門控的觸發(fā)方式為邊沿或電平,邊沿觸發(fā)脈寬可用很窄,且高低電平均可(計數(shù)器內(nèi)部有個邊沿觸發(fā)器,隨時檢測),電平觸發(fā)則必須在下一個時鐘上升沿前保持高電平;在時鐘脈沖的下降沿計數(shù)器作減1計數(shù),0是計數(shù)器所能容納的最大初始值,二進制時是216,十進制時是104。(1)方式0:計數(shù)結(jié)束中斷特點:計數(shù)過程由軟件啟動,每設置一次初值,只啟動一次計數(shù)過程;寫入控制字后,OUT初態(tài)為低,在計數(shù)過程中一直保持為低電平,當計數(shù)器減到0時,OUT立即變成高電平。門控GATE為1,正常計數(shù),門控為0,計數(shù)暫停,其計數(shù)值保持不變,再為1,接著前次繼續(xù)計數(shù);計數(shù)過程中,改變初值立即有效,即重新寫入初值時停止計數(shù),當寫完初值后,在CLK的下降沿處,開始以新的計數(shù)初值計數(shù)。GATE門控為1時,方式0的波形。門控GATE對OUT的影響。計數(shù)暫停,保持不變改變初值對方式0的影響立即有效方式0計數(shù)結(jié)束中斷①②⑤④⑥GATEOUTCLK
031244方式0WR①設定工作方式②設定計數(shù)初值④計數(shù)值送入計數(shù)器⑤計數(shù)過程⑥計數(shù)結(jié)束(2)方式1:硬件可重觸發(fā)單穩(wěn)態(tài)方式(可編程單脈沖)特點:計數(shù)器只能由門控脈沖GATE的上升沿啟動,即計數(shù)器只能由硬件啟動,不能用軟件啟動;寫入控制字后,OUT初態(tài)為高電平,GATE啟動后,獲得N個CLK寬度的低電平,計數(shù)到零后,可再次由外部觸發(fā)啟動,不用再次送入一個計數(shù)初值;在OUT輸出為低期間,若GATE出現(xiàn)上升沿,計數(shù)器從CLK的下降沿開始重新計數(shù),OUT低電平的寬度變長;計數(shù)輸出期間,改變計數(shù)初值不影響本次計數(shù),只有在GATE信號后才重新開始以新的計數(shù)初值計數(shù),即計數(shù)值是下次有效的。門控觸發(fā)初態(tài)為高開始計數(shù)后輸出N個CLK寬度的低電平重新啟動門控GATE對輸出的影響:不用重裝初值,上升沿啟動又開始新的計數(shù)。重裝初值對輸出的影響:不影響本次計數(shù),在下次GATE上升沿時有效。計數(shù)值是下次有效的。方式1可編程單穩(wěn)脈沖①②⑤④⑥①設定工作方式②設定計數(shù)初值③③硬件啟動④計數(shù)值送入計數(shù)器⑤計數(shù)過程⑥計數(shù)結(jié)束GATEOUTCLK
031244方式1WR(3)方式2:周期性負脈沖輸出(速率發(fā)生器)特點:計數(shù)器既可用軟件啟動,又可用硬件啟動;寫入控制字后,OUT初態(tài)為高電平,裝入初值后開始計數(shù)(軟件啟動),計數(shù)到1后,輸出一個CLK的低電平,接著又從N開始重復計數(shù),輸出N-1個高電平,1個低電平的周期信號;在OUT為高期間,若GATE為0,停止計數(shù),直到GATE出現(xiàn)上升沿,計數(shù)器重新開始計數(shù)輸出(硬件啟動);在OUT為高期間,改變計數(shù)初值,對正在進行的計數(shù)過程沒有影響,當輸出一個周期的CLK脈沖后則按新的計數(shù)值開始計數(shù)。改變計數(shù)是下次有效的。方式2:不用重裝初值,輸出周期信號,N-1高電平,1個低電平。GATE對輸出的影響:為低停止計數(shù),為高后又重新開始輸出周期信號。重裝初值對輸出的影響:不影響本次計數(shù),在輸出本次CLK脈沖后按新的計數(shù)值開始計數(shù)。計數(shù)值是下次有效的。(4)方式3:周期性方波輸出特點:與方式2類似,輸出信號為方波,周期為N個CLK。若初值N為偶數(shù),輸出N/2個CLK周期高電平,N/2個CLK周期低電平;若N為奇數(shù),(N+1)/2個高電平,(N-1)/2個低電平。GATE為0停止計數(shù),GATE上升沿重新啟動計數(shù)周期;重新寫入初值,本次OUT不受影響,下一周期按新值輸出。計數(shù)值下次有效。N=4,方波方式3:不用重裝初值,輸出周期信號,N為偶數(shù),N/2高電平,N/2個低電平。N為奇數(shù),(N+1)/2個高電平,(N-1)/2個低電平。GATE對輸出的影響:為低輸出變高,停止計數(shù),為高后又重新開始輸出周期信號。重裝初值對輸出的影響:不影響本次計數(shù),在輸出本次半個周期后按新的計數(shù)值開始計數(shù)。計數(shù)值是下次有效的。(5)方式4:單次負脈沖輸出(軟件觸發(fā))特點:與方式0類似,特點2,3不一樣計數(shù)過程由軟件啟動,每設置一次初值,只啟動一次計數(shù)過程;寫入控制字后,OUT初態(tài)為高,在計數(shù)過程中一直保持為高電平,當計數(shù)器減到0時,輸出為一個周期的CLK低電平,輸出接著變成高電平并一直維持。門控GATE為1,正常計數(shù),門控為0,計數(shù)停止,再為1,重新從計數(shù)初值開始計數(shù);計數(shù)過程中,改變初值立即有效,即重新寫入初值時停止計數(shù),當寫完初值后,在CLK的下降沿處,開始以新的計數(shù)初值計數(shù)。方式4:寫入控制字后,OUT初態(tài)為高,在計數(shù)過程中一直保持為高電平,當計數(shù)器減到0時,輸出為一個周期的CLK低電平,輸出接著變成高電平并一直維持。GATE對輸出的影響:GATE為低,計數(shù)停止,為高后,重新開始計數(shù)。重裝初值對輸出的影響:改變初值立即有效。(6)方式5:單次負脈沖輸出(硬件觸發(fā))特點:與方式1類似,只是輸出電平不同計數(shù)器只能由門控脈沖GATE的上升沿啟動,即計數(shù)器只能由硬件啟動,不能用軟件啟動;寫入控制字后,OUT初態(tài)為高電平,GATE啟動后,開始減1計數(shù),計數(shù)到零后,OUT出現(xiàn)一個CLK周期的負脈沖,又變?yōu)楦唠娖?,可以再次由外部觸發(fā)啟動,不用再次送入一個計數(shù)初值;在計數(shù)中,若GATE出現(xiàn)上升沿,則計數(shù)器重新觸發(fā),即在下一個時鐘周期開始計數(shù);計數(shù)輸出期間,改變計數(shù)初值不影響本次計數(shù),只有在GATE信號后才重新開始以新的計數(shù)初值計數(shù),即計數(shù)值是下次有效的。門控觸發(fā)開始計數(shù)后輸出1個CLK寬度的低電平重新啟動門控GATE對輸出的影響:不用重裝初值,上升沿啟動又開始新的計數(shù)。重裝初值對輸出的影響:不影響本次計數(shù),在輸出本次CLK脈沖后按新的計數(shù)值開始計數(shù)。計數(shù)值是下次有效的。重裝重裝下次有效方式2頻率發(fā)生器(分頻器)03124GATEOUTCLK
4方式2031240312403124WR方式3方波發(fā)生器03124GATEOUTCLK
4方式3031240312403124WR方式4軟件觸發(fā)選通信號GATEOUTCLK031244方式42233310WR方式5硬件觸發(fā)選通信號GATEOUTCLK031244方式522333110WR各種工作方式的輸出波形方式0方式1方式2方式3方式4方式50N0N0N0/N110NN/2
N/20/N0N01N01N01初始化編程的具體步驟為:1.
寫入計數(shù)器的控制字,規(guī)定其工作方式2.
寫入計數(shù)初值。若規(guī)定只寫低8位,則寫入的為計數(shù)值的低8位,高8位自動置0;若規(guī)定只寫高8位,則寫入的是計數(shù)值的高8位,低8位自動置0;若規(guī)定寫16位計數(shù)值,則分兩次寫入,先寫的必是低8位,后寫的必是高8位。
五、8253應用舉例例1:某微機系統(tǒng)中8253的端口地址為40H~43H,要求計數(shù)器0工作在方式0,計數(shù)初值為FFH,按二進制計數(shù);計數(shù)器1工作在方式2,計數(shù)初值為1000H,按BCD碼計數(shù)。試寫出初始化程序段。
解:1.按要求找出所用計數(shù)器的控制字計數(shù)器0的控制字:
選計數(shù)器0只寫低8位
選工作方式0二進制計數(shù)計數(shù)器1的控制字:
選計數(shù)器1只寫高8位
選工作方式2BCD計數(shù)
0
0
0
1
0
0
0
0
0
1
1
0
0
1
0
1
例1:例1:2.初始化程序段MOVAL,10H;寫通道0控制字OUT43H,ALMOVAL,
0FFH;寫通道0計數(shù)初值OUT40H,AL
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 個體戶投資合同范例
- 出口雞肉采購合同范例
- 對公借款合同模板
- 臨時雇傭車輛合同范例
- 供車結(jié)清合同模板
- 個人銷售材料合同范例
- 墓園綠化管護合同范例
- 家具銷售安裝合同模板
- 公眾平臺運營合同模板
- 口碑好采購合同范例
- CPK與CP詳細講解資料(課堂PPT)
- 光動力治療在氣道腫瘤中的臨床應用課件
- 小學語文人教三年級上冊 群文閱讀《奇妙的中心句》
- 大數(shù)據(jù)和人工智能知識考試題庫600題(含答案)
- 2023年上海機場集團有限公司校園招聘筆試題庫及答案解析
- 鏡頭的角度和方位課件
- 污水處理常用藥劑簡介知識講解課件
- 五年級上冊英語課件-Unit 1《My future》第1課時牛津上海版(三起) (共28張PPT)
- 光交接箱施工規(guī)范方案
- 氣溫和降水學案
- 普及人民代表大會制度知識競賽試題庫(1000題和答案)
評論
0/150
提交評論