計數(shù)定時控制器_第1頁
計數(shù)定時控制器_第2頁
計數(shù)定時控制器_第3頁
計數(shù)定時控制器_第4頁
計數(shù)定時控制器_第5頁
已閱讀5頁,還剩39頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

9計數(shù)/定時控制器1/12/20231可編程計數(shù)/定時控制器8253定時控制在微機系統(tǒng)中極為重要定時器由數(shù)字電路中的計數(shù)電路構成,通過記錄高精度晶振脈沖信號的個數(shù),輸出準確的時間間隔計數(shù)電路記錄外設提供的具有一定隨機性的脈沖信號時,主要反映脈沖的個數(shù),又稱為計數(shù)器定時功能的實現(xiàn)方法軟件延時——利用微處理器執(zhí)行一個延時程序段實現(xiàn)不可編程的硬件定時——采用分頻器、單穩(wěn)電路或簡易定時電路控制定時時間可編程的硬件定時——軟件硬件相結合、用可編程定時器芯片構成一個方便靈活的定時電路1/12/202328253/8254定時計數(shù)器8253可與8086/8088CPU相連構成完整的定時、計數(shù)或脈沖發(fā)生器系統(tǒng)。3個獨立的16位計數(shù)器通道每個計數(shù)器有6種工作方式按二進制或十進制(BCD碼)計數(shù)1/12/202338253的內(nèi)部結構和引腳D7~D0計數(shù)器0控制字寄存器計數(shù)器1計數(shù)器2內(nèi)部數(shù)據(jù)總線數(shù)據(jù)總線緩沖器讀寫控制邏輯RDWRA0A1CSCLK0GATE0OUT0CLK1GATE1OUT1CLK2GATE2OUT21/12/202341.數(shù)據(jù)總線緩沖存儲器 是8253與CPU之間的數(shù)據(jù)接口,由8位雙向三態(tài)緩沖存儲器構成,是CPU與8253之間交換信息的必經(jīng)之路。2.讀/寫控制電路 接收CPU送入的讀/寫控制信號,并完成對芯片內(nèi)部各功能部件的控制功能,因此,它實際上是8253芯片內(nèi)部的控制器。

可接收的控制信號如下:

(1)A1A0——端口選擇信號,由CPU輸入。8253內(nèi)部有3個獨立的通道和一個控制字寄存器,它們構成8253芯片的4個端口,CPU可對3個通道進行讀/寫操作,對控制字寄存器進行寫操作。這4個端口地址由最低2位地址碼A1A0來選擇。A1A0=00通道0A1A0=01通道1A1A0=10通道2A1A0=11控制字寄存器1/12/20235

(2)CS*——片選信號,由CPU輸入,低電平有效,通常由端口地址的高位地址譯碼形成。

CS*A1A0I/O地址讀操作RD*寫操作WR*00000101001140H41H42H43H讀計數(shù)器0讀計數(shù)器1讀計數(shù)器2無操作寫計數(shù)器0寫計數(shù)器1寫計數(shù)器2寫控制字(3)RD*、WR*——讀/寫控制命令,由CPU輸入,低電平有效。RD*有效時,CPU讀取由A1A0所選定的通道內(nèi)計數(shù)器的內(nèi)容。WR*有效時,CPU將計數(shù)值寫入各個通道的計數(shù)器中,或者是將方式控制字寫入控制字寄存器中。

