第8章.計(jì)數(shù)器和定時(shí)器_第1頁(yè)
第8章.計(jì)數(shù)器和定時(shí)器_第2頁(yè)
第8章.計(jì)數(shù)器和定時(shí)器_第3頁(yè)
第8章.計(jì)數(shù)器和定時(shí)器_第4頁(yè)
第8章.計(jì)數(shù)器和定時(shí)器_第5頁(yè)
已閱讀5頁(yè),還剩64頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第8章柜臺(tái)和計(jì)時(shí)器英特爾8253/8254,8.1概述8.2 8253控制器8.3 8253的工作方式8.4 8253初始化8.5 8253讀取操作8.6在英特爾8254 8.7 8253 PC上使用8.8計(jì)時(shí)計(jì)數(shù)器的應(yīng)用節(jié)目示例,8.1概述,8.1 (2)每個(gè)計(jì)數(shù)器均為二進(jìn)制或20進(jìn)制數(shù)(3)每個(gè)柜臺(tái)的計(jì)數(shù)速度高達(dá)2MHz。(82C54-2計(jì)數(shù)頻率可達(dá)10MHz。)。(4)每個(gè)通道有6個(gè)茄子的工作方式,可由程序設(shè)置和更改。(5)所有輸入和輸出都與TTL級(jí)別兼容。8.1.2 8253的內(nèi)部結(jié)構(gòu)8253的內(nèi)部結(jié)構(gòu)如圖8-1所示。1數(shù)據(jù)總線緩沖區(qū)8位雙向三狀態(tài)緩沖區(qū)。CPU使用I/O命令讀取和寫入

2、8253的所有信息都通過八個(gè)牙齒總線中的一個(gè)發(fā)送。包含:(1)CPU初始化編程時(shí)寫入8253的控制器。(2)CPU寫入通道的計(jì)數(shù)值。(3)CPU從一個(gè)通道讀取的計(jì)數(shù)值。2讀/寫控制邏輯接收系統(tǒng)總線輸入信號(hào),然后生成整個(gè)設(shè)備的操作控制信號(hào)。3控制詞允許在寄存器CPU中使用控制詞,并分別控制三個(gè)計(jì)數(shù)器的工作方式。它只能寫,不能讀。4柜臺(tái)0、柜臺(tái)1、柜臺(tái)2如圖8-2所示,每個(gè)通道的結(jié)構(gòu)完全相同的三個(gè)單獨(dú)的柜臺(tái)/計(jì)時(shí)器通道。每個(gè)通道都包含16位字典可設(shè)置值的減柜臺(tái)、16位字典設(shè)置寄存器和16位輸出鎖定。牙齒三個(gè)通道的操作完全獨(dú)立。在計(jì)算過程中,相減計(jì)數(shù)器的值繼續(xù)減少,但字典設(shè)置寄存器字典設(shè)置的數(shù)量保持

3、不變。寫入鎖定命令時(shí),輸出鎖定用于鎖定當(dāng)前計(jì)數(shù)值。每個(gè)通道的減計(jì)數(shù)器是字典設(shè)置的值減1。減法柜臺(tái)值減小到0時(shí),將在OUT輸出結(jié)束時(shí)輸出信號(hào)。8.1.3 8253針腳Intel 8253的針腳如圖8-3所示。D7D0數(shù)據(jù)線、雙向、3狀態(tài)、CPU連接的數(shù)據(jù)總線?;I碼選擇信號(hào),輸入,低級(jí)有效。僅選擇8253作為“0”。通常接收地址解碼信號(hào)。A1、A0寄存器選擇信號(hào)(選擇通信端口)、讀取和寫入3個(gè)輸入8253通道的計(jì)數(shù)器和1個(gè)控制寄存器讀取信號(hào)、輸入、低電平有效。如果有效,CPU可以從8253讀取數(shù)據(jù)。_ _ _信號(hào)寫入,輸入,低級(jí)有效。如果有效,CPU可以向8253寫入數(shù)據(jù)或命令。每個(gè)通道都有三個(gè)針

