單片機 定時計數器_第1頁
單片機 定時計數器_第2頁
單片機 定時計數器_第3頁
單片機 定時計數器_第4頁
單片機 定時計數器_第5頁
已閱讀5頁,還剩30頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、單片機 定時計數器第1頁,共35頁,2022年,5月20日,2點29分,星期二時間選擇按鈕電視機睡眠時間設定第2頁,共35頁,2022年,5月20日,2點29分,星期二秒表計時3當計時啟動后,1/100秒位的兩位數字在1秒內飛快的由00增加到99。秒表內部的電路需要有較高的精度才能準確地以1/100秒為間隔更新顯示數字。第3頁,共35頁,2022年,5月20日,2點29分,星期二定時與計數什么是定時?4定時過程可視為單片機計算單位時間(可以是1s、1ms、1s)的個數,當計時完成后,把單位時間乘以個數就得到了定時的時間長度。第4頁,共35頁,2022年,5月20日,2點29分,星期二什么是計數

2、?5計數就是計算事件的發生次數。霍爾開關每當車輪轉過一圈時磁鐵接近一次霍爾開關,于是就會輸出一個脈沖。如果把這個脈沖輸入單片機,單片機可以在每次脈沖到來時計一個數,假設60秒內單片機的計數值為n,于是車輪每轉過一圈的時間,即脈沖的周期為:如果車輪的半徑為r,于是車輪的周長為C=2r,得自行車的行駛速度為:第5頁,共35頁,2022年,5月20日,2點29分,星期二定時/計數器的模式控制寄存器TMOD6用來設置定時/計數器的工作模式。TMOD的長度為1個字節(8位),高4位和低4位分別控制T1和T0。其中由M11、M01控制T1的工作模式,M10、M00控制T0的工作模式。如想令T0工作在定時器

3、的模式0下(軟件啟動),而T1工作在計數器的模式1下(軟件啟動),則設置Timer的指令為“MOV TMOD, #01010000B”。第6頁,共35頁,2022年,5月20日,2點29分,星期二定時/計數器的控制寄存器TCON7TCON是“timer control”的縮寫,用于控制定時/計數器的啟動或停止,并指示其是否溢出。TCON在特殊功能寄存器的地址88H上。TCON的高4位的名稱及功能描述:第7頁,共35頁,2022年,5月20日,2點29分,星期二方式1方式2方式0方式3定時/計數器的4種工作方式第8頁,共35頁,2022年,5月20日,2點29分,星期二1、定時/計數器的工作方式

4、0 定時/計數器工作在方式0時,為13位定時/計數器,由TL1的低5位和TH1的高8位所構成。第9頁,共35頁,2022年,5月20日,2點29分,星期二 T1工作于方式0的等效框圖T1T2第10頁,共35頁,2022年,5月20日,2點29分,星期二 計數/定時方式選擇位 ,計數工作方式,對外部引腳輸入脈沖計數,用作計數器。 ,定時工作方式,對片內機器周期脈沖計數,用作定時器。 GATE 門控位 GATE=0,運行只受啟動控制位TR1的控制。 GATE=1,運行同時受TR1和 的雙重控制。 只有當 且 ,定時計數器才能運行第11頁,共35頁,2022年,5月20日,2點29分,星期二 GAT

5、E位的狀態決定定時/計數器的運行控制取決于TR1一個條件還是TR1和INT1引腳兩個條件。方式0說明計數控制由TR1和INT1兩個條件控制 計數控制僅由TR1的狀態確定:TR1=1,計數,TR1=0停止計數當GATE=0時當GATE=1時第12頁,共35頁,2022年,5月20日,2點29分,星期二設計方式0的計數初始值13方式0下的設置過程與方式1相同,只是TMOD中的M1x和M0 x位均為0。計數初始值的設計:將定時時長t(fc=12MHz)除以1。用8192減去步驟得到的數。用科學計算器把步驟的得數轉換成13位二進制數M N3 N2 N1 N0 P3 P2 P1 P0 Q3 Q2 Q1

6、Q0,高位如果是空的用0補上,依次填入THx的8位和TLx的低5位中,TLx的高3位用0代替。第13頁,共35頁,2022年,5月20日,2點29分,星期二設計模式0的計數初始值14最后得計數初始值:THx=M N3 N2 N1 N0 P3 P2 P1(二進制),TLx=0 0 0 P0 Q3 Q2 Q1 Q0(二進制)。根據以上的步驟,晶振頻率 =12MHz,定時時長500s,則有:500s /1s=5008192-500=76927692(十進制)(二進制)THx=11110000B=F0H,TLx=00001100B=0CH。第14頁,共35頁,2022年,5月20日,2點29分,星期二

7、設計模式0的計數初始值15例1:第15頁,共35頁,2022年,5月20日,2點29分,星期二定時/計數器的工作方式116模式1的特點方式1的特點:是一個16位的定時器或計數器,寄存器TLx和THx共16位全部用來裝計數值;用指令“SETB TRx”啟動定時/計數器;溢出時,溢出標志TFx被硬件置1,可通過檢測TFx標志位來了解計數是否完成。當計數完成后,使用指令“CLR TRx”和“CLR TFx”來關閉Timer。如果需要循環Timer的定時或計數過程,Timer寄存器TLx和THx中必須再次裝載原來的計數初始值。第16頁,共35頁,2022年,5月20日,2點29分,星期二方式1的設置1

