9定時計數(shù)器8253應用設計_第1頁
9定時計數(shù)器8253應用設計_第2頁
9定時計數(shù)器8253應用設計_第3頁
9定時計數(shù)器8253應用設計_第4頁
9定時計數(shù)器8253應用設計_第5頁
已閱讀5頁,還剩33頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第9章

定時/計數(shù)器8253應用設計

可編程定時/計數(shù)器8253的原理結(jié)構(gòu)圖

8253的原理結(jié)構(gòu)及工作原理8253有三個獨立的計數(shù)通道(也稱計數(shù)器):計數(shù)器0、計數(shù)器1、計數(shù)器2。引腳名功能連接去向數(shù)據(jù)總線(雙向)CPU片選信號譯碼電路讀信號CPU寫信號CPU端口地址CPU3個計數(shù)通道的時鐘(計數(shù)脈沖)外部3個計數(shù)通道的控制信號外部3個計數(shù)通道的輸出信號外部Vcc電源(+5V)/GND地/8253引腳定義

8253的引腳功能及特點單個計數(shù)器內(nèi)部結(jié)構(gòu)

每個計數(shù)通道主要包含四個部件:計數(shù)寄存器CR(ConutRegister,16位)、計數(shù)工作單元CE(CountingElement,16位)、輸出鎖存器OL(OutputLatch,16位)、控制字寄存器(ControlWordRegister,8位)。8253的原理結(jié)構(gòu)及工作原理每個計數(shù)器相關的引腳有三個,兩個輸入引腳CLK和GATE,一個輸出引腳OUT。8253的原理結(jié)構(gòu)及工作原理CLK:時鐘輸入引腳,這是定時和計數(shù)的基準脈沖,計數(shù)或定時的基本單位就是CLK脈沖,通常以脈沖個數(shù)作為計數(shù)值或脈沖周期作為定時標準。GATE門控信號,高電平有效。該信號為高電平,則進行正常的減法計數(shù),低電平而停止計數(shù)。OUT計數(shù)器輸出信號,當定時結(jié)束或計數(shù)結(jié)束,在該引腳產(chǎn)生一個控制信號。定時/計數(shù)器8253占用4個端口地址:

尋址

00 計數(shù)通道0 01 計數(shù)通道1 10 計數(shù)通道2 11 控制字寄存器8253的原理結(jié)構(gòu)及工作原理

為說明方便,將這四個地址分別用COUNTA、COUNTB、COUNTC和COUNTD表示。

通過計數(shù)通道的端口地址可以訪問通道中的CR、OL,當對通道進行寫操作時,實際上表示將計數(shù)初值(即時常數(shù))寫入CR;當對通道進行讀操作時,表示將從OL中讀取計數(shù)值。定時/計數(shù)器8253一共有6種工作方式,由控制字寄存器的內(nèi)容來設定。方式控制字如下所示:8253的控制字控制字中的位D7D6來確定計數(shù)通道: 含義

00 計數(shù)通道001 計數(shù)通道110 計數(shù)通道211 保留8253的控制字D5D4用于設定計數(shù)通道的讀寫規(guī)則: 含義00 計數(shù)通道的鎖存命令,即將當前CE的內(nèi)容鎖存到OL01 只讀寫CR或OL的低8位10 只讀寫CR或OL的高8位11 先讀寫CR或OL的低8位,再讀寫高8位方式控制字的位用于設定計數(shù)通道的工作方式: 含義

000方式0001 方式1×10 方式2×11 方式3100 方式4101 方式58253的控制字方式控制字的最低位D0(即BCD位)用于指定讀寫數(shù)據(jù)的格式,當BCD=0時,表示讀寫數(shù)據(jù)為二進制數(shù),當BCD=1時,表示讀寫數(shù)據(jù)為兩位十進制數(shù)。

CLK脈沖:是指CLK信號從上升沿到下降沿的時間計數(shù)器:與計數(shù)通道的含義一致時常數(shù):是指通過指令寫入到計數(shù)器的值,可以理解成計數(shù)器的初值幾個基本概念

最大時常數(shù):由于8253是減法計數(shù),因此這兩種計數(shù)的最大初始值為0000.對于二進制減法計數(shù),0000H實際表示10000H(65536),而BCD碼計數(shù)的0000表示

10000。8253的工作方式

1.方式0——

計數(shù)達到終值時中斷

功能:方式0可以實現(xiàn)設定一個確定的時間t0,當?shù)竭_時間t0時,需要進行某種操作。在方式0下,當寫入方式控制字后,相應的OUT端輸出變?yōu)榈碗娖?,直到計?shù)器達到0時變?yōu)楦唠娖?,表示達到了定時的時間。GATE=1情況下方式0計數(shù)過程利用GATE信號加長OUT端的低電平寬度

