www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁 > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]看了網(wǎng)上的資源,都不怎么好用,于是決定總結(jié)總結(jié),記錄下定時(shí)器的簡單實(shí)用方法。環(huán)境: STM8SF103 ,仿真器為:STLINKTIM4 屬于8位定時(shí)器,最大128分頻。這個(gè)定時(shí)器的時(shí)鐘源是系統(tǒng)時(shí)鐘源(fMaster),然后直接通過預(yù)分

看了網(wǎng)上的資源,都不怎么好用,于是決定總結(jié)總結(jié),記錄下定時(shí)器的簡單實(shí)用方法。

環(huán)境: STM8SF103 ,仿真器為:STLINK

TIM4 屬于8位定時(shí)器,最大128分頻。

這個(gè)定時(shí)器的時(shí)鐘源是系統(tǒng)時(shí)鐘源(fMaster),然后直接通過預(yù)分頻器分頻后供CK_CNT使用。如:系統(tǒng)頻率為4MHz,經(jīng)過128分頻后,提供給定時(shí)器使用的頻率就為 31250Hz


因?yàn)轫?xiàng)目需要,我這里使用的內(nèi)部RC 16MHz振蕩器,并進(jìn)行LSI 4分頻,所以主頻為4MHz。

//main.c

voidInit_Tim4(void)

{

/*很多人都是在這里裝填0xFF,其實(shí)是為了讓PSC盡快生效,對于PSC的設(shè)置,需要在下一個(gè)更新事件時(shí)才會生效*/

TIM4_CNTR=0;//計(jì)數(shù)器值

TIM4_ARR=0xFA;//自動重裝寄存器250,產(chǎn)生125次定時(shí)1S

TIM4_PSCR=0x07;//預(yù)分頻系數(shù)為128

TIM4_EGR=0x01;//手動產(chǎn)生一個(gè)更新事件,用于PSC生效注意,是手動更新

TIM4_IER=0x01;//更新事件中斷使能

TIM4_CR1=0x01;//使能計(jì)時(shí)器,TIM4_CR0停止計(jì)時(shí)器

}

voidmain(void)

{

_asm("rim");//這是必須的,因?yàn)橄到y(tǒng)重啟后,軟件中斷級別為3級,處于最高級,除了TRAP,TLI,RESET三個(gè)中斷外不響應(yīng)其他中斷。

//rim將軟件級別更改為0級別,這樣其他中斷就能得到相應(yīng)。

Init_Tim4();

while(1);

}

//中斷向量表必須將TIM4的中斷處理函數(shù)填寫進(jìn)去

{0x82,TIM4_UPD_OVF_IRQHandler},/*irq23*/

//處理函數(shù)如下:

/*定時(shí)器4用作看門狗喂狗定時(shí),因?yàn)榭撮T狗最大延時(shí)510ms,

定時(shí)器頻率為4MHz/128=31250=250*125,125/5=25(200ms)*/

@far@interruptvoidTIM4_UPD_OVF_IRQHandler(void)

{

t4++;

TIM4_SR=0;//清除中斷標(biāo)志

//t4==125//定時(shí)1S

if(t4==25)//25*250定時(shí)200ms

{

FREE_IWDG;//喂狗,如果單純定時(shí)用,可以拿掉

//可以嘗試點(diǎn)亮LED燈

t4=0;

}

return;

}


定時(shí)器延時(shí)計(jì)算過程,如主頻4MHz,預(yù)分頻為128,定時(shí)器頻率等于 4000000 / 128 = 31250 (Hz),周期為32us。4分頻時(shí)周期為1us。

如:主頻8MHz,預(yù)分頻為128,定時(shí)器頻率等于 8000000 / 128 = 62500 (Hz),周期為16us。


整個(gè)代碼沒有使用庫函數(shù),諸如TIM4_SR TIM4_CR1之類的定義在stm8s103k.h,其他的頭也可以。


定時(shí)器2 (16位計(jì)時(shí)器) 的簡單實(shí)用與此類似,但需要注意設(shè)置初值的方法,如:


voidInit_Tim2(void)

{

TIM2_EGR=0x01;//手動產(chǎn)生更新事件,重新初始化計(jì)數(shù)器,并允許產(chǎn)生一個(gè)更新事件

//設(shè)置定時(shí)器初值

TIM2_CNTRH=0;//不能使用TIM2_CNTR直接設(shè)值,TIM2_CNTRL=0;

//設(shè)定自動重裝寄存器值

//這里得注意不能使用TIM2_ARR的方式進(jìn)行設(shè)值,TIM2是十六位的。

//如TIM2_ARR=0xFA,實(shí)際上是賦給高字節(jié)了,TIM2_ARRH=0xFA,而不是想象中的賦給低字節(jié)。

TIM2_ARRH=0x7A;//312504MHz/128=31250Hz(1S)

TIM2_ARRL=0x12;//0x7A1231250意味著每產(chǎn)生一次中斷時(shí)間為1S

TIM2_PSCR=0x07;//分頻128

TIM2_IER=0x01;//中斷允許位使能

TIM2_CR1=0x01;//使能計(jì)時(shí)器

}



整個(gè)使用需要注意幾點(diǎn):

第一、總中斷的開啟 _asm("rim")

第二、中斷向量表對應(yīng)位置的中斷處理過程改寫

第三、定時(shí)器自身的使能,包括中斷使能和計(jì)時(shí)器使能

第四、默認(rèn)情況下,TIM4的外設(shè)時(shí)鐘是開啟的,CLK_PCKENR為0xFF,外設(shè)TIM4時(shí)鐘如果關(guān)閉,時(shí)鐘是運(yùn)行不起來的。


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

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

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

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

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

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

關(guān)鍵字: 定時(shí)器 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) 定時(shí)器

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

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

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

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

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

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

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

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

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

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

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ū)動器 定時(shí)器
關(guān)閉