编码开关程序
enum phase[_]status{
phase[_]no[_]move= 0,
phase[_]dec,
phase[_]inc,
phase[_]bad
};
u8 volatile PhaseShift;
const u8 table[_]Phase[16]=
{
phase[_]no[_]move,phase[_]dec,phase[_]inc,phase[_]bad,
phase[_]inc,phase[_]no[_]move,phase[_]bad,phase[_]dec,
phase[_]dec,phase[_]bad,phase[_]no[_]move,phase[_]inc,
phase[_]bad,phase[_]inc,phase[_]dec,phase[_]no[_]move,
};
U8 whell[_]scan(void)
{
static s8 PhaseCount = 0;
PhaseShift <<= 2;
if((REG32(P4SIN) & (1<<3))) PhaseShift |= 0x01;
if((REG32(P1SIN) & (1<<2))) PhaseShift |= 0x02;
PhaseShift &= 0x0f;
if(table[_]Phase[PhaseShift] == phase[_]inc) PhaseCount++;
if(table[_]Phase[PhaseShift] == phase[_]dec) PhaseCount--;
if(PhaseCount > 3)
{
PhaseCount -= 4;
return phase[_]inc;
}
else if(PhaseCount < -3)
{
PhaseCount += 4;
return phase[_]dec;
}
return phase[_]no[_]move;
}
旋转式编码开关
较好的鼠标滚轮是光栅结构,即:一个发光二极管、一个接受管,之间是滚轮的光栅,滚轮滚动时光栅不断阻挡和透过光线,使接受管获得脉冲信号,从而实现感知滚轮滚动的效果。同时还需要一些机械结构来实现滚轮的支撑和滚动时有段落的手感。而这种廉价的替代品结构则简单的多,一个元件就实现了感知滚动、支撑滚轮和滚动时的段落感。旋转编码开关拆解转盘下的底座。可见圆形的三分之一是一块儿整体的金属片,剩下的三分之二是间断的金属片。转盘滑动时,转盘背面的簧片在底座的金属片上间断的导通和断开,形成脉冲信号,来实现感知鼠标滚轮滚动的效果。特点
1、金属外壳炫亮坚固,段数标示清晰,提供15’、30’波段角度供选择
2、波段段数可由双挡杆任意设定,多种输出数字
编码方式(2进制,2进制补码,16进制)波段挡杆坚固。
3、含信号禁止或偶同位信号防止误动作。
4、镀金双接点,接触电阻稳定,使用寿命长。编码盘镀金层厚0.5um
5、主体座安装O型密封圈,正面板防油防水设计
6、编码体密闭防油防水设计
7、节省配线与CNC输入点可选择附插座型输出
8、5万次以上使用保证