	<sect1 id="mdelayms" xreflabel="mdelayms">
		<title>M&oacute;dulo Delayms</title>
		<para>Autor : Pedro Jos&eacute; Ram&iacute;rez Guti&eacute;rrez </para>
		<para>pjanragu en telefonica.net</para>
		<para>Rutina que genera un retardo en <keycap>ms</keycap></para>

		<para> 
		Antes necesita definir el valor de la frecuencia del cristal
		<screen>
	#define FOSC_HZ 20000000

	#include &lt;delayms.h>
		</screen>
		</para>

		<sect2 id="delayms" xreflabel="delayms">
		<title>delayms</title>
		<para>
		La funci&oacute;n genera un retardo en milisegundos.
		</para>
		<screen>
	void delayms(unsigned int retraso);
		</screen>
		</sect2>

		<sect2 id="ejemplodelayms" xreflabel="Ejemplo DelayMs">
		<title>Ejemplo de DelayMs</title>
		<para>
		para compilar necesitas los siguientes comandos.
		</para>
		<para>
		<screen>
Ejemplo de compilaci&oacute;n : ./compila.sh ej_delay 16f877a
		</screen>
		</para>
		<para>
		ej_delay.c
		</para>
		<screen>
#include &lt;pic/p16f877a.h>

#define FOSC_HZ 20000000

#include &lt;uart.h>
#include &lt;pinio.h>   /*define los PIN_XY*/
#include &lt;delayms.h>

int main (void)
{
	char c=0;
	char INTRO[8]="TECLEA\n";
	int T=100;
	
	delayms(100);

	uart_open(SET_115200_8N1);

	uart_puts(INTRO);
	while(c!=13)
	{
		if(uart_kbhit()==1)
		{
			c=uart_getc()-'0';
			uart_putc(c+'0');
			T=100*c;
		}
		delayms(T);
		output_high(PIN_C2);
		delayms(T);
		output_low(PIN_C2);
	}
	uart_close();

	return 0;
}
		</screen>
		</sect2>
	</sect1>