4、腳。CLK:輸入脈沖針腳。計(jì)數(shù)器是計(jì)算這個(gè)大頭針的脈沖。根據(jù)8253,添加到CLK針腳的輸入時(shí)鐘周期必須至少為380ns。GATE:門控信號(hào)輸入針腳。這是控制柜臺(tái)操作的外部信號(hào)。GATE針腳處于低級(jí)(無效)時(shí),通常禁止柜臺(tái)操作。只有GATE為高電平時(shí),計(jì)數(shù)器才能工作。OUT:輸出端號(hào)。計(jì)數(shù)達(dá)到0時(shí),輸出針腳必須有輸出,輸出信號(hào)的波形取決于工作方式。8253內(nèi)部端口的選擇由引線A1和A0確定,通常連接到地址總線A1和A0。選擇每個(gè)通道的讀/寫操作(請(qǐng)參閱表8-1)。8.2 8253的控制器,1柜臺(tái)選擇(D7D6)控制器的最高兩位數(shù)確定牙齒控制器是哪個(gè)通道的控制器。三個(gè)通道的操作完全獨(dú)立,因此需要

5、三個(gè)控制器寄存器,分別規(guī)定這些通道的工作方式。但是,它們的地址相同(例如A1A0=11)。因此,對(duì)三個(gè)通道的編程需要在牙齒地址中寫入三個(gè)控制器,D7D6位分別指定不同的通道。2數(shù)據(jù)讀/寫格式(D5D4) CPU將初始值寫入計(jì)數(shù)通道并讀取當(dāng)前狀態(tài)時(shí)有多種茄子格式。例如,寫入數(shù)據(jù)時(shí)是寫入8位數(shù)據(jù)還是16位數(shù)據(jù),如果是8位計(jì)數(shù),則只能寫入D5D4=01,低8位。高8位自動(dòng)位置0;16位計(jì)數(shù),低8位為0時(shí),D5D4=10牙齒,僅記錄高8位,低8位自動(dòng)牙齒為0。16位計(jì)數(shù),高8位和低8位都是0牙齒或低8位先寫,然后寫高8位??梢允蛊涑蔀镈5D4=11。讀取計(jì)數(shù)值時(shí),可以創(chuàng)建D5D4=00,在寫入控制器時(shí)

6、鎖定計(jì)數(shù)值,稍后再讀取。3工作方式(D3D2D1) 8253可以使用6茄子/通道工作方式。由牙齒3位確定。每種方法的特點(diǎn)如下所述。4自制選擇(D0) 8253的每個(gè)頻道都有兩個(gè)茄子計(jì)數(shù):二進(jìn)制數(shù)和二進(jìn)制數(shù)。這將相應(yīng)地決定。二進(jìn)制計(jì)數(shù)時(shí)記錄的初始值的范圍為0000HFFFFH。其中0000H是最大值,表示65536。以20進(jìn)制表示的初始值的范圍為00009999。其中0000是最大值,表示10000。8 . 3 . 8253工作方式,8.3.1方式0計(jì)數(shù)完成時(shí),中斷以這種方式將控制器CW寫入控制器寄存器(CW)時(shí),輸出輸出降低,計(jì)數(shù)器不賦予初始值或開始計(jì)數(shù)。要開始計(jì)算,GATE信號(hào)必須處于較高級(jí)

7、別。計(jì)數(shù)初始值記錄后,通道開始計(jì)數(shù),OUT信號(hào)線保持在較低的級(jí)別,直到計(jì)數(shù)牙齒為0。輸出信號(hào)線為高電平。方法0過程如圖8-5所示。其中,LSB=4是計(jì)數(shù)值4,僅寫入8位低數(shù)字,底部行是計(jì)數(shù)器的數(shù)值。方法0的主要特征是(1)計(jì)數(shù)器只計(jì)算一次。計(jì)數(shù)達(dá)到0時(shí),初始計(jì)數(shù)值不會(huì)恢復(fù),重新計(jì)數(shù)也不會(huì)開始,輸出保持在較高狀態(tài)。只有寫入不同的計(jì)數(shù)值時(shí),OUT才會(huì)降低,開始新的計(jì)數(shù)值。(2)8253內(nèi)部將CPU寫入計(jì)數(shù)值的WR信號(hào)上升變化中的牙齒值寫入通道的字典設(shè)定寄存器,WR信號(hào)上升,然后寫入下一個(gè)CLK脈沖,將計(jì)數(shù)值從字典設(shè)定寄存器發(fā)送到1柜臺(tái)減1計(jì)數(shù)器,開始計(jì)數(shù)值為初始值。因此,8253在寫入計(jì)數(shù)數(shù)字命令

