• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > stm8s開發(fā)(五) TIMER的使用:定時(shí)!

    stm8s開發(fā)(五) TIMER的使用:定時(shí)!

    作者: 時(shí)間:2017-09-18 來(lái)源:網(wǎng)絡(luò) 收藏

      STM8S提供三種類型的TIM 定時(shí)器:高級(jí)控制型(TIM1)、通用型(TIM2/TIM3/TIM5)和基本型定時(shí)器(TIM4/TIM6)。它們雖有不同功能但都基于共同的架構(gòu)。此共同的架構(gòu)使得采用各個(gè)定時(shí)器來(lái)設(shè)計(jì)應(yīng)用變得非常容易與方便(相同的寄存器映射,相同的基本功能)。

    本文引用地址:http://www.czjhyjcfj.com/article/201709/364419.htm

        

     

      使用定時(shí)可以確定一個(gè)時(shí)間片,方便控制發(fā)送速率,采樣速率,等等一些對(duì)時(shí)間要求比較高的任務(wù),而這些操作可以放入定時(shí)器中斷里面執(zhí)行。這次的例子,定時(shí)1s,讓LED燈翻轉(zhuǎn)一次,達(dá)到2s閃爍一次的效果。由于定時(shí)操作簡(jiǎn)單,我們使用基本定時(shí)器:4

      void Init_Timer4(void)

      {

      //128分頻 256計(jì)數(shù),在16MHz下是2.048ms一次中斷!

      //128分頻 256計(jì)數(shù),在128KHz下是256ms一次中斷!

      TIM4_CR1=0x00;//關(guān)閉計(jì)數(shù)器

      //TIM4_IER=0x00;

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

      TIM4_EGR=0x01;

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

      TIM4_ARR=255;//自動(dòng)重裝的值

      TIM4_PSCR=0x07;//分頻值

      TIM4_CR1=0x01;//使能計(jì)數(shù)器

      }

      值得注意的是,如果我們使用16M為主時(shí)鐘的話,通過(guò)最大分頻和最大計(jì)數(shù),我們也最多能達(dá)到2.048ms的定時(shí)時(shí)間。同理,使用128K為主時(shí)鐘的話,最多能達(dá)到256ms的定時(shí)時(shí)間。

      接下來(lái)是定時(shí)終端函數(shù),在函數(shù)中我們可以其他操作:

      u16 i=0;

      #pragma vector = TIM4_OVR_UIF_vector //0x19

      __interrupt void TIM4_OVR_UIF_IRQHandler(void)

      {

      i++;

      TIM4_SR=0x00;

      if(i==488) //2.048*488=1000ms

      {

      LED_Reverse();

      i=0;

      }

      }

      這里變量 i 用于計(jì)算進(jìn)入中斷的次數(shù),如果我們需要1s翻轉(zhuǎn)LED一次的話,則需要進(jìn)入中斷488次。

      當(dāng)中斷返回后, 定時(shí)器會(huì)自動(dòng)重載:(TIM4_ARR=255;//自動(dòng)重裝的值)

      定時(shí)器定時(shí)時(shí)間與計(jì)數(shù)器的值有關(guān):(TIM4_CNTR=255;//計(jì)數(shù)器值)

      同時(shí)也和分頻值有關(guān):(TIM4_PSCR=0x07;//分頻值)

      開啟個(gè)關(guān)閉寄存器只需要修改TIM4_CR1寄存器:(TIM4_CR1=0x00;//關(guān)閉計(jì)數(shù)器 TIM4_CR1=0x01;//使能計(jì)數(shù)器 )

      附上在IAR環(huán)境下的項(xiàng)目工程,包括了SPI、IIC、PWM、AWU、USART、EEPROM等片上硬件的初始化代碼。

      http://download.csdn.net/detail/devintt/9454188



    關(guān)鍵詞: stm8s TIMER

    評(píng)論


    相關(guān)推薦

    技術(shù)專區(qū)

    關(guān)閉
    主站蜘蛛池模板: 西林县| 东港市| 兴城市| 无锡市| 略阳县| 长宁县| 金门县| 滦平县| 双牌县| 娱乐| 梅河口市| 同德县| 陇西县| 乳山市| 海城市| 靖宇县| 陵川县| 东城区| 大邑县| 周宁县| 南雄市| 沛县| 辽中县| 芜湖市| 德昌县| 凤山县| 湘西| 卢龙县| 泗阳县| 镇沅| 淄博市| 扬中市| 长垣县| 德兴市| 左权县| 富顺县| 通州区| 濮阳市| 河池市| 合阳县| 司法|