計數(shù)器與定時器PPT課件_第1頁
計數(shù)器與定時器PPT課件_第2頁
計數(shù)器與定時器PPT課件_第3頁
計數(shù)器與定時器PPT課件_第4頁
計數(shù)器與定時器PPT課件_第5頁
已閱讀5頁,還剩40頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、本章主要內(nèi)容 8253 的引腳和 6 種工作方式 8253 的編程 8253 在IBM PC系列機上的應(yīng)用第1頁/共45頁定時器和計數(shù)器 定時控制在微機系統(tǒng)中極為重要 定時器由數(shù)字電路中的計數(shù)電路構(gòu)成,通過記錄高精度晶振脈沖信號的個數(shù),輸出準(zhǔn)確的時間間隔 計數(shù)電路如果記錄外設(shè)提供的具有一定隨機性的脈沖信號時,它主要反映脈沖的個數(shù)(進而獲知外設(shè)的某種狀態(tài)),常又稱為計數(shù)器第2頁/共45頁定時功能的實現(xiàn)方法 用軟件實現(xiàn)延時利用微處理器執(zhí)行一個延時程序段實現(xiàn) 用硬件實現(xiàn)定時 采用不可編程器件如分頻器、單穩(wěn)電路、簡易定時電路; 采用可編程器件采用可編程的定時/計數(shù)芯片和軟件硬件結(jié)合的辦法構(gòu)成靈活的定時

2、電路,可在不同的時間段內(nèi)采用不同的定時策略。第3頁/共45頁9.1 8253/8254定時計數(shù)器 3個獨立的計數(shù)器通道,每個計數(shù)通道16位,可進行: 定時對引腳上輸入的周期性時鐘信號進行計數(shù) 計數(shù)對引腳上輸入的非周期性脈沖信號進行計數(shù) 每個計數(shù)器有 6 種工作方式 可按二進制或十進制(BCD碼)進行計數(shù) 每個計數(shù)器的計數(shù)速率可高達2MHz(8254-2計數(shù)頻率可達到10MHz )。第4頁/共45頁一、8253的內(nèi)部結(jié)構(gòu)和引腳第5頁/共45頁D7D0計數(shù)器0控制字寄存器計數(shù)器1計數(shù)器2內(nèi)部數(shù)據(jù)總線數(shù)據(jù)總線緩沖器讀寫控制邏輯RDWRA0A1CSCLK0GATE0OUT0CLK1GATE1OUT1C

3、LK2GATE2OUT2第6頁/共45頁引腳 D7D0:8位、雙向、三態(tài)數(shù)據(jù)線,直接和系統(tǒng)數(shù)據(jù)總線相連。讀/寫16位數(shù)據(jù)則分兩次進行。 CS:片選信號,低電平有效。 RD,WR:讀信號,寫信號,低電平時有效。 A1,A0:8253端口選擇線。0010分別選擇計數(shù)器02,11選擇控制端口。 CLK0CLK2:分別是計數(shù)器02計數(shù)脈沖輸入端,決定計數(shù)的速率。 GATE0GATE2:分別是計數(shù)器02門控輸入端,作為對計數(shù)允許/禁止的控制 。 OUT0OUT2:分別是計數(shù)器02的輸出端,反映計數(shù)器的計數(shù)狀態(tài) 。第7頁/共45頁8253/8254的I/O地址0 1 0 0 00 1 0 0 10 1 0

4、 1 00 1 0 1 10 0 1 0 00 0 1 0 10 0 1 1 0功 能對計數(shù)器0 0設(shè)置計數(shù)初值-CS -RD A1 A0-WR對計數(shù)器1 1設(shè)置計數(shù)初值對計數(shù)器2 2設(shè)置計數(shù)初值設(shè)置控制字從計數(shù)器0 0讀出計數(shù)值從計數(shù)器1 1讀出計數(shù)值從計數(shù)器2 2讀出計數(shù)值第8頁/共45頁計數(shù)器(通道)內(nèi)部結(jié)構(gòu)示意圖預(yù)置寄存器GATECLKOUT減1計數(shù)器輸出鎖存器第9頁/共45頁計數(shù)器工作描述 預(yù)置寄存器用于存放計數(shù)初值,注意: 可采用二進制或十進制(BCD碼) 計數(shù)初值為0時,計數(shù)值最大(65536/10000) 計數(shù)初值為1時,計數(shù)值最?。?/1) 減法計數(shù)器CLK引腳每收到一個脈沖

