8253的六種工作方式區別

2021-03-03 20:46:56 字數 3341 閱讀 2107

三個計數通道可有6種可供選擇的工作方式, 以完成定時、計數或脈衝發生器等多種功能:

1.方式0:計數結束則中斷

工作方式0被稱為計數結束中斷方式。當任一通道被定義為工作方式0時, outi輸出為低電平;若門控訊號gate為高電平,當cpu利用輸出指令向該通道寫入計數值使wr#有效時,out仍保持低電平,之後的下一時鐘週期下降沿計數器開始減「1」計數, 直到計數值為「0」,此刻out將輸出由低電平向高電平跳變,可用它向cpu發出中斷請求,out端輸出的高電平一直維持到下次再寫入計數值為止。

在工作方式0情況下,門控訊號gate用來控制減「1」計數操作是否進行。當gate=1時,允許減「1」計數;gate=0時,禁止減「1」計數; 計數值將保持gate有效時的數值不變, 待gate重新有效後,減「1」計數繼續進行。

顯然,利用工作方式0既可完成計數功能, 也可完成定時功能。當用作計數器時,應將要求計數的次數預置到計數器中,將要求計數的事件以脈衝方式從clk 端輸入, 由它對計數器進行減「1」計數,直到計數值為0,此刻outi輸出正跳變, 表示計數次數到。當用作定時器時,應把根據要求定時的時間和clki的週期計算出定時係數,預置到計數器中。

從clk,輸入的應是一定頻率的時鐘脈衝,由它對計數器進行減「1」計數, 定時時間從寫入計數值開始,到計數值計到「0」為止,這時outi輸出正跳變,表示定時時間到。

有一點需要說明,任一通道工作在方式0情況下, 計數器初值一次有效,經過一次計數或定時後如果需要繼續完成計數或定時功能,必須重新寫入計數器的初值。

2.方式1:單脈衝發生器

工作方式1被稱作可程式設計單脈衝發生器。進入這種工作方式, cpu裝入計數值n後out輸出高電平, 不管此時的gate輸入是高電平還是低電平, 都不開始減「1」計數,必須等到gate由低電平向高電平跳變形成乙個上公升沿后,計數過程才會開始。與此同時,out輸出由高電平向低電平跳變,形成了輸出單脈衝的前沿,待計數值計到「0」, out輸出由低電平向高電平跳變,形成輸出單脈衝的後沿, 因此,由方式l所能輸出單脈衝的寬度為clk週期的n倍。

如果在減「1」計數過程中, gate由高電平跳變為低電乎,這並不影響計數過程,仍繼續計數;但若重新遇到gate的上公升沿,則從初值開始重新計數, 其效果會使輸出的單脈衝加寬,如教材圖9-22(b)中的第2個單脈衝。

這種工作方式下,計數值也是一次有效,每輸入一次計數值,只產生乙個負極性單脈衝。

3.方式2:速率波發生器

工作方式2被稱作速率波發生器。進入這種工作方式, out輸出高電平,裝入計數值n後如果gate為高電平,則立即開始計數,out保持為高電平不變; 待計數值減到「1」和「0」之間, out將輸出寬度為乙個clk週期的負脈衝,計數值為「0」時,自動重新裝入計數初值n,實現迴圈計數,out將輸出一定頻率的負脈衝序列, 其脈衝寬度固定為乙個clk週期, 重複週期為clk週期的n倍。

如果在減「1」計數過程中,gate變為無效(輸入0電平),則暫停減「1」計數,待gate恢復有效後,從初值n開始重新計數。這樣會改變輸出脈衝的速率。

如果在操作過程中要求改變輸出脈衝的速率,cpu可在任何時候,重新寫人新的計數值, 它不會影響正在進行的減「1」計數過程,而是從下乙個計數操作用期開始按新的計數值改變輸出脈衝的速率。

4.方式3:方波發生器

工作方式3被稱作方波發生器。任一通道工作在方式3, 只在計數值n為偶數,則可輸出重複週期為n、占空比為1:1的方波。

進入工作方式3,out輸出低電平, 裝入計數值後,out立即跳變為高電平。如果當gate為高電平, 則立即開始減「1」計數,out保持為高電平,若n為偶數,則當計數值減到n/2時,out跳變為低電平,一直保持到計數值為「0」,系統才自動重新置入計數值n,實現迴圈計數。這時out端輸出的週期為n×clki週期,占空比為1:

1的方波序列; 若n為奇數, 則outi端輸出週期為n×clk週期,占空比為((n+1)/2)/((n-1)/2)的近似方波序列。

如果在操作過程中, gate變為無效,則暫停減「1」計數過程,直到gate再次有效,重新從初值n開始減「l」計數。