利用寫入新的時常數(shù)加長OUT端的低電平寬度方式0的特點:在向8253置方式字或置時常數(shù)時,OUT輸出變成低電平;置入時常數(shù)后,下一個CLK脈沖,使CR內(nèi)容(初值)置入計數(shù)單元,之后每一個CLK脈沖都完成一次減一計數(shù);當計數(shù)至0時,OUT由低變高,并繼續(xù)計數(shù),從0到0FFFFH;正常情況下,即GATE=1,對計數(shù)器置入時常數(shù)N后,要經(jīng)過N+1個時鐘周期才能使OUT輸出高電平;在計數(shù)過程中,如GATE變?yōu)榈碗娖?這時只是暫停計數(shù),等待GATE信號變?yōu)楦唠娖胶?,計?shù)器繼續(xù)“減1”計數(shù)。例題,向8253的=11B的地址寫入00110000B,則表示計數(shù)器0設置成方式0,并且采用16位時常數(shù),假設時常數(shù)為1500,則計數(shù)器0的初始化程序段如下:MOVDX,COUNTD ;寫入8253的方式控制字MOVAL,00110000BOUTDX,ALMOVDX,COUNTA ;計數(shù)器0置入時常數(shù)MOVAX,1500OUTDX,ALXCHGAL,AH;或MOVAL,AHOUTDX,AL2.方式2——

分頻脈沖形成功能:方式2類似于N分頻器,利用這種方式可以產(chǎn)生周期信號。GATE=1時,將計數(shù)器設置成方式2后,OUT端輸出高電平;向CR置入時常數(shù)N后,下一個CLK脈沖將時常數(shù)從CR讀入CE,并開始“減1”計數(shù);當計數(shù)到0001H時,OUT端變?yōu)榈碗娖?經(jīng)過一個CLK脈沖,OUT端再次變?yōu)楦唠娖?產(chǎn)生一個時鐘周期的負脈沖;與此同時,重新將時常數(shù)從CR讀入CE,并繼續(xù)計數(shù).這樣就產(chǎn)生周期的分頻信號。GATE=1時方式2的計數(shù)過程當時常數(shù)為N時,則OUT產(chǎn)生的信號為計數(shù)時鐘的N分頻,高電平為(N-1)個計數(shù)時鐘周期,低電平為1個計數(shù)時鐘周期。當GATE為低電平時,計數(shù)器暫停計數(shù),GATE端的上升沿使計數(shù)器重新讀入時常數(shù)。GATE信號的作用效果計數(shù)過程中寫入新的時常數(shù),它只能在下一次分頻脈沖后起作用方式2的特點:在置方式2的控制字后,OUT端變?yōu)楦唠娖?;在置入時常數(shù)后,下一個CLK脈沖期間,將時常數(shù)從CR讀入CE,并開始“減1”計數(shù);當CE計數(shù)到01時,在OUT端輸出一個負脈沖,并重新讀入時常數(shù)進行計數(shù);正常情況下,當計數(shù)通道的時常數(shù)為N時,OUT產(chǎn)生的信號為計數(shù)時鐘的N分頻;

例如,向8253的=11B的地址寫入10010100B,則表示計數(shù)器2設置成方式2,并且采用低8位時常數(shù),假設時常數(shù)為13,則計數(shù)器2的初始化程序段如下:MOVDX,COUNTD ;寫入8253的方式控制字MOVAL,10010100BOUTDX,ALMOVDX,COUNTC ;計數(shù)器2置入時常數(shù)MOVAL,13OUTDX,AL這樣在OUT2端就產(chǎn)生了CLK2的13分頻信號3.方式3——

方波信號形成功能:方式3類似于方式2,只是在OUT上產(chǎn)生對稱的或近似對稱的方波。GATE=1時,將計數(shù)器設置成方式3后,OUT端輸出高電平;向CR置入時常數(shù)N(設N為偶數(shù))后,下一個CLK脈沖將時常數(shù)從CR讀入CE,并開始“減2”計數(shù);

當計數(shù)到0時,OUT端變?yōu)榈碗娖?;重新將時常數(shù)從CR讀入CE,并進行“減2”計數(shù),當計數(shù)到0時,OUT端再次變?yōu)楦唠娖?,產(chǎn)生一個時鐘周期的方波信號;

重復這一過程,可以產(chǎn)生周期的對稱方波信號。

當設定的時常數(shù)N為奇數(shù)時,在將時常數(shù)從CR讀入CE時會自動減1,使CE中的初步變成N-1(偶數(shù)),OUT端輸出高電平,并開始“減2”計數(shù);