5、,減法計數(shù)器將減1。注意,預(yù)置寄存器中的預(yù)置值不會改變。 輸出鎖存器用于鎖定當(dāng)前的計數(shù)值,這樣CPU在讀取時,該值將不再變化第10頁/共45頁計數(shù)器的3個引腳 CLK(時鐘)輸入,在計數(shù)過程中,此引腳上每輸入1個時鐘信號(下降沿),計數(shù)器的計數(shù)值將減1 GATE(門控)輸入,控制計數(shù)器工作: 開啟/關(guān)閉計數(shù)高電平時允許計數(shù)通道工作 觸發(fā)/重觸發(fā)上升沿產(chǎn)生觸發(fā)或重觸發(fā) OUT(計數(shù)器輸出)輸出,根據(jù)設(shè)置工作方式的不同, OUT引腳可輸出單個或連續(xù)的波形信號。一般是在計數(shù)過程結(jié)束時(計數(shù)值歸0),OUT引腳信號發(fā)生變化。第11頁/共45頁二、 8253/8254的工作方式 方式0 計數(shù)結(jié)束中斷 方

6、式1 可編程單穩(wěn) 方式2 連續(xù)負(fù)脈沖發(fā)生器 方式3 連續(xù)方波發(fā)生器 方式4 軟件觸發(fā)選通 方式5 硬件觸發(fā)選通第12頁/共45頁1、方式0: 計數(shù)結(jié)束中斷GATEOUTCLK 03124寫入4寫入方式0-WRGATE:開關(guān)作用第13頁/共45頁方式0 計數(shù)結(jié)束中斷 在這種方式下,當(dāng)控制字CW(Control Word)寫入控制字寄存器,則使OUT輸出端變低,此時計數(shù)器沒有賦予初值,也沒開始計數(shù)。 要開始計數(shù),GATE信號必須為高電平,并在寫入計數(shù)初值后,通道開始計數(shù),在計數(shù)過程中 OUT線一直維持為低,直到計數(shù)到“0”時。OUT輸出變高。第14頁/共45頁2、方式1: 可編程單穩(wěn)脈沖GATEO

7、UTCLK 03124寫入4寫入方式1-WRGATE:觸發(fā)作用第15頁/共45頁方式1 可編程單穩(wěn)脈沖 在這種方式下,當(dāng)CPU寫控制字之后(的上升沿),輸出將保持為高(若原為低,則由低變高)。當(dāng)CPU寫完計數(shù)值后,計數(shù)器并不開始計數(shù),直到外部門控脈沖GATE啟動之后的下一個輸入CLK脈沖的下降沿開始計數(shù),輸出OUT變低。因整個計數(shù)過程中,OUT都維持為低,直到計數(shù)到0,輸出變?yōu)楦撸虼?,輸出為一個單拍脈沖。若外部再次觸發(fā)啟動,則可以再產(chǎn)生一個單拍脈沖。第16頁/共45頁3、方式2: 頻率發(fā)生器(分頻器)03124GATEOUTCLK寫入4寫入方式2031240312403124-WRGATE:

8、開關(guān)作用第17頁/共45頁方式2 頻率發(fā)生器(分頻器) 在這種方式下,當(dāng)CPU輸出控制字后,輸出將為高。在寫入計數(shù)值后,計數(shù)器將立即自動對輸入時鐘CLK計數(shù)。在計數(shù)過程中輸出始終保持為高,直至計數(shù)器減到1時,輸出將變低,經(jīng)過一個CLK周期,輸出恢復(fù)為高,且計數(shù)器開始重新計數(shù)。第18頁/共45頁4、方式3 : 方波發(fā)生器03124GATEOUTCLK寫入4寫入方式3031240312403124-WRGATE:開關(guān)作用初值N為偶數(shù):N/2脈沖數(shù)輸出高, N/2脈沖數(shù)輸出低初值N為奇數(shù):(N+1)/2脈沖數(shù)輸出高, (N-1)/2脈沖數(shù)輸出低第19頁/共45頁方式4 軟件觸發(fā)選通信號GATEOUT