如果要求改變輸出方波的速率, 則cpu可在任何時候重新裝入新的計數初值n,並從下乙個計數操作週期開始改變輸出方波的速率。

5.方式4:軟體觸發方式計數

工作方式4被稱作軟體觸發方式。進入工作方式4,out輸出高電平。 裝入計數值n後, 如果gate為高電平,則立即開始減「1」計數,直到計數值減到「0」為止,out輸出寬度為乙個clki週期的負脈衝。

由軟體裝入的計數值只有一次有效,如果要繼續操作, 必須重新置入計數初值n。如果在操作的過程中,gate變為無效,則停止減「1」計數, 到gate再次有效時,重新從初值開始減「1」計數。

顯然,利用這種工作方式可以完成定時功能,定時時間從裝入計數值n開始,則out輸出負脈衝(表示定時時間到),其定時時間=n×clk週期。 這種工作方式也可完成計數功能,它要求計數的事件以脈衝的方式從clk輸入,將計數次數作為計數初值裝入後,由clk端輸入的計數脈衝進行減「1」計數,直到計數值為「0」,由outt端輸出負脈衝(表示計數次數到)。 當然也可利用out向cpu發出中斷請求。

因此工作方式4與工作方式0很相似,只是方式0在out端輸出正階躍訊號、方式4在out端輸出負脈衝訊號。

6.方式5:硬體觸發方式計數

工作方式5被稱為硬體觸發方式。進入工作方式5, out輸出高電平, 硬體觸發訊號由gate端引入。 因此,開始時gate應輸入為0, 裝入計數初值n後,減「1」計數並不工作,一定要等到硬體觸發訊號由gate端引入乙個正階躍訊號,減「1」計數才會開始,待計數值計到「0」, out將輸出負脈衝,其寬度固定為乙個clk週期,表示定時時間到或計數次數到。

這種工作方式下,當計數值計到「0」後, 系統將自動重新裝入計數值n,但並不開始計數, 一定要等到由gate端引入的正跳沿,才會開始進行減「1」計數, 因此這是一種完全由gate端引入的觸發訊號控制下的計數或定時功能。如果由clki輸入的是一定頻率的時鐘脈衝,那麼可完成定時功能,定時時間從gate上公升沿開始,到out端輸出負脈衝結束。如果從clk端輸入的是要求計數的事件,則可完成計數功能,計數過程從gate上公升沿開始,到out輸出負脈衝結束。

gate可由外部電路或控制現場產生,故硬體觸發方式由此而得名。

如果需要改變計數初值, cpu可在任何時候用輸出指令裝入新的計數初值m,它將不影響正在進行的操作過程, 而是到下乙個計數操作週期才會按新的計數值進行操作。

從上述各工作方式可看出,gate作為各通道的門控訊號,對於各種不同的工作方式,它所起的作用各不相同。在8253的應用中,必須正確使用gate訊號,才能保證各通道的正常操作。

7.讀取計數器的當前值

⑴直接讀計數器:輸出鎖存器在非鎖存狀態會跟隨計數器計數的變化而變化,直接讀計數器是從鎖存器得到計數器的當前值。但由於計數器處於工作狀態,讀出值不一定能穩定。

⑵先鎖存再讀取:①通過方式選擇控制字對指定通道(sc1、sc0)的計數值鎖入鎖存器(rl1rl0=00), 鎖存器一旦鎖存了當前計數值,就不再隨計數器變化直到被讀取。②讀計數器通道(有鎖存器)。

8253A不同工作方式的實驗

實驗姓名 李爾楠學號 11281008 班級 計科1101 第五組 通過了理論的學習的同時還需要對所學知識有個直觀而生動的了解,通過此次實驗可以加深刻的理解8253a定時 計數器的各種工作方式的特點 通過觀察實驗波形,可直觀地了解這幾種工作方式的異同。編寫程式分別顯示0,2,3幾種工作方式下的波形。...

高手的七種工作方式

1 匯報工作說結果 匯報工作不是要告訴領導你的工作過程多艱辛,你多麼不容易。要做到舉重若輕,一定要把結果匯報給領導,結果思維是第一思維。2 請示工作說方案 不要讓領導做問答題,而是要讓領導做選擇題。請示工作至少保證給領導兩個方案,並表達自己的看法。3 總結工作說流程 做工作總結要描述流程,不只是先後...

溝通技巧 說話的六種方式 2

溝通技巧 說話的六種方式 2 二 蘇格拉底式如比爾 科斯比 billcosby 交流的時候,用一連串問題把對方引導到符合邏輯的結論。這類人物說話有說服力,喜歡討論 爭辯 談判,善於統攬全域性,從暗淡的形勢中找到出路。這種能力對工作,尤其對化解衝突大有好處。但慣於教訓人的特點卻在一定程度上影響他們發揮...