<object id="x67hi"><bdo id="x67hi"></bdo></object>
    <span id="x67hi"></span>

    <li id="x67hi"><acronym id="x67hi"><cite id="x67hi"></cite></acronym></li>
    <tbody id="x67hi"></tbody>
    <rp id="x67hi"></rp>

    1. <strong id="x67hi"><sub id="x67hi"><address id="x67hi"></address></sub></strong><progress id="x67hi"><big id="x67hi"></big></progress>
      <th id="x67hi"></th>
      專注電子技術學習與研究
      當前位置:單片機教程網 >> MCU設計實例 >> 瀏覽文章

      新唐M051外部中斷1使用程序

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

      共享一個新唐M051單片機的外部中斷1的使用程序:

      #include "SmartM_M0.h"

      #define DEBUGMSG       printf
      /****************************************
      *函數名稱:KeyIntInit
      *輸    入:無
      *輸    出:無
      *功    能:按鍵中斷初始化
      ******************************************/
      VOID KeyIntInit(VOID)
      {
          P3_PMD=0xFFFF;        //準雙向模式
       P3_DOUT=0xFF;        //輸出高電平
       P3_MFP = (P3_MFP & (~P33_EINT1_MCLK)) | EINT1;  //P3.2引腳設置為外部中斷
       
       DBNCECON &= ~ICLK_ON;  //禁用時鐘?
       DBNCECON &= DBCLK_HCLK;//防反彈計數器時鐘源為 HCLK
       DBNCECON |= SMP_256CK;        //設置防反彈采樣周期選擇
                   
       P3_DBEN |= DBEN3;         //使能P3.2防反彈功能
        
       P3_IMD &= IMD3_EDG;    
       P3_IEN |= IF_EN3;         //設置外部中斷0為下降沿觸發
       NVIC_ISER |= EXT_INT1;
      }
      /****************************************
      *函數名稱:main
      *輸    入:無
      *輸    出:無
      *功    能:函數主體
      ******************************************/
      INT32 main(VOID)
      {                        
        PROTECT_REG          //ISP下載時保護FLASH存儲器
        (
         PWRCON |= XTL12M_EN;       //默認時鐘源為外部晶振
         while((CLKSTATUS & XTL12M_STB) == 0);    //等待12MHz時鐘穩定 
        
         CLKSEL0 = (CLKSEL0 & (~HCLK)) | HCLK_12M;//設置外部晶振為系統時鐘 
        )
        UartInit(12000000,9600);       //波特率設置為9600bps
        KeyIntInit();          //按鍵中斷初始化
        DEBUGMSG("Init ok\r\b");
        while(1);
      }
      /****************************************
      *函數名稱:__KEYISR
      *輸    入:無
      *輸    出:無
      *功    能:按鍵中斷服務函數
      ******************************************/
      VOID EINT1_IRQHandler(VOID)
      {
        DEBUGMSG("Key int\r\n");       //打印按鍵中斷信息
        P3_ISRC = P3_ISRC;                        //寫1清空 
      }       
      關閉窗口
      1区1区3区4区产品乱码不卡|印度人交乣女bbw|男人的天堂在线观看