黄金会员
主题
帖子
积分8515
阅读权限40
注册时间2011-10-27
最后登录1970-1-1
在线时间 小时
|
- /*
- 功能: EC11 型旋转编码开关
- 端口
- A P3.2 INT0
- B Gnd
- C P1.4 (可变更)
- D P3.3 INT1
- E Gnd
- ***注:
- 当前使用204EA为A版 "A版本的外部中断有时会异常,B版本的外部中断可正常使用"
- 已测试外部中断会导致MCU死锁, 所以只能使用轮训方式
- */
- #ifndef __ROTARYENCODER_H__
- #define __ROTARYENCODER_H__
- sbit ENCODER_A = P3^2;
- sbit ENCODER_B = P1^4;
- //sbit ENCODER_A = P3^4;
- //sbit ENCODER_B = P1^2;
- sbit ENCODER_D = P3^3;
- //顺时针方向
- #define ENCODER_CW 0
- //逆时针方向
- #define ENCODER_CCW 1
- //按键短按
- #define ENCODER_SHORT_DOWN 2
- //按键长按
- #define ENCODER_LONG_DOWN 3
- //按键按下标志
- #define ENCODER_KEY_DOWN 0x80
- //无操作
- #define ENCODER_NONE 0x40
- #ifndef __DEBUG_MODE__
- void InitEncoder(void);
- unsigned char EncoderPress(void);
- unsigned char EncoderKeyDown(void);
- #endif //__DEBUG_MODE__
- #endif
复制代码 我这也是在定时器里刷新的 也不咋地
|
|