版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、定時定時/計數(shù)器計數(shù)器(Timer/Counter) 定時計數(shù)的概念- 一個定時/計數(shù)的形象實例假假如如有有一一個個水水容容器器1000滴水剛好裝滿滴水剛好裝滿初始時已經(jīng)裝入初始時已經(jīng)裝入500滴水滴水問:還需滴入多少滴水才能將其問:還需滴入多少滴水才能將其 裝滿?裝滿?答:還需滴入答:還需滴入500滴水才能將其滴水才能將其 裝滿,裝滿,501滴溢出。滴溢出。答:還需答:還需500秒時間才能將其裝秒時間才能將其裝滿,滿,501秒溢出。秒溢出。問:如果每秒滴入問:如果每秒滴入1滴水,還需多滴水,還需多 長時間才能將其裝滿?長時間才能將其裝滿?這就是這就是“計數(shù)計數(shù)”這就是這就是“定時定時”這就是
2、這就是“計數(shù)初值計數(shù)初值”目目 錄錄1基本原理基本原理 2相關(guān)寄存器相關(guān)寄存器 3定時器定時器/計數(shù)器模式計數(shù)器模式 觸發(fā)器觸發(fā)器1 觸發(fā)器觸發(fā)器2 觸發(fā)器觸發(fā)器n 觸發(fā)器觸發(fā)器n + 1 定時器/計數(shù)器的原理時鐘源時鐘源 在在數(shù)字電路數(shù)字電路中,學(xué)習(xí)了觸發(fā)器構(gòu)成計數(shù)器的原理,定時中,學(xué)習(xí)了觸發(fā)器構(gòu)成計數(shù)器的原理,定時/計數(shù)器實質(zhì)是計數(shù)器實質(zhì)是由一系列時鐘源驅(qū)動的由一系列時鐘源驅(qū)動的觸發(fā)器觸發(fā)器構(gòu)成。構(gòu)成。 Fclk / 21 Fclk / 22 Fclk / 2n Fclk 第第n級觸發(fā)器輸出時鐘頻率是級觸發(fā)器輸出時鐘頻率是第第1級觸發(fā)器輸入時鐘的級觸發(fā)器輸入時鐘的 1 / 2n 11111
3、11111111111可以使用軟件查詢其狀態(tài),可以使用軟件查詢其狀態(tài),可以設(shè)置當其由可以設(shè)置當其由0變?yōu)樽優(yōu)?時觸發(fā)中斷時觸發(fā)中斷016位定時器位定時器/計數(shù)器計數(shù)器 溢出標志溢出標志 1再來一個再來一個時鐘脈沖時鐘脈沖 當定時器的值當定時器的值為為0 xFFFF時時 標志位標志位置位置位 定時器定時器清清0 0000000000000000定時器/計數(shù)器應(yīng)用定時器定時器/計數(shù)器可以用于定時、計數(shù)和波特率發(fā)生器。計數(shù)器可以用于定時、計數(shù)和波特率發(fā)生器。 定時器(模式)可用于測量事件之定時器(模式)可用于測量事件之間的時間間隔,如脈沖寬度。間的時間間隔,如脈沖寬度。 123計數(shù)器(模式)可用于測
4、定某個事計數(shù)器(模式)可用于測定某個事件發(fā)生的次數(shù),如脈沖個數(shù)。件發(fā)生的次數(shù),如脈沖個數(shù)。 定時器(模式)還可以給串行端口定時器(模式)還可以給串行端口提供波特率時鐘信號。提供波特率時鐘信號。 ?UART?個正脈沖 51單片機的定時器/計數(shù)器標準標準8051 16位定時器位定時器/計數(shù)器計數(shù)器0 16位定時器位定時器/計數(shù)器計數(shù)器1 P89V51RB2 16位定時器位定時器/計數(shù)器計數(shù)器0 16位定時器位定時器/計數(shù)器計數(shù)器1 16位定時器位定時器/計數(shù)器計數(shù)器2 看門狗定時器看門狗定時器 標準的標準的80C51有有2個個16位定時器位定時器/計數(shù)器計數(shù)器0和和1,P89V51RB2在此之上增
5、加了在此之上增加了16位定時器位定時器/計數(shù)器計數(shù)器2,以及看門狗定時器。,以及看門狗定時器。 本小節(jié)講述本小節(jié)講述 讀者參考數(shù)據(jù)讀者參考數(shù)據(jù)手冊自行學(xué)習(xí)手冊自行學(xué)習(xí) 與定時器與定時器/計數(shù)器計數(shù)器0相相同,不講述同,不講述 定時器與計數(shù)器標準標準80C51 外部外部T0/T1功能功能引腳的時鐘源引腳的時鐘源 定時器定時器/計數(shù)器計數(shù)器 內(nèi)部內(nèi)部時鐘源時鐘源 計數(shù)周期未知,計數(shù)周期未知,甚至不具有周期性甚至不具有周期性 計數(shù)周期固定為計數(shù)周期固定為一個機器周期一個機器周期 當選擇外部引腳時鐘源,稱作計數(shù)器當選擇外部引腳時鐘源,稱作計數(shù)器 當選擇內(nèi)部時鐘源(默認)時,稱作定時器當選擇內(nèi)部時鐘源(
6、默認)時,稱作定時器 計數(shù)器功能注意事項在實現(xiàn)在實現(xiàn)“計數(shù)器計數(shù)器”功能時,計數(shù)器在每個機器周期對外部管腳采樣一次,功能時,計數(shù)器在每個機器周期對外部管腳采樣一次,現(xiàn)假設(shè)計數(shù)器現(xiàn)假設(shè)計數(shù)器0對下降沿計數(shù)。對下降沿計數(shù)。 1個機器周期個機器周期 機器時鐘機器時鐘 T0外部引腳外部引腳 情況情況1:正常檢測:正常檢測 情況情況2:漏檢:漏檢 T0外部引腳外部引腳 T1時檢測到高電平時檢測到高電平 計數(shù)管腳的計數(shù)高計數(shù)管腳的計數(shù)高/低脈沖寬度必須低脈沖寬度必須至少至少保持一個機器周期保持一個機器周期,否則就有可能漏檢。,否則就有可能漏檢。 !T2T0T1T3T4判斷為無下降沿,判斷為無下降沿, 即漏
7、檢即漏檢 T2時檢測到低電平時檢測到低電平 判斷為下降沿判斷為下降沿 T2時檢測到高電平時檢測到高電平 T1時檢測到高電平時檢測到高電平 以上寄存器均為SFR中單元 AT89C52定時/計數(shù)器結(jié)構(gòu) 功能選擇12 TL0、TH0 串行口串行口時鐘時鐘 TF0 TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 TCON(88H) T1模式模式2 中斷中斷 OSC T0 INT00 1 C/T = 0 TMOD(89H) T1 T0 GATE M1 M0 GATE M1 M0 C/ T C/T P3.4 P3.2C/T = 1時,對外部引腳輸入脈沖計數(shù),用做計數(shù)器時,對外部引腳輸入脈沖
8、計數(shù),用做計數(shù)器 C/T = 0時(時(默認默認),對內(nèi)部時鐘計數(shù),用做定時器),對內(nèi)部時鐘計數(shù),用做定時器 G3 G2 G1 1 0 C/T :功能選擇位。:功能選擇位。 計數(shù)器啟停控制01 0 1 1 GATE = 0時,時, GATE = 1時,時, 12 TL0、TH0 串行口串行口時鐘時鐘 TF0 TF1TF0IE1IT1IE0IT0TR1TR0TCON(88H) T1模式模式2 中斷中斷 OSC T0 INT0 0 1 1 C/T = 0 TMOD(89H) T1 T0 M1 M0 M1 M0 C/ T C/T GATE GATE P3.4 P3.2 G3 G2 G1 0 GATE
9、:門控位;:門控位;TRx :啟??刂莆?。:啟??刂莆弧?G2輸出為輸出為1,INT0引腳不控制計數(shù)器的啟停,由引腳不控制計數(shù)器的啟停,由TR0單獨控制單獨控制 G2輸出為輸出為INT0狀態(tài),狀態(tài),INT0引腳和引腳和TR0共同控制計數(shù)器的啟停共同控制計數(shù)器的啟停 INT0 舉例:測量脈沖寬度此時模型可簡化為:此時模型可簡化為: 12MHz 1 0 1 12 TL0、TH0 串行口串行口時鐘時鐘 TF0 TF1 TF0 IE1 IT1 IE0 IT0 TR1 TR0 TCON(88H) T1模式模式2 中斷中斷 OSC T0 INT0 0 1 1 C/T = 0 TMOD(89H) T1 T0
10、 M1 M0 M1 M0 C/ T C/T GATE GATE P3.4 P3.2 G3 G2 G1 0 INT0 TR0 = 1, GATE = 1, T0設(shè)置為模式設(shè)置為模式1,即,即16位定時器模式,位定時器模式, TL0/TH0 = 0 x0000, 且外部晶振且外部晶振12MHz, 當當C/T = 0, G1輸出為輸出為INT0狀態(tài),狀態(tài),INT0單獨控制計數(shù)器啟停。單獨控制計數(shù)器啟停。 INT0 舉例:測量脈沖寬度TL0、TH0 0 1 時鐘源時鐘源1MHz P3.2 INT0 開始計數(shù)開始計數(shù) 停止計數(shù)停止計數(shù) 16位的寄存器值位的寄存器值(以(以us為單位)為單位) 脈沖脈沖
11、寬度寬度 時鐘周期時鐘周期1us 模式控制M0和和M1決定決定T0/1的模式,共的模式,共4種種: 為模式為模式0、1和和2時:僅僅是時:僅僅是THx和和TLx組合方式不同;組合方式不同; 為模式為模式3時時 :T0/1在結(jié)構(gòu)上有所不同。在結(jié)構(gòu)上有所不同。 12 TL0、TH0 串行口串行口時鐘時鐘 TF0 TF1 TF0 IE1 IT1 IE0 IT0 TR1 TR0 TCON(88H) T1模式模式2 中斷中斷 OSC T0 INT0 0 1 1 C/T = 0 TMOD(89H) T1 T0 C/ T C/T GATE GATE M1 M0 M1 M0 P3.4 P3.2 G3 G2 G
12、1 0 溢出標志 TFx是計數(shù)器溢出標志,同時也是中斷請求標志;是計數(shù)器溢出標志,同時也是中斷請求標志; 在進入中斷時由硬件清除,也可用軟件清除。在進入中斷時由硬件清除,也可用軟件清除。 12 TL0、TH0 串行口串行口時鐘時鐘 TF0 IE1 IT1 IE0 IT0 TR1 TR0 TF1 TF0 TCON(88H) T1模式模式2中斷中斷 OSC T0 INT00 1 1 C/T = 0 TMOD(89H) T1 T0 C/ T C/T GATE GATE M1 M0 M1 M0 P3.4 P3.2G3 G2 G1 0 目目 錄錄1基本原理基本原理 2相關(guān)寄存器相關(guān)寄存器 3定時器定時器
13、/計數(shù)器模式計數(shù)器模式 模式寄存器TMOD功能說明Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0 位號位號 位名位名 GATE M1 M0 GATE M1 M0 T1 T0 設(shè)置設(shè)置INT0是否參與是否參與T0的啟停的啟停0:禁止:禁止 1:使能:使能 選擇選擇T0的功能的功能0:定時器功能:定時器功能 1:計數(shù)器功能:計數(shù)器功能 T0模式選擇模式選擇高、低位高、低位 00:模式:模式001:模式:模式110:模式:模式211:模式:模式3 功能與低功能與低4位相同,但用于設(shè)置位相同,但用于設(shè)置T1 地址:地址:89H(不能被(不能被8整除,也即不能被位尋址),
14、復(fù)位值:整除,也即不能被位尋址),復(fù)位值:0 x00 模式寄存器TMOD設(shè)置舉例現(xiàn)需要設(shè)置現(xiàn)需要設(shè)置T0具有以下功能:具有以下功能: 選擇模式選擇模式1 選擇定時器功能選擇定時器功能 INT0引腳不參與啟停控制引腳不參與啟??刂?Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0 位號位號 位名位名 GATE M1 M0 GATE M1 M0 1 0 0 1 MOV 0 x89, #05H 或或 MOV TMOD, #05H 0 x05 設(shè)置的匯編指令是:設(shè)置的匯編指令是: 如何設(shè)置如何設(shè)置TMOD ?控制寄存器TCON功能說明Bit7 Bit6 Bit5 Bit4
15、 Bit3 Bit2 Bit1 Bit0 位號位號 位名位名 TF1 TF0 TR0 IE1 TR1 IE0 IT0 IT1 T1 外部中斷外部中斷 T0 定時器定時器/計數(shù)器計數(shù)器0運行啟停位運行啟停位0:T0停止停止 1:T0啟動啟動 定時器定時器/計數(shù)器計數(shù)器0溢出標志。溢出標志。計數(shù)溢出時由硬件置位,計數(shù)溢出時由硬件置位,中斷響應(yīng)時由硬件清零中斷響應(yīng)時由硬件清零0:T0未溢出未溢出 1:T0溢出溢出 與與TR0原理相同原理相同 與與TF0原理相同原理相同 TCON的復(fù)位值:的復(fù)位值:0 x00,地址:,地址:88H(可被(可被8整除,可以進行按位尋址)整除,可以進行按位尋址) 設(shè)置舉例
16、:設(shè)置舉例:SETB TR0 或或 SETB 0 x8C ; 啟動啟動T0計數(shù)計數(shù) CLR TR0 或或 CLR 0 x8C ; 停止停止T0計數(shù)計數(shù) TLx和THx(x = 0或1)THx(高(高8位)和位)和TLx(低(低8位):位): 描述描述 復(fù)位值復(fù)位值名稱名稱 地址地址定時器定時器/計數(shù)器計數(shù)器0低低8位位 00H TL0 8AH 定時器定時器/計數(shù)器計數(shù)器1低低8位位 00H TL1 8BH 定時器定時器/計數(shù)器計數(shù)器0高高8位位 00H TH0 8CH 定時器定時器/計數(shù)器計數(shù)器1高高8位位 00H TH1 8DH 按照按照M1和和M0的值組成加法定時的值組成加法定時/計數(shù)器;
17、計數(shù)器; 對時鐘源脈沖進行計數(shù),在時鐘源的下降沿時計數(shù)器加對時鐘源脈沖進行計數(shù),在時鐘源的下降沿時計數(shù)器加1; 計滿時,在下一個脈沖下降沿清零,并產(chǎn)生溢出,計滿時,在下一個脈沖下降沿清零,并產(chǎn)生溢出,TFx置位。置位。 目目 錄錄1基本原理基本原理 2相關(guān)寄存器相關(guān)寄存器 3定時器定時器/計數(shù)器模式計數(shù)器模式 定時/計數(shù)器模式0當當M1M0 = 00時,定時時,定時/計數(shù)器工作于模式計數(shù)器工作于模式0,使用,使用TLx的低的低5位和位和THx構(gòu)成構(gòu)成13位的加法計數(shù)器。位的加法計數(shù)器。 13位加法計數(shù)器,最大計數(shù)值為:位加法計數(shù)器,最大計數(shù)值為:0 x1FFF,當計數(shù)到達,當計數(shù)到達0 x1F
18、FF時,在下一個時,在下一個脈沖下降沿時刻清零,并置位脈沖下降沿時刻清零,并置位TFx。 THx TLx b0 b7 b8 b15 b4 12 中斷中斷 OSC Tx INTx 0 1 C/T = 0 GATE TRx TFx TLx低低5位位 THx 定時器設(shè)置舉例假設(shè):假設(shè): 定時器設(shè)置為模式定時器設(shè)置為模式0 禁止禁止INT0引腳控制引腳控制 外部晶振頻率外部晶振頻率11.0592MHz 12 外部晶振外部晶振11.0592MH TRx 計數(shù)器計數(shù)值計數(shù)器計數(shù)值 計數(shù)器初值計數(shù)器初值 THx TLx b0 b15 0 0 01 1 0 0 0 1 1 10 1 1 0 0問:問: 要定時
19、要定時1ms(1000us),如),如 何設(shè)置何設(shè)置TL0和和TH0的初值?的初值? b0 b12 922 = 213 - 922 = 8192 - 922 = 7270 = 1C66H = 1000us (12 / 11.0592)us 先按位先按位“與與”清除低清除低4位位 TMOD &= 0 xF0 再按位再按位“或或”修改低修改低4位位 TMOD |= 0 x01 x x 0 1 0 0 0 1TMOD 直接賦值直接賦值 TMOD = 0 x01 0 0 0 0 0 0 0 1TMOD 寫寄存器注意事項假設(shè):假設(shè): T1正在工作中,處于模式正在工作中,處于模式1,現(xiàn)在需要設(shè)置,現(xiàn)在需要
20、設(shè)置T0為模式為模式1 x x 0 1 x x x xTMOD初始狀態(tài)初始狀態(tài) T1的模式控制位被的模式控制位被無意修改無意修改 T1的模式控制位的模式控制位不會被修改不會被修改 定時/計數(shù)器模式1當當M1M0 = 01時,定時時,定時/計數(shù)器工作于模式計數(shù)器工作于模式1,使用,使用TLx和和THx構(gòu)成構(gòu)成16位的加法計數(shù)器。位的加法計數(shù)器。 16位加法計數(shù)器,最大計數(shù)值為:位加法計數(shù)器,最大計數(shù)值為:0 xFFFF,當計數(shù)到達,當計數(shù)到達0 xFFFF時,在下一個脈沖時,在下一個脈沖下降沿時刻清零,并置位下降沿時刻清零,并置位TFx。 THxTLxb0b7b8b1512 中斷中斷 OSC T
21、xINTx0 1 C/T = 0 GATETRxTFx TLx THx 修正定時器溢出不同步由于中斷響應(yīng)時間會因不同的情況在由于中斷響應(yīng)時間會因不同的情況在38個機器周期內(nèi)變化,導(dǎo)致相鄰兩個機器周期內(nèi)變化,導(dǎo)致相鄰兩次定時器溢出中斷不同步。次定時器溢出中斷不同步。定時器溢出,定時器溢出,申請中斷申請中斷中斷響應(yīng)時間,中斷響應(yīng)時間,38個機器周期個機器周期中斷處理中斷處理時間時間TLx清清0停止定時器停止定時器TLx從清從清0后到停止定時器時的計數(shù)值,記為后到停止定時器時的計數(shù)值,記為N為了獲得更高的定時精度,將為了獲得更高的定時精度,將N疊加到計數(shù)初始值上。疊加到計數(shù)初始值上。修正重載值假設(shè)假
22、設(shè)T0工作在模式工作在模式1,fosc = 12 MHz,循環(huán)定時器周期為,循環(huán)定時器周期為1ms,則計數(shù)初始值,則計數(shù)初始值機器周期機器周期 CLR EA ; CLR EA ; 禁止禁止CPUCPU中斷中斷 CLR TR0 ; CLR TR0 ; 停止停止T0T0計數(shù)計數(shù) 1 MOV A, 0 x1F ; 1 MOV A, 0 x1F ; 將指令運行補償后的初值低位送到將指令運行補償后的初值低位送到A A 1 ADD A, TL0 ; 1 ADD A, TL0 ; 低位初值響應(yīng)誤差補償?shù)臀怀踔淀憫?yīng)誤差補償 1 MOV TL0, A 1 MOV TL0, A 1 MOV A, 0 xFC ;
23、1 MOV A, 0 xFC ; 將指令運行補償后的初值高位送到將指令運行補償后的初值高位送到A A 1 ADDC A, TH0 ; 1 ADDC A, TH0 ; 計數(shù)初值高位計算計數(shù)初值高位計算 1 MOV TH0, A ; 1 MOV TH0, A ; 裝入計數(shù)初值高位裝入計數(shù)初值高位 1 SETB TR0 ; 1 SETB TR0 ; 重新啟動計數(shù)重新啟動計數(shù)m = 216 - 12106 110-3 /12 = 64536 = 0 xFC18 假設(shè)假設(shè)T0的的ISR是:是:重載初始值時,還需要加上從重載初始值時,還需要加上從“CLR TR0”“SETB TR0”之間的之間的7個機器周期個機器周期0 xFC18 7 0 xFC1F 定時/計數(shù)器模式2當當M1M0 = 10時,定時時,定時/計數(shù)器工作于模式計數(shù)器工作于模式2,使用,使用TLx和和THx構(gòu)成構(gòu)成8位位的自動重裝載加法計數(shù)器的自動重裝載加法計數(shù)器。12中斷中斷OSCTxINTx01C/T = 0GATETRxTFxTLxTHx串行口串行口TCLK或或RCLKT1串行口串行口TCLK或或RCLKTHxTLxb0b7TLx
溫馨提示
- 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)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 金融安全與誠信教育
- 石河子大學(xué)《中藥鑒定學(xué)實驗一》2021-2022學(xué)年第一學(xué)期期末試卷
- 石河子大學(xué)《藥物分析》2022-2023學(xué)年第一學(xué)期期末試卷
- 食品安全十三五規(guī)劃
- 石河子大學(xué)《計算機組織與結(jié)構(gòu)》2022-2023學(xué)年期末試卷
- 石河子大學(xué)《兒科學(xué)與兒童保健學(xué)見習(xí)》2021-2022學(xué)年第一學(xué)期期末試卷
- 沈陽理工大學(xué)《三維工程軟件》2023-2024學(xué)年第一學(xué)期期末試卷
- 沈陽理工大學(xué)《建筑結(jié)構(gòu)》2022-2023學(xué)年第一學(xué)期期末試卷
- 2018年四川內(nèi)江中考滿分作文《我心中的英雄》
- 沈陽理工大學(xué)《含能材料》2021-2022學(xué)年第一學(xué)期期末試卷
- 陜西師范大學(xué)學(xué)位英語試題
- 【基于嵌入式的人體健康智能檢測系統(tǒng)設(shè)計與實現(xiàn)14000字(論文)】
- 基礎(chǔ)管理風(fēng)險分級管控清單(雙體系)
- 醫(yī)學(xué)課件:臨床決策分析
- 人教版新教材高一上學(xué)期期末考試數(shù)學(xué)試卷及答案(共五套)
- 江蘇開放大學(xué)2023年秋《中級會計實務(wù)(上) 050284》第4次任務(wù)參考答案
- 屋頂光伏安全專項施工方案
- 4.與食品經(jīng)營相適應(yīng)的主要設(shè)備設(shè)施布局操作流程等文件
- 四班三倒排班表
- 銀行業(yè)信息系統(tǒng)災(zāi)難恢復(fù)管理規(guī)范
- 海水的性質(zhì) 說課課件 2023-2024學(xué)年高中地理人教版(2019)必修第一冊
評論
0/150
提交評論