单片机的定时器课件.pptx
定時器/計數器介紹;MAIN: MOV P1,#0FFH
LCALL DELAY
MOV P1,#00H
LCALL DELAY
LJMP MAIN
DELAY:MOV R7,#250
D1: MOVR6,#250
D2: DJNZ R6,D2
DJNZ R7,D1
RET
END
;這段程式和前面做過的程式比較,只有兩處不一樣:
第1:原來是SETBP1.0,現在改為MOVP1,#0FFH,第2:原來是CLRP1.0,現在改為MOVP1.0,#00H。
從中可以看出,P1是P1.0…7的全體的代表,一個P1就表示了所有的這八個管腳了。當然用的指令也不一樣了,是用MOV指令。為什麼用這條指令?
我們把P1作為一個整體,就把它當作是一個記憶體的單元,對一個單元送進一個數可以用MOV指令。;13.3加法定時器/計數器;13.4方式寄存器TMOD;
13.5TCON控制寄存器
;;;;0工作方式:
1、由TL的低5位與TH高8位構成13位T/C;
可用程式將0~8191的某一數據送入TL、TH作為初始值,加法器溢出後,必須重新對TL/TH賦初始值。
2、作為計數器時,外部計數脈衝的頻率小於1/24fosc並且高、低電平的寬度大於一個機器週期;
3、定時時間由T=(8192-X)Tcy決定,計數值由C=(8192-X)決定;;預置值計算:用最大計數量減去需要的計數次數即可。
;13.8例子;例2若GATE=1,此時僅當TR=1並且P3.2或P3.3=1,T/C才能工作。利用此特點可用來測量P3.3或P3.2引腳上出現的正脈衝寬度。;;例3假設單片機晶振的頻率Fosc為6MHz,使用定時器1以方式0產生週期為500微妙的等寬正方波脈衝,並由P1.0輸出。以查詢方式完成。;分析;3)TCON中的TR1啟動或停止;程式;;例4定時/計數器的應用;當fosc為6MHz時,Tcy=2us則各工作方式的最大的定時時間為:
8位:2的8次方×2=512us;
13位:T=16.384ms
16位:T=131.072ms;;;定時/計數初始值的計算與裝入