




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
1、 特點:定時或計數(shù)時,都不占用CPU時間。除非定時/計數(shù)器溢出,才能夠中斷CPU的當前操作。定時/計數(shù)器任務方式由控制字TMOD、TCON來決議1. TMOD(89H)任務方式存放器 注: GATE決議對定時器的啟動控制 1外部INT選通 0內(nèi)選通 INT0、INT1引腳“1且TR0、TR1置1,那么啟動定時器。 只需TR0、TR1置1就啟動定時器。2. TCON88H控制和標志存放器SETB TR0SETB TR1TR0TR1TCON88H定時/計數(shù)器0 可以任務在方式 03定時/計數(shù)器1 可以任務在方式 02圖6-7 按13位加法計數(shù)器任務TL0TH0TF0 當加至TH0溢出,那么TF0置
2、位,并懇求中斷。8 51. 方式0M1 M0 0 0 GATE普通不用,但是當GATE0時,制止INTi。2. 方式1:16位 , 其他同方式0 。 初值=216t / 機器周期3. 方式2:8位 ,時間常數(shù)可以自動裝載 , 其他同方式0。 初始化時,TH0TL0,具有一樣的初值。 t = (28TH0初值機器周期 P,例6-2,方式2的運用。 C/ TSTART:MOVTMOD,#06H;設置T0為方式2,外部計數(shù)方式 MOV TH0,#0FFH;T0計數(shù)器初值255 MOV TL0,#0FFH SETB TR0;啟動T0計數(shù)LOOP1:JBCTF0,PTF01;查詢T0溢出標志,TF01轉(zhuǎn)
3、移,且TF0=0. SJMP LOOP1PTF01: CLRTR0;停頓計數(shù) MOV TMOD,#02H;設置T0為方式2,定時方式 MOV TH0,#06H;T0定時500us MOV TL0,#06H CLRP1.0;p1.0清0 SETB TR0;啟動定時500usLOOP2:JBCTF0,PTF02;查詢溢出標志,定時到TF01轉(zhuǎn)移,且TF0=0. SJMP LOOP2PTF02: SETB P1.0;P1.0置1 CLRTR0;停頓計數(shù) SJMP START 外部計數(shù)方式 定時方式 外部計數(shù)方式 定時方式P3.4P1.0500us500usP,例6-2方式3:僅對定時/計數(shù)器0有效
4、T0TH0+TL0 對定時/計數(shù)器1,停頓計數(shù)。 TH0占用T1的控制位TR1和中斷標志位TF1,僅能任務在定時方式,其啟動和封鎖僅受TR1的控制。定時/計數(shù)器1不能任務在方式3,假設要其任務在方式3,就會立刻停頓計數(shù),即堅持住原有的計數(shù)值。 TL0除僅用8位Reg外,其他同方式0、 1??扇蝿赵诙〞r或計數(shù)方式。 這時,TL0用原來T0的各控制位、引腳和中斷源:C/T, GATE, TR0, TF0和T0(P3.4)、INT0(P3.2)。 但T1仍可任務在方式 02。 這時:由于TR1、TF1被T0占用,僅用T1控制位C/T切換其定時器或計數(shù)器任務方式就可使T1任務。 計數(shù)器溢出時(13、
5、16或 8 bit時,只能將輸出送入串口或用于不需求中斷的場所。 當T1需求用作串行口波特率發(fā)生器時,T0才設置為任務方式3,這時,常將T1設置為任務方式2。 通常,寫入控制字的次序為: 1. 把任務方式控制字寫入TMOD 2. 把定時、計數(shù)初值裝入TLx、THxx0、1 3. 置位EA使CPU開放中斷 4. 置位ETx允許定時/計數(shù)器中斷需求時 5. 置位TRx以啟動計數(shù)定時/計數(shù)器的運用編程需留意能正確設置會計算時間常數(shù)TMODTCON 當任務于定時形狀時,由于定時/計數(shù)器是計數(shù)機器周期,每個機器周期包括12個振蕩周期,那么有: 1個機器周期 = 2us6MHz 或 = 1us12MHzu
6、 由于是加1計數(shù)器,所以當計數(shù)值為X時,裝入定時/計數(shù)器的初值應為 2nX: 方式0,n=13u 方式1,n=16u 方式2、3, n=8 SETB EA SETB ET0 SETB TR0 RET ORG 0120HIT0P: MOV TL0, #0CH MOV TH0, #0F0H CPL P1.0 RETI當 t 1ms 時,有:10002( 213初值 初值 21301100 B TH0TL01ms1ms1ms程序: 以中斷方式:ORG 0000H AJMP MAIN ;轉(zhuǎn)主程序 ORG 000BH ;到中斷效力程序 AJMP TOINT 設fo
7、sc6MHz, 可經(jīng)過定時/計數(shù)器定時1ms懇求中斷, 在中斷程序中讓 P1.0 輸出1 或 0實現(xiàn)。 當fosc6MHz時,振蕩周期1/6 us 機器周期121/6 us2us 所以,定時時間常數(shù)為:1ms/2us500。 方式0時計數(shù)器為13位, 計數(shù)常數(shù)21350076921E0CH 假設用方式1,計數(shù)器為16位,計數(shù)常數(shù)21650065036 FE0CHORG 0100HMAIN: MOV SP ,#60H MOV TMOD ,#00; MOV TL0,#0CH ;MOV TH0 ,#0F0H ;SETB EA ;CPU開中斷 SETB ET0 ;允許定時器0中斷SETB TR0 ;啟
8、動定時器0任務HERE : AJMP HERE ;或用 SJMP $ ORG 0200H ;中斷效力程序 TOINT : MOV TL0 , #0CH ;重新裝入時間常數(shù) MOV TH0 , #0F0H CPL P1.0 ;在P1.0腳得到方波 RETIMOV TM0D ,#01HMOV TL0 , #0CHMOV TH0 , #0FEH方式1方式0 以查詢方式 ORG 0000H AJMP MAIN ORG 2000HMAIN: MOV TMOD, #01 ;定時器0任務在方式1 MOV TL0 , #0CH MOV TH0, #0FEH SETB TR0 ;啟動定時器0任務LOOP: JN
9、B TF0 ,$ ;查詢TF0,假設計數(shù)器未溢出,原地等待 CLR TF0 CPL P1.0 ;得到方波 MOV TL0,#0CH MOV TH0,#0FEH ;裝入16位時間常數(shù) SJMP LOOP 用方式2做。定時時間為:t28TL0初值機器周期。 所以,僅當定時時間不超越tmax方可用方式2。 這時,TL0、TH0賦予一樣的值,一旦TL0溢出,置位TF0,并將TH0中的初值自動裝入TL0,繼續(xù)計數(shù),循環(huán)往復。MOV TL0 , #06H ; 送500usMOV TH0 , #06H ; 時間常數(shù)SETB EA ; CPU開中斷SETB ET0 ; 允許T0中斷SETB TR0 ; 啟動T
10、0計數(shù) SJMP $ ; 等待 例4:脈沖寬度的丈量TMOD中GATE =1的一個運用 當GATE=1時,假設TRX=1,只需INTX引腳輸入高電平常,TX才被允許計數(shù)。 利用GATE的這一功能,可測試INTX 引腳上正脈沖的寬度機器周期數(shù)。其方法如下圖:對T0初始化編程GATE=1.T0從0開場計數(shù) T0停頓計數(shù) 讀T0的值。XINTX程序: ORG 4000H ; T0 初始化MOV TMOD,#09H ; T0任務于方式1, 定時, GATE=1MOV TL0 , # 00HMOV TH0 , # 00H ; 置最大時間常數(shù)JNB P3.2 , $ ; P3.2低電平,原地不動SETB
11、TR0 ; P3.2高,設置TR0JB P3.2 ,$ ; P3.2高,原地不動CLR TR0 ; P3.2低,清TR0 ,讀TL0, TH0MOV A , TL0MOV B , TH0 設晶振頻率為6MHZ,程序如下: ORG 0000H AJMP MAIN ;轉(zhuǎn)主程序 ORG 000BH ;T0中斷首地址 MOV TL0 , #131 ;TL0裝入時間常數(shù)(256-125) CPL P1.1 ;P1.1口得到方波 RETI ORG 001BH ;T1中斷處置程序首地址 MOV TH0 , #06H ;TH0裝入時間常數(shù)(256-250) CPL P1.2 ;P1.2口得到方波 RETIMA
12、IN: MOV TMOD , #03H ;T0任務于方式3、定時 MOV TL0 , #131MOV TH0 , #06H ;送時間常數(shù)SETB EA ;CPU開中斷SETB ET0 ;允許中斷 SETB ET1 SETB TR0 ;啟動定時 SETB TR1SJMP $ ;等待 時鐘 6MHZ 時, 20ms/2us10000,時間常數(shù): 65536-10000=555365V300P1.7P1.0P3.5CTC0定時CTC1計數(shù)40ms定時器0 :方式1,定時定時器1 :方式2,計數(shù)5個u 使T0任務在方式3,此時,TL0、TH0為兩個獨立的8位計數(shù)器 TH0 僅可用于定時,且占據(jù)了T1的
13、TR1和TF1。 TL0 可任務在定時或計數(shù)方式,運用原T0的各控制位、引腳和中斷源。 這時,T1可任務在方式 02,僅用C/T即可切換其運轉(zhuǎn)在定時或計數(shù)任務方式此題中要求T1用于串行口波特率發(fā)生器。11100100TMOD10101010TCON設置INT0INT1 懇求中斷啟動T0、T1 MOV TMOD,#27H ;T0為方式3,T1為方式2, MOV TL0,#0FFH;置TL0計數(shù)初值。 MOV TH0,#156;置TH0計數(shù)初值 (定時100us)MOV TH1,#data;data是根據(jù)波特率要求設;置的常數(shù)即初值MOV TL1,#dataMOV TCON,#55H;外中斷0,外
14、中斷1邊沿觸;發(fā),啟動T0,T1MOV IE , #9FH;開放全部中斷TL0INT: MOV TL0,#0FFH;TL0重賦初值RETITH0INT:MOV TH0,#156;TH0重賦初值CPL P1.0;P1.0取反輸出RETI程序:程序:源程序: ORG0000HAJMP MAIN;上電,轉(zhuǎn)向主程序ORG001BH;T1的中斷入口地址AJMP SERVE;轉(zhuǎn)向中斷效力程序MAIN:MOV TMOD,#10H ;設T1任務于方式1MOV 20H,#0AH;裝入中斷次數(shù)CLRAMOV 30H,A;時單元清0MOV 31H,A;分單元清0MOV 32H,A;秒單元清0SETB ET1;允許T1中斷SETB EA;允許CPU中斷MOV TH1,#3CHMOV TL1,#0B0H ;賦計數(shù)初值SETB TR1;啟動定時器T1SJMP $;等待中斷(可反復調(diào)用顯示SERVE:PUSH PSWPUSH ACC;維護現(xiàn)場MOV TH0,#3CHMOV TL0,#0B0H ;重新賦計數(shù)初值DJNZ 20H,RETUNT;1s未到,前往MOV 20H,#0AH;重置中斷次數(shù)MOV A,#01HADDA,32H;秒位加1DAAMOV 32H,A;轉(zhuǎn)換為BCD碼CJNE A,#60H,RETURN;未滿60秒,前往 MOV 32H,#00H;記滿60秒,秒
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 江蘇省連云港市海州區(qū)2024-2025學年七年級上學期期末生物學試題(含答案)
- 水處理技術開發(fā)合同
- 人工智能金融風險評估與控制手冊
- 生物學基因工程研究熱點練習題集編選
- 股份制公司運營指南
- 航空模型制造安全責任協(xié)議
- 高分子化學材料性質(zhì)題庫
- 語言學語言應用知識問答
- 高中英語閱讀技巧課:如何快速找到文章主旨與細節(jié)教案
- 餐飲行業(yè)市場份額分析表
- 肛腸疾病的預防與保健
- 項目一-旅游概述-(旅游概論課件完美版)
- 情感體驗量表DESⅡ-附帶計分解釋
- JGJ406T-2017預應力混凝土管樁技術標準附條文
- 【新零售百貨銷售模式分析-以三福百貨為例9000字(論文)】
- 06-2018泥石流災害防治工程勘查規(guī)范(試行)
- 黑鯛淡水養(yǎng)殖技術
- 焊工培訓-焊接基礎知識-課件
- 剪映電腦版使用說明教程
- 2022北京東城初一(下)期末語文(試題含答案解析)
- 2023年高中音樂課件21崢嶸歲月
評論
0/150
提交評論