1/12/202363.通道0~通道28253內(nèi)部包含3個功能完全相同的通道,每個通道內(nèi)部設有一個16位計數(shù)器,可進行二進制或十進制(BCD碼)計數(shù)。采用二進制計數(shù)時,最大計數(shù)值是FFFFH采用BCD碼計數(shù)時,最大計數(shù)值是9999每個通道內(nèi)設有一個16位計數(shù)值鎖存器,可用來鎖存計數(shù)值。當某通道用作計數(shù)器時,應將要求計數(shù)的次數(shù)預置到該通道的計數(shù)器中,被計數(shù)的事件應以脈沖方式從CLKi端輸入,每輸入一個計數(shù)脈沖,計數(shù)器內(nèi)容減“1”,待計數(shù)值計到“0”,OUTi端將有輸出,表示計數(shù)次數(shù)到。當某通道用作定時器時,由CLKi輸入一定頻率的時鐘脈沖。根據(jù)要求定時的時間長短確定所需的計數(shù)值,并預置到計數(shù)器中,每輸入一個時鐘脈沖,計數(shù)器內(nèi)容減“1”,待計數(shù)值計到“0”,OUTi將有輸出,表示定時時間到。允許從CLKi輸入的時鐘頻率在1~2MHz范圍內(nèi)。1/12/20237任一通道作計數(shù)器用或作定時器用,其內(nèi)部操作完全相同,區(qū)別在于前者是由計數(shù)脈沖進行減“1”計數(shù),而后者是由時鐘脈沖進行減“1”計數(shù)。作計數(shù)器時,要求計數(shù)的次數(shù)可直接作為計數(shù)器的初值預置到減“1”計數(shù)器中。作定時器時,計數(shù)器的初值即定時系數(shù)應根據(jù)要求定時的時間進行如下運算才能得到:

定時系數(shù)=要求定時的時間/時鐘脈沖的周期4.控制字寄存器

控制字寄存器用來存放由CPU寫入8253的方式選擇控制字,由它來定義8253中各通道的工作方式,其使用格式如下圖所示。1/12/202381/12/20239SC1,SC0位用來選擇通道。RL1,RL0位用來定義對所選通道中的計數(shù)器的操作RL1RL0=00時,將該通道中當前計數(shù)器的內(nèi)容鎖存到鎖存器中,為CPU讀取當前計數(shù)值作準備。RL1RL0=01時,表示只讀/寫計數(shù)器低字節(jié),這是因為只使用計數(shù)器的低字節(jié)作計數(shù)用。RL1RL0=10時,表示只讀/寫計數(shù)器高字節(jié),這是因為只使用計數(shù)器的高字節(jié)作計數(shù)用。RL1RL0=11時,表示先讀/寫計數(shù)器低字節(jié),后讀/寫計數(shù)器高字節(jié)。BCD位用來定義是采用二進制計數(shù)還是十進制計數(shù)M2M1M0位用來定義所選通道的6種工作方式。1/12/202310計數(shù)器結構示意圖預置寄存器GATECLKOUT減1計數(shù)器輸出鎖存器計數(shù)初值存于預置寄存器;在計數(shù)過程中,減法計數(shù)器的值不斷遞減,而預置寄存器中的預置不變。輸出鎖存器用于寫入鎖存命令時,鎖定當前計數(shù)值1/12/202311計數(shù)器的3個引腳CLK時鐘輸入信號——在計數(shù)過程中,此引腳上每輸入一個時鐘信號(下降沿),計數(shù)器的計數(shù)值減1GATE門控輸入信號——控制計數(shù)器工作,可分成電平控制和上升沿控制兩種類型

GATE作為各通道的門控信號,對于各種不同的工作方式,它所起的作用各不相同。在8253的應用中,必須正確使用GATE信號,才能保證各通道的正常操作。OUT計數(shù)器輸出信號——當一次計數(shù)過程結束(計數(shù)值減為0),OUT引腳上將產(chǎn)生一個輸出信號1/12/2023128253/8254的工作方式8253有6種工作方式,由方式控制字確定熟悉每種工作方式的特點才能根據(jù)實際應用問題,選擇正確的工作方式每種工作方式的過程類似:⑴設定工作方式⑵設定計數(shù)初值〔⑶硬件啟動〕⑷計數(shù)初值進入減1計數(shù)器⑸每輸入一個時鐘計數(shù)器減1的計數(shù)過程⑹計數(shù)過程結束1/12/202313方式0計數(shù)結束產(chǎn)生中斷這是典型的事件計數(shù)用法,當計數(shù)單元的內(nèi)容為0時,OUT信號變?yōu)楦唠娖?。利用OUT由低電平到高電平的變化作為計數(shù)/定時到的中斷請求信號。所以,方式0稱為計數(shù)/定時到達終值時的中斷方式。1/12/202314方式0計數(shù)結束產(chǎn)生中斷①②⑤④⑥GATEOUTCLK

