接口_第4章定時計數技術_第1頁
接口_第4章定時計數技術_第2頁
接口_第4章定時計數技術_第3頁
接口_第4章定時計數技術_第4頁
接口_第4章定時計數技術_第5頁
已閱讀5頁,還剩38頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、第第4 4章章 定時定時/ /計數技術計數技術4.1 定時與計數1、定時 一天24小時的計時,稱為日時鐘。 在監測系統中,對被測點的定時取樣。 在讀鍵盤時,要去抖動。一般采用延遲一段時間(10ms-20ms)后再去讀。 在步進電機速度控制程序中,利用在前一次和后一次發送相序代碼之間延時的時間間隔來控制步進電機的轉速。2、計數 對零件和產品的計數。 對大橋和高速公路上車流量的統計,等等。3、定時與計數的關系定時與計數本質上都是計數,但它們所計的數來源是不同的。4.2 微機中的定時類型微機中的定時分為內部定式和外部定時1、內部定時。產生與運算器、控制器等CPU內部的控制時序。2、外部定時。外設在實

2、現某種功能時所需要的時序。注意:l外部定時和內部定時是相互獨立的兩個定時系統。l內部定時固定不變,外部定時隨外設而變。4.3 外部定時方法及硬件定時器1、定時方法(1)軟件定時 是利用CPU內部定時機構,運用軟件編程去循環執行一段程序而產生的等待延時。優點:不需增加硬件設備,只需編制相應的延時程序以備調用。缺點:CPU執行延時等待時間,增加了CPU的時間開銷。延時時間越長,CPU的效率也越低,浪費了CPU的資源,另外還受主頻的影響。(2)硬件定時 它是采用可編程通用的定時/計數器或單穩延時電路產生定時或延時。優點: 這種方法不占用CPU的時間,定時時間長, 使用靈活。 定時準確,定時時間不受主

3、機頻率影響, 在一定程度上具有通用性,故得到廣泛 的應用。缺點:需要有硬件的支持。2、外部硬件定時器不可編程定時器采用中小規模集成電路構成的定時電路,常見的定時器件有單穩觸發器等。可編程定時器定時長度可由程序設定或改變。定時器的定時原理定時器三要素: 穩定、準確的震蕩頻率。 GATE控制定時開始。 定時時間到后輸出的波型。定時長度 = T *(減1寄存器的初始值)震蕩器減1寄存器GATET定時輸出OUTCLK4.4 可編程定時/計數器82C54A1、82C54的外部連接特性與內部結構l82C54的外部特性與CPU連接的信號有:D0-D7,WR,RD, CS,A0,A1與外設連接的信號有:CLK

4、,GATE,OUT面向CPU的信號線 數據總線D0-D7:為三態輸出輸入線。用于將 8253與系統數據總線相連。 片選線CS:為輸入信號,低電平有效。當為 低電平時,CPU選中82C54,并可以對82C54進行 讀/寫操作;當為高電平時,CPU沒有選中82C54。CS由 CPU輸出的地址碼經譯碼產生。 讀信號RD:為輸入信號,低電平有效。 寫信號WR:為輸入信號,低電平有效。 地址線A1,A0:這兩根線接到系統地址總線的A1,A0上, 用于片內尋址。面向I/O設備的信號線計數器時鐘信號CLK:CLK為輸入的計時脈沖信號。計數器門控選通信號GATE:為輸入的計時啟動信號。計數器輸出信號OUT:為

5、定時到的輸出信號。 l82C54的內部結構(1)82C54內部模塊 82C54內部有6個模塊,其結構如下圖示。數據總線緩沖器數據總線緩沖器讀讀/ /寫邏輯寫邏輯控制命令寄存器控制命令寄存器計數器計數器0 0計數器計數器1 1計數器計數器2 2CLKCLK0 0GATEGATE0 0OUTOUT0 0CLKCLK1 1GATEGATE1 1OUTOUT1 1CLKCLK2 2GATEGATE2 2OUTOUT2 2D0D7 A A0 0A A1 1RDRDWRWRCSCS內部總線內部總線各組成部分的含義:數據總線緩沖器:它是一個三態、雙向8位寄存器,用于將8253與系統數據總線D0-D7 相連。

6、讀/寫邏輯:用于讀/寫控制和片選。控制命令寄存器:它接收CPU送來的控制字。計數器:8253有3個獨立的計數器(計數通道),其內部結構完全相同。(2)計數器通道的組成及工作原理16位當前計數值鎖存器16位減1計數器16位計數初值寄存器鎖存后讀出當前值LSBMSB&CLKGATE裝入/讀出初值LSBOUT圖4.3 計數通道內部邏輯圖(減1至0時)MSB計數初值寄存器(16位): 用于存放計數初值(定時常數、分頻系數),其長度為16位,故最大計數值為65536(64KB)。在初始化時同減1計數器的初值一起裝入。計數初值寄存器的計數初值,在計數過程中保持不變。減1計數器(16位): 用于進行

