微控制器 編碼器(按鍵和旋轉) 4

2021-10-19 09:19:13 字數 1082 閱讀 2720

/

#ifndef rotary_drive

#define rotary_drive

#define rotary_key_no 0 //預設

#define rotary_key_s 1 //短按

#define rotary_key_m 2 //雙擊

#define rotary_key_l 3 //長按

sbit rotary_mute=p3^5; //編碼器按鍵

sbit rotary_a=p3^6; //編碼器的旋轉觸點

sbit rotary_b =p3^7; 編碼器的旋轉觸點

extern void rotary_init(); //編碼器初始化

extern rotary_rotary_scan_drive(); //編碼器掃瞄旋轉

extern void rotary_key_scan_drive() //編碼器掃瞄按鍵長按短按雙擊

extern u8 xdata rotary_read_data_key; //編碼器按鍵結果

extern u8 xdata rotary_read_data_rotary; //編碼器旋轉結果

#endif

/#include

u8 xdata rotary_read_data_key=rotary_key_no;

u8 xdata rotary_read_data_rotary=0;

void rotary_init()

}

// 下面是按鍵釋放後的一些判斷

if(rotary_mute==1) // 如果按鍵釋放

else

}}

//下面的程式是判斷按鍵有沒有被按過 e如果沒有進入到狀態1

else

} }else //a按鍵沒有按下

}}/void rotary_rotary_scan_drive()

if(rotary_flag1)

if(turn_left==1)}}

turn_left=rotary_a;

turn_right=rotary_b;

編碼器的掃瞄 微控制器

編碼器 家用電器旋轉編碼器的掃瞄 首先說一下埠怎麼接,a c接到微控制器的引腳,都要接上拉電阻,c接地。家用旋轉編碼器穩定時 就是停下來的時候 有ab有兩種狀態,00,和11 順時針旋轉時 a 0 0 1 1 0 b 0 1 1 0 0 逆時針旋轉時 a 0 1 1 0 0 b 0 0 1 1 0 ...

使用PIC微控制器連線旋轉編碼器的方法

旋轉編碼器 rotary encoder 是一種幫助使用者與系統互動的輸入裝置。它看起來更像是乙個無線電電位器,但它輸出一系列脈衝,使其應用 獨特。當旋轉編碼器的旋鈕時,它以小步進的形式旋轉,這有助於它用於步進 伺服電機控制 導航選單序列和增加 減少數字的值等等。在本篇文章中,我們將了解不同型別的旋...

增量型旋轉編碼器和絕對值旋轉編碼器

增量型旋轉編碼器 軸的每圈轉動,增量型編碼器提供一定數量的脈衝。週期性的測量或者單位時間內的脈衝計數可以用來測量移動的速度。如果在乙個參考點後面脈衝數被累加,計算值就代表了轉動角度或行程的引數。雙通道編碼器輸出脈衝之間相差為90o。能使接收脈衝的電子裝置接收軸的旋轉感應訊號,因此可用來實現雙向的定位...