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&oacute;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  &lt;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&oacute;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 &lt;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 &lt;uart.h>
#include &lt;keypad4x4flex.h>
#include &lt;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.
 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