之前一直沒用到過,今天應朋友要求幫忙寫一個EC11驅動,在網上搜了一圈,發現很多驅動用起來并不是很順手。于是自己寫了一個,供參考
時間 2020年3月11日21點21分 東莞
單片機源程序如下:
- #include "ec11.h"
- unsigned char EC11_Dir = 0;//方向標志
- unsigned char TestValue = 0;
- #define PIN_EC11_A P0_4
- #define PIN_EC11_B P0_5
- void ec11_init(void)
- {
- P0_4 =1;
- P0_5 =1;
- }
- void _ec11_drives(void)//中斷10us中調用
- {
- static unsigned char CheckCnt,EC11Status=0;
- if(PIN_EC11_A)
- {
- if(++CheckCnt > 10)//在中斷中調用 值為2即可,快速掃描,適當加長可提高防抖效果。
- {
- CheckCnt = 12;
- if(EC11Status==0)
- {
- if(PIN_EC11_B)
- {
- EC11_Dir = 0x55;
- TestValue--;
- }
- else
- {
- EC11_Dir = 0xaa;
- TestValue++;
- }
- }
- EC11Status =1;
- }
- }
- else
- {
- if(CheckCnt)
- {
- CheckCnt--;
- }
- else
- {
- if(EC11Status)
- {
- EC11Status=0;
- if(PIN_EC11_B)
- {
- EC11_Dir = 0xaa;
- TestValue++;
- }
- else
- {
- EC11_Dir = 0x55;
- TestValue--;
- }
- }
- }
- }
- }
復制代碼
以上資料51hei下載地址:
ec11.zip
(891 Bytes, 下載次數: 459)
2020-3-11 21:13 上傳
點擊文件名下載附件
ec11源代碼
|