Projeto 8: Rampa de aceleração manual

11/01/2017

PIC18F4431

#include<p18f4431.h>
unsigned int vdig;
float vanal;
float acel;
void config_ad()
{
ADCON0=0X23;
ADCON1=0X10;
ADCON2=0X80;
ADCHS=0X00;
ANSEL0=0X01;
ANSEL1=0X00;
}
void config_pwm()
{
PTCON0=0X00;
PTCON1=0X80;
PWMCON0=0X51;
PWMCON1=0X00;
PTPERL=1000;
PTPERH=1000>>8;
PDC0L=0;
PDC0H=0;
OVDCOND=0X00;
OVDCONS=0X00;
}
voidmain()
{
OSCCON=0X72;
config_ad();
config_pwm();
while(1)
{
vdig=ADRESH;
vdig=vdig<<8;
vdig+=ADRESL;
vanal=4.88e-3*vdig;
acel=vanal/5;
PDC0L=((int)(1000*acel))<<2;
PDC0H=((int)(1000*acel))>>6;
OVDCOND=0X01;
}
}

© 2016 Dnl Silva. São Paulo - SP
Desenvolvido por Webnode
Crie seu site grátis! Este site foi criado com Webnode. Crie um grátis para você também! Comece agora