Electgpl

PIC - Control 4 Rele por BT o Consola UART

Jun 22nd, 2016
150
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.29 KB | None | 0 0
  1. #include <16F883.h>
  2. #use delay(clock=4000000)
  3. #use rs232(baud=9600,parity=N,xmit=PIN_C6,rcv=PIN_C7,bits=8)
  4. #use rtos(timer=0, minor_cycle=1ms)
  5. #task (rate=20ms, max=1ms)
  6. void func1();
  7. #task (rate=20ms, max=1ms)
  8. void func2();
  9. char dato;
  10. void main(){
  11.    setup_timer_0(RTCC_INTERNAL|RTCC_DIV_4);  
  12.    printf("*************************************************\r");
  13.    printf("*        BoARd - Control Eléctrico 1.1          *\r");
  14.    printf("* CONTROL ELECTRICO POR INTERFAZ SERIE 232/485  *\r");
  15.    printf("*-----------------------------------------------*\r");
  16.    printf("* Q:SALIDA1 | W:SALIDA2 | E:SALIDA3 | R:SALIDA4 *\r");
  17.    printf("*************************************************\r");
  18.    rtos_run();
  19. }
  20. void func1(){  
  21.    if(kbhit())
  22.       dato=getc();
  23. }  
  24. void func2(){
  25.    switch(dato){
  26.    case 'q':      
  27.       output_high(PIN_B0);
  28.       break;
  29.    case 'w':
  30.       output_high(PIN_B1);
  31.       break;
  32.    case 'e':
  33.       output_high(PIN_B2);
  34.       break;
  35.    case 'r':
  36.       output_high(PIN_B3);
  37.       break;    
  38.    case 'a':      
  39.       output_low(PIN_B0);
  40.       break;
  41.    case 's':
  42.       output_low(PIN_B1);
  43.       break;
  44.    case 'd':
  45.       output_low(PIN_B2);
  46.       break;
  47.    case 'f':
  48.       output_low(PIN_B3);
  49.       break;          
  50.    default:
  51.       break;
  52.    }
  53. }
Advertisement
Add Comment
Please, Sign In to add comment