在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

敏矽微電子Cortex-M0學(xué)習(xí)筆記08——基本定時器詳解

jf_pJlTbmA9 ? 來源:敏矽MCU ? 作者:敏矽MCU ? 2023-09-26 17:13 ? 次閱讀

1、ME32F030基本定時器簡介

ME32F030內(nèi)置 4 個基本功能的 16 位定時器/計數(shù)器。 定時器/計數(shù)器工作時鐘由 SYSAHBCLKDIV 寄存器控制。關(guān)閉 SYSAHBCLKDIV 寄存器中定時器/計數(shù)器的時鐘供給可節(jié)省系統(tǒng)功耗。主要功能如下:

? 可預(yù)置分頻的 16 位定時器/計數(shù)器

? 1 個 16 位匹配寄存器:

–可產(chǎn)生中斷

–停止定時器

–對定時器復(fù)位

16 位基本型定時器/計數(shù)器模塊框圖如下圖所示:

wKgZomUD0iGAPqQrAAD5znpO1W0238.png

圖1 基本定時器結(jié)構(gòu)圖

為了便于理解,可以將基本定時器框圖分為4個功能單元。

①:預(yù)分頻計數(shù)單元,由PRESCALE COUNTER (PC) 和 PRESCALE REGISTER (PR)組成,預(yù)分頻計數(shù)器(PC)會在每個 PCLK 時鐘上遞增計數(shù)。達(dá)到設(shè)定的預(yù)分頻值后,定時器計數(shù)器就會加1,而預(yù)分頻值就是由PR寄存器決定的。

②:定時器計數(shù)單元,由TIMER COUNTER (TC) 和 TIMER CONTROL REGISTER (TCR)組成,定時器控制寄存器TCR決定計數(shù)器TC是否啟用。預(yù)分頻計數(shù)器(PC)溢出后,定時器計數(shù)器(TC)加1,達(dá)到設(shè)定的匹配值MR0之后可以根據(jù)設(shè)置產(chǎn)生中斷等行為。

③:定時器匹配單元:該單元只有一個MATCH REGISTER0(MR0),它決定著定時器計數(shù)器TC的匹配值。

④:定時器控制單元,由MATCH CONTROL REGISTER (MCR) 和 INTERRUPT REGISTER (IR)組成,二者共同作用,控制著定時器的主要功能和參數(shù)

2、ME32F030基本定時器寄存器

在簡介中,我們介紹了基本定時器的模塊框圖,其實每個功能模塊都有對應(yīng)的寄存器來實現(xiàn)其功能。基本定時器的寄存器列表如圖所示:

wKgaomUD0iKAMUrkAAHytoa_HG4233.png

2-1 中斷寄存器

中斷寄存器包含用于匹配中斷的位。如果有中斷產(chǎn)生, IR 中的相應(yīng)位為高電平。否則,該位為低電平。向?qū)?yīng)的 IR 位寫邏 輯 1 會使中斷復(fù)位。寫 0 無效。

2-2 定時器控制寄存器

定時器控制寄存器用于控制計數(shù)器/定時器的操作。它主要控制著計數(shù)器的使能和復(fù)位,具體的操作如圖所示:

wKgZomUD0iSAffthAAEopvoottI547.png

圖3 控制寄存器

2-3 定時器計數(shù)寄存器

當(dāng)預(yù)分頻器計數(shù)器達(dá)到其 PC 數(shù)值時, 16 位定時器計數(shù)器會遞增計數(shù)。如果 TC 在到達(dá)計數(shù)器上限之前沒有復(fù)位,它將一直 計數(shù)到 0x0000 FFFF 然后翻轉(zhuǎn)到 0x0000 0000。該事件不會產(chǎn)生中斷,如果需要,可使用匹配寄存器檢測溢出。

2-4 預(yù)分頻寄存器

16 位預(yù)分頻寄存器指定預(yù)分頻計數(shù)器的最大值。當(dāng)預(yù)分頻計數(shù)器計數(shù)到此值后,會從0開始重新計數(shù)。

2-5 預(yù)分頻計數(shù)寄存器

16 位預(yù)分頻計數(shù)器用某個常量來控制 PCLK 的分頻,再使其輸入到定時器計數(shù)器。它所控制的是定時器分辨率與最大時間之間的關(guān)系,從而能防止定時器溢流。預(yù)分頻計數(shù)器會在每個 PCLK 時鐘上遞增計數(shù)。當(dāng)預(yù)分頻計數(shù)器的計數(shù)達(dá)到預(yù)分頻寄存器中存儲的值時,定時器計數(shù)器將遞增計數(shù),并且在下一個 PCLK 時鐘上對預(yù)分頻計數(shù)器復(fù)位。這將使得 TC 當(dāng) PR = 0 時在每個 PCLK 上遞增計數(shù),當(dāng) PR = 1 時,在每 2 個 PCLK 上遞增計數(shù),依次類推。.

