第06章定時計數技術_第1頁
第06章定時計數技術_第2頁
第06章定時計數技術_第3頁
第06章定時計數技術_第4頁
第06章定時計數技術_第5頁
已閱讀5頁,還剩83頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第六章定時/計數技術6.1定時/計數基本概念6.2可編程定時/計數器8253目錄6.1定時/計數基本概念6.1定時計數概念定時定義:提供的時間基準。分類:內部定時、外部定時。計數定時與計數本質上是一致的。計數的信號隨機,定時的信號具有周期性。6.1定時/計數基本概念

各種計算機下圖都需要時間基準,尤其是工業(yè)測控系統(tǒng),常常要進行定時器和對外部事件計數。6.1.1系統(tǒng)的時間基準

計算機是嚴格按時序進行工作的智能機器。系統(tǒng)本身需要一個時間基準,提供時序和時鐘日歷等測控系統(tǒng)需要提供定時和計數器的功能。6.1定時計數概念6.1.2系統(tǒng)定時分類

所謂定時(計數)就是通過硬件或軟件的方法產生一個時間基準,以此來實現(xiàn)對系統(tǒng)的定時或延時控制。要實現(xiàn)定時或延時控制,有三種主要方法:軟件定時定時器/計數器純硬件定時定時器/計數器可編程的硬件定時器/計數器。6.1.2系統(tǒng)定時分類

1.軟件定時方法:由于執(zhí)行每條指令都需要時間,則執(zhí)行一個程序段就需要一個固定的時間,通過適當地挑選指令和安排循環(huán)次數來實現(xiàn)軟件的定時。利用微處理器執(zhí)行一個延時程序段實現(xiàn)不用硬件,但占用CPU時間、定時精度不高,隨系統(tǒng)時鐘頻率改變,降低了CPU的利用率。1、軟件定時

2.純硬件定時(不可編程定時)它采用固定的電路,如可以采用小規(guī)模集成電路555,外接電阻和電容構成單穩(wěn)延時電路。這樣的定時電路簡單,而且通過改變電阻和電容,可以使定時在一定的范圍內調整。但它由純硬件來完成,給使用帶來不便。采用分頻器、單穩(wěn)電路或簡易定時電路控制定時時間定時電路簡單、定時時間可以在一定范圍改變2、純硬件定時

3.可編程硬件定時器/計數器這是目前在控制系統(tǒng)中廣泛使用的方法,它通過編程來控制電路的定時值及定時范圍,功能強,使用靈活。在計算機系統(tǒng)中,象定時中斷、定時檢測、定時掃描等等都是用可編程定時器來完成定時控制的。軟件硬件相結合、用可編程定時器芯片構成一個方便靈活的定時電路具有多種工作方式、能夠輸出多種控制信號

Intel系列的8253、8254就是常用的可編程定時/計數器。3、可編程硬件定時器6.2可編程定時/計數器82536.2.18253的主要特性8253是可編程定時器/計數器芯片,DIP24,單一正5V電源,NMOS工藝制成。1)3個獨立的16位減法計數器,又可分成兩個8位計數器。2)計數速率為0~2.6MHz(8254為10MHZ)。6.2可編程82533)兩種計數方式:即二進制或BCD碼方式計數。4)6種工作方式,對系統(tǒng)時鐘技術實現(xiàn)定時,或對外部計數。5)可由軟件或硬件控制開始計數或停止計數。