當計數(shù)到0時,再經(jīng)過1個CLK后使OUT端變成低電平;重新將時常數(shù)從CR讀入CE,并進行“減2”計數(shù),當計數(shù)到0時,OUT端再次變?yōu)楦唠娖?,產(chǎn)生一個時鐘周期的方波信號,重復這一過程,可以產(chǎn)生周期的近似對稱的方波信號。GATE=1時方式3的計數(shù)過程(時常數(shù)為偶數(shù))GATE=1時方式3的計數(shù)過程(時常數(shù)為奇數(shù))當GATE為低電平時,計數(shù)器暫停計數(shù),GATE端的上升沿使計數(shù)器重新讀入時常數(shù)。GATE信號的作用效果方式3的特點:在置方式3的控制字后,OUT端變?yōu)楦唠娖?;在置入偶?shù)的時常數(shù)后,OUT端產(chǎn)生一個周期的對稱方波信號;在置入奇數(shù)的時常數(shù)后,產(chǎn)生一個周期的近似對稱方波信號,高電平占(N+1)/2個計數(shù)時鐘周期,低電平占(N-1)/2個計數(shù)時鐘周期;正常情況下,當計數(shù)通道的時常數(shù)為N時,OUT產(chǎn)生的信號為計數(shù)時鐘的N分頻方波信號;8253的計數(shù)值的讀取在任何時刻都可以讀取某個計數(shù)器的當前計數(shù)值,分兩步實現(xiàn):輸出計數(shù)器鎖存命令,將方式控制字中=00B,這樣可以將相應計數(shù)通道中的當前計數(shù)值鎖存到OL鎖存器,而CE會繼續(xù)計數(shù);用IN指令讀取OL內(nèi)容。例如,要讀取計數(shù)器1中的計數(shù)值,其程序如下:MOVDX,COUNTD MOVAL,01000000BOUTDX,ALMOVDX,COUNTBINAL,DX;從OL讀取低位字節(jié)

XCHGAH,ALINAL,DX;從OL讀取高位字節(jié)

XCHGAH,AL這時,AX的內(nèi)容就是計數(shù)器1的當前計數(shù)值8253初始化編程1.一般原則對8253初始化編程分兩步,首先寫控制字,然后寫入對應通道的計數(shù)初值。至于先寫哪個通道,則由用戶任意選擇。每一個通道的控制字都必須寫入控制寄存器(AlA0=11),初值必須寫入相應計數(shù)器對應的端口。2.計數(shù)初值的計算假設已知8253相應通道的CLK端接入的時鐘頻率為f,周期記為t=1/f,要求產(chǎn)生的周期性信號頻率為F(周期為T)或定時時間為T,則所需計數(shù)初值n為

n=T/t=f/F=T*f[例1]已知8253口地址為158H~15BH,其A1和A0與相應地址線相連,要求計數(shù)器0工作在方式0,計數(shù)初值為1000,二進制計數(shù);計數(shù)器1工作在方式1,計數(shù)初值為86,BCD碼計數(shù);計數(shù)器2的OUT端產(chǎn)生最大寬度的方波,寫出8253的初始化程序。計數(shù)器0的控制字:00110000B=30H初值:1000(超過256,用16位計數(shù))

計數(shù)器1的控制字:01010011B=53H初值:86(小于256,用低字節(jié)計數(shù))

計數(shù)器2的控制字:10110110B=B6H初值:0000(最大方波) MOVAL,30H;計數(shù)器0控制字

MOVDX,15BH;控制寄存器端口

OUTDX,AL;寫計數(shù)器0控制字

MOVAX,1000;計數(shù)器0初值

MOVDX,158H;計數(shù)器0端口

OUTDX,AL;寫計數(shù)器0計數(shù)初值低字節(jié)

MOVAL,AH OUTDX,AL;寫計數(shù)器0計數(shù)初值高字節(jié)

MOVAL,53H;計數(shù)器1控制字

MOVDX,15BH;控制寄存器端口

OUTDX,AL;寫計數(shù)器1控制字

MOVAL,86H;十進制計數(shù),所以寫成十六進制的形式

MOVDX,159H;計數(shù)器1端口

OUTDX,AL;寫計數(shù)器1計數(shù)初值

MOVAL,0B6H;計數(shù)器2控制字

MOVDX,15BH;控制寄存器端口

OUTDX,AL;寫計數(shù)器2控制字

MOVAL,0;計數(shù)器2初值

MOVDX,15AH;計數(shù)器2端口

OUTDX,AL;寫計數(shù)器2計數(shù)初值低字節(jié)

OUTDX,AL;寫計數(shù)器2計數(shù)初值高字節(jié)[例2]某應用系統(tǒng)中,系統(tǒng)提供一個頻率為10KHZ的時鐘信號,要求每隔10ms向CPU提出中斷申請,試完成8253的初始化編程。

(1)選擇工作方式由于系統(tǒng)每隔10ms完成一次申請,則可選用方式2來實現(xiàn)。(2)確定計數(shù)初值已知fCLK0=10KHZ

溫馨提示

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

評論

0/150

提交評論