8、后,必須通過輸入脈沖,將計(jì)數(shù)值加載到負(fù)1計(jì)數(shù)器后,下一脈沖開始計(jì)算。因此,如果將初始計(jì)數(shù)值設(shè)置為N,則輸出信號(hào)OUT僅在N 1 CLK脈沖之后才會(huì)增大。方法1、方法2、方法4和方法5的牙齒特征相同。(3)在計(jì)數(shù)過程中,可由門控制信號(hào)GATE控制暫停。GATE=0時(shí),計(jì)數(shù)暫停。GATE升高時(shí),將計(jì)算波形,如圖8-6所示。(4)在計(jì)數(shù)過程中,可以更改計(jì)數(shù)值。對(duì)于8位計(jì)數(shù),如圖8-7所示,在記錄了新的計(jì)數(shù)值后,計(jì)數(shù)器以新的計(jì)數(shù)值重新開始。對(duì)于16位計(jì)數(shù),在記錄了第一個(gè)字節(jié)后,計(jì)數(shù)器停止計(jì)數(shù),記錄了第二個(gè)字節(jié)后,計(jì)數(shù)器開始使用新數(shù)字計(jì)數(shù)。也就是說,更改“計(jì)數(shù)”值立即有效。(5)8253內(nèi)部沒有中斷控制

9、電路、專用中斷請(qǐng)求引線,因此可以將輸出信號(hào)用作中斷請(qǐng)求信號(hào)用于中斷目的,但需要外部中斷優(yōu)先級(jí)隊(duì)列電路和中斷向量生成電路。如果8253的地址為04H07H,要在柜臺(tái)1牙齒方法0上工作,請(qǐng)使用8位二進(jìn)制數(shù),數(shù)量為128,初始化過程:MOVA1,50h;控制器OUT 07H,al;控制詞寄存器MOV AL,輸出到80h設(shè)定計(jì)數(shù)值OUT 05H,al;輸出到計(jì)數(shù)通道1,8.3.2的可節(jié)目單比特脈沖在CPU寫入控制器(上升邊緣)時(shí),輸出輸出OUT信號(hào)保持在高水平(如果原來低,則從低到高)。當(dāng)CPU用完計(jì)數(shù)值時(shí),計(jì)數(shù)器不會(huì)開始計(jì)數(shù),直到外部部門啟動(dòng)脈沖GATE,然后沿著下一個(gè)輸入CLK脈沖的下降開始計(jì)數(shù),

10、輸出OUT變低。在整個(gè)計(jì)算過程中,OUT的計(jì)數(shù)牙齒為零,輸出高電平,以單比特脈沖輸出。外部GATE觸發(fā)重新啟動(dòng)時(shí),可以生成單比特脈沖,如圖8-8所示。方法1的主要特征是(1)將計(jì)數(shù)值設(shè)置為N,則輸出的單比特脈沖寬度為N個(gè)輸入脈沖間隔。(2)計(jì)數(shù)達(dá)到0時(shí),可以由外部GATE重新啟動(dòng),因此可以輸出相同寬度的單脈沖,而無需再次發(fā)送計(jì)數(shù)值。(3)在計(jì)數(shù)過程中,外部可以發(fā)出柵極脈沖,重新觸發(fā)。再次觸發(fā)脈沖上升邊后,在CLK脈沖的下降邊上,計(jì)數(shù)器再次開始計(jì)數(shù)。圖8-9所示。(4)在計(jì)算過程中,CPU可以更改計(jì)數(shù)值,在牙齒情況下,計(jì)數(shù)過程不受影響,計(jì)數(shù)達(dá)到0時(shí)輸出較高。重新觸發(fā)啟動(dòng)時(shí),計(jì)數(shù)器將重新計(jì)算為新輸