6.2可編程82538254是8253的改進型圖6.18253的內部結構6.2.28253的內部結構6.2.2內部結構圖6.1D7~D0計數器0控制字寄存器計數器1計數器2內部數據總線數據總線緩沖器讀寫控制邏輯RDWRA0A1CSCLK0GATE0OUT0CLK1GATE1OUT1CLK2GATE2OUT21、數據總線緩沖器它與CPU的數據總線相連,是8位雙向三態(tài)緩沖器。CPU通過這個緩沖器對8253進行讀/寫操作??上蚩刂谱謱懭肟刂谱?,向計數器寫入初值;也可從計數器讀取當前計數值。2、讀/寫控制邏輯電路 讀/寫控制邏輯電路從系統(tǒng)總線接收輸入信號,經過譯碼,產生對8253各部分的控制。1、數據總線緩沖器3、控制字寄存器此寄存器只能寫入而不能讀出。在8253初始化時,由CPU寫入控制字來設置計數器的工作方式。接收從CPU來的控制字,由D7,D6位的編碼確定控制字寫入哪個計數器的控制字寄存器4、計數器 計數器0、計數器1、計數器2是三個完全獨立、結構相同的計數器,每一個都是由一個16位的可預置的減法計數器構成,都有一個控制單元,控制該計數器的工作方式。 每個計數器的組成如下:3、控制字寄存器 圖6.2計數器的內部邏輯圖圖6.21)計數初值寄存器分為高8位和低8位,只能寫入,不能讀出,使計數器能從某個設定的初值開始計數。2)16位計數單元是計數器的核心部分,一般當初值寄存器的內容裝入計數單元后,就可以啟動它以輸入時鐘頻率遞減工作。3)輸出鎖存器分為高8位和低8位,CPU可以從該鎖存器讀取當前計數值。 計數器的內部邏輯如圖6.2演示預置寄存器GATECLKOUT減1計數器輸出鎖存器計數初值存于預置寄存器;在計數過程中,減法計數器的值不斷遞減,而預置寄存器中的預置不變。輸出鎖存器用于寫入鎖存命令時,鎖定當前計數值6.2.38253的外部特性(引腳功能)圖6.38253的外部引腳圖6.2.3外部特性圖6.3一、8253與CPU的接口引線

D7~D0:數據線,雙向,三態(tài),與CPU數據總線直接連接。WR:寫信號,輸入,低電平有效,控制CPU對8253的寫操作。RD:讀信號,輸入,低電平有效,控制CPU對8253的讀操作。一、與CPU的接口引線A1,A0:地址線,輸入,尋址8253內部的4個端口CS:片選信號,輸入,低電平有效,0=8253被選中且可讀寫一、與CPU的接口引線CS*A1A0I/O地址讀操作RD*寫操作WR*00000101001140H41H42H43H讀計數器0讀計數器1讀計數器2無操作寫計數器0寫計數器1寫計數器2寫控制字表6-18253的端口選擇A1A0寄存器選擇和操作01000寫計數器001001寫計數器101010寫計數器201011寫控制字寄存器00100讀計數器000101讀計數器100110讀計數器200111無操作(三態(tài))1××××禁止(三態(tài))011××無操作(三態(tài))表6-1二、8253與外設的接口引線

CLK時鐘輸入信號在計數過程中,此引腳上每輸入一個時鐘信號(下降沿),計數器的計數值減1GATE門控輸入信號控制計數器工作,可分成電平控制和上升沿控制兩種類型,當GATE=0,禁止計數器工作;GATE=1,才允許計數器工作OUT計數器輸出信號當一次計數過程結束(計數值減為0),OUT引腳上將產生一個輸出信號6.2.4方式控制字圖6.48253加電后的工作方式不確定8253必須初始化編程,才能正常工作寫入控制字寫入計數初值讀取計數值D7D6D5D4D3D2D1D06.2.48253的方式控制字(CW)圖6.48253的控制字6.2.4方式控制字圖6.4寫入方式控制字計數器讀寫格式工作方式數制D7D6D5D4D3D2D1D000計數器001計數器110計數器211非法00計數器鎖存命令01只讀寫低字節(jié)10只讀寫高字節(jié)11先讀寫低字節(jié)后讀寫高字節(jié)000方式0001方式1010方式2011方式3100方式4101方式50二進制1十進制控制字寫入控制字I/O地址(A1A0=11)第8章:2.寫入計數值選擇二進制時計數值范圍:0000H~FFFFH0000H是最大值,代表65536選擇十進制(BCD碼)計數值范圍:0000~99990000代表最大值10000計數值寫入計數器各自的I/O地址第8章:3.讀取計數值對8位數據線,讀取16位計數值需分兩次計數在不斷進行,應該將當前計數值先行鎖存,然后讀?。合蚩刂谱諭/O地址:給8253寫入鎖存命令從計數器I/O地址:讀取鎖存的計數值讀取計數值,要注意讀寫格式和計數數制BCD:用于選擇每個計數器的計數制。D0D0=0:二進制計數,范圍是0000H~FFFFH,其中0000H是最大值,代表65536。D0=1:BCD碼計數,范圍是0000—9999,其中,0000是最大值,代表10000。

M2、M1、M0:設置每個計數器的工作方式。6種

M2M1M0工作方式選擇000方式0001方式1X10方式2X11方式3100方式4101方式5RL1、RL0:設置數據讀/寫格式。4種