9、CLK03124寫入4寫入方式423寫入31 0-WRGATE:開關(guān)作用第20頁/共45頁5、方式4: 軟件觸發(fā)選通信號 在這種方式下,當(dāng)寫入控制字后,輸出為高(原為高則保持為高,原為低則變?yōu)楦撸?。?dāng)寫入計數(shù)值后立即開始計數(shù)(相當(dāng)于軟件啟動),當(dāng)計數(shù)到0后,輸出變低,經(jīng)過一個輸入時鐘周期,輸出又變高,計數(shù)器停止計數(shù)。這種方式計數(shù)也是一次性的,只有在輸入新的計數(shù)值后,才能開始新的計數(shù)第21頁/共45頁方式5 硬件觸發(fā)選通信號GATEOUTCLK03124寫入4寫入方式52233寫入311 0-WRGATE:觸發(fā)作用重觸發(fā):裝計數(shù)值觸發(fā)第22頁/共45頁6、方式5: 硬件觸發(fā)選通信號 在這種方式下

10、,設(shè)置了控制字后,輸出為高。在設(shè)置了計數(shù)值后,計數(shù)器并不立即開始計數(shù),而是由門控脈沖的上升沿觸發(fā)啟動。當(dāng)計數(shù)到0時,輸出變低,經(jīng)過一個CLK脈沖,輸出恢復(fù)為高,停止計數(shù)。要等到下次門控脈沖的觸發(fā)才能再計數(shù)第23頁/共45頁各種工作方式的輸出波形方式 0方式 1方式 2方式 3方式 4方式 50N0N0N0/N110NN/2 N/2 0/N0N0 1N0 1N0 1第24頁/共45頁6種工作方式共同點 寫入計數(shù)初值之后,并不馬上開始計數(shù),只有檢測到GATE信號有效,經(jīng)過一個CLK周期,把計數(shù)初值送到減1計數(shù)寄存器,才開始作減1操作。 OUT端隨著工作方式的不同和當(dāng)前計數(shù)狀態(tài)的不同,一定有電平輸出

11、變化,而且輸出變化均發(fā)生在CLK的下降沿。OUT的輸出波形在寫控制字之前為未定態(tài),在寫了控制字之后到計數(shù)之前為計數(shù)初態(tài),再之后有計數(shù)態(tài)、暫停態(tài)、結(jié)束態(tài)等。 對于給定的工作方式,門控信號GATE的觸發(fā)條件是有具體規(guī)定的,或電平觸發(fā),或邊沿觸發(fā),或兩者均可第25頁/共45頁門控信號GATE的性能 方式方式低電平或下降沿低電平或下降沿上升沿上升沿高電平高電平0 禁止計數(shù)禁止計數(shù) 允許計數(shù)允許計數(shù)1 開始計數(shù),開始計數(shù), 2 禁止計數(shù),禁止計數(shù), 輸出變?yōu)榈碗娖捷敵鲎優(yōu)榈碗娖?允許計數(shù)允許計數(shù)3 輸出變?yōu)楦唠娖捷敵鲎優(yōu)楦唠娖?重新設(shè)置初值,重新設(shè)置初值, 允許計數(shù)允許計數(shù)4 禁止計數(shù),禁止計數(shù), 開始

