第12章可編程定時(shí)、計(jì)數(shù)器及其應(yīng)用_第1頁
第12章可編程定時(shí)、計(jì)數(shù)器及其應(yīng)用_第2頁
第12章可編程定時(shí)、計(jì)數(shù)器及其應(yīng)用_第3頁
第12章可編程定時(shí)、計(jì)數(shù)器及其應(yīng)用_第4頁
第12章可編程定時(shí)、計(jì)數(shù)器及其應(yīng)用_第5頁
已閱讀5頁,還剩73頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

第12章

可編程定時(shí)器/計(jì)數(shù)器及其應(yīng)用本章主要內(nèi)容1.計(jì)算機(jī)中定時(shí)、計(jì)數(shù)的基本技術(shù);2.可編程計(jì)數(shù)器/定時(shí)器8253的結(jié)構(gòu)及工作方式;3.8253的編程應(yīng)用。12.1概述實(shí)現(xiàn)定時(shí)的三種方法:1.軟件定時(shí)

由CPU執(zhí)行指令序列所花費(fèi)的時(shí)間來構(gòu)成一定的時(shí)間間隔,從而達(dá)到定時(shí)的目的。例如:

MOVCX,××××HHERE:LOOPHERE優(yōu)點(diǎn):不需要專門的硬件設(shè)備。缺點(diǎn):浪費(fèi)了寶貴的CPU資源。2.不可編程的硬件定時(shí)

時(shí)序波形

穩(wěn)態(tài)td觸發(fā)信號

暫穩(wěn)態(tài)單穩(wěn)態(tài)電路3.可編程計(jì)數(shù)器/定時(shí)器可用軟件的方法(通過初始化編程)設(shè)定或調(diào)整定時(shí)范圍。典型產(chǎn)品:ZilogZ80-CTCIntel

8253(8254)12.2可編程計(jì)數(shù)器/定時(shí)器825312.2.18253的主要功能(1)具有三個(gè)獨(dú)立的16位計(jì)數(shù)通道;(2)每個(gè)計(jì)數(shù)通道可按二進(jìn)制或二-十進(jìn)制計(jì)數(shù);(3)每個(gè)計(jì)數(shù)通道的計(jì)數(shù)速率可達(dá)2MHz;(4)每個(gè)計(jì)數(shù)通道有六種工作方式;(5)全部輸入輸出都與TTL電平兼容。12.2.28253的結(jié)構(gòu)8253的內(nèi)部結(jié)構(gòu)框圖如圖12.1所示。由圖可見,它由與CPU的接口、內(nèi)部控制電路以及三個(gè)計(jì)數(shù)器通道所組成。數(shù)據(jù)總線緩沖器讀/寫邏輯控制字寄存器D7~D0計(jì)數(shù)器0計(jì)數(shù)器1計(jì)數(shù)器2RDWRA0A1CS內(nèi)部總線CLK0GATE0OUT0CLK1GATE1OUT1CLK2GATE2OUT2圖12.18253內(nèi)部結(jié)構(gòu)框圖1.數(shù)據(jù)總線緩沖器這是8253與CPU的數(shù)據(jù)總線(D7~D0)連接的8位雙向三態(tài)緩沖器。

CPU用輸入輸出指令對8253進(jìn)行讀寫操作時(shí)的所有信息都通過這個(gè)緩沖器傳送。2.讀/寫邏輯

這是8253內(nèi)部操作的控制電路,它從系統(tǒng)控制總線上接收輸入信號,然后轉(zhuǎn)換成8253內(nèi)部操作的各種控制信號。3.控制字寄存器當(dāng)?shù)刂沸盘朅1和A0都為1時(shí),訪問控制字寄存器??刂谱旨拇嫫鲝臄?shù)據(jù)總線上接收CPU送來的控制字,并由控制字的D7、D6兩位的編碼決定控制字寫入哪個(gè)通道的控制寄存器中去。由寄存在每個(gè)通道內(nèi)的控制寄存器的內(nèi)容決定該通道的工作方式,選擇計(jì)數(shù)器是按二進(jìn)制還是BCD數(shù)計(jì)數(shù),并確定每個(gè)計(jì)數(shù)器初值的寫入順序。4.計(jì)數(shù)器0、計(jì)數(shù)器1、計(jì)數(shù)器2這是三個(gè)計(jì)數(shù)器/定時(shí)器通道,每一個(gè)都由16位的可設(shè)置計(jì)數(shù)初值的減法計(jì)數(shù)器構(gòu)成。三個(gè)通道的操作是完全獨(dú)立的。每個(gè)通道都有兩個(gè)輸入引腳CLK和GATE以及一個(gè)輸出引腳OUT。從編程的角度看,8253的結(jié)構(gòu)框圖如圖12.2所示。

