TODOPIC

Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: fastyx en 18 de Agosto de 2006, 22:55:32

Título: no puedo hacer andar el teclado!
Publicado por: fastyx en 18 de Agosto de 2006, 22:55:32
lei lo de kbd_getc(),

pero no lo puedo hacer andar  Laughing

les  paso el codigo a ver que pasa ...

#include <vs_clave.h>       // en este archivo direcciono hacia kbd3x4.c

///PROGRAMA
 main ( )
{
   char c ;
   setup_adc_ports(AN0);
   setup_adc(ADC_CLOCK_INTERNAL);
   setup_timer_0 ( RTCC_INTERNAL ) ;
   setup_timer_1 ( T1_DISABLED ) ;
   setup_timer_2 ( T2_DIV_BY_1 , 250 , 1 ) ;
   disable_interrupts ( INT_TIMER2 ) ;
   disable_interrupts ( INT_RDA ) ;
   disable_interrupts ( GLOBAL ) ;
   setup_ccp1(CCP_PWM);

   trisa = 0b00000111 ; porta = 0b00000000 ;
   trisb = 0b00001111 ; portb = 0b00000000 ;
   trisc = 0b00111000 ; portc = 0b00000000 ;
 
led = 1 ;delay_ms (500 ) ; led = 0 ; delay_ms (500 ) ;
led = 1 ;delay_ms (500 ) ; led = 0 ; delay_ms (500 ) ;
led = 1 ;delay_ms (500 ) ; led = 0 ; delay_ms (500 ) ; //debugg

  while ( true )

  {
       char c ;
       led = 1 ;
       
       for( ; ; )
       {                               //bucle...
         do
           {                           //espera hasta...
             c = kbd_getc( );
           }
         while( c == 0 ) ;           //...pulsar una tecla
         if ( c == '1' )
         led = 0 ;
       }     
   }
}
Título: Re: no puedo hacer andar el teclado!
Publicado por: jfh900 en 18 de Agosto de 2006, 23:07:14
Podrias poner el esquema haber si es un problema de las conexiones.

Un saludo
Título: Re: no puedo hacer andar el teclado!
Publicado por: fastyx en 18 de Agosto de 2006, 23:13:36
tengo conectado un teclado tal como en el de vzener es decir de rb0 a rb7,
//                RB0 RB1 RB2
//                  ^   ^   ^
//                   |   |   |
//                |---|---|---|
//  RB4 ---> | 1 | 2 | 3 |
//                |---|---|---|
//  RB5 ---> | 4 | 5 | 6 |
//                |---|---|---|
//  RB6 ---> | 7 | 8 | 9 |
//                |---|---|---|
//  RB7 ---> | * | 0 | # |
Título: Re: no puedo hacer andar el teclado!
Publicado por: fastyx en 18 de Agosto de 2006, 23:15:59
en ese mismo ejemplo de conexion , si yo saco el teclado porque sospecho que no anda y conecto el rbo con el rb4 , surtiria el mismo efecto que apretar la tecla '1'?
Título: Re: no puedo hacer andar el teclado!
Publicado por: Luis_Chogi en 19 de Agosto de 2006, 02:15:18
Solo como complemento checa que este bien configurado el puerto B, no se se me ocurre que tal vez no tienes activadas las PULL-UP del puerto B o algo asi...

Aqui un pedacito de la configuracion correcta del teclado si es que no le pones PULL-UP externas.


en la configuracion.................

Código: CSS
  1. #define use_portb_kbd TRUE         //definir portb keypad
  2. #include<kbd.c>                          //libreria manejo keypad

y ya en el codigo......
Código: CSS
  1. kbd_init();            //inicializa teclado  
  2.    port_b_pullups(TRUE);   //Activas PULL-UP, de lo contrario necesitarias conectarlas externamente.
   


Creo que con esto no debes tener mas problemas ya que en verdad con la libreria es muy facil hacer funcionar el teclado.

Saludos.
Título: Re: no puedo hacer andar el teclado!
Publicado por: vszener en 19 de Agosto de 2006, 08:41:04
Aquí, otra respuesta mas: cerradura electronica con teclado (http://www.todopic.com.ar/foros/index.php?topic=13491.0)


Suerte!!! :wink: