热度 17
2015-7-1 09:46
1132 次阅读|
0 个评论
// 软件正交编码器 sbit Coder_A = P2^0; // 正交编码器入口 sbit Coder_B = P2^1; sbit Coder_Z = P2^2; bool Accelerate1 = TRUE; // TRUE FALSE bool Accelerate2 = TRUE; // TRUE FALSE bool Accelerate3 = TRUE; // TRUE FALSE bool Accelerate4 = TRUE; // TRUE FALSE void QuadratureEncoder(void) { /* ----------------------------------------------- */ if(!Coder_A == 1 Accelerate1 == TRUE) {Accelerate1 = FALSE; if(Coder_B == 1){Coder_Value ++;} if(Coder_B == 0){Coder_Value --;} } if(Coder_A == 1)Accelerate1 = TRUE; /* ----------------------------------------------- */ if(Coder_A == 1 Accelerate2 == TRUE) {Accelerate2 = FALSE; if(Coder_B == 0){Coder_Value ++;} if(Coder_B == 1){Coder_Value --;} } if(!Coder_A == 1)Accelerate2 = TRUE; /* ----------------------------------------------- */ if(!Coder_B == 1 Accelerate3 == TRUE) {Accelerate3 = FALSE; if(Coder_A == 0){Coder_Value ++;} if(Coder_A == 1){Coder_Value --;} } if(Coder_B == 1)Accelerate3 = TRUE; /* ----------------------------------------------- */ if(Coder_B == 1 Accelerate4 == TRUE) {Accelerate4 = FALSE; if(Coder_A == 1){Coder_Value ++;} if(Coder_A == 0){Coder_Value --;} } if(!Coder_B == 1)Accelerate4 = TRUE; /* ----------------------------------------------- */ if(Coder_Value 4000)Coder_Value = 1; if(Coder_Value 1)Coder_Value = 4000; /* ----------------------------------------------- */ return; }