• Sábado 21 de Diciembre de 2024, 08:16

Autor Tema:  MANEJO DE ENCODER  (Leído 2600 veces)

Quicksilver

  • Miembro activo
  • **
  • Mensajes: 93
  • Nacionalidad: co
    • Ver Perfil
MANEJO DE ENCODER
« en: Sábado 18 de Octubre de 2008, 16:56 »
0
Un saludo a toso los foreros.

Tengo una duda, espero que sea trivial, hace poco vengo manejando un encoder y he realizado un programa para que el pic me cuente pulsos con el timer1, y mostrarlos por una lcd, sin embargo, me aparece puros caracteres extraños en la lcd, no se que pueda ser, expondré el código mas abajo.

Código: Text
  1. #include <18F4455.h>
  2. #use delay(clock=20000000)
  3. #fuses HS,NOWDT,NOPROTECT
  4. #define use_portb_lcd TRUE
  5. #include <LCD.C>
  6. #include <stdio.h>
  7.  
  8.  
  9.  
  10. void main()
  11. {
  12.    int16 contador_encoder;
  13.    setup_timer_1(T1_EXTERNAL);
  14.    contador_encoder=0;
  15.    while(true)
  16.    {
  17.    contador_encoder=get_timer1();
  18.    lcd_putc("f");
  19.    lcd_gotoxy(1,1);
  20.    if(contador_encoder>504)
  21.    {
  22.       output_high(pin_A5);
  23.  
  24.    }
  25.  
  26.    //printf(LCD_PUTC,"ncontador encoder=%LUn", contador_encoder);
  27.    PRINTF(LCD_PUTC,"contador encoder %lu", contador_encoder);
  28.    }
  29. }
  30.  


Quiero contar pulsos, la variable que me los cuenta es contador_encoder, y quisiera que cuando el contador sea mayor a 504, se me prenda un led ubicado en el pin_A5, aparte de esto, que me muestre la cantidad de pulsos en la lcd, espero que me puedan ayudar.

Muchisimas gracias de antemano.    :good:
Everything that has a beginning has an end