RL1RL0讀/寫格式00鎖定當前計數器(供CPU讀?。?1只讀/寫低8位10只讀/寫高8位11先讀/寫低8位,后讀/寫高8位說明:1、8253的兩種讀計數值的操作。1)讀之前先停止計數用GATE停止計數器工作,然后用IN指令讀取,格式由RL1、RL0確定。2)讀之前先送計數鎖存命令用D5D4=00鎖存當前計數值到內部鎖存器中,該方法讀不影響當時正在進行的計數。(1)用OUT指令寫入鎖存控制字到控制寄存器,鎖存當前計數值到內部鎖存器中(2)用IN指令讀取被鎖存的計數值,格式由RL1、RL0確定。讀取或重新編程后,鎖存器結束鎖存狀態(tài),又開始隨計數器內容變化2、寫計數初值操作1)D5D4=01,初值只有8位,送入初值寄存器的低8位,而高8位自動清零。2)D5D4=10,初值只有8位,送入初值寄存器的高8位,而低8位自動清零。3)D5D4=11,初值有26位,分兩次送入初值寄存器中,先寫低8位,再寫高8位。SC1、SC0:計數器選擇位SC1SC0所選計數器00計數器001計數器110計數器211無意義6.2.58253的初始化編程 在任何情況下,使用8253之前,必須先對其進行初始化編程的控制字。具體步驟如下:1)寫入計數器的控制字,規(guī)定其工作方式;2)寫入計數初值。(1)只寫低8位,則寫一次為計數值的低8位,高8位自動清零。(2)只寫高8位,則寫一次為計數值的高8位,低8位自動清零。(3)寫16位,則分兩次寫入,先寫低8位,后寫高8位。6.2.5初始化編程【例6.1】8253片首地址=40H;要求:T0=方式0,初值=FFH,二進制計數;T1=方式2,初值=1000,BCD碼計數。T0的控制字=00010000B=10H 初值=FFHT1的控制字=01100101B=65H 初值=10H MOV AL,10H ;寫T0控制字 OUT 43H,AL ; MOV AL,F(xiàn)FH ;寫T0計數初值 OUT 40H,AL ; MOV AL,65H ;寫T1控制字 OUT 43H,AL ; MOV AL,10H ;寫T1計數初值 OUT 41H,AL ;【例6.2】8253片首地址=200H;要求:T2=方式5,初值=F03FH,二進制計數。T2的控制字=10111010B=BAH 初值=F03FH MOV DX,203H ;控制字地址 MOV AL,BAH ;寫T2控制字 OUT DX,AL ; MOV DX,202H ;T2計數器地址 MOV AL,3FH ;寫T2計數初值低8位 OUT DX,AL ; MOV AL,F(xiàn)0H ;寫T2計數初值高8位 OUT DX,AL ; 8253有6種工作方式,由方式控制字確定熟悉每種工作方式的特點才能根據實際應用問題,選擇正確的工作方式

主要區(qū)別是:輸出的波形不同計數過程中GATE信號對計數操作的影響不同啟動計數器的觸發(fā)方式不同等6.2.68253的工作方式6.2.6工作方式6.2.6工作方式每種工作方式的過程類似:設定工作方式設定計數初值硬件啟動計數初值進入減1計數器每輸入一個時鐘計數器減1的計數過程計數過程結束遵循的原則:1)寫入控制字后,控制邏輯電路復位,OUT端進入初始化狀態(tài)(1或0)2)初值寫入后,要經過一個時鐘上升沿和下降沿才開始計數。6.2.6工作方式3)通常,門控信號GATE在時鐘脈沖的上升沿被采樣。(1)方式0,4:GATE為電平觸發(fā)。(2)方式1,5:GATE為上升沿觸發(fā)。(3)方式2,3:GATE可為電平或上升沿觸發(fā)。4)在時鐘脈沖下降沿,計數器作減1計數。0是計數器所能容納的最大值。一、方式0—計數結束后輸出由低變高

該方式的波形如圖6.5所示,這種方式的特點是:①寫入控制字后,OUT輸出端變?yōu)榈碗娖?。當寫入計數初值后,計數器開始減1計數。在計數過程中OUT一直保持為低電平,直到計數到0時,OUT輸出變?yōu)楦唠娖?。此信號可用于向CPU發(fā)出中斷請求。一、方式0②計數器只計數一遍。當計數到0時,不恢復計數初值,不開始重新計數,且輸出一直保持為高電平。只有在寫入新的計數值時,OUT才變低,并開始新的計數。③GATE是門控信號,GATE=1時允許計數,GATE=0時,禁止計數。在計數過程中,如果GATE=0則計數暫停,當GATE=1后接著計數。④在計數過程中可改變計數值。若是8位計數,在寫入新的計數值后,計數器將按新的計數值重新開始計數。如果是16位計數,在寫入第一個字節(jié)后,計數器停止計數,在寫入第二個字節(jié)后,計數器按照新的計數值開始計數。如圖6.6所示。圖6.5方式0波形圖6.5圖6.6方式0計數過程中改變計數初值圖6.6圖6.6.1計數結束中斷演示①②⑤④⑥GATEOUTCLK