數(shù)據(jù)總線地址譯碼RDWRIO/MVCCGNDCLK0GATE0OUT0CLK1GATE1OUT1CLK2GATE2OUT2D7~D0RDWRCSA1A0控制寄存器(8位)高8位低8位高8位低8位計(jì)數(shù)器0高8位低8位計(jì)數(shù)初值寄存器(CR)計(jì)數(shù)執(zhí)行部件(CE)輸出鎖存器(OL)計(jì)數(shù)器1計(jì)數(shù)器2圖12.28253計(jì)數(shù)通道結(jié)構(gòu)

“控制寄存器”及“計(jì)數(shù)初值寄存器(CR)”可由CPU寫入;“輸出鎖存器(OL)”可由CPU讀出。12.2.38253的引腳8253的引腳如圖12.3所示。8253D7D6D5D4D3D2D1D0CLK0OUT0GATE0GND123456789101112242322212019181716151413VccWRRDCSA1A0CLK2GATE2OUT2CLK1GATE1OUT112.38253的引腳圖12.2.48253的工作方式8253的每個(gè)通道均可以通過編程選擇6種工作方式之一:1.方式0——計(jì)數(shù)到零產(chǎn)生中斷請求

(InterruptonTerminalCount)方式0的操作時(shí)序圖如圖12.4所示。CLKGATE(高)01234CWN=4WRN+1個(gè)OUT圖12.4方式0的時(shí)序圖方式0的主要特點(diǎn)是:計(jì)數(shù)器只計(jì)一遍而不能自動重復(fù)工作。當(dāng)減1計(jì)數(shù)到零時(shí),并不自動恢復(fù)計(jì)數(shù)初值重新開始計(jì)數(shù),且OUT輸出保持為高電平。只有CPU再次寫入一個(gè)新的計(jì)數(shù)值(即使計(jì)數(shù)值相同也需再次寫入),OUT才變?yōu)榈碗娖剑?jì)數(shù)器按新寫入的計(jì)數(shù)值重新開始計(jì)數(shù)?;蛘逤PU重新對8253設(shè)置方式0控制字,它的OUT輸出也可以立即變?yōu)榈碗娖?,并等再次寫入?jì)數(shù)初值后重新開始計(jì)數(shù)。(2)CPU向CR寄存器寫入計(jì)數(shù)初值后的第一個(gè)CLK脈沖(即圖中用斜線標(biāo)出的那個(gè)脈沖),將CR的內(nèi)容送入CE,從此之后計(jì)數(shù)器才開始減1計(jì)數(shù)。這第一個(gè)CLK脈沖不包括在減1計(jì)數(shù)過程中。如果設(shè)置計(jì)數(shù)初值為N,則輸出OUT是在N+1個(gè)CLK脈沖之后才變?yōu)楦唠娖健?3)在計(jì)數(shù)過程中,可由GATE信號控制暫停計(jì)數(shù)。當(dāng)GATE變低時(shí),計(jì)數(shù)暫停;當(dāng)GATE變高后又接著計(jì)數(shù)。其工作波形如圖12.5所示。CLKGATE12223N=3CWWROUT圖12.5方式0計(jì)數(shù)過程中改變GATE信號0(4)在計(jì)數(shù)過程中也可改變計(jì)數(shù)值。在寫入新的計(jì)數(shù)值后,計(jì)數(shù)器將立即按新的計(jì)數(shù)值重新開始計(jì)數(shù),即改變計(jì)數(shù)值是立即有效的。當(dāng)按新的計(jì)數(shù)值減1計(jì)數(shù)到0時(shí),輸出OUT變?yōu)楦唠娖?。其工作波形如圖12.6所示。CLKGATE(高)12123CWN=3WROUT圖12.6方式0計(jì)數(shù)過程中改變計(jì)數(shù)值0N=22.方式1—硬件可重復(fù)觸發(fā)的單穩(wěn)態(tài)觸發(fā)器(Programmableone-shot)

