Pièce jointe « capitulo2a.sgml »

Téléchargement

        <sect1 id="KEYPAD4x4" xreflabel="Keypad4x4">
                <title>KEYPAD 4x4</title>
                <para> 
                Cuando se desee conectar un keypad de 4x4 con el puerto D o B,
                s&oacute;lo se tiene que agregar la siguiente biblioteca.
                </para>
                <screen>
        //para usar el puerto D
        #define PORTD_FOR_KEYPAD4X4
        #include  &lt;keypad4x4.h> 

        //para usar el puerto B
        #define PORTB_FOR_KEYPAD4X4
        #include  &lt;keypad4x4.h>
                </screen>
                        
                <sect2 id="PinesKeypad4x4" xreflabel="PinesKeypad4x4">
                <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 informacion
                        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="kbdget" 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="kbdgetchar" xreflabel="kbd_getchar">
                        <title>kbd_getchar</title>
                        <screen>char kbd_getchar(void)</screen>
                        <para> 
                                Esta funcion es similar a <xref linkend="kbdget"> 
                                pero bloqueante tambien devuelve una variable de tipo char
                                con el valor de la tecla pulsada
                        </para>
                </sect2>

                <sect2 id="ejemplokeypad4x4" xreflabel="Ejemplo KeyPad4x4">
                <title>Ejemplo de KeyPad4x4</title>
                <para>
                para compilar necesitas los siguientes comandos
                </para>
                <para>
                <screen>
Ejemplo de compilacion : ./compila.sh ej_keypad4x4 16f877a
                </screen>
                </para>
                <para>
                ej_pinio.c
                </para>
                <screen>
#include &lt;pic/p16f877a.h>

#define FOSC_HZ 20000000

#define PORTB_FOR_KEYPAD4X4

#include &lt;uart.h>
#include &lt;keypad4x4.h>
#include &lt;delayms.h>

int main (void)
{
        char tmp;
        char INTRO[]="\nPRESIONA 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.
 Tous les fichiers | Fichiers sélectionnés supprimer déplacer vers la page copier vers la page

Vous n'êtes pas autorisé à joindre un fichier à cette page.

Site hébergé sur un Cloud Public IKOULA Ikoula