日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]8051定時器/計數(shù)器介紹:8051有兩個定時器/計數(shù)器,而8052則有三個定時器/計數(shù)器。定時器、計數(shù)器本質(zhì)都是一樣的,定時器通過對內(nèi)部脈沖進(jìn)行計數(shù)來達(dá)到計時的目的,而計數(shù)器是對外部輸入脈沖進(jìn)行計數(shù),所以它們的本質(zhì)

8051定時器/計數(shù)器介紹:
8051有兩個定時器/計數(shù)器,而8052則有三個定時器/計數(shù)器。定時器、計數(shù)器本質(zhì)都是一樣的,定時器通過對內(nèi)部脈沖進(jìn)行計數(shù)來達(dá)到計時的目的,而計數(shù)器是對外部輸入脈沖進(jìn)行計數(shù),所以它們的本質(zhì)都是一樣的。

定時器/計數(shù)器的工作模式:
定時器/計數(shù)器0有四種工作模式,而定時器/計數(shù)器1只有三種工作模式,工作模式由TMOD寄存器的M1和M0位控制。

M1M0工作模式00013位定時器/計數(shù)器。01116位定時器/計數(shù)器。1028位自動重裝定時器/計數(shù)器。113模式3只能用于定時器/計數(shù)器0,T0被分為兩個8位定時器/計數(shù)器,TL0可以作為定時器/計數(shù)器來使用,由T0的控制位來控制,而TH0只能用于計數(shù)器,有T1的控制位來控制。GATEGATE為0時,由TRx(軟件控制)來控制定時器/計數(shù)器的啟動和停止,當(dāng)GATE為1時,定時器/計數(shù)器的啟動由TRx和引腳INTx共同來控制(硬件來控制,僅當(dāng)TRx=1并且引腳INTx輸入高電平時才工作)。C/T定時器/計數(shù)器選擇位,0工作在定時器模式,1工作在計數(shù)器模式。TCON寄存器:TFx定時器/計數(shù)器溢出標(biāo)志位,當(dāng)定時器/計數(shù)器計數(shù)溢出時,由硬件自動置1,在編寫程序時可以通過檢測該位來判斷是否達(dá)到定時時間,需要通過軟件來清零。工作在中斷方式下不需要清零,因為在執(zhí)行中斷服務(wù)程序時會自動給我們清零。TRx定時器/計數(shù)器運行控制位。IE寄存器:ETx定時器/計數(shù)器中斷使能位。EA全局中斷使能位。


THx、TLx初值計算:
假設(shè)8051外接12MHz的晶振,由于8051的機(jī)器周期是時鐘周期的12分頻,所以8051的機(jī)器周期為1MHz,那么計數(shù)一次的時間剛好為1us,如果定時器工作在模式0下,那么可以最長計時為8192us,工作模式1可以最長計時為65536us。那么假設(shè)8051工作在模式1下,定時1ms,那么THx、TLx的初值應(yīng)該為多少呢?如果定時1ms,也就意味著需要計數(shù)1000次,那么初值就應(yīng)該為65536-1000=64536,也就是THx=0xFC,TLx=0x18。
根據(jù)上面可以總結(jié)出如下公式:
定時時間=(最大計數(shù)值-計數(shù)器初值)*機(jī)器周期=(最大計數(shù)值-計數(shù)器初值)*(12000000/晶振頻率(Hz))(us);
計數(shù)器初值=(最大計數(shù)值-定時時間*(晶振頻率(Hz)/12000000));
套用這個公式,初值=(65536-1000*(12000000/12000000))=64536=0xFC18,那么TH就應(yīng)該為0xFC,TL為0x18。

整個程序如下:

/*timer.c*/

#include

#defineOSC_FREQ12000000UL

#defineTIMER_MODE00x00

#defineTIMER_MODE10x01

#defineTIMER_MODE20x02

#defineTIMER_MODE30x03

voidtimer0_init(void)

{

TMOD&=0xF0;

TMOD|=TIMER_MODE1;/*Timer0workon16-bittimermode*/

TH0=(65536-1000*(OSC_FREQ/12000000))>>8;

TL0=(65536-1000*(OSC_FREQ/12000000))&0x00FF;

TR0=1;/*Turnontimer0*/

}

