Pièce jointe « capitulo1d.sgml »

Téléchargement

        <sect1 id="pinio" xreflabel="pinio">
                <title>M&oacute;dulo IO y manipulaci&oacute;n de pines</title>
                <para> Muestra las funciones para poder trabajar con los pines del PIC.</para>  
                <para>
                <screen>
        #include &lt;pinio.h&gt;
                </screen>
                </para>

                <sect2 id="outputhighslow" xreflabel="output_high_slow">
                <title>output_high_slow</title>
                <para>
                        Establece un PIN a un estado alto de voltaje. Verifica el estado del <keycap>tris</keycap>.
                </para>
                <screen>
        void output_high_slow(  BYTE puerto, 
                                BYTE pin);
        ejemplo:
        output_high_slow(PIN_B0);

                </screen>
                </sect2>

                <sect2 id="outputhighfast" xreflabel="output_high_fast">
                <title>output_high_fast</title>
                <para>
                        Establece un PIN a un estado alto de voltaje. No verifica el estado del <keycap>tris</keycap>.
                </para>
                <screen>
        void output_high_fast(  BYTE puerto, 
                                BYTE pin);
        ejemplo:
        output_high_fast(PIN_B0);

                </screen>
                </sect2>

                <sect2 id="outputhigh" xreflabel="output_high">
                <title>output_high</title>
                <para>
                        Establece un PIN a un estado alto de voltaje. La verificaci&oacute;n del estado del <keycap>tris</keycap> depende de habilitar el macro SLOW_IO como TRUE o FALSE.
                </para>
                <para>
                        Por defecto, si no se escribe <keycap>#define SLOW_IO TRUE</keycap> , SLOW_IO tiene el valor de TRUE.
                </para>
                <screen>
        #define SLOW_IO TRUE

        void output_high(       BYTE puerto, 
                                BYTE pin);
        ejemplo:
        output_high(PIN_B0);

                </screen>
                </sect2>

                <sect2 id="outputlowslow" xreflabel="output_low_slow">
                <title>output_low_slow</title>
                <para>
                        Establece un PIN a un estado bajo de voltaje. Verifica el estado del <keycap>tris</keycap>.
                </para>
                <screen>
        void output_low_slow(   BYTE puerto, 
                                BYTE pin);
        ejemplo:
        output_low_slow(PIN_B0);

                </screen>
                </sect2>

                <sect2 id="outputlowfast" xreflabel="output_low_fast">
                <title>output_low_fast</title>
                <para>
                        Establece un PIN a un estado bajo de voltaje. No verifica el estado del <keycap>tris</keycap>.
                </para>
                <screen>
        void output_low_fast(   BYTE puerto, 
                                BYTE pin);
        ejemplo:
        output_low_fast(PIN_B0);

                </screen>
                </sect2>

                <sect2 id="outputlow" xreflabel="output_low">
                <title>output_low</title>
                <para>
                        Establece un PIN a un estado bajo de voltaje. La verificaci&oacute;n del estado del <keycap>tris</keycap> depende de habilitar el macro SLOW_IO como TRUE o FALSE.
                </para>
                <para>
                        Por defecto, si no se escribe <keycap>#define SLOW_IO TRUE</keycap> , SLOW_IO tiene el valor de TRUE.
                </para>
                <screen>
        #define SLOW_IO TRUE

        void output_low(        BYTE puerto, 
                                BYTE pin);
        ejemplo:
        output_low(PIN_B0);

                </screen>
                </sect2>

                <sect2 id="inputslow" xreflabel="input_slow">
                <title>input_slow</title>
                <para>
                        Devuelve el estado de un pin. puede ser <keycap>1</keycap> o <keycap>0</keycap>. Verifica el estado del <keycap>tris</keycap>.
                </para>
                <screen>
        BYTE input_slow(        BYTE puerto, 
                                BYTE pin);
        ejemplo:
        input_slow(PIN_B1);

                </screen>
                </sect2>

                <sect2 id="inputfast" xreflabel="input_fast">
                <title>input_fast</title>
                <para>
                        Devuelve el estado de un pin. puede ser <keycap>1</keycap> o <keycap>0</keycap>. No verifica el estado del <keycap>tris</keycap>.
                </para>
                <screen>
        BYTE input_fast(        BYTE puerto, 
                                BYTE pin);
        ejemplo:
        input_fast(PIN_B1);

                </screen>
                </sect2>

                <sect2 id="input" xreflabel="input">
                <title>input</title>
                <para>
                        Devuelve el estado de un pin. puede ser <keycap>1</keycap> o <keycap>0</keycap>. La verificaci&oacute;n del estado del <keycap>tris</keycap> depende de habilitar el macro SLOW_IO como TRUE o FALSE.
                </para>
                <para>
                        Por defecto, si no se escribe <keycap>#define SLOW_IO TRUE</keycap> , SLOW_IO tiene el valor de TRUE.
                </para>
                <screen>
        #define SLOW_IO TRUE

        BYTE input(     BYTE puerto, 
                        BYTE pin);
        ejemplo:
        input(PIN_B1);

                </screen>
                </sect2>

                <sect2 id="setpintoslow" xreflabel="set_pin_to_slow">
                <title>set_pin_to_slow</title>
                <para>Establece el estado de un pin a <keycap>1</keycap> o <keycap>0</keycap>. Verifica el estado del <keycap>tris</keycap>.</para>
                <screen>
        void set_pin_to_slow(   BYTE puerto, 
                                BYTE pin,
                                BYTE X);

        ejemplo:
        set_pin_to_slow(PIN_C1,1);//el pin C1 ahora tiene un estado alto
        set_pin_to_slow(PIN_C1,0);//el pin C1 ahora tiene un estado bajo
                </screen>
                </sect2>

                <sect2 id="setpintofast" xreflabel="set_pin_to_fast">
                <title>set_pin_to_fast</title>
                <para>Establece el estado de un pin a <keycap>1</keycap> o <keycap>0</keycap>. No verifica el estado del <keycap>tris</keycap>.</para>
                <screen>
        void set_pin_to_fast(   BYTE puerto, 
                                BYTE pin,
                                BYTE X);

        ejemplo:
        set_pin_to_fast(PIN_C1,1);//el pin C1 ahora tiene un estado alto
        set_pin_to_fast(PIN_C1,0);//el pin C1 ahora tiene un estado bajo
                </screen>
                </sect2>

                <sect2 id="setpinto" xreflabel="set_pin_to">
                <title>set_pin_to</title>
                <para>
                        Establece el estado de un pin a <keycap>1</keycap> o <keycap>0</keycap>.
                </para> 
                <para>
                        La verificaci&oacute;n del estado del <keycap>tris</keycap> depende de habilitar el macro SLOW_IO como TRUE o FALSE.
                </para>
                <para>
                        Por defecto, si no se escribe <keycap>#define SLOW_IO TRUE</keycap> , SLOW_IO tiene el valor de TRUE.
                </para>
                <screen>
        #define SLOW_IO TRUE

        void set_pin_to(        BYTE puerto, 
                                BYTE pin,
                                BYTE X);

        ejemplo:
        set_pin_to(PIN_C1,1);//el pin C1 ahora tiene un estado alto
        set_pin_to(PIN_C1,0);//el pin C1 ahora tiene un estado bajo
                </screen>
                </sect2>

                <sect2 id="setpintristo" xreflabel="set_pin_tris_to">
                <title>set_pin_tris_to</title>
                <para>Establece el TRIS de un pin a <keycap>1</keycap> o <keycap>0</keycap>.</para>
                <screen>
        void set_pin_tris_to(   BYTE puerto, 
                                BYTE pin,
                                BYTE X);

        ejemplo:
        set_pin_tris_to(PIN_C1,1);//el TRIS C1 ahora tiene un estado alto
        set_pin_tris_to(PIN_C1,0);//el TRIS C1 ahora tiene un estado bajo
                </screen>
                </sect2>

                <sect2 id="setportaasdigital" xreflabel="set_porta_as_digital">
                <title>set_porta_as_digital</title>
                <para>Establece el puerto A como DIGITAL.</para>
                <screen>
        #define set_porta_as_digital() ADCON1=0x06

        ejemplo:
        set_porta_as_digital();
                </screen>
                </sect2>

                <sect2 id="setpullupportb" xreflabel="set_pullup_portb">
                <title>set_pullup_portb</title>
                <para>Habilita o deshabilita las resistencias de pull-up del puerto B.</para>
                <para>Para habilitar    las resistencias de pull-up X= 1 o TRUE.</para>
                <para>Para deshabilitar las resistencias de pull-up X= 0 o FALSE.</para>
                <screen>
        void set_pullup_portb(BYTE X);
                </screen>
                </sect2>

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

#define FOSC_HZ 20000000

#include &lt;pinio.h&gt;
#include &lt;delayms.h&gt;

int main (void)
{
        delayms(100);

        while(TRUE)
        {
                delayms(50);
                output_high(PIN_C2);
                delayms(50);
                output_low(PIN_C2);

                if(input(PIN_A4)==1) output_high(PIN_B7);
                else                 output_low (PIN_B7); 
        }
        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