7、減1計數操作,每來一個時鐘脈沖,它就作減1運算,直至將計數初值減為零。當前計數值鎖存器(16位): 用于鎖存減1計數器的內容,以供讀出和查詢。CSRDWRA1A0操 作01000加載T/C0(向計數器0寫入“計數初值”)01001加載T/C1(向計數器1寫入“計數初值”)01010加載T/C2(向計數器2寫入“計數初值”)01011向控制器寄存器寫“方式控制字”00100讀T/C0(從計數器0讀出“當前計數值”)00101讀T/C1(從計數器1讀出“當前計數值”)00110讀T/C2(從計數器2讀出“當前計數值”)00111無操作三態1禁止三態011無操作三態82C54A 讀寫操作及端口地址2

8、、82C54的命令字 82C54有3個命令字和一個狀態字。3個命令字是:方式命令、鎖存命令和讀回命令。其中方式命令是必須的,其它兩個命令根據需要使用。注意:這3個命令字使用同一個端口,按方式命令在先,其它命令在后的循序寫入端口。l 方式命令 選定計數通道及其工作方式、讀/寫字節的順序以及計數碼制。 方式命令的格式:例:選用計數器1,工作在3方式,計數初值為1234H;設307H是命令寄存器的地址,305H是定時器1的地址,則初始化程序段為: MOV DX,307H ;命令口 MOV AL,01110110B ;方式字 OUT DX,AL MOV DX,305H ;T1數據口 MOV AL,34

9、H ;低8位計數值 OUT DX,ALMOV AL,12H ;高8位計數值OUT DX,ALl 鎖存命令 將減1寄存器的內容鎖存到輸出寄存器中,以供CPU讀取。?鎖存命令的格式:讀當前計數值為什么要先鎖存計數值? 減1計數器是16位的,而定時器的數據線是8位的,必須讀兩次才能讀出16位數據,在兩次讀操作時可能使減1計數器的內容發生變化。 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 減1若先讀高字節0000000111111111若先讀低字節000000000000000000000000第1次讀減1計數器中的值

10、第2次讀減1計數器中的值例:要求讀取計數器1的當前計數值,并把讀取的計數值裝入到AX寄存器中。設計數器1的端口地址為305H,命令口的地址為307H。程序段如下:MOV DX,307HMOV AL,0100XXXXB;鎖存計數器1OUT DX,ALMOV DX,305HIN AL,DX;讀低字節MOV BL,ALIN AL,DX;讀高字節MOV AH,ALMOV AL,BL可以取任意數,一般取0l 讀回命令(8253不具有這種功能) 讀回命令與前面的鎖存命令不同,它即能鎖存計數值又能鎖存狀態信息,而且一條讀回命令可以鎖存3個計數通道的當前計數值與狀態。注意:讀回命令只是一個鎖存的功能,要讀回計

11、數值和狀態還要發一條讀命令。讀回命令的格式:含義:D1,D2,D3用于選擇3個計數器1:選中,0:未選中;D4,D5用于選擇讀當前狀態還是當前計數值0:要讀取,1:不讀取例:讀取計數器2的當前計數值,讀回命令=11011000B讀取計數器2的當前狀態,讀回命令=11101000B讀取計數器2的當前計數值和狀態,讀回命令=11001000B4.3 82C54的工作方式1、82C54在不同工作方式下的功能和特點 有6種工作方式,不同的工作方式主要體現在輸出波形、啟動方式、初值裝入,以及GATE信號的控制作用的不同。 l 0方式功能及輸出波形特點:計數結束,輸出OUT產生01的上升沿,用此沿可申請中

12、斷(單次輸出波形)。0方式的上述工作特點可用下圖的時序來表示n=5n=5CLKCLKOUTOUTWRWR 5 54 43 32 21 10 0l 0方式的計數過程由軟件啟動,寫入時間常數后開始計數。l 門控信號用于開放或禁止計數,GATE為1則容許計數,為0則禁止計數。例:使計數器T1工作在0方式,進行16位二進制計數,計數初值的高低字節分別為0AH和35H。初始化程序段為: MOV DX,307H ;命令口 MOV AL,01110000B ;方式字 OUT DX,AL MOV DX,305H ;T1數據口 MOV AL,35H ;計數值低字節 OUT DX,AL MOV AL,0AH ;計