2-6 匹配控制寄存器

匹配控制寄存器用于控制當(dāng)其中一個匹配寄存器的值與定時器計數(shù)器的值匹配時應(yīng)執(zhí)行的操作。功能如下所示。

位0:決定著計數(shù)器TC與匹配值相等后,中斷是否使能。

位1:MR0與TC匹配時,決定TC是否復(fù)位。如果選擇復(fù)位,TC則會清0重新計數(shù),這樣就會形成一個固定時間的計數(shù)周期。

位2:MR0與TC匹配時,決定TC是否停止。如果置1選擇使能,TC則不再會計數(shù)。這樣就是個單次周期的計數(shù)了。如果想要周期性循環(huán)計數(shù),那么就需要置0(默認(rèn))禁止。

wKgZomUD0iWACFs0AAERNVcBybY939.png

圖4 匹配控制寄存器

2-7 匹配寄存器

匹配寄存器的值會不斷地與定時器計數(shù)器值進行比較。當(dāng)兩個值相等時,自動觸發(fā)相應(yīng)操作。這些操作包括產(chǎn)生中斷、復(fù)位定時器計數(shù)器或停止定時器。所有操作均由 MCR 寄存器中的設(shè)置控制。

3、基本定時器驅(qū)動函數(shù)

在例程LIB->common->Drivers->Source文件夾內(nèi)有timer.c文件,這個就是提供的定時器庫程序,里面除了基本定時器的驅(qū)動函數(shù),還包括高級定時器、PWM輸出等功能函數(shù),本章節(jié)先對基本定時器的函數(shù)進行講解。

3-1 基本定時器初始化

ct:要初始化的定時器模塊,可選TIM0、TIM1、TIM2、TIM3。

tickpersecond:預(yù)分頻系數(shù)。

voidTIM0_Init(TIM0_Type*ct,uint32_ttickpersecond)
{
if(ct==TIM0)
{
SYSCON->SYSAHBCLKCTRL_b.TIM0_CLK=1;//使能定時器時鐘
SYSCON->PRESETCTRL_b.TIM0_RST_N=0;//復(fù)位定時器
SYSCON->PRESETCTRL_b.TIM0_RST_N=1;
}

elseif(ct==TIM1)
{

SYSCON->SYSAHBCLKCTRL_b.TIM1_CLK=1;

SYSCON->PRESETCTRL_b.TIM1_RST_N=0;

SYSCON->PRESETCTRL_b.TIM1_RST_N=1;
}

elseif(ct==TIM2)
{
SYSCON->SYSAHBCLKCTRL_b.TIM2_CLK=1;

SYSCON->PRESETCTRL_b.TIM2_RST_N=0;

SYSCON->PRESETCTRL_b.TIM2_RST_N=1;
}

elseif(ct==TIM3)
{

SYSCON->SYSAHBCLKCTRL_b.TIM3_CLK=1;

SYSCON->PRESETCTRL_b.TIM3_RST_N=0;

SYSCON->PRESETCTRL_b.TIM3_RST_N=1;

}elsereturn;

//設(shè)置預(yù)分頻系數(shù)
if(tickpersecond>SystemCoreClock)
tickpersecond=SystemCoreClock;
ct->PR_b.PRVAL=SystemCoreClock/tickpersecond-1;
return;
}

3-2 設(shè)置匹配寄存器

這個函數(shù)用于設(shè)置定時器的匹配值,以及達(dá)到匹配值之后的行為。

Ct:要設(shè)置的定時器模塊,可選TIM0、TIM1、TIM2、TIM3。

Ticks:要寫入的計數(shù)器匹配值。

Action: 觸發(fā)中斷 TIM_MATCH_TRIGGER_INT

復(fù)位計數(shù)器 TIM_MATCH_RESET_COUNTER

停止計數(shù)器 TIM_MATCH_STOP_COUNTER

voidTIM0_ConfigMatch(TIM0_Type*ct,uint16_tticks,uint8_taction)
{
ct->MR0_b.MATCH=ticks-1;
ct->MCR=action;
return;
}

3-3 設(shè)置預(yù)分頻計數(shù)器值