方式1的時(shí)序圖如圖12.7所示。

CLKGATE圖12.7方式1的時(shí)序圖CWN=2WR112OUT020在方式1,當(dāng)CPU輸出控制字后(WR的上升沿),OUT輸出變?yōu)楦唠娖?若原為高電平,則保持為高電平);在CPU寫入計(jì)數(shù)初值后,計(jì)數(shù)器并不開始計(jì)數(shù),直至門控信號GATE上升沿(即門控觸發(fā)信號)出現(xiàn),并在其下一個(gè)CLK脈沖的下降沿,CR的內(nèi)容送入CE,同時(shí)使OUT輸出變?yōu)榈碗娖?,然后開始對隨后的CLK脈沖進(jìn)行減1計(jì)數(shù)。

在計(jì)數(shù)過程中,OUT一直維持為低電平,直至減1計(jì)數(shù)到0時(shí),OUT輸出變?yōu)楦唠娖?。即由于GATE上升沿的觸發(fā),使OUT輸出端產(chǎn)生一個(gè)寬度為N個(gè)CLK周期的負(fù)脈沖。此后,若再次由GATE上升沿觸發(fā),則輸出再次產(chǎn)生一個(gè)同樣寬度的負(fù)脈沖。方式1的主要特點(diǎn)是:(1)若設(shè)置計(jì)數(shù)初值為N,則輸出負(fù)脈沖的寬度為N個(gè)CLK脈沖周期。(2)當(dāng)計(jì)數(shù)到零時(shí),可再次由GATE上升沿觸發(fā),輸出同樣寬度的負(fù)脈沖,而不必重新寫入計(jì)數(shù)初值。(3)在計(jì)數(shù)過程中(輸出負(fù)脈沖期間),可由GATE上升沿再觸發(fā)。并使計(jì)數(shù)器從計(jì)數(shù)初值開始重新作減1計(jì)數(shù),減至0時(shí),OUT輸出變?yōu)楦唠娖健F湫Ч鞘馆敵鲐?fù)脈沖的寬度比原來加寬了。(4)在計(jì)數(shù)過程中,CPU可改變計(jì)數(shù)初值,這時(shí)計(jì)數(shù)過程不受影響,計(jì)數(shù)到零后輸出變高。當(dāng)再次觸發(fā)時(shí),計(jì)數(shù)器才按新輸入的計(jì)數(shù)值計(jì)數(shù)。即改變計(jì)數(shù)值是下次有效的。3.方式2——分頻器(RateGenerator)在方式2,當(dāng)CPU輸出控制字后,OUT輸出為高。在寫入計(jì)數(shù)初值后,計(jì)數(shù)器將自動對輸入時(shí)鐘CLK計(jì)數(shù)。在計(jì)數(shù)過程中OUT輸出為高,直至計(jì)數(shù)器減到1(注意,不是減到0)時(shí),OUT輸出變低,經(jīng)過一個(gè)CLK周期,輸出恢復(fù)為高,且計(jì)數(shù)器將自動重新開始計(jì)數(shù)。這種方式可作脈沖速率發(fā)生器或用來產(chǎn)生實(shí)時(shí)時(shí)鐘中斷信號。

方式2的時(shí)序圖如圖12.8所示。CLKGATE(高)23123CWN=3WROUT圖12.8方式2時(shí)序圖13方式2的主要特點(diǎn)是:

(1)不用重新設(shè)置計(jì)數(shù)值,通道能連續(xù)工作,輸出固定頻率的脈沖。如果計(jì)數(shù)初值為N,則每輸入N個(gè)CLK脈沖,輸出一個(gè)負(fù)脈沖。負(fù)脈沖寬度為1個(gè)CLK周期,重復(fù)周期為N倍的CLK周期。(2)計(jì)數(shù)過程可由GATE信號控制。當(dāng)GATE信號變低時(shí),立即暫?,F(xiàn)行計(jì)數(shù);當(dāng)GATE信號又變高后,從計(jì)數(shù)初值開始重新計(jì)數(shù)。(3)如果在計(jì)數(shù)過程中,CPU重新寫入計(jì)數(shù)值,則對于正在進(jìn)行的計(jì)數(shù)無影響,而是從下一個(gè)計(jì)數(shù)操作周期開始按新的計(jì)數(shù)值改變輸出脈沖的頻率。4.方式3——方波發(fā)生器