031244方式0WR①設定工作方式②設定計數初值④計數值送入計數器⑤計數過程⑥計數結束二、方式1—可編程序的單拍脈沖

方式1的波形如圖6.7所示,其特點是:①寫入控制字后,輸出OUT將保持為高電平,計數由GATE啟動。GATE啟動之后,OUT變?yōu)榈碗娖?,當計數?時,OUT輸出高電平,從而在OUT端輸出一個負脈沖,負脈沖的寬度為N個(計數初值)CLK的脈沖寬度。二、方式1

②當計數到0后,不用送計數值,可再次由GATE脈沖啟動,輸出同樣寬度的單拍脈沖。③在計數過程中,可改變計數初值,此時計數過程不受影響。如果再次觸發(fā)啟動,則計數器將按新輸入的計數值計數。④在計數未到0時,如果GATE再次啟動,則計數初值將重新裝入計數器,并重新開始計數。圖6.7方式1波形圖6.7圖6.7方式1波形圖6.7.1可編程單穩(wěn)脈沖演示①②⑤④⑥①設定工作方式②設定計數初值③③硬件啟動④計數值送入計數器⑤計數過程⑥計數結束GATEOUTCLK

031244方式1WR三、方式2——頻率發(fā)生器(分頻器)

方式2的波形如圖6.8所示,它的特點是:①寫入控制字后,輸出將變?yōu)楦唠娖?。寫入計數值后,計數立即開始。在計數過程中輸出始終為高電平,直至計數器減到1時,輸出將變?yōu)榈碗娖?。經過一個CLK周期,輸出恢復為高,且計數器開始重新計數。因此,它能夠連續(xù)工作,輸出固定頻率的脈沖。三、方式2②如果計數值為N,則每輸入N個CLK脈沖,輸出一個脈沖。因此,相當于對輸入脈沖的N分頻。通過對N賦不同的初值,即可在輸出端得到所需的頻率,起到頻率發(fā)生器的作用。③計數過程可由門控脈沖控制。當GATE=0時,暫停計數;當GATE變高自動恢復計數初值,重新開始計數④在計數過程中可以改變計數值,這對正在進行的計數過程沒有影響。但在計數到1時輸出變低,經過一個CLK周期后輸出又變高,計數器將按新的計數值計數。圖6.8圖6.8方式2波形圖6.8圖6.8方式2波形圖6.8.1頻率發(fā)生器(分頻器)演示03124GATEOUTCLK

4方式2031240312403124WR四、方式3—方波發(fā)生器

方式3的波形如圖6.9所示。它的特點是:①輸出為周期性的方波。若計數值為N,則輸出方波的周期是N個CLK脈沖的寬度。②寫入控制字后,輸出將變?yōu)楦唠娖?,當寫入計數初值后,就開始計數,輸出仍為高電平;當計數到初值一半時,輸出變?yōu)榈碗娖?,直至計數?,輸出又變?yōu)楦唠娖?,重新開始計數。四、方式3③若計數值為偶數,則輸出對稱方波。如果計數值為奇數,則前(N+1)/2個CLK脈沖期間輸出為高電平,后(N—1)/2個CLK脈沖期間輸出為低電平。圖6.9④GATE信號能使計數過程重新開始。GATE=1允許計數,GATE=0禁止計數。停止后OUT將立即變高開,當GATE再次變高以后,計數器將重新裝入計數初值,重新開始計數。圖6.9方式3波形圖6.9圖6.9.1方式3波形圖6.9.1方波發(fā)生器演示03124GATEOUTCLK

4方式3031240312403124WR五、方式4——軟件觸發(fā)選通

