第九章 計數(shù)器與定時器電路_第1頁
第九章 計數(shù)器與定時器電路_第2頁
第九章 計數(shù)器與定時器電路_第3頁
第九章 計數(shù)器與定時器電路_第4頁
第九章 計數(shù)器與定時器電路_第5頁
已閱讀5頁,還剩34頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第九章計數(shù)器和定時器電路應(yīng)用場合動態(tài)存儲器的刷新定時系統(tǒng)日歷時鐘的計時以及喇叭的聲源在計算機實時控制與處理系統(tǒng)中計算機主機需要每隔一定的時間就對處理對象進(jìn)行采樣,再對獲得的數(shù)據(jù)進(jìn)行處理,也要用到定時信號。

定時器和計數(shù)器定時控制在微機系統(tǒng)中極為重要定時器由數(shù)字電路中的計數(shù)電路構(gòu)成,通過記錄高精度晶振脈沖信號的個數(shù),輸出準(zhǔn)確的時間間隔計數(shù)電路如果記錄外設(shè)提供的具有一定隨機性的脈沖信號時,它主要反映脈沖的個數(shù)(進(jìn)而獲知外設(shè)的某種狀態(tài)),常又稱為計數(shù)器定時功能的實現(xiàn)方法軟件延時——利用微處理器執(zhí)行一個延時程序段實現(xiàn)不可編程的硬件定時——采用分頻器、單穩(wěn)電路或簡易定時電路控制定時時間可編程的硬件定時——軟件硬件相結(jié)合、用可編程定時器芯片構(gòu)成一個方便靈活的定時電路第一節(jié)8253的內(nèi)部結(jié)構(gòu)和工作原理3個獨立的16位計數(shù)器通道每個計數(shù)器有6種工作方式按二進(jìn)制或十進(jìn)制(BCD碼)計數(shù)一、8253的內(nèi)部結(jié)構(gòu)和引腳計數(shù)器結(jié)構(gòu)示意圖預(yù)置寄存器(CR)GATECLKOUT減1計數(shù)器(CE)輸出鎖存器(OL)計數(shù)初值存于預(yù)置寄存器;在計數(shù)過程中,減1計數(shù)器的值不斷遞減,而預(yù)置寄存器中的預(yù)置不變。輸出鎖存器用于寫入鎖存命令時,鎖定當(dāng)前計數(shù)值計數(shù)器的3個引腳CLK時鐘輸入信號——在計數(shù)過程中,此引腳上每輸入一個時鐘信號(下降沿),計數(shù)器的計數(shù)值減1GATE門控輸入信號——控制計數(shù)器工作,可分成電平控制和上升沿控制兩種類型OUT計數(shù)器輸出信號——當(dāng)一次計數(shù)過程結(jié)束(計數(shù)值減為0),OUT引腳上將產(chǎn)生一個輸出信號二、8253的控制字及初始化編程在使用8253前必須對它進(jìn)行初始化編程。對8253的工作方式、計數(shù)方式、操作方式的確定和通道的選擇都是由控制字來確定的。不同計數(shù)器的控制字必須分別設(shè)置,但它的端口地址共用一個。控制字只能寫入,不能讀出。1.8253的控制字2.8253的初始化編程對8253編程常有2種操作:初始化寫操作和讀當(dāng)前計數(shù)值操作。

(1)8253的初始化編程設(shè)置控制字。需要用幾個計數(shù)器,就要寫幾次控制字??刂谱挚诘刂范枷嗤?。寫入控制字,還起到復(fù)位作用:使該計數(shù)器清零及OUT端變?yōu)橐?guī)定的初始狀態(tài)。向已選定的計數(shù)器端口地址內(nèi)寫入計數(shù)初值,但要注意:必須按相應(yīng)控制字中的要求、順序?qū)懭耄_選定初值是二進(jìn)制數(shù)還是BCD碼數(shù)。對3個計數(shù)器分別初始化編程并沒有先后次序要求。但是,對任一計數(shù)器初始化時必須先寫控制字,再寫計數(shù)初值。