13、數值高字節 OUT DX,AL 某個時間常數值某個時間常數值l 1方式功能及輸出波形特點:該方式是硬件可重觸發單穩態方式(每次觸發產生單次輸出波形) 。n=4n=4CLKCLKGATEGATEWRWROUTOUT 4 43 32 21 10 0l 當寫入計數初值后,必須再由GATE信號01變化后才能啟動計數,否則不能啟動計數;l GATE每出現一次01的變化,都會重新啟動一次計數。例:使計數器T2 工作在1方式,進行8位二進制計數,并設計數初值的低8位為0E0H。初始化程序段為: MOV DX,307H ;命令口 MOV AL,10010010B ;方式字 OUT DX,AL MOV DX,3

14、06H ;T2數據口 MOV AL,0E0H ;低8位計數值 OUT DX,ALl 2方式功能及輸出波形 該方式是N分頻器方式或速率波發生器方式。分頻系數就是計數初值,可產生連續的負脈沖,且負脈沖的寬度固定(周期輸出波形) 。工作特點: 計數器計數期間,輸出OUT為高電平,計數 器回零時,輸出一個寬度等于時鐘脈沖周期 的負脈沖,并自動重新裝入原計數初值。 n=4n=4CLKCLKWRWROUTOUT4 43 32 21 10 0(4)(4)3 32 21 1例:使計數器T0 工作在2方式,進行16位二進制計數。初始化程序段為: MOV DX,307H ;命令口 MOV AL,00110100B

15、 ;方式字 OUT DX,AL MOV DX,304H ;T0數據口 MOV AL,00H ;低8位計數值 OUT DX,AL MOV AL,01H ;高8位計數值 OUT DX,ALl 3方式功能及輸出波形特點:產生占空比為1:1或接近1:1的連續方波。l 4方式和5方式功能特點:都是單個脈沖發生器,且脈沖寬度固定,差別是啟動方式不同,4方式由軟件啟動,5方式由硬件啟動。CLKWROUT2n=4222小結:6 種工作方式的比較l0方式和1方式的輸出波形類似,但0方式靠軟件啟動,1方式靠硬件啟動。l2方式(分頻器)和3方式(方波發生器),這兩種方式共同的特點是具有自動再加載功能。l4方式和5方

16、式的輸出波形類似,但4方式靠軟件啟動,5方式靠硬件啟動。4.4 82C54的計數初值1、計數初值的作用 為了產生不同的定時。2、計數初值的計算產生時間間隔的時間常數T = 要求定時的時間/時鐘脈沖周期 = * CLK產生頻率為f的信號波形的時間常數T = 時鐘脈沖的頻率/要求的波形頻率 = CLK/f3、計數初值的范圍 二進制碼的范圍是0000H-0FFFFH, BCD碼的范圍是0000-9999。4、計數初值的裝入 8位時間常數可一次裝入; 16位時間常數分兩次裝入,先低后高。5、計數初值的重裝與改寫 重裝:2方式和3方式具有自動重裝載能力 改寫:計數初值不能改變只能重寫。4.5 82C54

17、A不同方式下的的啟動/停止1、計數過程的啟動方式(1)軟件啟動 在GATE=1時,計數初值一旦寫入減1計數器,就開始計數。(2)硬件啟動 計數初值已經寫到減1計數器中,GATE信號由01的上升沿開始計數2、計數過程的停止方式 強制停止方式:通過GATE=0來中止計數; 自動停止方式:要等到單次定時結束為止。1、82C54A在微機系統中的應用設置 在微機系統中82C54的通道0用于日時鐘的中斷請求,通道1用于DRAM的刷新請求,通道2用于揚聲器的發聲。4.6 定時/計數器的應用系統的應用配置如下:例1:利用計數通道2產生896HZ的方波使揚聲器發聲。初值的計算:T=1.19318MHZ/896H

18、Z=1331=533H通道2的程序:MOV AL,10110110B;初始化方式字OUT 43H,ALMOV AX,533H;初值為533HOUT 42H,AL;先低后高MOV AL,AHOUT 42H,AL例2:計數通道0每55ms產生一次中斷請求初值的計算: T=1.19318MHZ/(1/55ms)65536通道0的程序:MOV AL,00110110B;初始化方式字OUT 43H,ALMOV AX,0H;初值為533HOUT 40H,AL;先低后高OUT 40H,AL例3:計數通道1每15us請求一次DMA傳送初值的計算: T=1.19318MHZ/(1/15us )12H通道1的程序:MOV AL,01010100B;初始化方式字OUT 43H,ALMOV AL,12H;初值為533HOUT 41H,AL;先低后高2、定時/計數器82C54A的應用舉例 當使用擴展的定時/計數器時,定時器的4個地址分別為:計數器0為304H、計數器1為305H、計數器2為306H、命令寄存器為307H。 現在利用82C54A測量脈沖寬度,分析如下: 把被測脈沖連接到某個計數通道的GATE上,當被測脈沖為低電平時,裝計數初值;當被測脈沖為高電平時,開始計數;直到被測脈沖為低電平時,停止計數,并鎖

溫馨提示

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

評論

0/150

提交評論