(SquareWaveRateGenerator)方式3和方式2的工作情況類似,兩者的主要區(qū)別是輸出波形的形式。對于方式3,OUT輸出是對稱方波或基本對稱的矩形波。即在一個(gè)計(jì)數(shù)周期內(nèi),若計(jì)數(shù)初值N為偶數(shù),則OUT輸出將有N/2個(gè)CLK周期為高電平,N/2個(gè)CLK周期為低電平,輸出為對稱方波,其周期為N個(gè)CLK周期;若N為奇數(shù),則OUT輸出將有(N+1)/2個(gè)CLK周期為高電平,(N-1)/2個(gè)CLK周期為低電平,輸出為基本對稱的矩形波,其周期也為N個(gè)CLK周期。

在方式3,當(dāng)CPU設(shè)置控制字后,輸出將為高,在寫完計(jì)數(shù)初值N后計(jì)數(shù)器就自動開始計(jì)數(shù),輸出保持為高。當(dāng)計(jì)數(shù)到N/2(或(N+1)/2)時(shí),輸出變低,直至計(jì)數(shù)到0,使輸出變高。同時(shí)又重新裝入計(jì)數(shù)值開始新的計(jì)數(shù)。計(jì)數(shù)過程周而復(fù)始重復(fù)進(jìn)行。這種方式常用來產(chǎn)生一定頻率的方波。方式3的時(shí)序圖如圖12.9所示。

