Pièce jointe « capitulo1d.sgml »
Téléchargement <sect1 id="pinio" xreflabel="pinio">
<title>Módulo IO y manipulación de pines</title>
<para> Muestra las funciones para poder trabajar con los pines del PIC.</para>
<para>
<screen>
#include <pinio.h>
</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ó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ó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ó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ó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 <pic/p16f877a.h>
#define FOSC_HZ 20000000
#include <pinio.h>
#include <delayms.h>
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.Vous n'êtes pas autorisé à joindre un fichier à cette page.

