elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


+  Foro de elhacker.net
|-+  Informática
| |-+  Electrónica
| | |-+  Teklado matricial konektado a pic 16f874
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Teklado matricial konektado a pic 16f874  (Leído 2,049 veces)
ijfa

Desconectado Desconectado

Mensajes: 6



Ver Perfil
Teklado matricial konektado a pic 16f874
« en: 10 Diciembre 2005, 00:02 am »

Hola aki va mi konsulta....estoy empezando kon el teklado matricial........si alguien me puede ayudar plis....el teklado va konektado al puerto B....y tengo que enviar esos datos por rs232....si algiuen me puede ayudar a modifikar este porfa....

Código:

//programa de lectura de un teclado matricial conectado al puerto B.
//se realiza una lectura cada 10ms.

char ADCON0@0x1F; // Registro ADCON0
char ADCON1@0x9F; // Direccion del registro ADCON1
char ADRESL@0x9E;
char ADRESH@0x1E;
char TXSTA@0x98;
char RCSTA@0x18;
char SPBRG@0x99;
char TXREG@0x19;
char RCREG@0x1A;
char Tecla, Temp,Temp1,Temp2, Pulsada;


main()
{
  while (1)
  {

   Lee_Tecla();
   delay_ms(10);
  }
}


void Lee_Tecla(void)
{
 set_tris_b(11110000b);
 clear_bit(OPTION_REG,NOT_RBPU); // habilita pull-ups
 output_port_b(0);
 asm comf PORTB,W;   // Lee y complementa
 asm movwf _Temp1;   // Lee y complementa (Columna)
 asm swapf _Temp1,f; // Cambia alta por baja
 Temp=0;
 
   while (!(Temp1 & 0x01))  // cuenta hasta que llegue a un bit set
   {
    Temp1>>=1;
    Temp++;
   }

 if (Temp<4)  // se ha pulsado
   
   {
     Temp2=Temp;                        // Guardo columna
     set_tris_b(00001111b);             // ahora la fila
     clear_bit(OPTION_REG,NOT_RBPU);    // habilita pull-ups

     output_port_b(0);
     asm comf PORTB,W;            // Lee y complementa
     asm movwf _Temp1;            // Lee y complementa (Fila)

    Temp=0;
   
    while (!(Temp1 & 0x01))      // cuenta hasta que llegue a un bit set

    { Temp1>>=1;
      Temp++;
    }


    if (Temp<4)    // Fila correcta
       
       { Temp1=Temp;
       Tecla=(Temp2<<2)+Temp1;
       }
   
     else Tecla=0xFF;
     }
     
     else Tecla=0xFF;
     }



so nomas...


« Última modificación: 12 Diciembre 2005, 20:09 pm por ijfa » En línea

ijfa

Desconectado Desconectado

Mensajes: 6



Ver Perfil
Re: Teklado matricial konektado a pic 16f874
« Respuesta #1 en: 29 Diciembre 2005, 17:15 pm »

OLA si alguien se raja kon una revisá de este kodigo por fa.....es que lo arregle pal compilador cc5x .....que es el que toy usando....

Código:
char Tecla, Temp,Temp1,Temp2, Pulsada;


void main()
{
  while (1)
  {

   Lee_Tecla();
   delay_ms(10);
  }
}


void Lee_Tecla(void)
{
  TRISB = 0b11110000;
  OPTION.7 = 0; // habilita pull-ups
  PORTB = 0;
#asm
 comf PORTB,W;   // Lee y complementa
 movwf _Temp1;   // Lee y complementa (Columna)
 swapf _Temp1,f; // Cambia alta por baja
#endasm
Temp=0;
 
   while (!(Temp1 & 0x01))  // cuenta hasta que llegue a un bit set
   {
    Temp1>>= 1;
    Temp++;
   }

 if (Temp<4)  // se ha pulsado
   
   {
     Temp2=Temp;                        // Guardo columna
     TRISB = 0b00001111;            // ahora la fila
     OPTION.7 = 0; // habilita pull-ups
  PORTB = 0;
  #asm
comf PORTB,W;            // Lee y complementa
     movwf _Temp1;            // Lee y complementa (Fila)
  #endasm
    Temp=0;
   
    while (!(Temp1 & 0x01))      // cuenta hasta que llegue a un bit set

    { Temp1>>=1;
      Temp++;
    }


    if (Temp<4)    // Fila correcta
       
       { Temp1=Temp;
       Tecla=(Temp2<<2)+Temp1;
       }
   
     else Tecla=0xFF;
     }
     
     else Tecla=0xFF;
     }


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[SRC] Calculadora Matricial ~
Java
Dnk! 1 3,357 Último mensaje 2 Diciembre 2010, 22:58 pm
por Debci
[C++]Estructura matricial, tipo(conjunto)
Programación C/C++
anonimo12121 2 2,522 Último mensaje 8 Octubre 2012, 12:23 pm
por anonimo12121
Calculadora Matricial
GNU/Linux
Juli_Garcia 0 1,654 Último mensaje 12 Abril 2013, 16:21 pm
por Juli_Garcia
Impresora Matricial OKI
Java
nagatox 0 1,679 Último mensaje 20 Julio 2014, 23:51 pm
por nagatox
Impresora Matricial en Centos 6.7
GNU/Linux
steveozo 2 2,514 Último mensaje 9 Diciembre 2016, 17:54 pm
por B€T€B€
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines