可編程定時/計數(shù)器8253在揚聲器中的應用技術(shù)
定時/計數(shù)器都有定時或?qū)ν獠渴录嫈?shù)的功能。通常,定時/計數(shù)器歸納起來一般有3種類型:??
硬件計數(shù)器 可在簡單軟件控制下計數(shù),特點是成本低,使用方便,但是專用性強,使用不廣泛。??
軟件定時/計數(shù)器 特點是幾乎沒有硬件費用,但他占用CPU的運行時間,降低了CPU的工作效率。??
可編程定時/計數(shù)器 特點是工作靈活,而且不占用CPU的運行時問,缺點是成本較高。其中可編程定時/計數(shù)器8253是一種使用較為普遍的可編程定時/計數(shù)器。??
可編程定時/計數(shù)器8253通過軟件設(shè)定,可以產(chǎn)生各種時間延遲信號,他的使用非常廣泛,通常被用于定時控制、延時、計數(shù)等場合,如定時刷新RAM、系統(tǒng)時鐘的計時、揚聲器的發(fā)音長短的控制。在使用的時候,需要進行嚴密的計算和精確的測試,以滿足不同的要求。??
1 可編程定時/計數(shù)器8253的工作原理??
可編程定時/計數(shù)器8253是NMOS工藝制成的大規(guī)模集成電路,通過簡單編程可實現(xiàn)不同的功能,圖1為可編程定時/計數(shù)器8253的基本原理圖。??
圖2為封裝后的8253引腳圖。
可編程定時/計數(shù)器8253可以應用在兩種情況下:定時、計數(shù)。當用作定時器時,可以循環(huán)計數(shù),信號來源一般為系統(tǒng)本身;當用作計數(shù)器時,信號來源一般為系統(tǒng)文件。在揚聲器驅(qū)動系統(tǒng)中,可編程定時/計數(shù)器8253是作定時器來使用的。??
圖2中對應引腳的含義如下:??
CLK0,CLK1,CLK2:對應計數(shù)器的時鐘輸入。??
GATE0,GATE1,GATE2:對應計數(shù)器輸出信號。??
OUT0,OUT1,OUT2:對應計數(shù)器輸出信號。??
RD:讀信號。低電平有效,讀出計數(shù)器的計數(shù)值送入緩沖器。??
WR:寫信號。低電平有效,接收由緩沖器送來的數(shù)據(jù)。??
CS:片選信號。低電平有效。只有在CS信號低電平時8253才能產(chǎn)生讀寫操作,否則不會讀寫。??
A1~A0:對3個計數(shù)器和1個控制寄存器端口進行尋址。??
D7~D0:方式控制字??删幊潭〞r/計數(shù)器能正確工作與否,與方式控制字密切相關(guān)。方式控制字格式如下:
方式控制字對應位的含義見數(shù)據(jù)手冊。??
VCC:+5 V電源。??
GND:接地引腳。? ?
2 可編程定時/計數(shù)器8253在揚聲器中的應用??
揚聲器驅(qū)動系統(tǒng)的硬件組成如圖3所示。利用8253驅(qū)動揚聲器發(fā)聲是由系統(tǒng)插件上8255的外圍電路來發(fā)出驅(qū)動信號的。如圖3中的SPK DATA和TIM GATESPK就是接在8255的輸出端口上。其中TIM GATESPK控制8253定時器來驅(qū)動揚聲器,SPK DATA來控制揚聲器的門電路。直接由門電路驅(qū)動發(fā)出的聲音比較難聽,通過濾波器濾掉雜波之后會更動聽一些,所以最好如圖3所示加一個濾波器。??
??
(1)首先以流程圖的方式說明使用揚聲器發(fā)聲的過程,如圖4所示。