voiddelayms(unsignedintn)

{

while(n--){

while(!TF0);

TF0=0;

TH0=(65536-1000*(OSC_FREQ/12000000))>>8;

TL0=(65536-1000*(OSC_FREQ/12000000))&0x00FF;

}

}


/*timer.h*/

#ifndef__TIMER_H

#define__TIMER_H

externvoidtimer0_init(void);

externvoiddelayms(unsignedintn);

#endif/*__TIMER_H*/


/*main.c*/

#include

#include"timer.h"

#defineled1P2_0

voidmain(void)

{

timer0_init();

while(1){

led1=0;

delayms(1000);

led1=1;

delayms(1000);

}

}


本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

單片機(jī)定時器通過晶振頻率來產(chǎn)生精準(zhǔn)的計數(shù)脈沖,從而實現(xiàn)微秒級別的時間控制。 單片機(jī)定時器依托于一個穩(wěn)定的計數(shù)器,該計數(shù)器與單片機(jī)上的晶振部件相連。晶振經(jīng)過12分頻后,為單片機(jī)提供穩(wěn)定且精準(zhǔn)的1MHZ脈沖。由于晶振的頻率極...

關(guān)鍵字: 單片機(jī) 定時器

編碼器?是一種傳感器,主要用于測量旋轉(zhuǎn)運動的角度、角速度和位移等參數(shù)。常見的編碼器類型包括增量式編碼器和絕對值編碼器,前者通過檢測脈沖的增加或減少來測量旋轉(zhuǎn)方向和距離,后者則直接輸出當(dāng)前的絕對位置信息?。

關(guān)鍵字: 編碼器? 定時器

一款語音控制的番茄時間定時器,內(nèi)置Seeed Studio XIAO ESP32S3感測和圓形顯示。用免提時間管理保持高效!

關(guān)鍵字: 定時器 ESP32S3 語音控制

【2025年3月20日, 德國慕尼黑訊】全球功率系統(tǒng)和物聯(lián)網(wǎng)領(lǐng)域的半導(dǎo)體領(lǐng)導(dǎo)者英飛凌科技股份公司(FSE代碼:IFX / OTCQX代碼: IFNNY)近日宣布,其旗下ModusToolboxTM開發(fā)平臺中的AIROC?...

關(guān)鍵字: MCU 物聯(lián)網(wǎng) 定時器

眾所周知,說到延時,很多人都會想到用軟件件來實現(xiàn),比如定時器之類的。今天就來說說用硬件來實現(xiàn)定時的方式,雖說沒有那么準(zhǔn),但是有些場合還是用得到的。

關(guān)鍵字: CD4060 定時器

如果定時器的重裝值和分頻設(shè)置不正確,會導(dǎo)致PWM輸出的頻率和占空比不準(zhǔn)確,從而產(chǎn)生誤差?1。

關(guān)鍵字: 定時器 分頻

SysTick定時器的工作原理主要基于一個遞減計數(shù)器的機(jī)制。以下是對SysTick定時器工作原理的詳細(xì)解釋:

關(guān)鍵字: SysTick 定時器

單片機(jī)定時器是一種用于計時和定時操作的功能模塊。它通常用于生成延時、計數(shù)事件以及產(chǎn)生精確的時間間隔信號。

關(guān)鍵字: 定時器 時鐘源

在現(xiàn)代嵌入式系統(tǒng)設(shè)計中,51單片機(jī)作為一種經(jīng)典的微控制器,憑借其豐富的功能和廣泛的應(yīng)用領(lǐng)域,仍然受到工程師們的青睞。定時器中斷是51單片機(jī)中一個非常實用的功能,它可以在特定的時間間隔內(nèi)自動觸發(fā)中斷,執(zhí)行預(yù)設(shè)的操作,從而提...

關(guān)鍵字: 51單片機(jī) 定時器

Holtek新推出BS67F2432具備觸控按鍵、高精準(zhǔn)度HIRC與LCD驅(qū)動器Flash MCU。主要特色為內(nèi)建高精準(zhǔn)度4MHz HIRC振蕩電路、8路觸控按鍵及最大支持4COM×15SEG LCD驅(qū)動器。適用于觸控接...

關(guān)鍵字: MCU LCD驅(qū)動器 定時器
關(guān)閉