版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
定時器計數器第1頁,課件共32頁,創(chuàng)作于2023年2月
第7章定時器/計數器第2頁,課件共32頁,創(chuàng)作于2023年2月7.1定時器/計數器的功能和結構7.2定時器/計數器的工作原理7.3定時器/計數器的工作方式7.4定時器/計數器的編程本章要點:第7章定時器/計數器第3頁,課件共32頁,創(chuàng)作于2023年2月7.1定時器/計數器的功能和結構7.1.1定時器/計數器的功能7.1.2定時器/計數器的結構第7章定時器/計數器第4頁,課件共32頁,創(chuàng)作于2023年2月7.1.2定時器/計數器的結構第7章定時器/計數器第5頁,課件共32頁,創(chuàng)作于2023年2月7.2定時器/計數器的工作原理第7章定時器/計數器第6頁,課件共32頁,創(chuàng)作于2023年2月7.3定時器/計數器的工作方式7.3.1工作方式寄存器-TMOD第7章定時器/計數器第7頁,課件共32頁,創(chuàng)作于2023年2月(1)GATE:門控位,實現選通控制GATE=0時,只需用軟件使TR0(或TR1)置1就可以啟動定時器,而不管INT0(或INT1)的電平是高電平還是低電平;GATE=1時,只有在INT0(或INT1)引腳為高電平,而且TR0(或TR1)置1時,才能啟動定時器工作.(2)C/T:計數/定時方式選擇位C/T=0,設置為定時方式,定時器計數單片機內部計數脈沖;當C/T=1,設置為計數功能,計數器對來自T0(P3.4)或T1(P3.5)端的外部脈沖計數。7.3.1工作方式寄存器-TMOD第7章定時器/計數器第8頁,課件共32頁,創(chuàng)作于2023年2月(3)M1M0:這兩位指定定時器/計數器的工作方式,可形成四種編碼M1M0工作方式功能說明00方式013位計數器01方式116位計數器10方式2自動再裝入8位計數器11方式3定時器0:分成兩個8位計數器7.3.1工作方式寄存器-TMOD第7章定時器/計數器第9頁,課件共32頁,創(chuàng)作于2023年2月1.方式07.3.2定時器/計數器工作方式第7章定時器/計數器第10頁,課件共32頁,創(chuàng)作于2023年2月2.方式17.3.2定時器/計數器工作方式第7章定時器/計數器第11頁,課件共32頁,創(chuàng)作于2023年2月3.方式27.3.2定時器/計數器工作方式第7章定時器/計數器第12頁,課件共32頁,創(chuàng)作于2023年2月4.方式37.3.2定時器/計數器工作方式第7章定時器/計數器第13頁,課件共32頁,創(chuàng)作于2023年2月7.3.4計數初值的計算由于定時器/計數器以加1方式計數,假設計數值為x,則應裝入定時器/計數器的初值為:(n為不同方式下計數器的位數)第7章定時器/計數器第14頁,課件共32頁,創(chuàng)作于2023年2月每個機器周期包括12個振蕩周期,若晶振頻率為6MHz,一個機器周期:計數個數為:其中Tp為機器周期則應裝入的計數初值為:【例】要求定時為1mS,晶振頻率12MHz。7.3.4計數初值的計算第7章定時器/計數器第15頁,課件共32頁,創(chuàng)作于2023年2月應注意以下兩點:
(1)正確編制定時器/計數器的初始化程序包括定義TMOD、寫入定時初值、設置中斷系統(tǒng)和啟動定時器/計數器運行等。
(2)正確編制定時器/計數器中斷服務程序注意是否需要重裝定時初值,若需要連續(xù)反復使用原定時時間,且未工作在方式2,則應在中斷服務程序中重裝定時初值。7.4定時器/計數器的編程第7章定時器/計數器第16頁,課件共32頁,創(chuàng)作于2023年2月7.4.1定時器應用實例【例7-2】使用定時器/計數器T0的方式0,設定1ms的定時。在P1.0引腳上產生周期為2ms的方波輸出。晶體振蕩器的頻率為fosc=6MHz。
解:(1)定時常數計算
振蕩器頻率為fosc=6MHz=6×106HZ,方式0計數器長度n=13,2n=213=8192
定時時間:t=1ms=1×10-3s
機器周期:Tp=12/6×106=2us
計數值:x=Tc/Tp=1ms/2us=500
那么應裝入的初值為8192-500=7692
定時常數TC轉換成二進制數TCB=1111000001100B。
所以TCH=1EH,TCL=0CH。那么應該寫入T0的形式為TH0=1EH,TL0=0CH。第7章定時器/計數器第17頁,課件共32頁,創(chuàng)作于2023年2月(2)TMOD的設定(即控制字)7.4.1定時器應用實例第7章定時器/計數器第18頁,課件共32頁,創(chuàng)作于2023年2月(3)編程 ORG 0000H
AJMP MAIN;轉到主程序
ORG 000BH ;T0中斷矢量地址
AJMP INQP;轉到中斷服務程序
ORG 0050H
MAIN: MOV TMOD,#00H;設置T0為方式0定時
MOV TH0,#1EH;裝入T0的定時常數
MOV TL0,#0CH
SETB TR0;啟動T0
SETB ET0;允許T0中斷
SETB EA;CPU開中斷
SJMP $;等待T0中斷發(fā)生
ORG 0100H ;中斷服務程序
INQP: MOV TH0,#1EH ;重裝定時常數
MOV TL0,#0CH
CPL P1.0 ;P1.0變反輸出
RETI ;中斷返回第7章定時器/計數器第19頁,課件共32頁,創(chuàng)作于2023年2月7.4.2計數器應用實例【例7-3】試設定定時器/計數器T0為計數方式2。當T0引腳出現負跳變時,向CPU申請中斷。解:(1)定數常數計算當T0引腳出現負跳變時,即向CPU申請中斷,意思是說當計數器計數到28時就會溢出,設計數初值為X,再計數一次計數器就溢出,用公式表示為X+1=28,所以X=28-1=255=11111111B=0FFH,故此時的定數常數應為TCB=0FFH。第7章定時器/計數器第20頁,課件共32頁,創(chuàng)作于2023年2月(2)TMOD的設定(即控制字)
7.4.2計數器應用實例第7章定時器/計數器第21頁,課件共32頁,創(chuàng)作于2023年2月(3)編程 ORG 0000H AJMP MAIN ;轉到主程序 ORG 000BH ;T0的中斷入口 AJMP INTS ;轉到中斷服務程序
ORG 0100H ;主程序入口地址MAIN: MOV SP,#60H ;設棧指針
MOV TMOD,#06H ;設T0為計數方式2 MOV TL0,#0FFH ;設TL0初值
MOV TH0,#0FFH ;設TH0初值
SETB TR0 ;啟動計數
SETB ET0 ;允許T0中斷
SETB EA ;中斷開放
SJMP $;等待T0中斷發(fā)生;中斷處理程序INTS: PUSH A;現場保護,把寄存器A中的值壓入堆棧中
PUSH DPL;把數據指針的低位DPL中的值壓入堆棧中
PUSH DPH;把數據指針的高位DPH中的值壓入堆棧中 ;現場恢復POP DPH;把數據指針的高位DPH中的值從堆棧中取出POP DPL;把數據指針的低位DPL中的值從堆棧中取出
POP A;把寄存器A中的值從堆棧中取出
RETI第7章定時器/計數器第22頁,課件共32頁,創(chuàng)作于2023年2月【實例7-1】已知晶振12MHZ,參見圖7-9,要求利用定時器T0使圖中發(fā)光二極管D進行秒閃爍。
解析:發(fā)光二極管進行秒閃爍。即一秒鐘一亮一暗,亮500ms,暗500ms。晶振12MHz,一個機器周期是1μs,T0方式1最大定時只能65ms多(注:216=65536)。取T0定時50ms,計數10次,即可實現500ms定時。(1)計算定時初值T0初值=216-50000μs/1μs=65536–50000=15536=3CB0HTH0=3CH;TL0=B0H7.5
實例解析第7章定時器/計數器第23頁,課件共32頁,創(chuàng)作于2023年2月(2)設置TMOD0000
0
0
01B=01H
T0方式T0與INT0無關T1控制位
(3)編程ORG 0000H ;復位地址 LJMP MAIN ;轉入主程序 ORG 000BH ;T0中斷入口地址 LJMP IT0 ;轉入T0中斷服務程序 ORG 0100H ;主程序首地址MAIN: MOV TMOD,#01H ;設置T0為工作方式1 MOV TH0,#3CH ;裝入定時常數 MOV TL0,#0B0H MOV IE,#10000010B ;T0開中斷 MOV R7,#0AH ;設置循環(huán)次數為10次 SETB TR0 ;T0運行 SJMP $ ;等待中斷第7章定時器/計數器第24頁,課件共32頁,創(chuàng)作于2023年2月;中斷服務程序:ORG000BHITO:MOVTL0,#0B0H;重新裝入時間常數 MOVTH0,#3CHDJNZR7,LOOP;循環(huán)10次CLRTR0;500ms定時到了,停止T0工作LOOP:RETI;中斷返回END;程序結束7.5
實例解析第7章定時器/計數器第25頁,課件共32頁,創(chuàng)作于2023年2月【實例7-2】利用定時器/計數器,測定如圖所示波形的一個周期長度。7.5
實例解析第7章定時器/計數器第26頁,課件共32頁,創(chuàng)作于2023年2月解析:這里利用門控位GATE啟動定時器的方法。設如圖示定時器/計數器T0為定時器,為高電平時,啟動定時器;定時器/計數器T1為計數器,T1的電平由1到0,計數器計數。(1)定時器設置當每秒脈沖數低于3個時,每個脈沖周期330ms左右,故而設置定時器的基本定時為100ms,可以滿足測時的精度要求。因此,采用門控方式,觸發(fā)啟動定時器;采用方式1,16位計數器。7.5
實例解析第7章定時器/計數器第27頁,課件共32頁,創(chuàng)作于2023年2月定時器T0的TMOD的設置:控制字為9H時間常數計算:晶體振蕩器為6MHz,基本定時時間為100ms,機器周期Tc為
設置初值為x:x=216-50000=15536=3CB0H預置:(TH0)=3CH,(TL0)=0B0HGATEM1M01001
7.5
實例解析第7章定時器/計數器第28頁,課件共32頁,創(chuàng)作于2023年2月(2)計數器設置定時器/計數器T1為計數器。計數值為2,當計數1時,啟動定時器;當計數2時,中斷計數器T1,并停止定時器T0的定時;中斷方式,其優(yōu)先級高于定時器T0。計數器T1的TMOD的設置:控制字為5H。計數器初值為:FFFEH,預置:(TH1)=0FFH,(TL0)=0FEH。GATEM1M001017.5
實例解析第7章定時器/計數器第29頁,課件共32頁,創(chuàng)作于2023年2月(3)編程 ORG 0000H AJMP MAIN ORG 000BH ;T0的中斷入口 AJMP TIME0;轉入中斷程序 ORG 001BH;T1的中斷入口 AJMP TIME1 ;轉入中斷程序 ORG 0033HMAIN: MOV SP,#60H ;設置堆棧指針初值 MOV R3,#0 ;清除軟件計數器 SETB P3.2;將P3.2,P3.5置1,即為輸入狀態(tài)
SETB P3.5 MOV TMOD,#59H MOV TH0,#3CH ;裝入定時器初值
MOV TL0,#0B0H MOV TH1,#0FFH ;裝入計數器初值
MOV TL1,#0FEH SETB TR0 ;啟動定時器、計數器
第7章定時器/計數器第30頁,課件共32頁,創(chuàng)作于2023年2月 SETBTR1 MOV IP,#08H ;T0中斷優(yōu)先于T1 SETB ET1 ;允許T1中斷 SETB TF1 ;設TF0、TF1為中斷標志LOOP:SETB TF0 SETB ET0
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 高考物理總復習專題三牛頓運動定律第3講牛頓運動定律的應用練習含答案
- 高中語文 第六單元 一 兼 愛教案 新人教版選修《先秦諸子選讀》
- 2024年五年級數學下冊 七 包裝盒-長方體和正方體 我學會了嗎教案 青島版六三制
- 高中化學新教材同步教案選擇性必修第一冊第2章第2節(jié)第2課時化學平衡常數
- 2024-2025年高中化學 專題2 第2單元 第3課時 化學平衡常數教案 蘇教版選修4
- 2023九年級語文上冊 第一單元 1 沁園春 雪說課稿 新人教版
- 2024年秋七年級生物上冊 3.2 生物體教案2 北京課改版
- 怎樣成為一個行業(yè)的專家
- 柴油發(fā)電機房管理制
- 籽兒吐吐 課件
- 初中心理健康教育課件《做一個有責任的人》
- 《耳針療法》課件
- 掘進機維修培訓課件
- 玻璃制造中的能源消耗與節(jié)能技術研究
- 2024年羽毛球項目建設方案
- 年度銷售額增長分析
- 物業(yè)管理職業(yè)生涯規(guī)劃書
- 針灸教學演示課件
- 慢性傷口護理健康宣教課件
- 《青蛙弗洛格的成長故事》閱讀測試題
- 日產軒逸說明書
評論
0/150
提交評論