CWN=4(N=5)GATE(高)24124OUT(N=4時(shí)UT(N=5時(shí))圖12.9方式3時(shí)序圖WRCLK方式3的主要特點(diǎn)是:(1)若計(jì)數(shù)初值N為偶數(shù),則輸出波形是周期為N個(gè)CLK周期的對稱方波;若計(jì)數(shù)初值N為奇數(shù),則輸出波形是周期為N個(gè)CLK周期的基本對稱矩形波,其高電平持續(xù)時(shí)間比低電平持續(xù)時(shí)間多一個(gè)CLK周期。(2)如果在計(jì)數(shù)過程中,GATE信號變低,則暫?,F(xiàn)行計(jì)數(shù)過程,直到GATE再次有效,將從計(jì)數(shù)初值開始重新計(jì)數(shù)。(3)如果要求改變輸出方波的頻率,則CPU可在任何時(shí)候重新寫入新的計(jì)數(shù)初值,并從下一個(gè)計(jì)數(shù)操作周期開始改變輸出方波的頻率。5.方式4—軟件觸發(fā)選通

(SoftwareTriggeredStrobe)在方式4,當(dāng)寫入控制字后,OUT輸出為高。當(dāng)寫入計(jì)數(shù)初值后計(jì)數(shù)器即開始計(jì)數(shù)(相當(dāng)于軟件觸發(fā)啟動),當(dāng)計(jì)數(shù)到0后,輸出變低,經(jīng)過1個(gè)CLK周期,輸出又變高。方式4不能自動重復(fù)計(jì)數(shù),即這種方式計(jì)數(shù)是一次性的。每次啟動計(jì)數(shù)都要靠重新寫入計(jì)數(shù)值,所以稱為“軟件觸發(fā)選通”。當(dāng)8253工作于方式4時(shí),可用作軟件觸發(fā)的選通信號發(fā)生器。方式4的時(shí)序圖如圖12.10所示。GATE(高)CLKWRCWN=30123OUT圖12.10方式4時(shí)序圖方式4的主要特點(diǎn)是:

(1)若設(shè)置計(jì)數(shù)初值為N,則在寫入計(jì)數(shù)初值后的N+1個(gè)CLK脈沖,才輸出一個(gè)負(fù)脈沖。負(fù)脈沖的寬度為1個(gè)CLK周期。(2)GATE為高時(shí),允許計(jì)數(shù);GATE為低時(shí),禁止計(jì)數(shù)。所以,要實(shí)現(xiàn)軟件啟動,GATE應(yīng)為高。(3)若在計(jì)數(shù)過程中改變計(jì)數(shù)值,則按新的計(jì)數(shù)值重新開始計(jì)數(shù),即改變計(jì)數(shù)值是立即有效的。方式4可應(yīng)用于這樣一種情況:

CPU經(jīng)輸出端口發(fā)送并行數(shù)據(jù)給接收系統(tǒng),經(jīng)過一段時(shí)間延遲后,再發(fā)送一個(gè)選通信號,利用該選通信號將并行數(shù)據(jù)打入到接收系統(tǒng)的緩沖寄存器中。通過改變計(jì)數(shù)初值N,可以方便地調(diào)整發(fā)出選通信號的延遲時(shí)間。6.方式5——硬件觸發(fā)選通

(HardwareTriggeredStrobe)

在方式5,設(shè)置了控制字后,輸出為高。在設(shè)置了計(jì)數(shù)初值后,計(jì)數(shù)器并不立即開始計(jì)數(shù),而是由門控信號GATE的上升沿觸發(fā)啟動。當(dāng)計(jì)數(shù)到0時(shí),輸出變低,經(jīng)過一個(gè)CLK周期,輸出恢復(fù)為高,并停止計(jì)數(shù)。要等到下次門控GATE信號的觸發(fā)才能再計(jì)數(shù),即方式5的計(jì)數(shù)是一次性的。方式5的時(shí)序圖如圖12.11所示。

CLKGATE0123CWN=3WROUT圖12.11方式5時(shí)序圖方式5的主要特點(diǎn)是:(1)若設(shè)置計(jì)數(shù)初值為N,則在門控GATE上升沿觸發(fā)后,經(jīng)過N+1個(gè)CLK脈沖,才輸出一個(gè)負(fù)脈沖。(2)若在計(jì)數(shù)過程中再次出現(xiàn)門控GATE觸發(fā)信號,則將使計(jì)數(shù)器從計(jì)數(shù)初值開始重新計(jì)數(shù),但OUT輸出的高電平不受影響。(3)若在計(jì)數(shù)過程中改變計(jì)數(shù)值,只要在計(jì)數(shù)到0之前不出現(xiàn)新的門控觸發(fā)信號,則原計(jì)數(shù)過程不受影響;等計(jì)數(shù)到0并出現(xiàn)新的門控發(fā)信號后,再按新的計(jì)數(shù)值計(jì)數(shù)。若在寫入了新的計(jì)數(shù)值后,在未計(jì)數(shù)到0之前有門控觸發(fā)信號出現(xiàn),則立即按新的計(jì)數(shù)值重新開始計(jì)數(shù)。7.8253工作方式小結(jié)

(1)方式2(分頻器)、方式4(軟件觸發(fā)選通)和方式5(硬件觸發(fā)選通),它們的輸出波形相同,都是寬度為1個(gè)CLK周期的負(fù)脈沖。

區(qū)別是,方式2是自動重復(fù)工作的,而方式4需由軟件(設(shè)置計(jì)數(shù)值)觸發(fā)啟動,方式5需由門控GATE信號觸發(fā)啟動。

(2)方式5(硬件觸發(fā)選通)與方式1(硬件觸發(fā)單穩(wěn)),觸發(fā)信號相同,但輸出波形不同.方式1輸出為寬度是N個(gè)CLK周期的負(fù)脈沖(計(jì)數(shù)過程中輸出為低);方式5輸出為寬度是1個(gè)CLK周期的負(fù)脈沖(計(jì)數(shù)過程中輸出為高)。(3)在6種工作方式中,只有方式0,在寫入控制字后輸出為低;

其余5種方式,都是在寫入控制字后輸出為高。(4)6種工作方式中的任一種方式,只有在寫入計(jì)數(shù)初值后才能開始計(jì)數(shù)。方式0、2、3、4都是寫入計(jì)數(shù)初值后,計(jì)數(shù)過程就開始了。方式1、5在寫入計(jì)數(shù)初值后,需由外部GATE信號的觸發(fā)啟動,才能開始計(jì)數(shù)過程。(5)6種工作方式中,只有方式2(分頻器)和方式3(方波發(fā)生器)為自動重復(fù)工作方式,其他4種方式都是一次性計(jì)數(shù),要繼續(xù)工作需要重新啟動。12.2.58253的初始化編程1.內(nèi)部寄存器的尋址8253有三個(gè)獨(dú)立的計(jì)數(shù)器通道,每個(gè)通道可以被CPU訪問的部件有:

8位的控制寄存器,它只能寫入,不能讀出;

16位的計(jì)數(shù)初值寄存器CR,它只能寫入,不能讀出;

16位的輸出鎖存器OL,它只能讀出,不能寫入。

8253芯片是否被選中,決定于片選信號CS,通常CS接自地址譯碼器輸出。

一片8253占用四個(gè)連續(xù)的端口地址,分別對應(yīng)于三個(gè)計(jì)數(shù)初值寄存器端口和一個(gè)控制寄存器端口。由輸入信號A1和A0的四種編碼來選擇四個(gè)端口之一。每個(gè)通道都各自有獨(dú)立的控制寄存器,但三個(gè)通道的控制寄存器都共用一個(gè)端口地址,即A1和A0都為1時(shí)的端口地址。它是三個(gè)通道共同使用的控制寄存器端口地址。

為了能夠?qū)⒚總€(gè)通道的控制字寫入它們各自的控制寄存器中,使用控制字的D7和D6的編碼,來標(biāo)志此控制字是寫入哪個(gè)通道的控制寄存器中。

