Referencia del Archivo keypad4x4flex.h

Aquí se definen las funciones para trabajar con un KeyaPad. Más...

#include <pinio.h>

Dependencia gráfica adjunta para keypad4x4flex.h:

Este gráfico muestra que archivos directa o indirectamente incluyen a este archivo:

Ir al código fuente de este archivo.

Definiciones

#define ROW0   PIN_B0
#define ROW1   PIN_B1
#define ROW2   PIN_B2
#define ROW3   PIN_B3
#define COL0   PIN_B4
#define COL1   PIN_B5
#define COL2   PIN_B6
#define COL3   PIN_B7
#define kbd_getchar   kbd_getc

Funciones

BYTE buscar_pulso (BYTE TMP)
char kbd_get (void)
char kbd_getc (void)

Variables

char keypad [4][4]


Descripción detallada

Aquí se definen las funciones para trabajar con un KeyaPad.

Autor:
Fernando Pujaico Rivera
Fecha:
Mayo-2008
Versión:
v0.01
Leeme:
Esta cabecera contiene funciones Para el control de KeyPad's de 4x4

Preguntas y sugerencias a: fernando.pujaico.rivera en gmail.com
http://ZSoluciones.com

Definición en el archivo keypad4x4flex.h.


Documentación de las definiciones

#define COL0   PIN_B4

Definición en la línea 62 del archivo keypad4x4flex.h.

Referenciado por kbd_get().

#define COL1   PIN_B5

Definición en la línea 66 del archivo keypad4x4flex.h.

Referenciado por kbd_get().

#define COL2   PIN_B6

Definición en la línea 70 del archivo keypad4x4flex.h.

Referenciado por kbd_get().

#define COL3   PIN_B7

Definición en la línea 74 del archivo keypad4x4flex.h.

Referenciado por kbd_get().

#define kbd_getchar   kbd_getc

Definición en la línea 181 del archivo keypad4x4flex.h.

#define ROW0   PIN_B0

Definición en la línea 46 del archivo keypad4x4flex.h.

Referenciado por kbd_get().

#define ROW1   PIN_B1

Definición en la línea 50 del archivo keypad4x4flex.h.

Referenciado por kbd_get().

#define ROW2   PIN_B2

Definición en la línea 54 del archivo keypad4x4flex.h.

Referenciado por kbd_get().

#define ROW3   PIN_B3

Definición en la línea 58 del archivo keypad4x4flex.h.

Referenciado por kbd_get().


Documentación de las funciones

BYTE buscar_pulso ( BYTE  TMP  ) 

Definición en la línea 90 del archivo keypad4x4flex.h.

00091 {
00092     BYTE D;
00093     switch (TMP)
00094     {
00095          case 14:   D=3; break; // tmp=0b00001110
00096          case 13:   D=2; break; // tmp=0b00001101
00097          case 11:   D=1; break; // tmp=0b00001011
00098          case  7:   D=0; break; // tmp=0b00000111
00099          default:   D=4; break; // tmp=0b0000xxxx
00100     }
00101     return D;
00102 }

char kbd_get ( void   ) 

Definición en la línea 113 del archivo keypad4x4flex.h.

Hace referencia a buscar_pulso(), COL0, COL1, COL2, COL3, input, keypad, output_low, ROW0, ROW1, ROW2, y ROW3.

00114 {
00115     byte col=4;
00116     byte kchar=0;
00117     byte row=4;
00118     byte tmp=0;
00119     byte i;
00120    
00121     /* Pone las filas a un valor bajo*/
00122     output_low(ROW0);
00123     output_low(ROW1);
00124     output_low(ROW2);
00125     output_low(ROW3);
00126 
00127     /* carga el estado actual de las columnas */ 
00128     tmp|=input(COL0)<<3;
00129     tmp|=input(COL1)<<2;
00130     tmp|=input(COL2)<<1;
00131     tmp|=input(COL3)<<0;
00132 
00133     /* Encuantra la columna actual */
00134     col=buscar_pulso(tmp);
00135 
00137     // segunda parte                                    //
00138 
00139     /* pongo todas la columnas en alto excepto la columna encontrada */
00140     if(col==0) output_low(COL0);
00141     if(col==1) output_low(COL1);
00142     if(col==2) output_low(COL2);
00143     if(col==3) output_low(COL3);
00144 
00145     /* carga el estado actual de las filas */ 
00146     tmp=0;
00147     tmp|=input(ROW0)<<3;
00148     tmp|=input(ROW1)<<2;
00149     tmp|=input(ROW2)<<1;
00150     tmp|=input(ROW3)<<0;
00151 
00152     /* Encuantra la fila actual */
00153     row=buscar_pulso(tmp);
00154 
00155     if((row<4)&&(col<4))   kchar=keypad[row][col];
00156 
00157     return(kchar);
00158 }

Gráfico de llamadas para esta función:

char kbd_getc ( void   ) 

Definición en la línea 168 del archivo keypad4x4flex.h.

Hace referencia a FALSE, kbd_get(), y TRUE.

00169 {
00170         unsigned char DAT=TRUE;
00171         char key;
00172 
00173         while(DAT)
00174         {
00175                 key=kbd_get();
00176                 if(key!=0)  DAT=FALSE;
00177         }
00178         return (key);
00179 }

Gráfico de llamadas para esta función:


Documentación de las variables

char keypad[4][4]

Valor inicial:

{{'1','2','3','A'},
 {'4','5','6','B'},
 {'7','8','9','C'},
 {'*','0','#','D'}}

Definición en la línea 83 del archivo keypad4x4flex.h.


Generado el Thu Jan 8 00:56:32 2009 para pic-gcc-library por  doxygen 1.5.1