031244方式0WR①設定工作方式②設定計數(shù)初值④計數(shù)值送入計數(shù)器⑤計數(shù)過程⑥計數(shù)結束1/12/202315方式0計數(shù)結束產(chǎn)生中斷門控信號GATE用來控制減“1”計數(shù)操作是否進行當GATE=1時,允許減“1”計數(shù);GATE=0時,禁止減“1”計數(shù)。計數(shù)到時,OUTi將輸出正跳變可用作中斷請求OUTi端輸出的高電平一直維持到下次再寫入計數(shù)值為止。1/12/202316利用工作方式0既可完成計數(shù)功能,也可完成定時功能。當用作計數(shù)器時,應將要求計數(shù)的次數(shù)預置到計數(shù)器中,將要求計數(shù)的事件以脈沖方式從CLKi端輸入,由它對計數(shù)器進行減“1”計數(shù),直到計數(shù)值為0,此刻OUTi輸出正跳變,表示計數(shù)次數(shù)到。當用作定時器時,應把根據(jù)要求定時的時間和CLKi的周期計算出定時系數(shù),預置到計數(shù)器中。從CLKi輸入的應是一定頻率的時鐘脈沖,由它對計數(shù)器進行減“1”計數(shù),定時時間從寫入計數(shù)值開始,到計數(shù)值計到“0”為止,OUTi輸出正跳變,表示定時時間到。1/12/202317任一通道工作在方式0情況下,計數(shù)器初值一次有效,經(jīng)過一次計數(shù)或定時后如果需要繼續(xù)完成計數(shù)或定時功能,必須重新寫入計數(shù)器的初值。1/12/202318方式1可編程單脈沖發(fā)生器①②⑤④⑥①設定工作方式②設定計數(shù)初值③③硬件啟動④計數(shù)值送入計數(shù)器⑤計數(shù)過程⑥計數(shù)結束GATEOUTCLK

031244方式1WR1/12/202319方式1可編程單脈沖發(fā)生器OUTi輸出高電平計數(shù)過程的啟動:計數(shù)值N裝入后:GATE出現(xiàn)一個上升沿OUTi輸出由高電平向低電平跳變,形成輸出單脈沖的前沿計數(shù)值計到“0”O(jiān)UTi輸出由低電平向高電平跳變,形成輸出單脈沖的后沿由方式1所能輸出單脈沖的寬度為CLKi周期的n倍。1/12/202320注:如果在減“1”計數(shù)過程中,GATE由高電平跳變?yōu)榈碗娖?,這并不影響計數(shù)過程,仍繼續(xù)計數(shù);但若重新遇到GATE的上升沿,則從初值開始重新計數(shù),其效果會使輸出的單脈沖加寬。方式1下,計數(shù)值一次有效,每輸入一次計數(shù)值,只產(chǎn)生一個負極性單脈沖。1/12/202321方式2頻率發(fā)生器(分頻器)03124GATEOUTCLK

4方式2031240312403124WR1/12/202322方式2頻率發(fā)生器(分頻器)進入工作方式2,OUTi輸出高電平,裝入計數(shù)值n后如果GATE為高電平,則立即開始計數(shù),OUTi保持為高電平不變;待計數(shù)值減到“1”和“0”之間,OUTi將輸出寬度為一個CLKi周期的負脈沖計數(shù)值為“0”時,自動重新裝入計數(shù)初值n,實現(xiàn)循環(huán)計數(shù)OUTi將輸出一定頻率的負脈沖序列,其脈沖寬度固定為一個CLKi周期,重復周期為CLKi周期的n倍。1/12/202323如果在減“1”計數(shù)過程中,GATE變?yōu)闊o效(輸入0電平),則暫停減“1”計數(shù),待GATE恢復有效后,從初值n開始重新計數(shù)。如果在操作過程中要求改變輸出脈沖的速率,CPU可在任何時候,重新寫入新的計數(shù)值,它不會影響正在進行的減“1”計數(shù)過程,而是從下一個計數(shù)操作周期開始按新的計數(shù)值改變輸出脈沖的速率。1/12/202324方式3方波發(fā)生器03124GATEOUTCLK