8253內(nèi)部寄存器的尋址如表12-1所示。表12-18253內(nèi)部寄存器的尋址

CSRDWRA1A0寄存器選擇和操作01000寫通道0計(jì)數(shù)初值寄存器CR001001寫通道1計(jì)數(shù)初值寄存器CR101010寫通道2計(jì)數(shù)初值寄存器CR201011寫控制寄存器00100讀通道0輸出鎖存器OL000101讀通道1輸出鎖存器OL100110讀通道2輸出鎖存器OL22.初始化編程順序注意:必須按控制字D5,D4位規(guī)定的格式進(jìn)行寫入。

設(shè)置控制字寫入計(jì)數(shù)初值3.8253的控制字SC1SC0RL1RL0M2M1M0BCD00通道001通道102通道211無效通道選擇:00計(jì)數(shù)器鎖存命令01只讀/寫計(jì)數(shù)器低8位10只讀/寫計(jì)數(shù)器高8位11先讀/寫計(jì)數(shù)器低8位

后讀/寫計(jì)數(shù)器高8位讀/寫格式:計(jì)數(shù)制:0二進(jìn)制計(jì)數(shù)1十進(jìn)制計(jì)數(shù)工作方式:000方式0001方式1x10方式2x11方式3100方式4101方式5圖12.128253控制字格式需要說明的是:

當(dāng)采用二進(jìn)制計(jì)數(shù)時(shí),如果是8位二進(jìn)制計(jì)數(shù)(計(jì)數(shù)值≤256),則在8253初始化編程的傳送指令“MOVAL,n”中,n可以寫成任何進(jìn)制數(shù)(二進(jìn)制、十進(jìn)制或十六進(jìn)制)的形式;如果是16位二進(jìn)制計(jì)數(shù)(計(jì)數(shù)值≤65536),一種方法是先把計(jì)算得到的十進(jìn)制計(jì)數(shù)初值n轉(zhuǎn)換成4位十六進(jìn)制數(shù)(即16位二進(jìn)制),然后分兩次寫入8253的指定端口。

另一種方法是先把該十進(jìn)制計(jì)數(shù)初值n直接傳送給AX,然后分兩次寫入8253指定端口,即:

MOVAX,nOUTPORT,AL;先寫低8位(PORT為端口號)

MOVAL,AH

OUTPORT,AL;后寫高8位當(dāng)采用十進(jìn)制(BCD碼)計(jì)數(shù)時(shí),必須在8253初始化編程中把計(jì)算得到的十進(jìn)制計(jì)數(shù)初值n加上后綴H,以便在相應(yīng)的傳送指令執(zhí)行后能夠在AL(或AX)中得到十進(jìn)制數(shù)n的BCD碼表示形式。

例如n=50,則應(yīng)按如下方式寫入:

MOVAL,50H

OUTPORT,AL