11、入的計(jì)數(shù)值。也就是說,計(jì)數(shù)值對(duì)以下項(xiàng)有效:圖8-10所示。如果要在柜臺(tái)0牙齒方法1中工作,用BCD計(jì)算,則計(jì)數(shù)值為3000H。初始化程序?yàn)镸OV AL,23h。方法設(shè)置控制詞OUT 07H,al??刂圃~寄存器MOV AI,輸出到30h設(shè)計(jì)數(shù)值OUT 04H,al;輸出到柜臺(tái)0的高8位注意:計(jì)數(shù)值為16位,但控制器規(guī)定僅寫入高8位,因此低8位自動(dòng)設(shè)置為0。8.3.3模式2頻率發(fā)生器成為CPU輸出控制器時(shí),輸出輸出輸出信號(hào)高電平。記錄計(jì)數(shù)值后,計(jì)數(shù)器會(huì)立即自動(dòng)計(jì)算輸入時(shí)鐘CLK的數(shù)量。計(jì)數(shù)期間,輸出始終保持高電平,直到計(jì)數(shù)器減少到L,經(jīng)過CLK周期,輸出返回高電平,計(jì)數(shù)器開始重新計(jì)算(參見圖8-1

12、1)。方法2的一個(gè)突出特點(diǎn)是可以連續(xù)工作。如果計(jì)數(shù)值為N,則每次輸入N個(gè)CLK脈沖時(shí)都會(huì)輸出脈沖。因此,牙齒方法可以用于脈沖速度發(fā)生器或?qū)崟r(shí)時(shí)鐘中斷的生成。方法2的主要特征是(1)在不重置計(jì)數(shù)值的情況下,通道連續(xù)工作,輸出固定頻率的脈沖。(2)計(jì)數(shù)過程可由網(wǎng)關(guān)控制脈沖。GATE降低時(shí)暫停計(jì)數(shù)。GATE升高時(shí)(如圖8-12所示),下一個(gè)CLK脈沖將導(dǎo)致計(jì)數(shù)器恢復(fù)到初始值,計(jì)數(shù)重新開始。圖8-13方法2可以在計(jì)數(shù)過程中更改計(jì)數(shù)值,(3)在計(jì)數(shù)過程中更改計(jì)數(shù)值,不影響進(jìn)行中的計(jì)數(shù)過程,但在計(jì)數(shù)到L時(shí)輸出降低,CLK周期輸出再次升高,計(jì)數(shù)器作為新的計(jì)數(shù)值進(jìn)行計(jì)算,因此,如圖8-13所示,對(duì)計(jì)數(shù)值的更改

13、在下次有效。要使柜臺(tái)2與方法2協(xié)同工作,請(qǐng)單擊二進(jìn)制數(shù)。計(jì)數(shù)值為02F0H。初始化程序?yàn)镸OV AL,84H是。控制器OUT 07H、AL MOV AI、0FOH OUT 06H、AL;寫入計(jì)數(shù)值的低8位MOV AL,02H OUT 06H,AL;計(jì)數(shù)值的高8位,8.3.4方法3方波生成器方法3和方法2的輸出是周期性的。主要區(qū)別在于方法3牙齒計(jì)數(shù)過程中,一半時(shí)間高,另一半低。因此,如果計(jì)數(shù)值為N,方法3的輸出是方波,周期是N個(gè)CLK脈沖。這樣,如果CPU設(shè)置控制器,則輸出將增加,寫入計(jì)數(shù)值后,將自動(dòng)開始計(jì)數(shù),輸出將保持高。計(jì)數(shù)達(dá)到一半計(jì)數(shù)值時(shí),輸出會(huì)降低,直到計(jì)數(shù)牙齒為零,輸出會(huì)再次升高,計(jì)數(shù)

14、會(huì)重新開始。圖8-14所示。方法3的主要特征是:(1)如果計(jì)數(shù)值為偶數(shù),則加載計(jì)數(shù)值后,每個(gè)CLK脈沖將計(jì)數(shù)值減少2,如果計(jì)數(shù)值減少到0,則改變輸出狀態(tài),重新加載計(jì)數(shù)值以開始新的計(jì)數(shù)值。如果“計(jì)數(shù)”值為奇數(shù),則加載“計(jì)數(shù)”值后,牙齒過程將重復(fù)。計(jì)數(shù)達(dá)到0時(shí),更改輸出狀態(tài)并重新加載計(jì)數(shù)值。牙齒后的第一個(gè)CLK脈沖將計(jì)數(shù)器減少3。此后,每個(gè)CLK脈沖將計(jì)數(shù)器減少2,直到計(jì)數(shù)器再次牙齒0。輸出再次提高,重復(fù)牙齒過程,如圖8-15所示。因此,在計(jì)數(shù)值N牙齒奇數(shù)的情況下,輸出為(N1)/CLK脈沖周期2個(gè)高(N-1)/2脈沖周期低。也就是說,如果OUT較高,則CLK循環(huán)時(shí)間將大大低于此值。圖8-15方法