voidTIM0_SetTimerCounter(TIM0_Type*ct,uint16_ttick)
{
ct->PC_b.PCVAL=tick;
return;
}

3-4 復(fù)位預(yù)分頻計數(shù)器值

voidTIM0_ResetTimerCounter(TIM0_Type*ct)
{
ct->PC_b.PCVAL=0;
return;
}

來源:敏矽MCU

審核編輯:湯梓紅
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 寄存器
    +關(guān)注

    關(guān)注

    31

    文章

    5343

    瀏覽量

    120363
  • 計數(shù)器
    +關(guān)注

    關(guān)注

    32

    文章

    2256

    瀏覽量

    94568
  • 定時器
    +關(guān)注

    關(guān)注

    23

    文章

    3248

    瀏覽量

    114800
  • Cortex-M0
    +關(guān)注

    關(guān)注

    4

    文章

    124

    瀏覽量

    38693
收藏 人收藏

    評論

    相關(guān)推薦

    SAR ADC 原理與微ME32系列32位微控制ADC應(yīng)用指南詳解

    1、概述 ME32 系列是內(nèi)嵌 ARM Cortex? M0 核的 32 位微控制。該系列控制
    的頭像 發(fā)表于 10-17 10:57 ?1138次閱讀
    SAR ADC 原理與<b class='flag-5'>敏</b><b class='flag-5'>矽</b>微ME32系列32位微控制<b class='flag-5'>器</b>ADC應(yīng)用指南<b class='flag-5'>詳解</b>

    cortex-m0學(xué)習(xí)資料

    本帖最后由 jheng 于 2015-4-9 21:54 編輯 cortex-m0學(xué)習(xí)
    發(fā)表于 04-09 21:48

    【ARM Cortex-M0視頻教程 By SmartMcu】【系統(tǒng)定時器SysTick】

    本帖最后由 rejoice818 于 2015-5-19 13:58 編輯 ARM Cortex-M0視頻教程- 系統(tǒng)定時器SysTick【SmartMcu】視頻地址:http://pan.baidu.com/s/1eQngXSQ
    發(fā)表于 05-19 13:50

    靈動微電子獲得ARM? Cortex? -M0Cortex? -M3無限次授權(quán)

    次使用ARM? Cortex?-M0Cortex?-M3 CPU內(nèi)核及IP工具包。基于該協(xié)議,靈動微電子可以在協(xié)議范圍內(nèi)不受授權(quán)次數(shù)限制的
    發(fā)表于 10-18 14:20

    深入淺出Cortex-M0學(xué)習(xí)資料

    深入淺出Cortex-M0學(xué)習(xí)資料
    發(fā)表于 06-18 10:50 ?0次下載
    深入淺出<b class='flag-5'>Cortex-M0</b><b class='flag-5'>學(xué)習(xí)</b>資料

    cortex-m0加密

    cortex-m0加密
    發(fā)表于 10-13 15:08 ?5次下載
    <b class='flag-5'>cortex-m0</b>加密

    MCU學(xué)習(xí)筆記_ARM Cortex M0_簡介

    MCU學(xué)習(xí)筆記ARM Cortex M01. RM的CPU core 的基本概念2. ARM Cortex
    發(fā)表于 10-28 11:21 ?15次下載
    MCU<b class='flag-5'>學(xué)習(xí)</b><b class='flag-5'>筆記</b>_ARM <b class='flag-5'>Cortex</b> <b class='flag-5'>M0</b>_簡介

    基于ARM Cortex-M0核的MCU設(shè)計及應(yīng)用

    知網(wǎng)鏈接:基于ARM Cortex-M0核的MCU設(shè)計及應(yīng)用
    發(fā)表于 11-05 15:35 ?18次下載
    基于ARM <b class='flag-5'>Cortex-M0</b>核的MCU設(shè)計及應(yīng)用

    微電子Cortex-M0學(xué)習(xí)筆記07——串口通信詳解

    微電子Cortex-M0學(xué)習(xí)筆記07——串口通信詳解
    的頭像 發(fā)表于 09-26 17:11 ?1127次閱讀
    <b class='flag-5'>敏</b><b class='flag-5'>矽</b><b class='flag-5'>微電子</b><b class='flag-5'>Cortex-M0</b><b class='flag-5'>學(xué)習(xí)</b><b class='flag-5'>筆記</b>07——串口通信<b class='flag-5'>詳解</b>

    微電子Cortex-M0學(xué)習(xí)筆記06——段式LCD液晶實例

    微電子Cortex-M0學(xué)習(xí)筆記06——段式LCD液晶實例
    的頭像 發(fā)表于 09-26 17:10 ?732次閱讀
    <b class='flag-5'>敏</b><b class='flag-5'>矽</b><b class='flag-5'>微電子</b><b class='flag-5'>Cortex-M0</b><b class='flag-5'>學(xué)習(xí)</b><b class='flag-5'>筆記</b>06——段式LCD液晶實例

    微電子Cortex-M0學(xué)習(xí)筆記05——端口外部中斷實例

    微電子Cortex-M0學(xué)習(xí)筆記05——端口外部中斷實例
    的頭像 發(fā)表于 09-26 17:10 ?782次閱讀
    <b class='flag-5'>敏</b><b class='flag-5'>矽</b><b class='flag-5'>微電子</b><b class='flag-5'>Cortex-M0</b><b class='flag-5'>學(xué)習(xí)</b><b class='flag-5'>筆記</b>05——端口外部中斷實例

    微電子Cortex-M0學(xué)習(xí)筆記04——GPIO詳解及應(yīng)用實例

    微電子Cortex-M0學(xué)習(xí)筆記04——GPIO詳解
    的頭像 發(fā)表于 09-26 17:07 ?1067次閱讀
    <b class='flag-5'>敏</b><b class='flag-5'>矽</b><b class='flag-5'>微電子</b><b class='flag-5'>Cortex-M0</b><b class='flag-5'>學(xué)習(xí)</b><b class='flag-5'>筆記</b>04——GPIO<b class='flag-5'>詳解</b>及應(yīng)用實例

    微電子Cortex-M0學(xué)習(xí)筆記03——時鐘系統(tǒng)設(shè)計例程

    微電子Cortex-M0學(xué)習(xí)筆記03——時鐘系統(tǒng)設(shè)計例程
    的頭像 發(fā)表于 09-26 17:06 ?965次閱讀
    <b class='flag-5'>敏</b><b class='flag-5'>矽</b><b class='flag-5'>微電子</b><b class='flag-5'>Cortex-M0</b><b class='flag-5'>學(xué)習(xí)</b><b class='flag-5'>筆記</b>03——時鐘系統(tǒng)設(shè)計例程

    微電子Cortex-M0學(xué)習(xí)筆記02——Cortex-M0開發(fā)環(huán)境的建立及調(diào)試

    微電子Cortex-M0學(xué)習(xí)筆記02——Cortex-M
    的頭像 發(fā)表于 09-26 17:05 ?1588次閱讀
    <b class='flag-5'>敏</b><b class='flag-5'>矽</b><b class='flag-5'>微電子</b><b class='flag-5'>Cortex-M0</b><b class='flag-5'>學(xué)習(xí)</b><b class='flag-5'>筆記</b>02——<b class='flag-5'>Cortex-M0</b>開發(fā)環(huán)境的建立及調(diào)試

    微電子Cortex-M0學(xué)習(xí)筆記01——芯片簡介

    微電子Cortex-M0學(xué)習(xí)筆記01——芯片簡介
    的頭像 發(fā)表于 09-26 17:03 ?901次閱讀
    <b class='flag-5'>敏</b><b class='flag-5'>矽</b><b class='flag-5'>微電子</b><b class='flag-5'>Cortex-M0</b><b class='flag-5'>學(xué)習(xí)</b><b class='flag-5'>筆記</b>01——芯片簡介
    主站蜘蛛池模板: 精品国产影院| 中文字幕天天干| 狠狠色狠狠色综合网| 国产婷婷色| 456主播喷水在线观看| 国产破苞合集 magnet| 欧美精品激情| 免费的色视频| 台湾香港澳门三级在线| 美女扒开尿口让男生添 漫画| 特级片在线观看| 国产高清一区二区三区四区| 天天做天天爱天天爽综合网| 国语对白老女人8av| 久久综合操| 分分精品| 亚洲精品久久久久影| 欧美色操| bt天堂中文在线| 久久观看| 亚洲一区二区三区首页| 亚洲免费视频在线观看| 女人的天堂网站| 夜夜夜爽| 97天天做天天爱夜夜爽| 日本加勒比一区| 色综合网址| 国产免费人人看大香伊| 日本美女黄色一级片| 在线观看日本免费视频大片一区 | 欧美一区二区三区男人的天堂| 新版bt天堂资源在线| 久久久噜噜噜久久| 天天操2023| 亚洲视频在线播放| 色五月视频| 天天摸天天看天天做天天爽| h国产在线| 色婷婷综合久久久久中文一区二区| 影音先锋五月天| 爱情岛网站亚洲禁18进入|