如果n=1250,則需分兩次寫入,即:

MOVAL,50H

OUTPORT,AL;先寫低8位

MOVAL,12H

OUTPORT,AL;后寫高8位

也可按如下方法兩次寫入:

MOVAX,1250HOUTPORT,AL;先寫低8位MOVAL,AHOUTPORT,AL;

后寫高8位4.初始化編程舉例例12.1

若用8253的計(jì)數(shù)通道1,工作在方式0,按8位二進(jìn)制計(jì)數(shù),計(jì)數(shù)初值為128,則初始化編程如下:

(1)確定通道控制字-------50H

(2)8位計(jì)數(shù)初值-----------80H設(shè)8253的端口地址為48H~4BH,則初始化程序段為:

MOVAL,50HOUT4BH,AL;設(shè)置通道1控制字MOVAL,80HOUT49H,AL;寫通道1計(jì)數(shù)初值,只寫低8位

例12.2

若用通道0,工作在方式1,按十進(jìn)制(BCD碼)計(jì)數(shù),計(jì)數(shù)初值為2010,則初始化編程如下:(1)確定通道控制字------33H(2)計(jì)數(shù)初值低8位為10,高8位為20。若8253的端口地址同例1,則初始化程序段為:

MOVAL,33HOUT4BH,AL;設(shè)置通道0控制字MOVAL,10H

OUT48H,AL;寫通道0計(jì)數(shù)初值低8位MOVAL,20HOUT48H,AL;寫通道0計(jì)數(shù)初值高8位12.2.68253的讀出操作

1.讀之前先暫停計(jì)數(shù)2.讀之前先發(fā)鎖存命令12.38253的應(yīng)用例12.4

8253用作脈沖信號發(fā)生器。

可用8253產(chǎn)生如圖12.14(a)所示的周期性脈沖信號,其重復(fù)周期為5μs,脈沖寬度為1μs。

設(shè)CLK信號頻率為2MHz。圖12.148253用作脈沖信號發(fā)生器MOVAL,00010010B;設(shè)置計(jì)數(shù)器0為方式1(單穩(wěn)),只寫低8位,二進(jìn)制計(jì)數(shù)OUT86H,ALMOVAL,02H;設(shè)置計(jì)數(shù)器0的計(jì)數(shù)初值為2OUT80HALMOVAL,01010100B;設(shè)置計(jì)數(shù)器1為方式2(分頻器),只寫低8位,二進(jìn)制計(jì)數(shù)OUT86H,ALMOVAL,0AH;設(shè)置計(jì)數(shù)器1的計(jì)數(shù)初值為10OUT82H,AL例12.3

用8253實(shí)現(xiàn)生產(chǎn)流水線上的工件計(jì)數(shù),每通過100個(gè)工件,揚(yáng)聲器便發(fā)出頻率為1000Hz的音響信號,持續(xù)時(shí)間為5秒。設(shè)外部時(shí)鐘頻率為2MHZ。INTR(中斷請求)+5V時(shí)鐘2MHz8255APA0GATE1CLK1GATE0OUT08253CLK0OUT1驅(qū)動電路揚(yáng)聲器+5V光敏電阻工件光源圖12.138253用于工件計(jì)數(shù)圖12.138253用于工件計(jì)數(shù)INTR+5V設(shè)8253的端口地址為40H~43H,8255A的端口地60H~63H,則實(shí)現(xiàn)本例功能的程序段如下:主程序:

MOVAL,00010001B;8253計(jì)數(shù)通道0初始化:方式0,只寫低8位,BCD計(jì)數(shù).

OUT43H,ALMOVAL,99H;寫計(jì)數(shù)通道0的計(jì)數(shù)初值

OUT40H,ALMOVAL,10000000B;8255A初始化:A口方式0輸出

OUT63H,ALSTI;CPU開中斷HERE:JMPHERE;等待中斷中斷服務(wù)程序:MOVAL,01H;8255A的PA0輸出高電平,啟動8253計(jì)數(shù)通道1工作OUT60H,ALMOVAL,01110111B;8253計(jì)數(shù)通道1初始化:先寫低8位,后寫高8位OUT43H,AL;方式3,BCD計(jì)數(shù)M

溫馨提示

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

評論

0/150

提交評論