<rp id="3szxh"></rp>
    <em id="3szxh"></em><rp id="3szxh"></rp>
  1. <progress id="3szxh"></progress><progress id="3szxh"><track id="3szxh"></track></progress>
  2. 專注電子技術學習與研究
    當前位置:單片機教程網 >> MCU設計實例 >> 瀏覽文章

    新唐M051定時器3 周期模式測試程序

    作者:huqin   來源:本站原創   點擊數:  更新時間:2014年09月01日   【字體:

    以下是新唐M051單片機定時器3的 周期模式測試程序 成功版:

    #include "SmartM_M0.h"

    UINT32 i =0;
    /****************************************
    *函數名稱:TMR3Init
    *輸    入:無
    *輸    出:無
    *功    能:定時器3初始化
    ******************************************/
    VOID TMR3Init(VOID)
    {
        PROTECT_REG
     (
      /* 使能TMR0時鐘源 */
         APBCLK |= TMR3_CLKEN;
      /* 選擇TMR0時鐘源為外部晶振12MHz */ 
      CLKSEL1 = (CLKSEL1 & (~TM3_CLK)) | TM0_12M; 
      /* 復位TMR3 */
      IPRSTC2 |=  TMR3_RST;
      IPRSTC2 &= ~TMR3_RST; 
      /* 選擇TMR3的工作模式為周期模式*/ 
      TCSR3 &= ~TMR_MODE;
      TCSR3 |=  MODE_PERIOD;  
      /* 溢出周期 = (Period of timer clock input) * (8-bit Prescale + 1) * (24-bit TCMP)*/
       /* 溢出周期 = (1/12MHz) * (0 + 1) * (12000*500)=500ms (0.5S)*/
      TCSR3  = TCSR3 & 0xFFFFFF01;  // 設置預分頻值 [0~255]
      TCMPR3 = 12000*500;        // 設置比較值 [0~16777215]
      TCSR3 |= TMR_IE;     //使能TMR0中斷
      NVIC_ISER |= TMR3_INT; 
      TCSR3 |= CRST;      //復位TMR0計數器    
      TCSR3 |= CEN;      //使能TMR0
     )
    }
    /****************************************
    *函數名稱:main
    *輸    入:無
    *輸    出:無
    *功    能:函數主體
    ******************************************/
    INT32 main(VOID)
    {
         PROTECT_REG            //ISP下載時保護FLASH存儲器
      (       
       PWRCON |= XTL12M_EN;      //默認時鐘源為外部晶振
       while((CLKSTATUS & XTL12M_STB) == 0);   //等待12MHz時鐘穩定      
       CLKSEL0 = (CLKSEL0 & (~HCLK)) | HCLK_12M; //設置外部晶振為系統時鐘 
       P2_PMD = 0x5555;       //P2口設置為輸出模式
          P2_DOUT= 0x00;        //P2口輸出低電平
      )
      TMR3Init();  
      while(1)
      {
       if(i > 7)
       {
          i = 0;
       }
      }
    }
    /****************************************
    *函數名稱:TMR3_IRQHandler
    *輸    入:無
    *輸    出:無
    *功    能:定時器3中斷服務函數
    ******************************************/
    VOID TMR3_IRQHandler(VOID)
    {
     /* 清除TMR3中斷標志位 */
     TISR3 |= TMR_TIF;
        P2_DOUT = 1UL<<i;         //P2口輸出相應的電平
     i++;
    }
    關閉窗口
    1区1区3区4区产品乱码不卡|印度人交乣女bbw|男人的天堂在线观看

      <rp id="3szxh"></rp>
      <em id="3szxh"></em><rp id="3szxh"></rp>
    1. <progress id="3szxh"></progress><progress id="3szxh"><track id="3szxh"></track></progress>