




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
14.2定時器/計數(shù)器定時的實現(xiàn)方式:1.軟件定時;2.不可編程硬件定時;3.可編程定時。2
定時/計數(shù)器的核心部件是二進制加1計數(shù)器(TH0、TL0或TH1、TL1)。4.2.1定時/計數(shù)器的定時和計數(shù)功能
1.定時功能——計數(shù)脈沖信號是內(nèi)部時鐘脈沖,每個機器周期使寄存器的值加1。所以,計數(shù)頻率是振蕩頻率的1/12。
2.計數(shù)功能——計數(shù)脈沖來自相應(yīng)的外部輸入引腳,T0為P3.4,T1為P3.5。需要2個機器周期。
在TMOD中,各有一個控制位(),分別用于控制定時/計數(shù)器T0和T1是工作在定時器方式還是計數(shù)器方式。3與定時器/計數(shù)器有關(guān)的控制寄存器有:D7D6D5D4D3D2D1D0TF1TR1TF0TR0IE1IT1IE0IT0中斷請求標志外部中斷觸發(fā)方式選擇啟動定時/計數(shù)器0低電平1下降沿0停止1啟動定時溢出標志4.2.2定時器/計數(shù)器的控制寄存器
1.定時器控制寄存器TCON(字節(jié)地址88H)42.工作方式控制寄存器TMOD(89H)
T1控制T0控制M0M1C/TGATEM0M1C/TGATED0D1D2D3D4D5D6D7GATE—門控位C/T—計數(shù)/定時選擇M1M0—工作方式選擇54.2.3.定時器/計數(shù)器的工作方式
共有四種工作方式
(1)方式0—13位方式TF0T0TR0GATEINT0振蕩器1/12C/T=01≥1&C/T=1TL0TH08位低5位13位計數(shù)器定時器計數(shù)器申請中斷M0M1C/TGATEM0M1C/TGATED0D1D2D3D4D5D6D7●●AB計數(shù)脈沖輸入6(2)方式1—16位方式
振蕩器1/121≥1&T0TR0GATEINT0C/T=0C/T=1TL0TH0TF08位8位16位計數(shù)器申請中斷M0M1C/TGATEM0M1C/TGATED0D1D2D3D4D5D6D77(3)方式2—8位可自動重裝入時間常數(shù)方式
振蕩器1/121≥1&T0TR0GATEINT0C/T=0C/T=1TF0TL0TH08位計數(shù)器申請中斷M0M1C/TGATEM0M1C/TGATED0D1D2D3D4D5D6D78(4)方式3—T0為2個8位方式,T1工作方式為0、1、2振蕩器1/121≥1&T0TR0GATEINT0C/T=0C/T=1TL0TF08位計數(shù)/定時器振蕩器1/12TR1TH0TF18位定時器申請中斷申請中斷工作方式:8位計數(shù)/定時工作方式:8位定時9振蕩器1/12T1C/T=0C/T=113或16位計數(shù)器串行口振蕩器1/12T1C/T=0C/T=1TL1TH18位計數(shù)器串行口TL1TH1T1方式0,1T1方式2串行口得到的波特率是固定的!串行口得到的波特率可編程的!104.2.4應(yīng)用舉例②
計算計數(shù)器的計數(shù)初值:編程時將計數(shù)初值送
THi、TLi;可編程器件在使用前需要進行初始化:①
確定TMOD控制字:編程時將控制字送TMOD;③
開中斷(如果使用中斷方式):編程時置位EA、ETi;④
TRi位置位控制定時器的啟動和停止。M0M1C/TGATEM0M1C/TGATED0D1D2D3D4D5D6D7IT0IE0IT1IE1TR0TF0TR1TF1TMODTCON11例題1:設(shè)晶振頻率fOSC=6MHz,使用定時器/計數(shù)器T0以方式0產(chǎn)生周期為2ms的方波脈沖,并由P1.0輸出。試以中斷方式實現(xiàn)。8051P1.02ms匯編語言編程12①TMOD確定0000XXXXM0M1C/TGATEM0M1C/TGATE控制字00H
要產(chǎn)生2ms的方波脈沖,只需在P1.0端以1ms為間隔,交替輸出高低電平即可實現(xiàn)。為此,定時間應(yīng)為1ms。使用6MHz晶振,則一個機器周期為2us,設(shè)待求計數(shù)初值為X,則:②計算計數(shù)器的計數(shù)初值;T1控制T0控制131000×10-6
=(213-X)×2×10-6
即
500=213-XX=213-500=2000H-1F4H=1E0CH=1111000001100B所以,初值為:
TH0=0F0H,TL0=0CH14程序設(shè)計 ORG 0000H LJMP MAIN;主程序入口
ORG 000BH LJMP INTT0 ;T0中斷入口③采用中斷方式:編程時打開全局和局部中斷。④由定時器控制寄存器TCON中的TR0位控制定時器的啟動和停止。
TR0=1,啟動;TR0=0,停止。15INTT0: MOV TH0,#0F0H ;重新設(shè)置初值
MOV TL0,#0CH CPL P1.0
;輸出取反
RETI ORG 0030HMAIN: MOV TMOD,#00H ;T0為方式0 MOV TH0,#0F0H ;初值
MOV TL0,#0CH SETB TR0 ;啟動T0 SETB ET0 ;允許T0中斷
SETB EA ;允許中斷
SJMP $ ;等待中斷主程序:中斷處理程序:16例題2:設(shè)晶振頻率fOSC=6MHz,使用定時器/計數(shù)器T1以方式1產(chǎn)生周期為2ms的方波脈沖,并由P1.0輸出。試以中斷方式實現(xiàn)。8051P1.02ms17①TMOD確定XXXX1000M0M1C/TGATEM0M1C/TGATE控制字10H
要產(chǎn)生2ms
的方波脈沖,只需在P1.0端以1ms為間隔,交替輸出高低電平即可實現(xiàn)。為此,定時間應(yīng)為1ms。使用6MHz晶振,則一個機器周期為2us,設(shè)待求計數(shù)初值為X,則:②計算計數(shù)器的計數(shù)初值;T1控制T0控制181000×10-6=(216-X)×2×10-6
即
500=216-XX=216-500=10000H-1F4H=0FE0CH=1111111000001100B所以,初值為:
TH1=0FEH,TL1=0CH19程序設(shè)計 ORG 0000H LJMP MAIN;主程序入口
ORG 001BH LJMP INTT1;T1中斷入口③采用中斷方式:編程時打開全局和局部中斷。④由定時器控制寄存器TCON中的TR1位控制定時器的啟動和停止。
TR1=1,啟動;TR1=0,停止。20INTT1: MOV TH1,#0FEH ;重新設(shè)置初值
MOV TL1,#0CH CPL P1.0
;輸出取反
RETI ORG 0030HMAIN: MOV TMOD,#10H ;T1為方式1 MOV TH1,#0FEH ;初值
MOV TL1,#0CH SETB TR1 ;啟動T1 SETB ET1 ;允許T1中斷
SETB EA ;允許中斷
SJMP $ ;等待中斷主程序:中斷處理程序:21例題3:設(shè)晶振頻率fOSC=6MHz,使用定時器/計數(shù)器測定如圖所示波形的一個周期長度。1外部計數(shù)脈沖INT0(P3.2)(P3.5)T1INT0一個周期啟動定時器T1計數(shù)器計數(shù)22C語言編程(以定時器0為例)
例題4:設(shè)單片機的fosc=12MHz,要求在P1.0腳上輸出周期為2ms的方波。
周期為2ms的方波要求定時間隔為1ms,每次定時時間到,則P1.0取反。由于fosc=12MHz,機器周期為12/fosc=1us。1ms=1000us,即為1000個機器周期。
①用定時器T0的方式1編程,采用查詢方式。#include<reg51.h>sbitsquare_wave=P1^0;voidmain(void)23{ TMOD=0x01; /*T0的方式1*/ TR0=1; /*啟動定時器T0*/ while(1) { /*裝計數(shù)器初值*/ TH0=(unsignedint)(-1000)/256; TL0=(unsignedint)(-1000)%256; while(!TF0) /*查詢等待TF0位*/
{ ; }
/*查詢時間到,P1.0變反*/
square_wave=!square_wave; TF0=0; /*軟件清除TF0位*/ }}24②用定時器T0的方式1編程,采用中斷方式。#include<reg51.h>sbitsquare_wave=P1^0;/*定時器T0的中斷服務(wù)程序*/voidtimer0(void)interrupt1using1{
/*P1.0取反*/
square_wave=!square_wave; /*計數(shù)器初值重裝*/ TH0=(unsignedint)(-1000)/256; TL0=(unsignedint)(-1000)%256;}25voidmain(void){ TMOD=0x01; /*T0的方式1*/ square_wave=0; TH0=(unsignedint)-1000/256;/*裝計數(shù)器初值*/ TL0=(unsignedint)-1000%256; EA=1; /*開中斷*/ ET0=1; /*T0中斷允許*/ TR0=1; /*啟動T0*/ while(1) { ; }}264.2.5定時/計數(shù)器用作外部中斷擴展③擴展的外部中斷請求信號接計數(shù)脈沖輸入端(T0
或T1);②TH和TL均置為FFH;①置定時/計數(shù)器為工作方式2,即自動加載式8位計數(shù),以便在一次中斷響應(yīng)后,自動為下一次中斷作準備;
在計數(shù)方式下,如果把計數(shù)器預(yù)置為全1,則只要在計數(shù)輸入端(T0或T1輸入端)加一脈沖就可以使計數(shù)器溢出,產(chǎn)生溢出中斷。這就是定時/計數(shù)器實現(xiàn)外部中斷擴展的思想。具體方法是:27例:以T0實現(xiàn)一個外
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 三基康復(fù)考試題庫及答案2025年新版
- 2025年國家助學貸款答題考試答案
- 2025年護理倫理與法律基礎(chǔ)考試卷及答案
- 2025年全國高壓電工操作證理論考試題庫(含答案)
- 2025年公職人員考試時事政治熱點題庫及完整答案(歷年真題)
- DB31T 910-2025區(qū)域雷擊風險評估技術(shù)規(guī)范
- 《垂釣》閱讀答案
- 供應(yīng)商資質(zhì)評審及管理辦法
- 商業(yè)鋪面出租合同樣本合集
- 智能家居產(chǎn)品售后維護標準
- 消費者畫像分析報告2025年寵物用品行業(yè)消費者行為研究
- 2025山東菏澤魯西新區(qū)招聘城市社區(qū)工作者招聘80人筆試參考題庫附答案解析
- 市容安全培訓(xùn)課件
- 2025中國人民財產(chǎn)保險股份有限公司民樂支公司招聘14人筆試參考題庫附帶答案詳解
- 2025扶梯裝潢服務(wù)合同范本大全
- 肺癌分子病理診斷的解讀
- 2025年招標采購從業(yè)人員考試(招標采購專業(yè)實務(wù)初級)在線復(fù)習題庫及答案
- 2025云南紅河紅家眾服經(jīng)營管理有限公司社會招聘工作人員8人筆試參考題庫附帶答案詳解
- 鐵路相關(guān)課件
- 中國工商銀行2026年度校園招聘考試參考題庫及答案解析
- 日語五十音圖課件
評論
0/150
提交評論