4方式3031240312403124WR1/12/202325方式3方波發(fā)生器任一通道工作在方式3,只在計數(shù)值n為偶數(shù),則可輸出重復周期為n、占空比為1∶1的方波。進入工作方式3,OUTi輸出低電平,裝入計數(shù)值n后,OUTi立即跳變?yōu)楦唠娖?。如果當前GATE為高電平,則立即開始減“1”計數(shù),OUTi保持為高電平,若n為偶數(shù),則當計數(shù)值減到n/2時,OUTi跳變?yōu)榈碗娖?,一直保持到計?shù)值為“0”,系統(tǒng)才自動重新置入計數(shù)值n,實現(xiàn)循環(huán)計數(shù)。這時OUTi端輸出的周期為n×CLKi周期,占空比為1∶1的方波序列;若n為奇數(shù),則OUTi端輸出周期為n×CLKi周期,占空比為((n+1)/2)/((n-1)/2)的近似方波序列。1/12/202326如果在操作過程中,GATE變?yōu)闊o效,則暫停減“1”計數(shù)過程,直到GATE再次有效,重新從初值n開始減“1”計數(shù)。如果要求改變輸出方波的速率,則CPU可在任何時候重新裝入新的計數(shù)初值n,并從下一個計數(shù)操作周期開始改變輸出方波的速率。1/12/202327方式4軟件觸發(fā)方式GATEOUTCLK031244方式42233310WR1/12/202328方式4軟件觸發(fā)方式進入工作方式4,OUTi輸出高電平。裝入計數(shù)值n后,如果GATE為高電平,則立即開始減“1”計數(shù),直到計數(shù)值減到“0”為止,OUTi輸出寬度為一個CLKi周期的負脈沖。由軟件裝入的計數(shù)值只一次有效,如果要繼續(xù)操作,必須重新置入計數(shù)初值n。如果在操作過程中,GATE變?yōu)闊o效,則停止減“1”計數(shù),到GATE再次有效時,重新從初值開始減“1”計數(shù)。1/12/202329利用這種工作方式可以完成定時功能,定時時間從裝入計數(shù)值n開始,OUTi輸出負脈沖表示定時時間到,其定時時間=n×CLK周期。這種工作方式也可完成計數(shù)功能,它要求計數(shù)的事件以脈沖的方式從CLKi輸入,將計數(shù)次數(shù)作為計數(shù)初值裝入后,由CLKi端輸入的計數(shù)脈沖進行減“1”計數(shù),直到計數(shù)值為“0”,由OUTi端輸出負脈沖(表示計數(shù)次數(shù)到)。當然也可利用OUTi向CPU發(fā)出中斷請求。因此工作方式4與工作方式0很相似,只是方式0在OUTi端輸出正階躍信號、方式4在OUTi端輸出負脈沖信號。1/12/202330方式5硬件觸發(fā)方式GATEOUTCLK031244方式522333110WR1/12/202331方式5硬件觸發(fā)方式進入工作方式5,OUTi輸出高電平,硬件觸發(fā)信號由GATE端引入。 因此,開始時GATE應輸入為0,裝入計數(shù)初值n后,減“1”計數(shù)并不工作,一定要等到硬件觸發(fā)信號由GATE端引入一個正階躍信號,減“1”計數(shù)才會開始,待計數(shù)值計到“0”,OUTi將輸出負脈沖,其寬度固定為一個CLKi周期,表示定時時間到或計數(shù)次數(shù)到。這種工作方式下,當計數(shù)值計到“0”后,系統(tǒng)將自動重新裝入計數(shù)值n,但并不開始計數(shù),一定要等到由GATE端引入的正跳沿,才會開始進行減“1”計數(shù)。1/12/202332這是一種完全由GATE端引入的觸發(fā)信號控制下的計數(shù)或定時功能。如果由CLKi輸入的是一定頻率的時鐘脈沖,那么可完成定時功能,定時時間從GATE上升沿開始,到OUTi端輸出負脈沖結束。如果從CLKi端輸入的是要求計數(shù)的事件,則可完成計數(shù)功能,計數(shù)過程從GATE上升沿開始,到OUTi輸出負脈沖結束。如果需要改變計數(shù)初值,CPU可在任何時候用輸出指令裝入新的計數(shù)初值m,它將不影響正在進行的操作過程,而是到下一個計數(shù)操作周期才會按新的計數(shù)值進行操作。1/12/202333各種工作方式的輸出波形方式0方式1方式2方式3方式4方式50N0N0N0/N110NN/2

