Pièce jointe « capitulo2b.sgml »
Téléchargement <sect1 id="KEYPAD4x4flex" xreflabel="Keypad4x4flex">
<title>KEYPAD 4x4 FLEX</title>
<para>
Cuando se desee conectar un keypad de 4x4 con cualquier PIN,
sólo se tiene que agregar la siguiente biblioteca.
</para>
<screen>
#define ROW0 PIN_C0
#define ROW1 PIN_C1
#define ROW2 PIN_C2
#define ROW3 PIN_C3
#define COL0 PIN_C4
#define COL1 PIN_C5
#define COL2 PIN_C6
#define COL3 PIN_C7
#include <keypad4x4flex.h>
</screen>
<sect2 id="PinesKeypad4x4Flex" xreflabel="PinesKeypad4x4Flex">
<title>Diagrama de Pines</title>
<para>
Los KeyPad son un conjunto de pulsadores dispuestos en
forma de una matriz de 4 filas y 4 columnas, estos
dispositivos son utilizados para introducir información
al microcontrolador.
</para>
<para>
<screen>
ROW0 --> PIN_X0
ROW1 --> PIN_X1
ROW2 --> PIN_X2
ROW3 --> PIN_X3
COL0 --> PIN_X4
COL1 --> PIN_X5
COL2 --> PIN_X6
COL3 --> PIN_X7
--R-- ROW0 {'1' ,'2' ,'3' ,'A'}
--R-- ROW1 {'4' ,'5' ,'6' ,'B'}
--R-- ROW2 {'7' ,'8' ,'9' ,'C'}
--R-- ROW3 {'*' ,'0' ,'#' ,'D'}
COL0 COL1 COL2 COL3
| | | |
R R R R
|____|____|____|___+vcc
</screen>
</para>
</sect2>
<sect2 id="kbdgetflex" xreflabel="kbd_get">
<title>kbd_get</title>
<screen>char kbd_get(void)</screen>
<para>
Esta funcion no es bloqueante y devuelve una
variable de tipo char con el valor de la tecla pulsada,
si no encuentra alguna tecla pulsada o si encuentra
mas de una tecla, devuelve 0
</para>
</sect2>
<sect2 id="kbdgetcharflex" xreflabel="kbd_getchar_flex">
<title>kbd_getchar</title>
<screen>char kbd_getchar(void)</screen>
<para>
Esta funcion es similar a <xref linkend="kbdgetflex">
pero bloqueante tambien devuelve una variable de tipo char
con el valor de la tecla pulsada
</para>
</sect2>
<sect2 id="ejemplokeypad4x4flex" xreflabel="Ejemplo KeyPad4x4 Flex">
<title>Ejemplo de KeyPad4x4 Flex</title>
<para>
para compilar necesitas los siguientes comandos
</para>
<para>
<screen>
Ejemplo de compilacion : ./compila.sh ej_keypad4x4flex 16f877a
</screen>
</para>
<para>
ej_pinio.c
</para>
<screen>
#include <pic/p16f877a.h>
#define FOSC_HZ 20000000
#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
#include <uart.h>
#include <keypad4x4flex.h>
#include <delayms.h>
int main (void)
{
char tmp;
char INTRO[]="PRESIONA UNA TECLA\n";
TRISB=0xFF;
TRISC=0xFF;
delayms(100);
uart_open(SET_9600_8N1);
set_pullup_portb(TRUE);
uart_puts(INTRO);
while(TRUE)
{
delayms(200);
tmp = kbd_getchar();
uart_putc(tmp);
}
return 0;
}
</screen>
</sect2>
</sect1>Fichiers joints
Pour vous référer aux pièces jointes d'une page, utilisez attachment:filename, comme indiqué ci-dessous dans la liste de fichiers. N'utilisez pas l'URL du lien [get], car elle peut changer et donc être facilement cassée.Vous n'êtes pas autorisé à joindre un fichier à cette page.

