Electgpl

PIC - Keypad One Wire v1

Jan 22nd, 2016
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.43 KB | None | 0 0
  1. #include <16F883.h>
  2. #device adc=10
  3. #FUSES NOWDT, INTRC_IO, NOPUT, MCLR
  4. #use delay(int=4000000)
  5. #include <LCD.C>
  6. void main(){
  7.    setup_adc_ports(sAN0|VSS_VDD);
  8.    setup_adc(ADC_CLOCK_DIV_32);
  9.    lcd_init();
  10.    int16 salida;
  11.    char caracter;
  12.    while(true){
  13.       set_adc_channel(0);
  14.       salida=read_adc();
  15.       delay_us(30);
  16.       lcd_gotoxy(1,1);
  17.       printf(lcd_putc,"Valor: %4lu",salida);
  18.       lcd_gotoxy(1,2);
  19.       printf(lcd_putc,"Caracter: %c",caracter);
  20.       if(salida<350)
  21.          caracter='@';
  22.       if(salida>360&&salida<384)  
  23.          caracter='+';
  24.       if(salida>386&&salida<401)
  25.          caracter='=';
  26.       if(salida>403&&salida<413)
  27.          caracter='0';
  28.       if(salida>415&&salida<435)
  29.          caracter='C';
  30.       if(salida>440&&salida<465)
  31.          caracter='-';
  32.       if(salida>469&&salida<485)
  33.          caracter='3';
  34.       if(salida>490&&salida<510)
  35.          caracter='2';
  36.       if(salida>515&&salida<540)
  37.          caracter='1';
  38.       if(salida>550&&salida<585)
  39.          caracter='*';
  40.       if(salida>595&&salida<625)
  41.          caracter='6';
  42.       if(salida>630&&salida<670)
  43.          caracter='5';
  44.       if(salida>680&&salida<720)
  45.          caracter='4';
  46.       if(salida>750&&salida<800)
  47.          caracter='/';
  48.       if(salida>820&&salida<880)
  49.          caracter='9';
  50.       if(salida>900&&salida<940)
  51.          caracter='8';
  52.       if(salida>950)
  53.          caracter='7';        
  54.    }
  55. }
Add Comment
Please, Sign In to add comment