N/20/N0N01N01N011/12/2023348253/8254的編程8253加電后的工作方式不確定8253必須初始化編程,才能正常工作寫入方式控制字D7D6D5D4D3D2D1D0寫入控制字寫入計數(shù)初值讀取計數(shù)值1/12/2023351寫入方式控制字計數(shù)器讀寫格式工作方式數(shù)制D7D6D5D4D3D2D1D000計數(shù)器001計數(shù)器110計數(shù)器211非法00計數(shù)器鎖存命令01只讀寫低字節(jié)10只讀寫高字節(jié)11先讀寫低字節(jié)后讀寫高字節(jié)000方式0001方式1010方式2011方式3100方式4101方式50二進制1十進制1/12/2023362寫入計數(shù)值選擇二進制時計數(shù)值范圍:0000H~FFFFH0000H是最大值,代表65536選擇十進制(BCD碼)計數(shù)值范圍:0000~99990000代表最大值100001/12/2023373讀取計數(shù)值對8位數(shù)據(jù)線,讀取16位計數(shù)值需分兩次讀取計數(shù)值,要注意讀寫格式和計數(shù)數(shù)制計數(shù)在不斷進行,應該將當前計數(shù)值先行鎖存,然后讀?。合蚩刂谱諭/O地址:給8253寫入鎖存命令從計數(shù)器I/O地址:讀取鎖存的計數(shù)值1/12/2023388253計數(shù)/定時控制器應用舉例例如,某8086系統(tǒng)中包含一片8253芯片,要求完成如下功能:利用通道0完成對外部事件計數(shù)功能,計滿100次向CPU發(fā)出中斷請求。利用通道1產(chǎn)生頻率為1kHz的方波。利用通道2作標準時鐘。1/12/2023391/12/2023408253的數(shù)據(jù)線(D7~D0)固定與8086CPU的高8位數(shù)據(jù)線(D15~D8)相連。圖9.24中8253的端口地址碼(A1A0)與8086CPU的A2A1相連,而8086的A0固定為“1”參加高位地址譯碼,以形成對8253的片選信號CS,以保證CPU訪問8253的端口地址均為奇地址。根據(jù)圖9.24的連接方式和對系統(tǒng)的要求:通道0定義為工作方式0,完成計數(shù)功能,其計數(shù)值為100=64H通道1應定義為工作方式3,輸出頻率為1kHz的方波,從CLK1輸入2.5MHz的時鐘脈沖,其重復周期為0.4μs,而輸出方波的周期應為1ms。因此,通道1的計數(shù)初值應為2500=09C4H。通道2應定義為方式0,完成定時功能,每秒鐘利用OUT2向CPU發(fā)出一次中斷請求,由輸入時鐘頻率為1kHz,計數(shù)初值應為1000。1/12/202341為完成上述功能,所需

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論