方式4的波形如圖6.10所示,它種方式的特點是:①寫入控制字后,輸出為高電平。寫入計數值后立即開始計數(相當于軟件觸發(fā)啟動),當計數到0后,輸出一個時鐘周期的負脈沖,計數器停止計數。只有在輸入新的計數值后,才能開始新的計數。五、方式4②當GATE=1時,允許計數,而GATE=0,禁止計數。GATE信號不影響輸出。③在計數過程中,如果改變計數值,則按新計數值重新開始計數。如果計數值是16位,則在設置第一字節(jié)時停止計數,在設置第二字節(jié)后,按新計數值中開始計數。圖6.10方式4波形圖6.10圖6.10方式4波形圖6.10.1方式4:軟件觸發(fā)選通信號演示GATEOUTCLK031244方式42233310WR六、方式5——硬件觸發(fā)選通

方式5的波形如圖6.11所示,這這種方式的特點是:①寫入控制字后,輸出為高電平。在設置了計數值后,計數器并不立即開始計數,而是由門控脈沖的上升沿觸發(fā)啟動。當計數到0時,輸出一個CLK周期的負脈沖,并停止計數。當門控脈沖再次觸發(fā)時才能再計數。六、方式5②在計數過程中如果再次用門控脈沖觸發(fā),則使計數器重新開始計數,此時輸出還保持為高電平,直到計數為0,才輸出負脈沖。③如果在計數過程中改變計數值,只要沒有門控信號的觸發(fā),不影響計數過程。當有新的門控脈沖的觸發(fā)時,不管是否計數到0,都按新的計數值計數。圖6.11方式5波形圖6.11圖6.11方式5波形圖6.11.1方式5:硬件觸發(fā)選通信號演示GATEOUTCLK031244方式522333110WR七、8253的六種工作方式比較

表6.2計數值N與輸出波形方式功能N與波形的關系0計數結束產生中斷經N個時鐘OUT變高1可重觸發(fā)的單穩(wěn)態(tài)觸發(fā)器脈寬為N的單拍負脈沖2分頻器占空比(N-1)/N的連續(xù)脈沖3方波發(fā)生器占空比1/2的連續(xù)方波4軟觸發(fā)的選通信號發(fā)生器經N個時鐘,OUT變低1個時鐘5硬觸發(fā)的選通信號發(fā)生器經N個時鐘,OUT變低1個時鐘七、六種方式比較表6.3門控信號GATE的作用方式功能100→10計數結束產生中斷允許計數暫停計數不受影響1可重觸發(fā)的單穩(wěn)態(tài)觸發(fā)器不受影響不受影響從初值開始2分頻器允許計數禁止計數重新計數3方波發(fā)生器允許計數禁止計數重新計數4軟觸發(fā)的選通信號發(fā)生器允許計數暫停計數不受影響5硬觸發(fā)的選通信號發(fā)生器不受影響不受影響從初值開始表6-3表6.4寫入新的初值對計數過程的影響方式功能寫入新值產生的影響0計數結束產生中斷立即有效1可重觸發(fā)的單穩(wěn)態(tài)觸發(fā)器門控觸發(fā)后有效2分頻器下次或門控觸發(fā)后有效3方波發(fā)生器下次或門控觸發(fā)后有效4軟觸發(fā)的選通信號發(fā)生器立即有效5硬觸發(fā)的選通信號發(fā)生器門控觸發(fā)后有效表6-4表6.5輸出波形的連續(xù)性方式功能波形連續(xù)性0計數結束產生中斷單次負脈沖(軟觸發(fā))1可重觸發(fā)的單穩(wěn)態(tài)觸發(fā)器單次負脈沖(硬觸發(fā))2分頻器連續(xù)的脈沖波3方波發(fā)生器連續(xù)的方波4軟觸發(fā)的選通信號發(fā)生器單次單拍負脈沖(軟觸發(fā))5硬觸發(fā)的選通信號發(fā)生器單次單拍負脈沖(硬觸發(fā))表6-5各種工作方式的輸出波形方式0方式1方式2方式3方式4方式50N0N0N0/N110NN/2N/20/N0N01N01N01討論:計數開始的時刻6.2.78253的應用舉例【例6.3】IBM-PC/XT上使用一片8255,片首地址=200H,系統(tǒng)提供的計數脈沖頻率為250KHz。見圖6.11。要求:1)T0輸出端OUT得到500Hz的方波信號;2)T1輸出端OUT得到50Hz的單拍負脈沖信號,解1、確定工作方式 T0:方式3即方波發(fā)生器 T1:方式2即分頻器6.2.7應用舉例2、計算計數初值(按二進制計數) 計數初值=分頻系數=fclk/fout T0:N=fclk/f

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論