hola buenas tarde tengo este programa que quiero que me entregue una frecuencia de 33.khz a 370khz cuando meta en la entrada A0 de 0 a 5 volts y como hacer que me lea la instruccion que le de en A1 enseguida les dejo cogido si alguien me puede ayudar se lo agradeceria bastante saludo.
Código:
#include <16f877a.h>
#fuses NOWDT,HS,NOPUT, NOPROTECT,NODEBUG,NOBROWNOUT, BROWNOUT, NOLVP ,NOCPD,NOWRT
#use delay(clock=12000000)
void main()
{
setup_adc_ports(AN0_AN1_AN3);
setup_adc(ADC_CLOCK_INTERNAL);
setup_spi(SPI_SS_DISABLED);
setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
setup_timer_1(T1_DISABLED);
setup_timer_2(T2_DIV_BY_1, 64, 1);
setup_ccp1(CCP_PWM);
setup_comparator(NC_NC_NC_NC);
int duty;
int j;
set_adc_channel(0); // elegimos el canal que vamos a leer.
set_adc_channel(1);
output_low(PIN_C2);
while(1)
{
for(duty=0; duty<64; duty++)
{
setup_timer_2(T2_DIV_BY_1, duty, 1);
duty=read_adc(); // leemos la tension en el canal que elegimos.
delay_us(20);
set_pwm1_duty(duty/2);
}
for(j=0; j < 64; j++)
{
j=read_adc();
delay_us(20);
set_pwm1_duty(j);
}
}
}
Última edición por un moderador: