Pièce jointe « capitulo1b.sgml »
Téléchargement <sect1 id="pwm" xreflabel="pwm">
<title>Módulo PWM</title>
<para>
Muestra las funciones para poder trabajar con el módulo PWM Interno de los PIC.Todas las ecuaciones estan en segundos.Tosc es la inversa de la frecuencia del cristal FOSC_HZ.
</para>
<para>
<screen>
Periodo=(Pr2+1)*4*Tosc*PreescalerTMR2
TiempoPulsoAlto=CCPR1L_CCP1CON54*Tosc*PreEscalerTmr2
</screen>
</para>
<screen>
#include <pwm.h>
#define TMR2_PREESCALER_1 0
#define TMR2_PREESCALER_4 1
#define TMR2_PREESCALER_16 2
</screen>
<sect2 id="pwm1setdata" xreflabel="pwm1_set_data">
<title>pwm1_set_data</title>
<para>Configura el módulo PWM1 del PIC, es necesario indicar el Preescaler y el CCPR1L_CCP1CON54</para>
<screen>
void pwm1_set_data( BYTE Pr2,BYTE PreescalerTMR2,int16 CCPR1L_CCP1CON54);
</screen>
</sect2>
<sect2 id="pwm2setdata" xreflabel="pwm2_set_data">
<title>pwm2_set_data</title>
<para>Configura el módulo PWM2 del PIC, es necesario indicar el Preescaler y el CCPR2L_CCP2CON54</para> <screen>
void pwm2_set_data( BYTE Pr2,BYTE PreescalerTMR2,int16 CCPR2L_CCP2CON54);
</screen>
</sect2>
<sect2 id="ejemplopwm" xreflabel="Ejemplo Pwm">
<title>Ejemplo de PWM</title>
<para>
para compilar necesitas los siguientes comandos
</para>
<para>
<screen>
Ejemplo de compilacion : ./compila.sh ej_pwm 16f877a
</screen>
</para>
<para>
ej_pwm.c
</para>
<screen>
#include <pic/p16f877a.h>
#define FOSC_HZ 20000000
#include <delayms.h>
#include <pwm.h>
int main (void)
{
delayms(100);
pwm1_set_data(224,TMR2_PREESCALER_1,301);
pwm2_set_data(224,TMR2_PREESCALER_1,301);
while(TRUE);
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.

