EC11編碼器 EC11編碼器通常又被稱為旋轉(zhuǎn)編碼器,一般主要是用于亮度,溫度,頻率,音量調(diào)節(jié)等參數(shù)控制。
圖片1.png (151.53 KB, 下載次數(shù): 119)
下載附件
2020-2-15 15:27 上傳
三只腳中的C腳接地,AB腳接上拉電阻后,當(dāng)左轉(zhuǎn)或右轉(zhuǎn)時(shí),AB腳就有脈沖信號(hào)輸出。S1和S2腳為按壓開關(guān),按下時(shí)導(dǎo)通。 旋轉(zhuǎn)編碼器的引腳圖和原理圖為:
圖片2.png (235.71 KB, 下載次數(shù): 113)
下載附件
2020-2-15 15:27 上傳
順時(shí)針和逆時(shí)針旋轉(zhuǎn)AB引腳輸出波形圖
圖片3.png (237.06 KB, 下載次數(shù): 119)
下載附件
2020-2-15 15:27 上傳
和單片機(jī)通信的程序?yàn)椋?/div> EC11.h - #ifndef EC11
- #define EC11
復(fù)制代碼EC11.c - #include<All.h>
- uchar EC11_Value = 125; // 獲取旋轉(zhuǎn)的值
- /*********************************
- * @函數(shù)名:EC11_Display
- * @描 述:判斷方向,計(jì)算旋轉(zhuǎn)的值
- * @參 數(shù):無
- * @返回值:無
- *********************************/
- void EC11_Display()
- {
- static bit EC11_Flag=0,Left_Flag=0,Right_Flag=0;
- if((EC11_A)&&(EC11_B)) //兩個(gè)都是1,表示開始第一個(gè)脈沖
- {
- EC11_Flag =1 ;//標(biāo)記為第一個(gè)信號(hào)收到,可以進(jìn)行下一個(gè)信號(hào)
- }
- if(EC11_A!=EC11_B)//第二個(gè)信號(hào)
- {
- Left_Flag = EC11_A ; //記錄AB的信號(hào)狀態(tài)
- Right_Flag = EC11_B ;
- }
- if(EC11_Flag)
- {
- if((EC11_A==0)&&(EC11_B==0)) // 第三個(gè)信號(hào),處理第二個(gè)信號(hào)的值
- {
- if(Left_Flag) //左轉(zhuǎn)
- {
- EC11_Value-- ; //旋轉(zhuǎn)的值加1
- }
- else if(Right_Flag)
- {
- EC11_Value++; //旋轉(zhuǎn)的值減1
- }
- EC11_Flag = 0; //把標(biāo)志位清零,等待下一個(gè)周期
- }
- }
- }
復(fù)制代碼全部資料51hei下載地址:
EC11編碼器.zip
(590.1 KB, 下載次數(shù): 482)
2020-2-15 15:38 上傳
點(diǎn)擊文件名下載附件
文檔和代碼 下載積分: 黑幣 -5
|