久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標(biāo)題:
STM8L的TIM4定時(shí)功能詳解 含例程
[打印本頁(yè)]
作者:
51hei小林
時(shí)間:
2016-10-10 00:45
標(biāo)題:
STM8L的TIM4定時(shí)功能詳解 含例程
TIM4是STM8最簡(jiǎn)單的定時(shí)器,忽略掉級(jí)聯(lián)同步的功能,TIM4就只具有定時(shí)功能.非常適合剛剛接觸STM8定時(shí)器的初學(xué)者學(xué)習(xí).
從上圖可以看到,TIM4由一個(gè)分頻器,自動(dòng)重裝寄存器和計(jì)數(shù)器組成,結(jié)構(gòu)非常簡(jiǎn)單.
系統(tǒng)主時(shí)鐘fsysclk經(jīng)TIM4分頻器分頻后,提供給TIM4作為計(jì)數(shù)時(shí)鐘.
TIM4是一個(gè)向上計(jì)數(shù)的定時(shí)器.從0開(kāi)始計(jì)數(shù),當(dāng)計(jì)數(shù)到與自動(dòng)重載寄存器的值相等時(shí),產(chǎn)生溢出,重新從0開(kāi)始計(jì)數(shù).
定時(shí)器溢出時(shí),如果TIM4_CR1中的UDIS位為0,則產(chǎn)生一個(gè)更新事件,若此時(shí)打開(kāi)了TIM4的中斷,則進(jìn)入中斷.如果溢出時(shí),UDIS為1,則不會(huì)進(jìn)入中斷.
本文利用TIM4的定時(shí)功能,實(shí)現(xiàn)LED閃爍.TIM4周期性的進(jìn)入中斷,翻轉(zhuǎn)LED控制IO,控制LED閃爍.
在程序中有對(duì)定時(shí)時(shí)間計(jì)算的過(guò)程,這里再重復(fù)一遍.
系統(tǒng)時(shí)鐘頻率默認(rèn)為:16M/ 2^3 =2M
本例程中TIM4的分頻器分頻值為10,則最終提供給TIM4的頻率為:2M/2^10=2M/1024=1953.125Hz.
本例程TIM4的重裝值為200,所以TIM4的溢出頻率為:1953.125Hz/200=9.76Hz.
溢出周期為:1000ms/9.76=102.4ms
所以每隔102ms,會(huì)進(jìn)入一次定時(shí)器中斷.
下圖是,使用邏輯分析儀,測(cè)到的LED的控制IO的輸出波形,可以看到,LED亮和滅的時(shí)間都為102.8ms.與理論計(jì)算值一致,誤差是由于使用的是內(nèi)部時(shí)鐘,這個(gè)時(shí)鐘不準(zhǔn).
/*硬件連接*/
// PC7---->LED
/****************************************************************************************
*開(kāi)發(fā)環(huán)境:IAR for stm8 v6.5.3
*硬件平臺(tái):STM8L-DISCOVERY
*功能說(shuō)明:配置TIM4定時(shí)器,實(shí)現(xiàn)定時(shí)進(jìn)入TIM4中斷,反轉(zhuǎn)LED電平,測(cè)量LED的IO得到頻率,與理論計(jì)算時(shí)間比對(duì),驗(yàn)證定時(shí)功能
*作 者:茗風(fēng)
****************************************************************************************/
#include"iostm8l152c6.h"
#include"stdint.h"
/******************************************************************************************************
* 名 稱:void GPIO_Init(void)
* 功 能:初始化PC7為高速推挽輸出
* 入口參數(shù):無(wú)
* 出口參數(shù):無(wú)
* 說(shuō) 明:測(cè)量系統(tǒng)時(shí)鐘頻率的IO,測(cè)量到的頻率有定時(shí)器配置決定
* 范 例:無(wú)
******************************************************************************************************/
void GPIO_Init(void)
{
PC_CR1_C17 =1;//推挽輸出
PC_CR2_C27 =1;//高速輸出
PC_DDR_DDR7 =1;//PC4輸出
// PC_ODR_ODR7 =0;//輸出低電平
}
/******************************************************************************************************
* 名 稱:void TIMER4_Init(void)
* 功 能:stm8的TIM4定時(shí)器初始化
* 入口參數(shù):無(wú)
* 出口參數(shù):無(wú)
* 說(shuō) 明:TIM4被此函數(shù)配置為204ms進(jìn)入一次TIM4中斷,由于使用的是內(nèi)部RC時(shí)鐘,實(shí)際時(shí)間會(huì)有一定偏差
* 范 例:無(wú)
******************************************************************************************************/
void TIMER4_Init(void)
{
//-------打開(kāi)TIM4外設(shè)時(shí)鐘-------
CLK_PCKENR1_PCKEN12=1;//打開(kāi)定時(shí)器1時(shí)鐘
//----禁用預(yù)裝載寄存器----
TIM4_CR1_ARPE =0;//不經(jīng)過(guò)緩存,分頻值和重裝值立即被寫(xiě)入.
//除非需要頻繁的在定時(shí)器運(yùn)行時(shí),改變分頻值和重裝值,否則沒(méi)必要使用預(yù)裝載寄存器
//------設(shè)置TIM4時(shí)鐘分頻值------
TIM4_PSCR_PSC=10;//分頻值 2M/2^10=2M/1024=1953.125Hz
//-重裝值,TIM4從0計(jì)數(shù)到此值,發(fā)生溢出-
TIM4_ARR=200;//自動(dòng)重裝值 1953.125Hz/200=9.76HZ
//1000ms/9.76=102ms
//TIM4定時(shí)器每隔102ms進(jìn)入一次中斷
//本程序,每次進(jìn)入中斷后會(huì)反轉(zhuǎn)接LED的IO電平,所以LED閃爍周期為2*102ms=204ms
//LED閃爍頻率為 1000ms/204ms=4.9Hz
//讀者可以改變ARR值和PSC值,根據(jù)上面計(jì)算過(guò)程,驗(yàn)證定時(shí)器的這種功能
TIM4_CR1_URS=1;//僅當(dāng)計(jì)數(shù)器溢出時(shí)才發(fā)生中斷請(qǐng)求
TIM4_CR1_UDIS=0;//允許更新中斷
TIM4_CR1_CEN=1;//開(kāi)啟計(jì)數(shù)器
TIM4_IER_UIE=1;// update interrupt enable
}
/******************************************************************************************************
* 名 稱:int main(void)
* 功 能:通過(guò)PC4輸出選擇的時(shí)鐘
* 入口參數(shù):無(wú)
* 出口參數(shù):無(wú)
* 說(shuō) 明:因?yàn)镾TM8l discovery沒(méi)有接外部高速晶振,所以沒(méi)辦法輸出HSE,不要
* 范 例:無(wú)
******************************************************************************************************/
void main( void )
{
GPIO_Init();
TIMER4_Init();
asm("rim"); //開(kāi)啟全局中斷
while(1)
{
// asm("wfi");
}
}
#pragma vector=TIM4_UIF_vector
__interrupt void TIM4_UIF_ISR (void)
{
PC_ODR_ODR7 ^=1;//控制LED1的亮滅
TIM4_SR1_UIF=0;//清除中斷標(biāo)志位
}
復(fù)制代碼
作者:
jxchen
時(shí)間:
2019-2-4 15:01
感謝分享!!!!!!!!!!!!!!!!!!!!!!!
歡迎光臨 (http://www.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
国产精品国产三级国产播12软件
|
亚洲一在线
|
欧美成人手机视频
|
欧美性受xxx
|
99久久婷婷国产综合精品电影
|
精品视频一区二区三区
|
五月天激情电影
|
成人在线视频网址
|
国产精品九九九
|
国产欧美二区
|
亚洲成人毛片
|
久久久久久久99
|
日本不卡一区二区三区在线观看
|
日韩欧美手机在线
|
亚洲成人国产综合
|
国产精品视频yy9299一区
|
亚洲精品久久久久久久久久吃药
|
亚洲大片在线观看
|
成人在线精品视频
|
久久国产福利
|
亚洲视频三
|
亚洲成人免费av
|
久久精品久久久久久
|
国产原创在线观看
|
国产伊人精品
|
成人av播放
|
在线午夜
|
九九综合
|
亚洲三级av
|
97精品视频在线
|
台湾佬久久
|
久久婷婷香蕉热狠狠综合
|
一级免费a
|
日本色高清
|
精品国产不卡一区二区三区
|
中文字幕一区二区三区精彩视频
|
成人在线中文字幕
|
精品国产精品三级精品av网址
|
成人精品一区
|
国产精品精品久久久
|
国产一区二区三区
|