8、7例2:讓P1.0口輸出頻率為100Hz方波信號(占空比為50%的矩形波)。第17頁,共35頁,2022年,5月20日,2點29分,星期二方式1的設置18設置定時/計數器的工作方式。往定時/計數器的寄存器(TL0和TH0)載入計數初始值。T0作定時器,工作在方式1下的設置第18頁,共35頁,2022年,5月20日,2點29分,星期二方式1的設置19啟動定時/計數器(Timer)。如圖所示,定時/計數器的寄存器從計數初始值EC78H計數到FFFFH。檢測定時/計數器溢出標志(TF0)。關閉定時/計數器。定時/計數器的計數過程第19頁,共35頁,2022年,5月20日,2點29分,星期二方式1的設

9、置20清0溢出標志(TF0)。重新裝載計數初始值。因為程序11-2在不斷變換P1.0口狀態(指令“CPLP1.0”)并進行5000s的延時,于是就形成了頻率100Hz的方波信號。第20頁,共35頁,2022年,5月20日,2點29分,星期二方式1的計數初始值21 已知晶振頻率 ,可根據以下的公式計算出方式1下定時/計數器作定時器的定時時長:定時時長t的單位為s, 為晶振頻率,單位是MHz。FFFF是定時/計數器的寄存器的最大計數值。MMLL表示寄存器中裝載的計數初始值。Val 的意思是將(FFFF-MMLL+1)的計算結果轉換成十進制。第21頁,共35頁,2022年,5月20日,2點29分,星

10、期二練習:設計模式1的計數初始值22設計一個方波發生器,要求從P1.0口輸出頻率f=2kHz的方波,即P1.0口輸出高、低電平持續時間分別為250s 。如何確定計數初始值?計數初始值為: THx=FF,TLx=06第22頁,共35頁,2022年,5月20日,2點29分,星期二方式1的應用23利用定時/計數器延時生成2KHz方波的程序(方式1)第23頁,共35頁,2022年,5月20日,2點29分,星期二定時/計數器的工作方式224模式2的特點是一個具有自動重新載入功能的8位定時器或計數器,定時/計數器的寄存器只由TLx充當。具有自動重新載入計數初始值的功能。第24頁,共35頁,2022年,5月

11、20日,2點29分,星期二方式2的特點25如:TLx和THx中都載入了計數初始值3FH,當Timer啟動后,只有TLx中的計數值會隨機器周期增加,直到Timer溢出后,標志位TFx=1,THx中的計數初始值被自動載入TLx中。這樣在新一輪的計數一開始,TLx中已經有了初始值3FH。第25頁,共35頁,2022年,5月20日,2點29分,星期二方式2的設置26例3:利用定時/計數器延時生成T=500s方波的程序(方式2 )第26頁,共35頁,2022年,5月20日,2點29分,星期二設計方式2的計數初始值27在方式2下定時/計數器作定時器的計數初始值只有8位,同時載入TLx和THx中。將定時時長

12、t除以 。用256減去步驟得到的數。用科學計算器把步驟中的得數轉換成十六進制形式TT。最后得計數初始值:THx=TLx=TT。假設某單片機系統的晶振頻率=12MHz,定時時長t=50s,根據以上步驟可以設計計數初始值:50s /1s=50256 50=206206(十進制)=CEH(十六進制)THx=CE,TLx=CE第27頁,共35頁,2022年,5月20日,2點29分,星期二定時/計數器的工作方式328方式3的特點只適用于T0,T1不具有方式3.TL0和TH0變成兩個獨立的8位定時/計數器的寄存器。T 0變成了兩個獨立的8位定時/計數器,但不具備自動重新裝載計數初始值的特性。以TL0為Ti

13、mer寄存器的Timer使用TMOD寄存器和TCON寄存器中原來與Timer 0有關的控制位和標志位,設置的方法與前面相同。而以TH0為Timer寄存器的Timer使用原來Timer 1的溢出標志位TF1和啟動/關閉控制位TR1,但不能用作計數器使用。第28頁,共35頁,2022年,5月20日,2點29分,星期二模式3的設置29第29頁,共35頁,2022年,5月20日,2點29分,星期二方式3的設置30利用定時/計數器延時生成T=300s、占空比=1/3方波的程序(方式3) 第30頁,共35頁,2022年,5月20日,2點29分,星期二設計方式3的計數初始值31在方式3下兩個獨立的定時/計數

14、器的寄存器只有8位,其計數初始值的計算方法相同。將定時時長t除以 。用256減去步驟得到的數。用科學計算器把步驟中的得數轉換成十六進制形式TT。最后得計數初始值:TH0或TL0=TT。假設某單片機系統的晶振頻率 =12MHz,定時時長t=150s,根據以上步驟可以設計計數初始值:150s /1s=150256 150=106106(十進制)=6AH(十六進制)TH0或TL0=6AH第31頁,共35頁,2022年,5月20日,2點29分,星期二計數器的應用32第32頁,共35頁,2022年,5月20日,2點29分,星期二計數器的設置33在Timer模式控制寄存器TMOD的C/Tx#位用于設置Timer用作定時器或計數器,當C/Tx#=1時,對應的Timer用作計數器。Timer 0和Timer 1可以被配置成兩個獨立的計數器,分別對輸入單片機T0端(14管腳)和T1端(15管腳)的脈沖進行計數。Timer作計數器使用時,Timer寄存

溫馨提示

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

評論

0/150

提交評論