版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第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í)間來(lái)構(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ā)信號(hào)
暫穩(wěn)態(tài)單穩(wěn)態(tài)電路3.可編程計(jì)數(shù)器/定時(shí)器可用軟件的方法(通過(guò)初始化編程)設(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所示。由圖可見(jiàn),它由與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用輸入輸出指令對(duì)8253進(jìn)行讀寫操作時(shí)的所有信息都通過(guò)這個(gè)緩沖器傳送。2.讀/寫邏輯
這是8253內(nèi)部操作的控制電路,它從系統(tǒng)控制總線上接收輸入信號(hào),然后轉(zhuǎn)換成8253內(nèi)部操作的各種控制信號(hào)。3.控制字寄存器當(dāng)?shù)刂沸盘?hào)A1和A0都為1時(shí),訪問(wèn)控制字寄存器??刂谱旨拇嫫鲝臄?shù)據(jù)總線上接收CPU送來(lái)的控制字,并由控制字的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è)通道均可以通過(guò)編程選擇6種工作方式之一:1.方式0——計(jì)數(shù)到零產(chǎn)生中斷請(qǐng)求
(InterruptonTerminalCount)方式0的操作時(shí)序圖如圖12.4所示。CLKGATE(高)01234CWN=4WRN+1個(gè)OUT圖12.4方式0的時(shí)序圖方式0的主要特點(diǎn)是:計(jì)數(shù)器只計(jì)一遍而不能自動(dòng)重復(fù)工作。當(dāng)減1計(jì)數(shù)到零時(shí),并不自動(dòng)恢復(fù)計(jì)數(shù)初值重新開(kāi)始計(jì)數(shù),且OUT輸出保持為高電平。只有CPU再次寫入一個(gè)新的計(jì)數(shù)值(即使計(jì)數(shù)值相同也需再次寫入),OUT才變?yōu)榈碗娖?,?jì)數(shù)器按新寫入的計(jì)數(shù)值重新開(kāi)始計(jì)數(shù)?;蛘逤PU重新對(duì)8253設(shè)置方式0控制字,它的OUT輸出也可以立即變?yōu)榈碗娖?,并等再次寫入?jì)數(shù)初值后重新開(kāi)始計(jì)數(shù)。(2)CPU向CR寄存器寫入計(jì)數(shù)初值后的第一個(gè)CLK脈沖(即圖中用斜線標(biāo)出的那個(gè)脈沖),將CR的內(nèi)容送入CE,從此之后計(jì)數(shù)器才開(kāi)始減1計(jì)數(shù)。這第一個(gè)CLK脈沖不包括在減1計(jì)數(shù)過(guò)程中。如果設(shè)置計(jì)數(shù)初值為N,則輸出OUT是在N+1個(gè)CLK脈沖之后才變?yōu)楦唠娖健?3)在計(jì)數(shù)過(guò)程中,可由GATE信號(hào)控制暫停計(jì)數(shù)。當(dāng)GATE變低時(shí),計(jì)數(shù)暫停;當(dāng)GATE變高后又接著計(jì)數(shù)。其工作波形如圖12.5所示。CLKGATE12223N=3CWWROUT圖12.5方式0計(jì)數(shù)過(guò)程中改變GATE信號(hào)0(4)在計(jì)數(shù)過(guò)程中也可改變計(jì)數(shù)值。在寫入新的計(jì)數(shù)值后,計(jì)數(shù)器將立即按新的計(jì)數(shù)值重新開(kāi)始計(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ù)過(guò)程中改變計(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ù)器并不開(kāi)始計(jì)數(shù),直至門控信號(hào)GATE上升沿(即門控觸發(fā)信號(hào))出現(xiàn),并在其下一個(gè)CLK脈沖的下降沿,CR的內(nèi)容送入CE,同時(shí)使OUT輸出變?yōu)榈碗娖剑缓箝_(kāi)始對(duì)隨后的CLK脈沖進(jìn)行減1計(jì)數(shù)。
在計(jì)數(shù)過(guò)程中,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ù)過(guò)程中(輸出負(fù)脈沖期間),可由GATE上升沿再觸發(fā)。并使計(jì)數(shù)器從計(jì)數(shù)初值開(kāi)始重新作減1計(jì)數(shù),減至0時(shí),OUT輸出變?yōu)楦唠娖?。其效果是使輸出?fù)脈沖的寬度比原來(lái)加寬了。(4)在計(jì)數(shù)過(guò)程中,CPU可改變計(jì)數(shù)初值,這時(shí)計(jì)數(shù)過(guò)程不受影響,計(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ù)器將自動(dòng)對(duì)輸入時(shí)鐘CLK計(jì)數(shù)。在計(jì)數(shù)過(guò)程中OUT輸出為高,直至計(jì)數(shù)器減到1(注意,不是減到0)時(shí),OUT輸出變低,經(jīng)過(guò)一個(gè)CLK周期,輸出恢復(fù)為高,且計(jì)數(shù)器將自動(dòng)重新開(kāi)始計(jì)數(shù)。這種方式可作脈沖速率發(fā)生器或用來(lái)產(chǎn)生實(shí)時(shí)時(shí)鐘中斷信號(hào)。
方式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ù)過(guò)程可由GATE信號(hào)控制。當(dāng)GATE信號(hào)變低時(shí),立即暫停現(xiàn)行計(jì)數(shù);當(dāng)GATE信號(hào)又變高后,從計(jì)數(shù)初值開(kāi)始重新計(jì)數(shù)。(3)如果在計(jì)數(shù)過(guò)程中,CPU重新寫入計(jì)數(shù)值,則對(duì)于正在進(jìn)行的計(jì)數(shù)無(wú)影響,而是從下一個(gè)計(jì)數(shù)操作周期開(kāi)始按新的計(jì)數(shù)值改變輸出脈沖的頻率。4.方式3——方波發(fā)生器
(SquareWaveRateGenerator)方式3和方式2的工作情況類似,兩者的主要區(qū)別是輸出波形的形式。對(duì)于方式3,OUT輸出是對(duì)稱方波或基本對(duì)稱的矩形波。即在一個(gè)計(jì)數(shù)周期內(nèi),若計(jì)數(shù)初值N為偶數(shù),則OUT輸出將有N/2個(gè)CLK周期為高電平,N/2個(gè)CLK周期為低電平,輸出為對(duì)稱方波,其周期為N個(gè)CLK周期;若N為奇數(shù),則OUT輸出將有(N+1)/2個(gè)CLK周期為高電平,(N-1)/2個(gè)CLK周期為低電平,輸出為基本對(duì)稱的矩形波,其周期也為N個(gè)CLK周期。
在方式3,當(dāng)CPU設(shè)置控制字后,輸出將為高,在寫完計(jì)數(shù)初值N后計(jì)數(shù)器就自動(dòng)開(kāi)始計(jì)數(shù),輸出保持為高。當(dāng)計(jì)數(shù)到N/2(或(N+1)/2)時(shí),輸出變低,直至計(jì)數(shù)到0,使輸出變高。同時(shí)又重新裝入計(jì)數(shù)值開(kāi)始新的計(jì)數(shù)。計(jì)數(shù)過(guò)程周而復(fù)始重復(fù)進(jìn)行。這種方式常用來(lái)產(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周期的對(duì)稱方波;若計(jì)數(shù)初值N為奇數(shù),則輸出波形是周期為N個(gè)CLK周期的基本對(duì)稱矩形波,其高電平持續(xù)時(shí)間比低電平持續(xù)時(shí)間多一個(gè)CLK周期。(2)如果在計(jì)數(shù)過(guò)程中,GATE信號(hào)變低,則暫停現(xiàn)行計(jì)數(shù)過(guò)程,直到GATE再次有效,將從計(jì)數(shù)初值開(kāi)始重新計(jì)數(shù)。(3)如果要求改變輸出方波的頻率,則CPU可在任何時(shí)候重新寫入新的計(jì)數(shù)初值,并從下一個(gè)計(jì)數(shù)操作周期開(kāi)始改變輸出方波的頻率。5.方式4—軟件觸發(fā)選通
(SoftwareTriggeredStrobe)在方式4,當(dāng)寫入控制字后,OUT輸出為高。當(dāng)寫入計(jì)數(shù)初值后計(jì)數(shù)器即開(kāi)始計(jì)數(shù)(相當(dāng)于軟件觸發(fā)啟動(dòng)),當(dāng)計(jì)數(shù)到0后,輸出變低,經(jīng)過(guò)1個(gè)CLK周期,輸出又變高。方式4不能自動(dòng)重復(fù)計(jì)數(shù),即這種方式計(jì)數(shù)是一次性的。每次啟動(dòng)計(jì)數(shù)都要靠重新寫入計(jì)數(shù)值,所以稱為“軟件觸發(fā)選通”。當(dāng)8253工作于方式4時(shí),可用作軟件觸發(fā)的選通信號(hào)發(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)軟件啟動(dòng),GATE應(yīng)為高。(3)若在計(jì)數(shù)過(guò)程中改變計(jì)數(shù)值,則按新的計(jì)數(shù)值重新開(kāi)始計(jì)數(shù),即改變計(jì)數(shù)值是立即有效的。方式4可應(yīng)用于這樣一種情況:
CPU經(jīng)輸出端口發(fā)送并行數(shù)據(jù)給接收系統(tǒng),經(jīng)過(guò)一段時(shí)間延遲后,再發(fā)送一個(gè)選通信號(hào),利用該選通信號(hào)將并行數(shù)據(jù)打入到接收系統(tǒng)的緩沖寄存器中。通過(guò)改變計(jì)數(shù)初值N,可以方便地調(diào)整發(fā)出選通信號(hào)的延遲時(shí)間。6.方式5——硬件觸發(fā)選通
(HardwareTriggeredStrobe)
在方式5,設(shè)置了控制字后,輸出為高。在設(shè)置了計(jì)數(shù)初值后,計(jì)數(shù)器并不立即開(kāi)始計(jì)數(shù),而是由門控信號(hào)GATE的上升沿觸發(fā)啟動(dòng)。當(dāng)計(jì)數(shù)到0時(shí),輸出變低,經(jīng)過(guò)一個(gè)CLK周期,輸出恢復(fù)為高,并停止計(jì)數(shù)。要等到下次門控GATE信號(hào)的觸發(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)過(guò)N+1個(gè)CLK脈沖,才輸出一個(gè)負(fù)脈沖。(2)若在計(jì)數(shù)過(guò)程中再次出現(xiàn)門控GATE觸發(fā)信號(hào),則將使計(jì)數(shù)器從計(jì)數(shù)初值開(kāi)始重新計(jì)數(shù),但OUT輸出的高電平不受影響。(3)若在計(jì)數(shù)過(guò)程中改變計(jì)數(shù)值,只要在計(jì)數(shù)到0之前不出現(xiàn)新的門控觸發(fā)信號(hào),則原計(jì)數(shù)過(guò)程不受影響;等計(jì)數(shù)到0并出現(xiàn)新的門控發(fā)信號(hào)后,再按新的計(jì)數(shù)值計(jì)數(shù)。若在寫入了新的計(jì)數(shù)值后,在未計(jì)數(shù)到0之前有門控觸發(fā)信號(hào)出現(xiàn),則立即按新的計(jì)數(shù)值重新開(kāi)始計(jì)數(shù)。7.8253工作方式小結(jié)
(1)方式2(分頻器)、方式4(軟件觸發(fā)選通)和方式5(硬件觸發(fā)選通),它們的輸出波形相同,都是寬度為1個(gè)CLK周期的負(fù)脈沖。
區(qū)別是,方式2是自動(dòng)重復(fù)工作的,而方式4需由軟件(設(shè)置計(jì)數(shù)值)觸發(fā)啟動(dòng),方式5需由門控GATE信號(hào)觸發(fā)啟動(dòng)。
(2)方式5(硬件觸發(fā)選通)與方式1(硬件觸發(fā)單穩(wěn)),觸發(fā)信號(hào)相同,但輸出波形不同.方式1輸出為寬度是N個(gè)CLK周期的負(fù)脈沖(計(jì)數(shù)過(guò)程中輸出為低);方式5輸出為寬度是1個(gè)CLK周期的負(fù)脈沖(計(jì)數(shù)過(guò)程中輸出為高)。(3)在6種工作方式中,只有方式0,在寫入控制字后輸出為低;
其余5種方式,都是在寫入控制字后輸出為高。(4)6種工作方式中的任一種方式,只有在寫入計(jì)數(shù)初值后才能開(kāi)始計(jì)數(shù)。方式0、2、3、4都是寫入計(jì)數(shù)初值后,計(jì)數(shù)過(guò)程就開(kāi)始了。方式1、5在寫入計(jì)數(shù)初值后,需由外部GATE信號(hào)的觸發(fā)啟動(dòng),才能開(kāi)始計(jì)數(shù)過(guò)程。(5)6種工作方式中,只有方式2(分頻器)和方式3(方波發(fā)生器)為自動(dòng)重復(fù)工作方式,其他4種方式都是一次性計(jì)數(shù),要繼續(xù)工作需要重新啟動(dòng)。12.2.58253的初始化編程1.內(nèi)部寄存器的尋址8253有三個(gè)獨(dú)立的計(jì)數(shù)器通道,每個(gè)通道可以被CPU訪問(wèn)的部件有:
8位的控制寄存器,它只能寫入,不能讀出;
16位的計(jì)數(shù)初值寄存器CR,它只能寫入,不能讀出;
16位的輸出鎖存器OL,它只能讀出,不能寫入。
8253芯片是否被選中,決定于片選信號(hào)CS,通常CS接自地址譯碼器輸出。
一片8253占用四個(gè)連續(xù)的端口地址,分別對(duì)應(yīng)于三個(gè)計(jì)數(shù)初值寄存器端口和一個(gè)控制寄存器端口。由輸入信號(hào)A1和A0的四種編碼來(lái)選擇四個(gè)端口之一。每個(gè)通道都各自有獨(dú)立的控制寄存器,但三個(gè)通道的控制寄存器都共用一個(gè)端口地址,即A1和A0都為1時(shí)的端口地址。它是三個(gè)通道共同使用的控制寄存器端口地址。
為了能夠?qū)⒚總€(gè)通道的控制字寫入它們各自的控制寄存器中,使用控制字的D7和D6的編碼,來(lái)標(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無(wú)效通道選擇: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控制字格式需要說(shuō)明的是:
當(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為端口號(hào))
MOVAL,AHOUTPORT,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用作脈沖信號(hào)發(fā)生器。
可用8253產(chǎn)生如圖12.14(a)所示的周期性脈沖信號(hào),其重復(fù)周期為5μs,脈沖寬度為1μs。設(shè)CLK信號(hào)頻率為2MHz。圖12.148253用作脈沖信號(hào)發(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ù),每通過(guò)100個(gè)工件,揚(yáng)聲器便發(fā)出頻率為1000Hz的音響信號(hào),持續(xù)時(shí)間為5秒。設(shè)外部時(shí)鐘頻率為2MHZ。INTR(中斷請(qǐng)求)+5V時(shí)鐘2MHz8255APA0GATE1CLK1GATE0OUT08253CLK0O
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 細(xì)胞呼吸課件教學(xué)課件
- 三年級(jí)數(shù)學(xué)計(jì)算題專項(xiàng)練習(xí)匯編及答案集錦
- 老年活動(dòng)項(xiàng)目標(biāo)前協(xié)議書(shū)(2篇)
- 南京航空航天大學(xué)《電磁場(chǎng)的數(shù)值方法》2022-2023學(xué)年期末試卷
- 南京工業(yè)大學(xué)浦江學(xué)院《線性代數(shù)(理工)》2021-2022學(xué)年第一學(xué)期期末試卷
- 分式方程說(shuō)課稿
- 蹲踞式起跑說(shuō)課稿
- angengingong說(shuō)課稿部編版
- 南京工業(yè)大學(xué)浦江學(xué)院《計(jì)算機(jī)網(wǎng)絡(luò)》2023-2024學(xué)年期末試卷
- 黑板字課件教學(xué)課件
- 學(xué)校校園文化建設(shè)協(xié)議書(shū)
- 工程機(jī)械租賃服務(wù)方案及保障措施
- GB/T 13077-2024鋁合金無(wú)縫氣瓶定期檢驗(yàn)與評(píng)定
- 有限空間作業(yè)安全承諾書(shū)
- 幼兒園預(yù)防近視教師培訓(xùn)
- SY-T 6966-2023 輸油氣管道工程安全儀表系統(tǒng)設(shè)計(jì)規(guī)范
- 人工智能訓(xùn)練師(中級(jí)數(shù)據(jù)標(biāo)注員)理論考試題庫(kù)大全(含答案)
- 醫(yī)院科室合作共建方案
- 3.1DNA是主要的遺傳物質(zhì)課件-高一下學(xué)期生物人教版必修二
- 小學(xué)數(shù)學(xué)計(jì)算專項(xiàng)訓(xùn)練之乘法分配律(提公因數(shù))
- 《食物在體內(nèi)的旅行》說(shuō)課稿
評(píng)論
0/150
提交評(píng)論