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