(2)讀當(dāng)前計數(shù)值先鎖存,再讀操作。當(dāng)OL接到鎖存指令時,OL立即鎖存當(dāng)前值不再跟隨CE變化,而同時CE仍照常繼續(xù)減1計數(shù);然后CPU將鎖定值用輸入指令讀走時,鎖存器自動失鎖,又跟隨CE實時變化。這樣就保證了在讀出當(dāng)前計數(shù)值的過程中不影響計數(shù)的進(jìn)行。具體編程為:a.先寫鎖存命令控制字b.再讀該計數(shù)器口地址。

三、8253的基本功能1.計數(shù)器方式CPU先寫控制字,再寫計數(shù)初值,當(dāng)GATE啟動條件存在時,計數(shù)器開始對由外部事件形成的CLK脈沖進(jìn)行減1計數(shù),當(dāng)減到0時,在OUT端得到輸出信號。作為外部事件計數(shù)的CLK可以是均勻的、連續(xù)的,又可以是非均勻連續(xù)的,它只是脈沖數(shù)量問題,不是脈沖的時間間隔。2.定時器方式定時器和計數(shù)器一樣就其內(nèi)部操作而言,都是利用一個減法計數(shù)器來完成,所不同的是定時器方式時,CLK必須是連續(xù)的、均勻的、周期精確的時鐘脈沖,并且計時時間等于計數(shù)值乘CLK脈沖周期。第二節(jié)8253的工作方式幾條基本規(guī)則首先寫控制字,所有的控制邏輯電路立即復(fù)位,OUT端進(jìn)入初始狀態(tài)。再寫計數(shù)初值,經(jīng)過一個CLK脈沖周期(在GATE允許或觸發(fā)條件下),計數(shù)器才開始計數(shù)。在CLK脈沖的上升沿對GATE信號進(jìn)行采樣,以檢測是何種觸發(fā)方式(電平觸發(fā)/邊沿觸發(fā))。在CLK脈沖的下降沿,計數(shù)器作減1計數(shù)。0是最大初值。當(dāng)選用二進(jìn)制時,0相當(dāng)于216;當(dāng)選用BCD碼時,0相當(dāng)于104。

一、方式0-可編程階躍信號發(fā)生器例子編程使計數(shù)器1的OUT端產(chǎn)生一個階躍信號輸出。MOVDX,307H;控制字口地址MOVAL,01110000B;控制字OUTDX,AL;寫計數(shù)器1的控制字MOVDX,305H;計數(shù)器1的口地址MOVAL,BYTEL;計數(shù)初值的低8位OUTDX,ALMOVAL,BYTEH;計數(shù)初值的高8位OUTDX,AL二、方式1-可編程單穩(wěn)態(tài)輸出方式例子編程使計數(shù)器2的OUT端產(chǎn)生一個單穩(wěn)態(tài)脈沖信號。MOVDX,307H;控制字口地址MOVAL,10110010B;控制字OUTDX,AL;寫計數(shù)器2的控制字MOVDX,306H;計數(shù)器2的口地址MOVAL,BYTEL;計數(shù)初值的低8位OUTDX,ALMOVAL,BYTEH;計數(shù)初值的高8位OUTDX,AL三、方式2-可編程頻率發(fā)生器/分頻器例子編程使計數(shù)器0的OUT端產(chǎn)生對CLK脈沖源4分頻的信號輸出。MOVDX,307H;控制字口地址MOVAL,00110101B;控制字OUTDX,AL;寫計數(shù)器0的控制字MOVDX,304H;計數(shù)器0的口地址MOVAL,04;計數(shù)初值的低8位OUTDX,ALMOVAL,00;計數(shù)初值的高8位OUTDX,AL四、方式3-可編程方波發(fā)生器例子編程使計數(shù)器1的OUT端產(chǎn)生方波信號。MOVDX,307H;控制字口地址MOVAL,01010110B;控制字OUTDX,AL;寫計數(shù)器1的控制字MOVDX,305H;計數(shù)器1的口地址MOVAL,BYTEL;計數(shù)初值的低8位OUTDX,AL程序中把計數(shù)器1設(shè)定為僅讀/寫計數(shù)初值低8位,而高8位自動補0。五、方式4-可編程軟件觸發(fā)的選通信號發(fā)生器例子編程使計數(shù)器1的OUT端輸出一個選通信號(由軟件觸發(fā)的)。MOVDX,307H;控制字口地址MOVAL,01011000B;控制字OUTDX,AL;寫計數(shù)器1的控制字MOVDX,305H;計數(shù)器1的口地址MOVAL,04H;計數(shù)初值的低8位OUTDX,AL六、方式5-可編程硬件觸發(fā)的選通信號發(fā)生器例子編程使計數(shù)器1的OUT端輸出一個選通信號(由硬件觸發(fā)的)。MOVDX,307H;控制字口地址MOVAL,01111011B;控制字OUTDX,AL;寫計數(shù)器1的控制字MOVDX,305H;計數(shù)器1的口地址MOVAL,04H;計數(shù)初值的低8位OUTDX,ALMOVAL,00H;計數(shù)初值的高8位OUTDX,AL七、6種工作方式比較、小結(jié)

