EC11編碼器 兩個引腳那一端為普通的按鍵,也就是圓柄按下去的那個按鍵,當做普通按鍵使用即可
右邊三個引腳中間的為GND,兩邊為兩路脈沖信號
外圍電路見圖
程序設計思路,檢測其中一路的下降沿,觸發中斷,然后讀另外一個IO口的高低電平,從而確定轉動方向
電路圖為網上截圖,只用其中一半即可
單片機為MSP430F169

1 #include <msp430x16x.h> 2 3 int count=50; 4 int main(void) 5 { 6 7 WDTCTL = WDTPW + WDTHOLD; // 關閉看門狗定時器 8 9 P1IE |= BIT1; // P1.1 中斷使能 10 P1IES |= BIT1; // P1.1 下降沿觸發 11 P1IFG &= ~BIT1; // P1.1 中斷標志位清零 12 _EINT(); //全局中斷使能 13 14 while(1); 15 } 16 17 // Port 1 interrupt service routine 18 #pragma vector=PORT1_VECTOR 19 __interrupt void Port_1(void) 20 { 21 for(int i=0;i<1000;i++); //延時消抖 22 if((P1IN&BIT2)==0) 23 count++; 24 else if((P1IN&BIT2)==0x04) 25 count--; 26 P1IFG &= ~BIT1; // P1.1 中斷標志位清零 27 }