12、計數(shù)開始計數(shù) 允許計數(shù)允許計數(shù)5 輸出變?yōu)楦唠娖捷敵鲎優(yōu)楦唠娖?開始計數(shù)開始計數(shù) 第26頁/共45頁6種工作方式不同點(1) 方式0和方式4都是由軟件觸發(fā)(寫入計數(shù)初值)啟動計數(shù),無自動重裝入計數(shù)初值能力,除非再寫初值。門控信號GATE高電平時,減1計數(shù)器減1;低電平時,減1計數(shù)器停止計數(shù)。它們的區(qū)別是:方式0在計數(shù)過程中OUT輸出為低電平,計數(shù)結(jié)束時變?yōu)楦唠娖剑⒁恢北3?;方?在計數(shù)過程中OUT輸出為高電平,計數(shù)結(jié)束時輸出一個寬度為一個TCLK的負(fù)脈沖,以后又保持高電平。第27頁/共45頁6種工作方式不同點(2) 方式1和方式5均是硬件觸發(fā)(GATE上升沿)啟動計數(shù)。寫入初值之后,在門控信

13、號GATE的上升沿觸發(fā)下,初值寫入減1計數(shù)寄存器,開始計數(shù),并且GATE只在上升沿起作用。它們的區(qū)別是:方式1在計數(shù)過程中OUT輸出一個寬度為計數(shù)初值乘以TCLK的單相負(fù)脈沖;方式5是在計數(shù)結(jié)束后OUT輸出一個寬度為一個TCLK的負(fù)脈沖。第28頁/共45頁6種工作方式不同點(3) 方式2和方式3的共同點是具有自動重裝入計數(shù)初值的能力,都是頻率發(fā)生器(分頻器)。它們的區(qū)別是:方式2輸出占空比為(n-1):1的矩形波信號,而方式3輸出方波(或近似方波)信號。第29頁/共45頁9.2 8253/8254的編程 8253加電后的工作方式不確定,必須經(jīng)初始化編程后,才能正常工作 初始化編程: 先寫入控制

14、字 再寫入計數(shù)初值 工作后,可隨時讀取計數(shù)值: 一般先將計數(shù)值鎖存在通道內(nèi)的鎖存器中 然后可分兩次讀取16位的計數(shù)值 8254 新增的讀回命令第30頁/共45頁1 寫入方式控制字計數(shù)器計數(shù)器讀寫格式讀寫格式工作方式工作方式數(shù)制數(shù)制D7D6D5D4D3D2D1D0控制字寫入控制字I/O地址(A1A011)00 計數(shù)器001 計數(shù)器110 計數(shù)器211 非法 00 計數(shù)器鎖存命令 01 只讀寫低字節(jié)10 只讀寫高字節(jié)11 先讀寫低字節(jié) 后讀寫高字節(jié)000 方式0001 方式1010 方式2011 方式3100 方式4101 方式50 二進制 1 十進制第31頁/共45頁2 寫入計數(shù)初值 選擇二進制

15、時 計數(shù)范圍:1H10000H 初值寫入0時計數(shù)最大(65536/10000H) 選擇十進制(BCD碼)時 計數(shù)范圍:110000 初值寫入0時計數(shù)最大(10000)計數(shù)值寫入計數(shù)器各自的 I/O地址第32頁/共45頁3 讀取計數(shù)值 對8位數(shù)據(jù)線,讀取16位的計數(shù)值,需要分兩次進行 由于計數(shù)在不斷進行,故應(yīng)將當(dāng)前計數(shù)值先行鎖存,然后再讀?。?向控制字I/O地址寫入鎖存命令 從計數(shù)器I/O地址讀取被鎖存的計數(shù)值 3 種讀取方式: 只讀低8位 只讀高8位 先低后高讀取計數(shù)值時要注意格式和數(shù)制第33頁/共45頁例1: 8253的初始化例:要求計數(shù)器0工作于方式3,輸出方波的重復(fù)頻率為2KHz,計數(shù)脈

16、沖輸入為2.5MHz,采用BCD碼計數(shù),試寫出初始化程序段。計算計數(shù)初值:TC= 2.5MHz/ 2KHz=1250方式字為:0011 0111B=37H(計數(shù)器0,寫16位,方式3,BCD計數(shù))設(shè)端口地址為:80H、81H、82H、83H。;寫入方式控制字MOV AL,37HOUT 83H,AL;寫入計數(shù)初始值低8位MOV AL,50HOUT 80,AL;寫入計數(shù)初始值高8位MOV AL,12H OUT 80H,AL第34頁/共45頁例2: 定時器計數(shù)器0定時10ms,clk時鐘200Khz,請初始化MOV AL,00110001B ;寫入方式控制字MOV DX,307HOUT DX,ALM