第三節(jié)8253應(yīng)用舉例一、初始化編程將8253的計數(shù)器0作為10ms定時器,設(shè)CLK的頻率為200kHz,編寫初始化程序。(1)先計算初值已知CLK的頻率為200kHz,即時鐘周期為5μs,所以計數(shù)初值為10000/5=2000(2)初始化程序MOVDX,307HMOVAL,00110001BOUTDX,AL;向計數(shù)器0寫控制字MOVDX,304HMOVAL,0;計數(shù)初值的低8位OUTDX,ALMOVAL,20H;計數(shù)初值的高8位OUTDX,AL二、8253級連定時應(yīng)用上面的發(fā)光二極管以亮1s,滅1s間隔地工作;下面的發(fā)光二極管以亮2s,滅2s間隔地工作三、8253在PC/XT機中的應(yīng)用A0A1———A0—A1—D0~D7D0~D7OUT1OUT2OUT0GATE0GATE1GATE2CLK0CLK1CLK2DQCLK+5V接至DMA控制器接至揚聲器驅(qū)動器PB0PB1IRQ0DRQ0

8253+5V1.19318MHzDACK0BRDIORIOWRDWRCST/CCS1.計數(shù)器0-日時鐘計數(shù)器0:方式3,計數(shù)值:65536,輸出頻率為1.19318MHz÷65536=18.206Hz的方波門控為常啟狀態(tài),這個方波信號不斷產(chǎn)生OUT0端接8259A的IRQ0,用作中斷請求信號每秒產(chǎn)生18.206次中斷請求,或說每隔55ms(54.925493ms)申請一次中斷DOS系統(tǒng)利用計數(shù)器0的這個特點,通過08號中斷服務(wù)程序?qū)崿F(xiàn)了日時鐘計時功能

moval,00110110h ;計數(shù)器0為方式3,采用二進(jìn)制計數(shù), ;先低后高寫入計數(shù)值

out43h,al ;寫入方式控制字

moval,0 ;計數(shù)值為0

out40h,al ;寫入低字節(jié)計數(shù)值

out40h,al ;寫入高字節(jié)計數(shù)值8253初始化2.計數(shù)器1:動態(tài)RAM刷新需要重復(fù)不斷提出刷新請求門控總為高,選擇方式2或315.08s刷新一次計數(shù)初值為18

moval,01010100h ;計數(shù)器1為方式2,采用二進(jìn)制計數(shù),只寫低8位計數(shù)值

out43h,al ;寫入方式控制字

moval,18 ;計數(shù)初值為18

out41h,al ;寫入計數(shù)值8253初始化3.計數(shù)器-揚聲器發(fā)聲音調(diào)控制計數(shù)器2的輸出控制揚聲器的發(fā)聲音調(diào)計數(shù)器2只能工作在方式3,才能輸出一定頻率的方波,經(jīng)濾波后得到近似的正弦波,進(jìn)而推動揚聲器發(fā)聲揚聲器還受控于并行接口(8255芯片)何時允許發(fā)聲由PB0控制,發(fā)聲時間的長短由PB1控制,揚聲器才能發(fā)出預(yù)先設(shè)定頻率的聲音圖示 moval,10110110h

out43h,al ;寫入控制字 movax,1190

out42h,al ;寫入低8位計數(shù)值 moval,ah

out42h,al ;寫入高8位計數(shù)值8253初始化8253的I/O地址01

溫馨提示

  • 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論