15、3計(jì)數(shù)值為奇數(shù)的波形,(2)GATE信號(hào)重新開始計(jì)數(shù)過程。GATE=1允許計(jì)數(shù),GATE=0禁止計(jì)數(shù)。輸出牙齒如果周期低,則GATE=0時(shí),輸出會(huì)立即升高以停止計(jì)數(shù)。GATE增大時(shí),計(jì)數(shù)器將重新加載初始值,并重新開始計(jì)數(shù)。圖8-16所示。(3)在計(jì)數(shù)期間寫入新的計(jì)數(shù)值不會(huì)影響當(dāng)前計(jì)數(shù)過程。但是,在方波伴奏器結(jié)束之前和記錄了新的計(jì)數(shù)值之后,如果接收到GATE脈沖,計(jì)數(shù)器將接收下一個(gè)CLK脈沖時(shí)尚人的新計(jì)數(shù)值,并開始用牙齒數(shù)值進(jìn)行計(jì)算。否則,新的計(jì)數(shù)值將在當(dāng)前伴奏結(jié)束時(shí)加載計(jì)數(shù)器。8.3.5方式4軟件觸發(fā)器選擇桶在寫入控制器時(shí)輸出輸出輸出信號(hào)為高電平(原來高的話保持高,原來低的話改為高)。計(jì)數(shù)值記

16、錄后,立即開始計(jì)數(shù)(相當(dāng)于軟件開始),計(jì)數(shù)達(dá)到0后,輸出降低,在輸入時(shí)鐘周期結(jié)束后,輸出再次提高。柜臺(tái)停止計(jì)數(shù)。因此,牙齒方法是一次性計(jì)算,因此只能在輸入新的計(jì)數(shù)值后開始新的計(jì)數(shù)值,如圖8-17所示。方法4具有以下特征:(1)CPU記錄計(jì)數(shù)值后,記錄下一個(gè)CLK脈沖,將計(jì)數(shù)值記錄在計(jì)數(shù)器中,然后CLK脈沖開始減速。因此,如果將計(jì)數(shù)值設(shè)置為N,則寫入計(jì)數(shù)值后的N 1脈沖將輸出為負(fù)脈沖。(2)如果GATE=1,則允許計(jì)數(shù);如果GATE=0,則禁止計(jì)數(shù)。因此,要啟動(dòng)軟件,必須將GATE保留為1。GATE信號(hào)對(duì)輸出沒有影響,如圖8-18所示。(3)在計(jì)數(shù)期間更改計(jì)數(shù)值時(shí),使用新的計(jì)數(shù)值重新開始計(jì)數(shù),如

17、圖8-19所示。如果計(jì)數(shù)值為2個(gè)字節(jié),則設(shè)置第一個(gè)字節(jié)時(shí)停止計(jì)數(shù),設(shè)置第二個(gè)字節(jié),然后開始計(jì)數(shù)作為新的計(jì)數(shù)數(shù)目。8.3.6模式5選擇硬件觸發(fā)器以這種方式設(shè)置控制器后,輸出輸出輸出信號(hào)為高電平。設(shè)置計(jì)數(shù)值后,計(jì)數(shù)器不是立即開始計(jì)數(shù),而是由門脈沖的上升邊緣觸發(fā)。計(jì)數(shù)達(dá)到0時(shí),輸出為低電平,通過CLK脈沖時(shí),輸出返回高電平,停止計(jì)數(shù)。如圖8-20所示,必須等到下一個(gè)門控脈沖觸發(fā)后才能重新計(jì)算。方法5具有以下特征:(1)如果將計(jì)數(shù)值設(shè)置為N,則必須在觸發(fā)門控脈沖后通過N 1 CLK脈沖才能輸出負(fù)脈沖。(2)在計(jì)數(shù)期間使用門控脈沖,計(jì)數(shù)器重新開始計(jì)數(shù),但不影響輸出狀態(tài),如圖8-21所示。(3)在計(jì)數(shù)期間更改計(jì)數(shù)值不會(huì)影響計(jì)數(shù)過程,除非對(duì)門控制信號(hào)沒有觸發(fā)。計(jì)數(shù)達(dá)到0時(shí),如圖8-22所示,如果存在新門控制信號(hào)的觸發(fā)器,則計(jì)算為新的計(jì)數(shù)值。但是,寫入新的計(jì)數(shù)值后,不計(jì)算到0,如果發(fā)生新的門控脈沖觸發(fā)器,則立即以新的計(jì)數(shù)值重新開始計(jì)數(shù)值。8.3.7 8253工作方法摘要8253有6種茄子工作方法。由于特性不同,應(yīng)用程序也不同。1輸出輸出輸出信號(hào)的初始狀態(tài)在6茄子方法中寫入0牙齒控制

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論