<acronym id="xonnx"></acronym>
      <td id="xonnx"></td>
    1. <pre id="xonnx"></pre>

      1. 專注電子技術學習與研究
        當前位置:單片機教程網 >> MCU設計實例 >> 瀏覽文章

        也許是最簡單的旋轉編碼器程序, 占用一個外中斷

        作者:佚名   來源:本站原創   點擊數:  更新時間:2014年05月22日   【字體:

         #define ROTATE_A PIND.2

        #define ROTATE_B PIND.3
         
        uchar CW=0;
        uchar CCW=0;
         
        // External Interrupt 0 service routine
        interrupt [EXT_INT0] void ext_int0_isr(void)
        {
        if(ROTATE_A!=ROTATE_B)
            {
                CW++;   
            }
                else CCW++;
        }
         
        void main(void)
        {
                if ((CW|CCW)!=0)
                    {
                    DATA=DATA+CW-CCW;
                    }
                CW=0;
                CCW=0;   
                delay_ms(50);
        }
         
         
        //////////////////////////////////////////
         
        占用一個外中斷,電平變化觸發,CW是順時針轉過的脈沖,CCW是逆時針
         
        每50ms處理一下數值,如果想要出錯,起碼脈沖時間要比50ms/256短才行,手指是沒可能達到這速度
        關閉窗口

        相關文章

        欧美性色欧美精品视频,99热这里只有精品mp4,日韩高清亚洲日韩精品一区二区,2020国自产拍精品高潮