17、OV AL,0H;寫入計數(shù)初始值低8位MOV DX,304HOUT DX,ALMOV AL,20H ;寫入計數(shù)初始值高8位OUT DX,AL第35頁/共45頁9.3 8253的應(yīng)用例3:用8253-5監(jiān)視一個生產(chǎn)流水線OUT0 CLK0GATE0 8253CLK1GATE1 OUT11驅(qū)動器INT+5V2.5MHz8255PA0第36頁/共45頁:設(shè)計要求及設(shè)計方案 使用8253-5監(jiān)視一個生產(chǎn)流水線,每通過50個工件,揚聲器響5秒鐘,頻率2000Hz。 用8253-5的通道0設(shè)定為計數(shù)方式計數(shù),計數(shù)滿50后,由OUT0輸出一個負(fù)脈沖,經(jīng)反向后作為8259A的中斷請求信號,在中斷服務(wù)程序中,啟

18、動8253-5通道1工作,有通道1連續(xù)輸出頻率為2000Hz的方波信號,持續(xù)5秒后結(jié)束。 通道0工作于方式2,通道1工作于方式3,通道1的門控信號GATE1由8255A的PA0控制。第37頁/共45頁:控制字設(shè)置 通道0計數(shù)器工作于方式2,采用BCD計數(shù),因計數(shù)初值為50,采用RL1RL0=01(讀/寫計數(shù)器的低8位),則工作方式字為00010101=15H。 通道1計數(shù)器工作于方式3,CLK1接2.5MHz時鐘,要求產(chǎn)生1000Hz的方波,則計數(shù)初值應(yīng)為2.5106/2000=1250,采用RL1RL0=11 (先讀計數(shù)器的低8位,再讀計數(shù)器的高8位)。則工作方式字為01110111=77H

19、。 設(shè)通道0的地址為40H,通道1的地址為41H,控制口地址為43H,8255A的口地址為80-83H。第38頁/共45頁:主程序 MOV AL,15H;通道0初始化,方式2OUT 43H,ALMOV AL,50H;置計數(shù)初值OUT 40H,ALSTI ;開中斷LPO:HLT ;等待中斷JMP LOP第39頁/共45頁: 中斷服務(wù)程序MOV AL,01H ;通道1的GATE1置1,啟動計數(shù)OUT 80H,AL ; 認(rèn)為8255已經(jīng)初始化,向8255 ;端口送數(shù),使PA0為“1”MOV AL,77H ;通道1初始化,方式3OUT 43H,ALMOV AL,50H ;置計數(shù)初值低8位OUT 41H

20、,ALMOV AL,12H ;置計數(shù)初值高8位OUT 41H,ALCALL DL5S ;延時5秒,DL5S為5秒延時程序MOV AL,00H ;通道1的GATE1置0,停止計數(shù)OUT 80H,AL ;復(fù)位8255端口,使PA0為“0”IRET第40頁/共45頁例例4: 4: 為為A/DA/D轉(zhuǎn)換提供采樣啟動信號轉(zhuǎn)換提供采樣啟動信號8253OUT0GATE0CLK0OUT1GATE1CLK1OUT2GATE2CLK2啟動轉(zhuǎn)換時鐘源頻率 F+5V求計數(shù)值cnt0cnt1cnt2A0A1A1A2I/O地址200H207H-CSCH0的輸出頻率: F/cnt0 CH0的門控端:CH2/CH1級聯(lián)后控制,采樣持續(xù)時間: (cnt1*cnt2)/F注意地址連接方式2連續(xù)負(fù)脈沖方式1單穩(wěn)方式3方波采樣頻率 F/cnt0啟動第41頁/共45頁例5: 三個計數(shù)通道組合應(yīng)用D7-D0RDWRA0A1CS 8253OUT0GATE0CLK0OUT1GATE1C

溫馨提示

  • 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)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論