【正文】
計數(shù)器概述 在工業(yè)檢測、控制中,很多場合都要用到計數(shù)或者定時功能。 定時器 /計數(shù)器( Timer/Counter)本質(zhì)上都是加法計數(shù)器,當對固定周期的脈沖信號計數(shù)時是定時器,對脈沖長度不確定的信號計數(shù)時是計數(shù)器。當采用12MHz晶振時,一個機器周期為 1181。 第一章 MCS—51單片機硬件結(jié)構(gòu)及指令系統(tǒng) 主講:雷道仲 相關(guān)知識 輪單片機定時器 /計數(shù)器概述 通過上述案例學(xué)習(xí)和實踐,在對單片機定時 /計數(shù)器的編程應(yīng)用 有了直觀認識之后,我們下面再來介紹有關(guān)單片機定時 /計數(shù)器更詳 細的內(nèi)容。 TF0、 TF1分別是定時器 /計數(shù)器 T0、 T1 的溢出標志位 , 加法計數(shù)器計滿溢出時置 1, 申請中斷 , 在 中斷響應(yīng)后自動復(fù) 0。 通過上述案例學(xué)習(xí)和實踐,在對單片機定時 /計數(shù)器的編程應(yīng)用 有了直觀認識之后,我們下面再來介紹有關(guān)單片機定時 /計數(shù)器更詳 細的內(nèi)容。 T F 1 T R 1 T F 0 T R 0 I E 1 I T 1 I E 0 I T 0D 0D 1D 2D 3D 4D 5D 6D 7T C O N第一章 MCS—51單片機硬件結(jié)構(gòu)及指令系統(tǒng) 主講:雷道仲 相關(guān)知識 與定時 /計數(shù)器有關(guān)的特殊功能寄存器 INT1引腳控制 T1。從計數(shù)值可以求得計數(shù)的時間,所以稱為定時器模式。 T F 1 T R 1 T F 0 T R 0 I E 1 I T 1 I E 0 I T 0D 0D 1D 2D 3D 4D 5D 6D 7T C O NM1 M0:四種工作方式的選擇位 表 131 定時 /計數(shù)器工作方式 M1 M0 方 式 說 明 0 0 0 13 位定時器 (TH的 8 位和 TL的低 5 位) 0 1 1 16 位定時器 /計數(shù)器 1 0 2 自動重裝入初值的 8 位計數(shù)器 1 1 3 T0 分成兩個獨立的 8 位計數(shù)器, T1 在方式 3 時停止工作 第一章 MCS—51單片機硬件結(jié)構(gòu)及指令系統(tǒng) 主講:雷道仲 相關(guān)知識 定時器 /計數(shù)器的工作方式 方式 0 方式 0下, T0和 T1工作在 13位的定時 /計數(shù)器方式,由 TH的高 8 位和 TL的低 5 位組成。 1 2T L 0( 5 位 )T H 0( 8 位 )T F 0T R 0中斷T C O N___ _ _ _圖 139 方式 0( 13位計數(shù)器) 第一章 MCS—51單片機硬件結(jié)構(gòu)及指令系統(tǒng) 主講:雷道仲 相關(guān)知識 定時器 /計數(shù)器的工作方式 方式 0的計數(shù)長度 M為 2的 13次方,初值也是 13位二進制數(shù),但要注意是高 8位賦值給 TH0,低 5位前面補足 3 個 0 湊成 8 位賦給 TL0。 16位的初值直接拆成高低字節(jié),分別送入 TH和 TL即可。 1 2T L 0( 8 位 )T H 0( 8 位 )T F 0T R 0中斷T C O NC / T = 1I N T 0C / T = 0___ _ _ _圖 1310 方式 1( 16位計數(shù)器) 第一章 MCS—51單片機硬件結(jié)構(gòu)及指令系統(tǒng) 主講:雷道仲 相關(guān)知識 定時器 /計數(shù)器的工作方式 方式 2 方式 0和方式 1的最大特點就是計數(shù)溢出后,計數(shù)器為全 0,因而循環(huán)定時或循環(huán)計數(shù)應(yīng)用時就存在反復(fù)設(shè)置初值的問題,這給程序設(shè)計帶來許多不便,同時也會影響計時精度。T M O DT 0控制01247。 TH0就沒有那么多“資源”可利用了,只能作為簡單的定時器使用,而且由于定時 /計數(shù)器 0的控制位已被 TL0占用,因此只能借用定時 /計數(shù)器 1的控制位 TR1和 TF1,也就是以計數(shù)溢出去置位 TF1, TR1則負責(zé)控制 TH0定時的啟動和停止。 1 2T L 0( 8 位 )中斷T C O N控制T F 1T R 1T H 0( 8 位 )中斷T C O Nf o s c / 1 2C / T = 1I N T 0C / T = 0___ _ _ _圖 1312 方式 3(兩個 8位獨立計數(shù)器) 第一章 MCS—51單片機硬件結(jié)構(gòu)及指令系統(tǒng) 主講:雷道仲 相關(guān)知識 定時器 /計數(shù)器的應(yīng)用 初始化步驟 在應(yīng)用定時 /計數(shù)器之前,要對它計數(shù)初始化編程,主要是對寄存器 TCON和TMOD的編程以及計算和裝載 T/C(定時 /計數(shù)器)的計數(shù)初值,一般有一下幾個步驟: 確定定時 /計數(shù)器的工作方式 —— 編程 TMOD寄存器; 計算定時 /計數(shù)器的計數(shù)初值,并裝載到 TH和 TL; 定時 /計數(shù)器在中斷方式工作時,還必須開 CPU總中斷 EA和相應(yīng)中斷源 —— 編程 IE寄存器 ; 啟動定時 /計數(shù)器 —— 編程 TCON中的 TR1或 TR T F 1 T R 1 T F 0 T R 0 I E 1 I T 1 I E 0 I T 0D 0D 1D 2D 3D 4D 5D 6D 7T C O N第一章 MCS—51單片機硬件結(jié)構(gòu)及指令系統(tǒng) 主講:雷道仲 相關(guān)知識 定時器 /計數(shù)器的應(yīng)用 應(yīng)用舉例 例 已知單片機的晶振頻率為 fosc=12MHz,應(yīng)用定時 /計數(shù)器,在單片機引腳 P1_3產(chǎn)生周期為 2ms的方波信號。 所以初值 X=M- N=655361000。 //啟動定時器 T/C0 while(1){ TH0=(655361000)/256。 //P1_3取反 TF0=0。 //P1_3取反 TH0=(655361000)/256。 //裝載計數(shù)初值 TL0=(655361000)%256。 //啟動定時器 T/C do{}while(1)。 任務(wù)要求: 設(shè)計滿足任務(wù)要求的硬件電路; 給出程序的設(shè)計思路,畫出詳細的程序流程框圖; 給出程序清單并加上必要的注釋; 。 T F 1 T R 1 T F 0 T R 0 I E 1 I T 1 I E 0 I T 0D 0D 1D 2D 3D 4D 5D 6D 7T C O N第一章 MCS—51單片機硬件結(jié)構(gòu)及指令系統(tǒng) 主講:雷道仲 2 4 5 模塊功能描述 必備知識 設(shè)計案例 學(xué)習(xí)內(nèi)容 第 13章 基于 C51單片機的超聲波導(dǎo)航模塊 1 3 相關(guān)知識 思考練習(xí)與拓展訓(xùn)練 第一章 MCS—51單片機硬件結(jié)構(gòu)及指令系統(tǒng) 主講:雷道仲 思考練習(xí)與拓展訓(xùn)練 思考練習(xí) 89C51定時 /計數(shù)器的定時方式和計數(shù)方式的區(qū)別是什么? 設(shè) fosc=12MHz, 89C51定時器 T0的方式 0、方式 方式 2的最大定時時間分別是多少? 編程定時器 T0,使單片機產(chǎn)生頻率為 100Hz,占空比為 2:1的矩形波信號,設(shè)fosc=12MHz。 ET0=1。 } T F 1 T R 1 T F 0 T R 0 I E 1 I T 1 I E 0 I T 0D 0D 1D 2D 3D 4D 5D 6D 7T C O N第一章 MCS—51單片機硬件結(jié)構(gòu)及指令系統(tǒng) 主講:雷道仲 相關(guān)知識 定時器 /計數(shù)器的應(yīng)用 void main(void) { TMOD=0x01。 include void timer0(void) interrupt 1 181。 do{}while(!TF0)。 T F 1 T R 1 T F 0 T R 0 I E 1 I T 1 I E 0 I T 0D 0D 1D 2D 3D 4D 5D 6D 7T C O N第一章 MCS—51單片機硬件結(jié)構(gòu)及指令系統(tǒng) 主講:雷道仲 相關(guān)知識 定時器 /計數(shù)器的應(yīng)用 include void main(void) { TMOD=0x01。 因為 fosc=12MHz,機器周期 =12/12MHz=1181。 T F 1 T R 1 T F 0 T R 0 I E 1 I T 1 I E 0 I T 0D 0D 1D 2D 3D 4D 5D 6D 7T C O N第一章 MCS—51單片機硬件結(jié)構(gòu)及指令系統(tǒng) 主講:雷道仲 相關(guān)知識 定時器 /計數(shù)器的工作方式 方式 3 如果定時 /計數(shù)器 0工作于工作方式 3,那么定時 /計數(shù)器 1的工作方式就不可避免受到一定的限制,因為自己的一些控制位已被定時 /計數(shù)器借用,只能工作在方式 0、方式 1或方式 2下,如果設(shè)置 T1工作在方式 3,則 T1停止工作,相當于其他方式時令 TR1= 0 T F 1 T R 1 T F 0 T R 0 I E 1 I T 1 I E 0 I T 0D 0D 1D 2D 3D 4D 5D 6D 7T C O N1M 0M 1C / TG A T E振 蕩 器≥ 1amp。其中 TL0既可以作計數(shù)器使用,也可以作為定時器使用,定時 /計數(shù)器 0的各控制位和引腳信號全