Electgpl

PIC - Encoder Rotativo v3

Feb 17th, 2016
136
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.84 KB | None | 0 0
  1. #include <16F883.h>
  2. #use delay(clock=4000000)
  3. #use rs232(baud=9600, xmit=pin_c6, rcv=pin_c7, bits=8, parity=N)
  4. #define entradaA input(PIN_A0)                  //Macro de entrada A
  5. #define entradaB input(PIN_A1)                  //Macro de entrada B
  6. int entradaAnterior=0;                          //Variable de intercambio
  7. unsigned int encoder=0;                         //Variable sin signo de encoder
  8. void main(){                                    //Función principal
  9.    while(true){                                 //Bucle infinito
  10.       if((entradaAnterior==0)&&(entradaA==1)){  //Si Anterior 0 y A 1
  11.          if(entradaB==0)                        //Si B esta activo
  12.             encoder--;                          //Decremento el valor de encoder
  13.          else                                   //Caso contrario
  14.             encoder++;                          //Incrementa encoder
  15.          printf("SALIDA %3u\r",encoder);        //Muestra el valor de encoder
  16.       }
  17.       entradaAnterior=entradaA;                 //Intercambio de Variables
  18.    }
  19. }
Advertisement
Add Comment
Please, Sign In to add comment