版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、9.1 定時定時/計數(shù)的基本概念計數(shù)的基本概念9.2 8253的工作原理的工作原理9.3 8253的應(yīng)用舉例的應(yīng)用舉例 第第9 9章章 可編程定時可編程定時/ /計數(shù)器計數(shù)器82538253及其應(yīng)用及其應(yīng)用 所謂定時計數(shù)就是通過硬件或軟件的方法產(chǎn)生一個時間基準,以此來實現(xiàn)對系統(tǒng)的定時或延時控制。 實現(xiàn)定時或延時有三種主要方法:軟件定時純硬件定時可編程的硬件定時器/計數(shù)器9.1 9.1 定時定時/ /計數(shù)的基本概念計數(shù)的基本概念 1. 軟件定時方法: 由于執(zhí)行每條指令都需要時間,故可循環(huán)執(zhí)行某一段指令產(chǎn)生延遲時間。特點: 這種方法由于要完全占用CPU的時間,因而降低了CPU的利用率,但硬件開銷少
2、,使用靈活。例:某一例:某一LEDLED燈控系統(tǒng),要求控制燈控系統(tǒng),要求控制LEDLED燈亮燈亮0.5s0.5s后熄滅。后熄滅。選擇軟件定時法,控制程序段如下:選擇軟件定時法,控制程序段如下:SUBCX,CXMOV AL,01H ; 燈亮控制碼燈亮控制碼OUTPORT,AL ;PORT為端口地址為端口地址L:LOOP L ;循環(huán);循環(huán)216次,約次,約0.5秒秒MOV AL,00H ;燈滅控制碼;燈滅控制碼OUTPORT,AL LOOP指令執(zhí)行占17個時鐘周期,設(shè)時鐘=2MHz,時鐘周期=0.5us, 0.5us*17* 216= 0.5s。 2. 純硬件定時方法: 采用固定的電路,如可以采用
3、小規(guī)模集成電路555,外接電阻和電容構(gòu)成單穩(wěn)延時電路。特點: 定時電路簡單,而且通過改變電阻和電容,可以使定時在一定的范圍內(nèi)調(diào)整。 但使用不靈活。 3. 可編程硬件定時器/計數(shù)器 是目前在控制系統(tǒng)中廣泛使用的方法,它通過編程來控制電路的定時值及定時范圍。 在計算機系統(tǒng)中,象定時中斷、定時檢測、定時掃描等等都是用可編程定時器來完成定時控制的。特點: 功能強,使用靈活,定時時間精確由軟件設(shè)置),提高CPU的利用率。 Intel 系列的系列的8253、8254就是常用的可編程定時就是常用的可編程定時/計數(shù)器。計數(shù)器。8253的主要性能:的主要性能:* 具有具有3個獨立的個獨立的16位計數(shù)器通道;位計
4、數(shù)器通道;* 每個計數(shù)器均可按二進制或二每個計數(shù)器均可按二進制或二十進制計數(shù);十進制計數(shù);* 每個計數(shù)器的計數(shù)速率高達每個計數(shù)器的計數(shù)速率高達2MHz (8254為為10MHZ) ;* 每個通道有每個通道有6種工作方式,可由程序設(shè)置和改變;種工作方式,可由程序設(shè)置和改變;* 所有的輸入輸出都與所有的輸入輸出都與TTL兼容。兼容。 可用在多種場合,如方波發(fā)生器、分頻器、實時時鐘、事件可用在多種場合,如方波發(fā)生器、分頻器、實時時鐘、事件計數(shù)等方面。計數(shù)等方面。 一、一、 8253的內(nèi)部結(jié)構(gòu)和引腳信號的內(nèi)部結(jié)構(gòu)和引腳信號內(nèi)部結(jié)構(gòu)內(nèi)部結(jié)構(gòu) 數(shù)據(jù)總線緩沖器數(shù)據(jù)總線緩沖器 它與它與CPU的數(shù)據(jù)總線相連,是
5、的數(shù)據(jù)總線相連,是8位雙向三態(tài)緩沖器。位雙向三態(tài)緩沖器。CPU通通過這個緩沖器對過這個緩沖器對8253進行讀進行讀/寫操作。寫操作。 讀讀/寫控制邏輯寫控制邏輯 有有CS、RD、WR、A0、A1信號。信號。 控制字寄存器控制字寄存器 只能寫入只能寫入, 初始化時由初始化時由CPU寫入控制字來設(shè)置計數(shù)器的工作寫入控制字來設(shè)置計數(shù)器的工作方式。方式。 計數(shù)器計數(shù)器 3個獨立的結(jié)構(gòu)相同的個獨立的結(jié)構(gòu)相同的16位減法器,可作定時位減法器,可作定時/計數(shù)器使用;計數(shù)器使用;計數(shù)器可按二進制計數(shù)器可按二進制/BCD方式減法計數(shù),從預(yù)置值減到零時,方式減法計數(shù),從預(yù)置值減到零時,OUT端輸出一信號。端輸出一
6、信號。9.2 Intel82539.2 Intel8253的工作原理的工作原理圖圖9.1 Intel 8253的內(nèi)部結(jié)構(gòu)的內(nèi)部結(jié)構(gòu)數(shù)據(jù) 總 線緩沖 器讀/寫邏 輯控制 字寄 存器計 數(shù)器0計 數(shù)器1計 數(shù)器2RDWRCSA0A1CLK0GATE0OUT0CLK1GATE1OUT1CLK2GATE2OUT2D7D0圖圖9.2 Intel 8253的外部引腳圖的外部引腳圖D7D6D5D4D3D2D1D0CLK0OUT0GATE0GNDOUT1GATE1CLK1GATE2CLK2A0A1OUT2WRRDCSVCC8253242322212019181716151413123456789101112外
7、部引腳外部引腳 GATE:門控信號,當(dāng)GATE為低電平時,禁止計數(shù)器工作; GATE為高電平時,才允許計數(shù)器工作。 CLK:計數(shù)脈沖輸入。 OUT:脈沖輸出。當(dāng)計數(shù)到“0時,從OUT端輸出信號,輸出信號的波形取決于工作方式。 CS、RD、WR、A0、A1共同結(jié)合,用于對8253進行端口操作,如表9-1所示。表表9-1 8253的端口選擇的端口選擇CSRDWRA1A0寄存器選擇和操作寄存器選擇和操作0 1000寫計數(shù)器寫計數(shù)器001001寫計數(shù)器寫計數(shù)器101010寫計數(shù)器寫計數(shù)器201011寫控制字寄存器寫控制字寄存器00100讀計數(shù)器讀計數(shù)器000101讀計數(shù)器讀計數(shù)器100110讀計數(shù)器讀
8、計數(shù)器200111無操作無操作(三態(tài)三態(tài))1制止制止(三態(tài)三態(tài))011無操作無操作(三態(tài)三態(tài))圖圖9.3 8253的控制字的控制字M2M1M0BCDRL0RL1SC0SC1D7D6D5D4D3D2D1D0(計數(shù)器選擇計數(shù)器選擇) 00:選擇計數(shù)器:選擇計數(shù)器0 01:選擇計數(shù)器:選擇計數(shù)器1 10:選擇計數(shù)器:選擇計數(shù)器2 11:非法選擇:非法選擇(讀讀/寫格式寫格式) 00:計數(shù)器鎖存命令:計數(shù)器鎖存命令 01:讀:讀/寫高寫高8位位 10:讀:讀/寫低寫低8位位 11:先讀:先讀/寫低寫低8位,再讀位,再讀/寫高寫高8位位(數(shù)制選擇數(shù)制選擇) 0:二進制:二進制(0000FFFFH) 1:
9、BCD (00009999H)(工作方式選擇工作方式選擇) 000: 方式方式0 001: 方式方式0 X10:方式:方式2 X11:方式:方式3 100 :方式:方式4 101: 方式方式5二、二、8253的控制字的控制字SC1SC1、SC0SC0:這兩位決定這個控制字是哪一個計數(shù)器的控制字。:這兩位決定這個控制字是哪一個計數(shù)器的控制字。RL1RL1、RL0RL0:設(shè)置數(shù)據(jù)讀:設(shè)置數(shù)據(jù)讀/ /寫格式。在讀取計數(shù)值時,可令寫格式。在讀取計數(shù)值時,可令RL1RL1、RL0=00RL0=00,先將寫控制字時的計數(shù)值鎖存,然后再讀取。,先將寫控制字時的計數(shù)值鎖存,然后再讀取。M2M2、M1M1、M0
10、M0:設(shè)置每個計數(shù)器的工作方式。:設(shè)置每個計數(shù)器的工作方式。BCDBCD:用于選擇每個計數(shù)器的計數(shù)制。在二進制計數(shù)時,計數(shù)初:用于選擇每個計數(shù)器的計數(shù)制。在二進制計數(shù)時,計數(shù)初值的范圍是值的范圍是0000H0000HFFFFHFFFFH,其中,其中0000H0000H是最大值,代表是最大值,代表6553665536。在在BCDBCD碼計數(shù)時,計數(shù)初值的范圍中碼計數(shù)時,計數(shù)初值的范圍中0000 0000 9999H9999H,其中,其中,00000000是最大值,代表是最大值,代表1000010000。 Intel 8253的每個計數(shù)器都有6種工作方式。 6種方式的主要區(qū)別是:輸出的波形不同,計
11、數(shù)過程中GATE信號對計數(shù)操作的影響不同,啟動計數(shù)器的觸發(fā)方式不同等。1. 方式0計數(shù)結(jié)束中斷方式 該方式的波形如圖9.4所示,這種方式的特點是: 三、三、8253的工作方式的工作方式* CW寫入,寫入,OUT=0;* 寫入時常,通道開始計數(shù);寫入時常,通道開始計數(shù);* 計數(shù)到零,計數(shù)到零,OUT=1;* 計數(shù)器只計數(shù)一遍;計數(shù)器只計數(shù)一遍;* OUT是是N+1個個CLK后變后變高;高;* 計數(shù)過程中,計數(shù)過程中,GATE=0, 計數(shù)暫停;計數(shù)暫停;* 計數(shù)過程中可改變計數(shù)計數(shù)過程中可改變計數(shù)值;值;* 可用可用OUT信號作為中斷信號作為中斷請求。請求。圖圖9.4 9.4 方式方式0 0波形圖
12、波形圖43210FFOUTGATE=1CLKWRCW=10LSB=432220FFOUTGATECLKWRCW=10LSB=31 置時常方式方式0計數(shù)過程中改變計數(shù)初值計數(shù)過程中改變計數(shù)初值GATEWRCLKOUTCW10 H N3N2321210 方式0特點: 寫入控制字后,OUT輸出端變?yōu)榈碗娖?。?dāng)寫入計數(shù)初值后,計數(shù)器開始減1計數(shù)相當(dāng)于軟件觸發(fā)啟動) 。直到計數(shù)到0時,OUT輸出變?yōu)楦唠娖健F陂g共記錄n+1個脈沖,即: Tout n TCLK (該方式作定時用時不夠準確) 但此信號可用于向CPU發(fā)出中斷請求。 計數(shù)器只計數(shù)一遍。當(dāng)計數(shù)到0時,不恢復(fù)計數(shù)初值,不開始重新計數(shù),且輸出一直保持
13、為高電平。只有在寫入新的計數(shù)值時,OUT才變低,并開始新的計數(shù)。 GATE是門控信號,GATE=1時允許計數(shù),GATE=0時,禁止計數(shù)。在計數(shù)過程中,如果GATE=0則計數(shù)暫停,當(dāng)GATE=1后接著計數(shù)。 在計數(shù)過程中可改變計數(shù)值。* 寫入控制字寫入控制字OUT=1,寫入常數(shù)不計數(shù);寫入常數(shù)不計數(shù);* GATE上升沿啟動計上升沿啟動計數(shù),數(shù),OUT=0,硬件觸,硬件觸發(fā);發(fā);* 計數(shù)到,計數(shù)到,OUT=1。*單拍脈沖寬度為單拍脈沖寬度為N;*由由GATE重新啟動;重新啟動;*計數(shù)中,可重新啟動;計數(shù)中,可重新啟動;*計數(shù)中,可改變計數(shù)值,計數(shù)中,可改變計數(shù)值,再次啟動時有效。再次啟動時有效。二
14、. 8253-PIT的工作方式3230FFOUTGATECLKWRCW=12LSB=31二. 8253-PIT的工作方式3230OUTGATECLKWRCW=12LSB=3121圖圖9.5 9.5 方式方式1 1的波形圖的波形圖2. 2. 方式方式11可編程單穩(wěn)態(tài)輸出方式可編程單穩(wěn)態(tài)輸出方式方式方式1 1特點:特點: 寫入控制字后,輸出寫入控制字后,輸出OUTOUT將保持為高電平,計數(shù)由將保持為高電平,計數(shù)由GATEGATE上升沿觸發(fā)啟動相當(dāng)于硬件觸發(fā)啟動)。上升沿觸發(fā)啟動相當(dāng)于硬件觸發(fā)啟動)。GATEGATE啟動之后,啟動之后,OUTOUT變?yōu)榈碗娖?,?dāng)計數(shù)到變?yōu)榈碗娖?,?dāng)計數(shù)到0 0時,時
15、,OUTOUT輸出高電平,從而在輸出高電平,從而在OUTOUT端端輸出一個負脈沖,負脈沖的寬度為輸出一個負脈沖,負脈沖的寬度為n n個個( (計數(shù)初值計數(shù)初值)CLK)CLK的脈沖寬的脈沖寬度。度。 Tout = n TCLK Tout = n TCLK (定時準確)(定時準確) 當(dāng)計數(shù)到當(dāng)計數(shù)到0 0后,不用送計數(shù)值,可再次由后,不用送計數(shù)值,可再次由GATEGATE脈沖啟脈沖啟動動, ,輸出同樣寬度的負的單脈沖。輸出同樣寬度的負的單脈沖。 在計數(shù)過程中,可改變計數(shù)初值,此時計數(shù)過程不受影響。如果再次觸發(fā)啟動,則計數(shù)器將按新輸入的計數(shù)值計數(shù)。 在計數(shù)未到0時,如果GATE再次啟動,則計數(shù)初值
16、將重新裝入計數(shù)器,并重新開始計數(shù)。32OUTGATECLKWRCW=14LSB=332132圖圖9.6 方式方式2波形圖波形圖* 寫入控制字寫入控制字OUT=1;* 寫入常數(shù)立即對寫入常數(shù)立即對CLK計數(shù);計數(shù);* 計數(shù)到計數(shù)到1,OUT=0;* 一個一個CLK周期后,周期后,OUT=1,重新計數(shù)。重新計數(shù)。* 通道連續(xù)工作不需重置時間通道連續(xù)工作不需重置時間常數(shù);常數(shù);* 計數(shù)過程中,計數(shù)過程中,GATE=0,計,計數(shù)暫停,數(shù)暫停,GATE變高后重新計變高后重新計數(shù);數(shù);* 計數(shù)過程中可改變計數(shù)值;計數(shù)過程中可改變計數(shù)值;新的計數(shù)值在下一次有效。新的計數(shù)值在下一次有效。321OUTGATE=
17、1CLKWRCW=14LSB=332133. 3. 方式方式22比率發(fā)生器分頻器)比率發(fā)生器分頻器) 方式2的特點是: 寫入控制字后,輸出將變?yōu)楦唠娖?。寫入計?shù)值后,計數(shù)立即開始。在計數(shù)過程中輸出始終為高電平,直至計數(shù)器減到1時,輸出將變?yōu)榈碗娖?。?jīng)過一個CLK周期,輸出恢復(fù)為高,且計數(shù)器開始重新計數(shù)。因此,它能夠連續(xù)工作,輸出固定頻率的脈沖。 如果計數(shù)值為N,則每輸入N個CLK脈沖,輸出一個脈沖。因此,相當(dāng)于對輸入脈沖的N分頻。通過對N賦不同的初值,即可在輸出端得到所需的頻率,起到頻率發(fā)生器的作用。 計數(shù)過程可由門控脈沖控制。計數(shù)過程可由門控脈沖控制。 GATE=1GATE=1允許計數(shù),當(dāng)允
18、許計數(shù),當(dāng)GATE=0GATE=0時,暫停計數(shù);當(dāng)時,暫停計數(shù);當(dāng)GATEGATE變高自動恢復(fù)計數(shù)初值,重新開變高自動恢復(fù)計數(shù)初值,重新開始計數(shù)。始計數(shù)。 在計數(shù)過程中可以改變計數(shù)值,這對正在進行的計數(shù)過在計數(shù)過程中可以改變計數(shù)值,這對正在進行的計數(shù)過程沒有影響。但在計數(shù)到程沒有影響。但在計數(shù)到1 1時輸出變低,經(jīng)過一個時輸出變低,經(jīng)過一個CLKCLK周期后輸周期后輸出又變高,計數(shù)器將按新的計數(shù)值計數(shù)。出又變高,計數(shù)器將按新的計數(shù)值計數(shù)。 方式方式3 3的波形如圖的波形如圖9.79.7所示。它的特點是:所示。它的特點是: 輸出為周期性的方波。若計數(shù)值為輸出為周期性的方波。若計數(shù)值為N N,則輸
19、出方波的周,則輸出方波的周期是期是N N個個CLKCLK脈沖的寬度。脈沖的寬度。圖圖9.7 方式方式3波形波形WRCLKGATEOUTCW16 N44242424 4. 方式3 方波發(fā)生器 與方式2的區(qū)別在于:輸出為周期是N個CLK脈沖的方波。 若計數(shù)值為偶數(shù),則輸出對稱方波。每個CLK使計數(shù)值減2,計到0,OUT改變狀態(tài),重裝計數(shù)值開始新的計數(shù)。如果計數(shù)值為奇數(shù),則前(N+1)/2個CLK脈沖期間輸出為高電平,后(N-1)/2個CLK脈沖期間輸出為低電平。 GATE信號能使計數(shù)過程重新開始。GATE=1允許計數(shù),GATE=0禁止計數(shù)。停止后OUT將立即變高開,當(dāng)GATE再次變高以后,計數(shù)器將
20、重新裝入計數(shù)初值,重新開始計數(shù)。方式方式4 4的波形如圖的波形如圖9.89.8所示,這種方式的特點是:所示,這種方式的特點是: 寫入控制字后,輸出為高電平。寫入計數(shù)值后立即開始計寫入控制字后,輸出為高電平。寫入計數(shù)值后立即開始計數(shù)相當(dāng)于軟件觸發(fā)啟動),當(dāng)計數(shù)到數(shù)相當(dāng)于軟件觸發(fā)啟動),當(dāng)計數(shù)到0 0后,輸出一個時鐘周期后,輸出一個時鐘周期的負脈沖,計數(shù)器停止計數(shù)。只有在輸入新的計數(shù)值后,才能開的負脈沖,計數(shù)器停止計數(shù)。只有在輸入新的計數(shù)值后,才能開始新的計數(shù)。始新的計數(shù)。 當(dāng)當(dāng)GATE=1GATE=1時,允許計數(shù),而時,允許計數(shù),而GATE=0GATE=0,禁止計數(shù)。,禁止計數(shù)。GATEGATE
21、信號信號不影響輸出。不影響輸出。 在計數(shù)過程中,如果改變計數(shù)值,則按新計數(shù)值重新開始在計數(shù)過程中,如果改變計數(shù)值,則按新計數(shù)值重新開始計數(shù)。如果計數(shù)值是計數(shù)。如果計數(shù)值是1616位,則在設(shè)置第一字節(jié)時停止計數(shù),在設(shè)位,則在設(shè)置第一字節(jié)時停止計數(shù),在設(shè)置第二字節(jié)后,按新計數(shù)值中開始計數(shù)。置第二字節(jié)后,按新計數(shù)值中開始計數(shù)。5. 5. 方式方式44軟件觸發(fā)選通軟件觸發(fā)選通圖圖9.8 方式方式4波形波形WRCLKGATEOUTCW18N33210方式方式5 5的波形如圖的波形如圖9.99.9所示,這種方式的特點是:所示,這種方式的特點是: 寫入控制字后,輸出為高電平。在設(shè)置了計數(shù)值后,計寫入控制字后
22、,輸出為高電平。在設(shè)置了計數(shù)值后,計數(shù)器并不立即開始計數(shù),而是由門控脈沖的上升沿觸發(fā)啟動。數(shù)器并不立即開始計數(shù),而是由門控脈沖的上升沿觸發(fā)啟動。當(dāng)計數(shù)到當(dāng)計數(shù)到0 0時,輸出一個時,輸出一個CLKCLK周期的負脈沖,并停止計數(shù)。當(dāng)門周期的負脈沖,并停止計數(shù)。當(dāng)門控脈沖再次觸發(fā)時才能再計數(shù)??孛}沖再次觸發(fā)時才能再計數(shù)。 在計數(shù)過程中如果再次用門控脈沖觸發(fā),則使計數(shù)器重在計數(shù)過程中如果再次用門控脈沖觸發(fā),則使計數(shù)器重新開始計數(shù),此時輸出還保持為高電平,直到計數(shù)為新開始計數(shù),此時輸出還保持為高電平,直到計數(shù)為0 0,才輸出,才輸出負脈沖。負脈沖。 如果在計數(shù)過程中改變計數(shù)值,只要沒有門控信號的觸如果
23、在計數(shù)過程中改變計數(shù)值,只要沒有門控信號的觸發(fā),不影響計數(shù)過程。當(dāng)有新的門控脈沖的觸發(fā)時,不管是否發(fā),不影響計數(shù)過程。當(dāng)有新的門控脈沖的觸發(fā)時,不管是否計數(shù)到計數(shù)到0 0,都按新的計數(shù)值計數(shù)。,都按新的計數(shù)值計數(shù)。6.6.方式方式55硬件觸發(fā)選通硬件觸發(fā)選通圖圖9.9 方式方式5波形波形WRCLKGATEOUTCW1A N332101. 輸出端輸出端OUT的初始狀態(tài)的初始狀態(tài) 只有方式只有方式0是在寫入控制字后輸出為低,其它均為高;是在寫入控制字后輸出為低,其它均為高;2. 計數(shù)值的設(shè)置計數(shù)值的設(shè)置 任一種方式,只有在寫入計數(shù)值后才能開始計數(shù),任一種方式,只有在寫入計數(shù)值后才能開始計數(shù),方式方
24、式0、2、3、4在寫入計數(shù)值后,計數(shù)自動開始,方式在寫入計數(shù)值后,計數(shù)自動開始,方式1、5需外部觸發(fā),才開始計數(shù)。需外部觸發(fā),才開始計數(shù)。 方式方式0、1、4初始化后僅有效一次。方式初始化后僅有效一次。方式2、3、5會會在計數(shù)器減為在計數(shù)器減為0時,自動將初值再裝入。時,自動將初值再裝入。四、四、 8253工作方式小結(jié)工作方式小結(jié) 6種方式各有特點,適用于不同的應(yīng)用場合。方式種方式各有特點,適用于不同的應(yīng)用場合。方式0,1相似,方式相似,方式2,3相似,方式相似,方式4,5相似。相似。計數(shù)值計數(shù)值N與輸出波形的關(guān)系與輸出波形的關(guān)系方式功能N與輸出波形的關(guān)系0計完最后一個數(shù)中斷 寫入計數(shù)值N后,
25、經(jīng)過N+1 個CLK脈沖輸出變高1硬件再觸發(fā)單拍脈沖 單拍負脈沖的寬度為N個CLK脈沖2速率發(fā)生器 N個CLK脈沖,輸出寬度為一個CLK周期的負脈沖3方波速率發(fā)生器寫入N后,輸出N /2 個CLK高電平,N /2 個CLK低電平(N為偶數(shù)) ; (N+1)/2 個 CLK 高電平, (N-1)/2 個 CLK 低電平(N為奇數(shù))4軟件觸發(fā)選通 寫入N后,過N+1 個CLK,輸出寬度為一個CLK的負脈沖5硬件觸發(fā)選通 門控觸發(fā)后過N+1 個CLK,輸出寬度為一個CLK的負脈沖3. 門控信號的作用:門控信號的作用:GATE輸入總是在輸入總是在CLK輸入時鐘的上輸入時鐘的上升沿被采樣。在方式升沿被采
26、樣。在方式0,2,3,4中,中,GATE輸入是電平起作輸入是電平起作用。在方式用。在方式1,2,3,5中中 GATE輸入是上升沿起作用的。輸入是上升沿起作用的。GATE方式功 能低或變?yōu)榈蜕仙馗?計完最后一個數(shù)中斷禁止計數(shù)_允許計數(shù)1硬件再觸發(fā)單拍脈沖-啟動計數(shù)下一個 CLK 脈沖使輸出變低-2速率發(fā)生器禁止計數(shù)立即使輸出為高重新裝入計數(shù)值啟動計數(shù)允許計數(shù)3方波速率發(fā)生器禁止計數(shù)立即使輸出為高啟動計數(shù)允許計數(shù)4軟件觸發(fā)選通禁止計數(shù)-允許計數(shù)5硬件觸發(fā)選通-啟動計數(shù)-82538253的初始化編程步驟的初始化編程步驟 接通電源時接通電源時82538253處于未定義狀態(tài),必須首先對其進行初始處于未
27、定義狀態(tài),必須首先對其進行初始化,初始化步驟分別對每個計數(shù)器進行):化,初始化步驟分別對每個計數(shù)器進行): 寫控制字。寫控制字。 寫計數(shù)初值,如果計數(shù)值是寫計數(shù)初值,如果計數(shù)值是1616位的,則先寫低位的,則先寫低8 8位再寫高位再寫高8 8位。位。9.3 8253的應(yīng)用舉例的應(yīng)用舉例* 對對3個通道的編程沒有先后順序的規(guī)定,只要符合先個通道的編程沒有先后順序的規(guī)定,只要符合先寫入控制字,后寫入計數(shù)初值的規(guī)定即可。寫入控制字,后寫入計數(shù)初值的規(guī)定即可。 例:設(shè)一個8253在某系統(tǒng)中的端口地址40H43H,如果要將計數(shù)器0設(shè)置為工作方式3,計數(shù)初值為3060H,采用二進制計數(shù)法,則初始化方法如下
28、:MOVAL,36H;設(shè)置控制字00110110計數(shù)器0,方式3,寫兩個字節(jié),二進制計數(shù))OUT43H,AL;寫入控制寄存器MOVAX,3060H;設(shè)置計數(shù)值OUT40H,AL;寫低8位至計數(shù)器0MOVAL,AHOUT40H,AL;寫高8位至計數(shù)器0例例1:某:某8253端口地址為端口地址為F8HFBH,欲用通道,欲用通道0以方式以方式1,按按BCD計數(shù),計數(shù)值為計數(shù),計數(shù)值為5080。1.確定通道控制字;確定通道控制字;2.計數(shù)值的低計數(shù)值的低8位為位為80;3.計數(shù)值的高計數(shù)值的高8位為位為50。00110011初始化程序為:初始化程序為:MOV AL,33HOUT 0FBH,ALMOV
29、AL,80HOUT 0F8H,ALMOV AL,50HOUT 0F8H,AL在計數(shù)過程中,在計數(shù)過程中,8253讀計數(shù)器現(xiàn)行值的方法:讀計數(shù)器現(xiàn)行值的方法:(將計數(shù)值存入內(nèi)部鎖存器)(將計數(shù)值存入內(nèi)部鎖存器)MOV AL,03H ;計數(shù)器;計數(shù)器0的鎖存命令的鎖存命令OUT 0FBH,AL;寫入控制寄存器;寫入控制寄存器IN AL,0F8H ;讀低;讀低8位位MOV CL,AL ;存入;存入CL中中IN AL,0F8H ;讀高;讀高8位位MOV CH,AL ;存入;存入CH中中8253的應(yīng)用舉例的應(yīng)用舉例A4A3A0A5M/IOA7A6A9A8G1G2BG2ACBAY4A2A1RDWRD7D0
30、GATE0OUT0CLK0CLK1CLK2GATE1OUT1GATE2OUT2A1A0RDWRD7D0CS1MHz方波5V2KHz方波1ms的負脈沖單脈沖8086CPU74LS138例例2:用:用8253產(chǎn)生各種定時波形。產(chǎn)生各種定時波形。例例2:用:用8253產(chǎn)生各種定時波形。產(chǎn)生各種定時波形。要求:要求: (1通道通道0輸出頻率為輸出頻率為2KHz的方波;的方波;(2通道通道1產(chǎn)生寬度為產(chǎn)生寬度為1ms的負脈沖;的負脈沖;(3通道通道2以硬件方式觸發(fā),輸出單脈沖時間常數(shù)為以硬件方式觸發(fā),輸出單脈沖時間常數(shù)為26。知:知:8253基地址為基地址為310H,3通道所用時鐘脈沖頻率為通道所用時鐘
31、脈沖頻率為1MHz。分析:通道分析:通道0工作于方式工作于方式3,控制端,控制端GATE0接接+5V,時間常數(shù),時間常數(shù)N0=1MHz/2KHz=500;通道通道1工作于方式工作于方式1,由控制端,由控制端GATE1的正跳變觸發(fā),的正跳變觸發(fā),OUT1的寬度為時常,單次觸發(fā),時間常數(shù)的寬度為時常,單次觸發(fā),時間常數(shù)N1=1ms/0.001ms=1000;通道通道2工作于方式工作于方式5,由控制端,由控制端GATE2的正跳變觸發(fā),可連的正跳變觸發(fā),可連續(xù)觸發(fā),時間常數(shù)續(xù)觸發(fā),時間常數(shù)N2=26。;通道;通道0初始化程序初始化程序MOV DX,316HMOV AL, 00110111BOUT DX
32、,ALMOV DX,310H MOV AL,00HOUT DX,ALMOV AL,05HOUT DX,AL;通道;通道1初始化程序初始化程序MOV DX,316HMOV AL, 01110011BOUT DX,ALMOV DX,312H MOV AL,00HOUT DX,ALMOV AL,10HOUT DX,AL;通道;通道2初始化程序初始化程序MOV DX,316HMOV AL, 10011011BOUT DX,ALMOV DX,314H MOV AL,26HOUT DX,AL例例3:8253控制控制LED。要求:。要求:LED點亮點亮10秒,熄滅秒,熄滅10秒。秒。分析:分析: 8253的
33、地址線與的地址線與CPU高高8位數(shù)據(jù)線位數(shù)據(jù)線D8D15相連,相連,8253的各端口的地址為的各端口的地址為81H、83H、85H、87H。OUT1輸出輸出占空比為占空比為1:1的方波,周期的方波,周期20秒。秒。 8253端口端口1工作在方式工作在方式3。 時鐘頻率為時鐘頻率為2MHz時,時,16位計數(shù)通道的最大定時時間為:位計數(shù)通道的最大定時時間為:0 .5s65536=32.768ms分頻系數(shù):分頻系數(shù):2MHz/0.05Hz=40,000,000級連:通道級連:通道0輸出輸出400Hz脈沖時常脈沖時常5000),通道),通道1輸出輸出0.05Hz方波時常方波時常8000)。)。D7-D
34、0WR RD A1 A0 CSCLK0OUT0CLK1OUT1譯碼譯碼WRRDA2A1M/ IOA0-A7+5VD8-D15GATE0GATE12MHz;通道;通道0初始化程序初始化程序MOV AL, 00110101BOUT 87H,ALMOV AL,00HOUT 81H,ALMOV AL,50HOUT 81H,AL;通道;通道1初始化程序初始化程序MOV AL, 01110111BOUT 87H,ALMOV AL,00HOUT 83H,ALMOV AL,80HOUT 83H,AL 因單通道最大分頻系數(shù)為因單通道最大分頻系數(shù)為65536,所以需用幾個通道,所以需用幾個通道級連的方法來解決這個
35、問題。級連的方法來解決這個問題。通道通道0:CLK0:接:接2MHz時鐘信號,方式時鐘信號,方式2,N0=5000;通道通道1:CLK1:接:接OUT0,方式,方式3,N1=8000;例例4:用:用8253設(shè)計一個自動計數(shù)系統(tǒng)計數(shù)設(shè)計一個自動計數(shù)系統(tǒng)計數(shù)500向向CPU提出中斷提出中斷申請)。申請)。8253端口地址:端口地址: F0H, F2H, F4H, F6H,8253工作方式:計數(shù)器工作方式:計數(shù)器1工作于方式工作于方式0,按,按BCD計數(shù),計數(shù),先讀寫低字節(jié),后讀寫高字節(jié)。先讀寫低字節(jié),后讀寫高字節(jié)。D7-D0OUT1 WR RD A1 A0 CSGATE1CLK1譯碼譯碼8259I
36、R0WRRDA2A1M/IOAB+5V+5V+5V;通道;通道1初始化程序初始化程序MOV AL, 01110001BOUT 0F6H, ALMOV AL, 99HOUT 0F2H, ALMOV AL, 04HOUT 0F2H, AL;方法;方法2讀通道讀通道1計數(shù)值程序計數(shù)值程序MOV AL, 01000000BOUT 0F6H, ALIN AL, 0F2HMOV AH, ALIN AL, 0F2HXCHG AH, AL當(dāng)前計數(shù)值的讀取當(dāng)前計數(shù)值的讀取 (1利用利用GATE控制信號,使計控制信號,使計數(shù)器停止計數(shù)。故干擾了計數(shù)過程,數(shù)器停止計數(shù)。故干擾了計數(shù)過程,需要硬件電路配合。需要硬件電
37、路配合。 (2利用計數(shù)器鎖存命令鎖存利用計數(shù)器鎖存命令鎖存現(xiàn)行計數(shù)值,就可從相應(yīng)的計數(shù)器現(xiàn)行計數(shù)值,就可從相應(yīng)的計數(shù)器通道中讀取計數(shù)值。通道中讀取計數(shù)值。82538253在在IBM PC/XTIBM PC/XT機的應(yīng)用機的應(yīng)用 在在IBM PC/XTIBM PC/XT機中,機中,82538253主要提供系統(tǒng)時鐘中主要提供系統(tǒng)時鐘中斷、動態(tài)斷、動態(tài)RAMRAM的刷新定時及喇叭發(fā)聲控制等功能。的刷新定時及喇叭發(fā)聲控制等功能。82538253的初始化是在計算機啟動時由的初始化是在計算機啟動時由BIOSBIOS完成的。完成的。 從從82848284時鐘發(fā)生器來的頻率時鐘發(fā)生器來的頻率2.386364M
38、HZ2.386364MHZ經(jīng)二分頻經(jīng)二分頻后作為后作為82538253三個計數(shù)器的時鐘輸入,三個計數(shù)器的時鐘輸入,82538253在在IBM-PC/XTIBM-PC/XT中的端口地址為中的端口地址為40H43H40H43H,這三個計數(shù)器在系統(tǒng)中的,這三個計數(shù)器在系統(tǒng)中的初始化程序如下:初始化程序如下:8253在在IBM-PC/XT機的應(yīng)用的示意圖機的應(yīng)用的示意圖CLK0CLK1CLK2GATE0GATE1GATE2OUT0OUT1OUT2INTIROQQ&濾波&PB0PB182555 V1.193182 MHz825382595 V8088 CPUDMA 控制器CP計數(shù)器計數(shù)器
39、0 0用于定時中斷約用于定時中斷約55ms55ms) OUT0(f=1.19318MHz/65536=18.2HzOUT0(f=1.19318MHz/65536=18.2Hz的方波的方波) )經(jīng)系經(jīng)系統(tǒng)板上的統(tǒng)板上的IRQ0IRQ0送到送到82598259的的IR0,IR0,使計算機每秒鐘產(chǎn)生使計算機每秒鐘產(chǎn)生18.218.2次的中斷即每隔次的中斷即每隔55ms55ms申請一次),申請一次),CPUCPU可以此可以此作為時間基準。如計作為時間基準。如計6553665536次中斷就為次中斷就為1 1小時。小時。MOVMOVAL,36H AL,36H ;計數(shù)器;計數(shù)器0 0,方式,方式3 3,寫兩
40、個字,寫兩個字節(jié),二進制計數(shù)節(jié),二進制計數(shù)OUTOUT43H,AL 43H,AL ;控制字送控制字寄存器;控制字送控制字寄存器MOVMOVAL,0 AL,0 ;計數(shù)值為最大值;計數(shù)值為最大值OUTOUT40H,AL 40H,AL ;寫低;寫低8 8位位OUTOUT40H,AL 40H,AL ;寫高;寫高8 8位位計數(shù)器計數(shù)器1 1用于定時用于定時15s15sDMADMA請求請求 82538253通道通道1 1和和82378237通道通道0 0構(gòu)成刷新電路,構(gòu)成刷新電路, 82538253通道通道1 1每隔每隔15us15us請求一次請求一次DMADMA讀操作。讀操作。f=1/15us=66666.67Hz,f=1/15us=66666.67Hz,故分頻系數(shù)故分頻系數(shù)= 1193180Hz/66666.67Hz=18(= 1193180Hz/66666.67Hz=18(即初值即初值) )MOVMOVAL,54H AL,54H ;計數(shù)器;計數(shù)器1 1,方式,方式2 2,只寫低,只寫低8 8位,位,二進制計數(shù)二進制計數(shù)OUTOUT43,AL43,ALMOVMOVAL,12H AL,12H
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024幼兒園幼兒入園協(xié)議及幼兒心理輔導(dǎo)服務(wù)3篇
- 建房木條購買合同范文
- 2024年鋼化玻璃采購框架合同
- 2025版股權(quán)轉(zhuǎn)讓延期協(xié)議書3篇
- 2024年音樂制作錄制標準化協(xié)議模板解析版B版
- 百色職業(yè)學(xué)院《中國古代文學(xué)6》2023-2024學(xué)年第一學(xué)期期末試卷
- 2024年環(huán)保產(chǎn)業(yè)項目特許經(jīng)營權(quán)授予合同
- 2025年度交通車輛租賃與綠色出行倡導(dǎo)服務(wù)協(xié)議3篇
- 2024年貨運代理與供應(yīng)鏈金融服務(wù)合同
- 2025年度數(shù)據(jù)中心網(wǎng)絡(luò)安全系統(tǒng)安裝施工款項合同模板2篇
- 重慶氣體行業(yè)協(xié)會
- 公司走賬合同范本
- 獲獎一等獎QC課題PPT課件
- 企業(yè)中高層人員安全管理培訓(xùn)--責(zé)任、案例、管理重點
- 人教版小學(xué)三年級數(shù)學(xué)上冊判斷題(共3頁)
- 國際項目管理手冊The Project Manager’s Manual
- 小學(xué)五年級思政課教案三篇
- 高強螺栓施工記錄
- 一億以內(nèi)的質(zhì)數(shù)表(一)
- (完整版)倒插、翻口、評點文件
- 病理生理學(xué)缺氧
評論
0/150
提交評論