#include <p18f452.h>
#include <adc.h>
#include <timers.h>
#include <pwm.h>
#include <delays.h>
#include <xlcd.h>
#include <stdlib.h>
int s1,i;
char pwm[2];
void main (void)
{
OpenADC( ADC_FOSC_64 & ADC_RIGHT_JUST & ADC_5ANA_0REF, ADC_CH0 & ADC_INT_OFF );
OpenTimer2(T2_PS_1_16);
OpenPWM1(0xff);
OpenXLCD(FOUR_BIT & LINES_5X7);
for(;;)
{
WriteCmdXLCD(BLINK_OFF & CURSOR_OFF);
SetChanADC(ADC_CH1);
Delay10TCYx( 5 );
ConvertADC();
while( BusyADC() );
s1 = ReadADC();
SetDCPWM1(s1);
s1 = 100- ((s1/10))-1;
itoa(s1,pwm);
while(BusyXLCD());
SetDDRamAddr(0x80);
putrsXLCD("D.C:");
while(BusyXLCD());
putsXLCD(pwm);
WriteDataXLCD(0x20);
putrsXLCD("% ");
}
ClosePWM1();
CloseTimer2();
CloseADC();
}
//OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO RETARDOS LCD OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO000000000000000000000000000000000000000000000000000000000000000000000000
void DelayFor18TCY( void )
{
Nop();
Nop();
Nop();
Nop();
Nop();
Nop();
Nop();
Nop();
Nop();
Nop();
Nop();
Nop();
}
void DelayPORXLCD( void )
{
Delay1KTCYx(60); //Delay of 15ms
return;
}
void DelayXLCD( void )
{
Delay1KTCYx(20); //Delay of 5ms
return;
}