Hola!!! Saludos a todos en primer lugar...
Miren, he hecho este programa básico pero no me funk una parte y quisiera que ustedes me den una mano... La cosa es que simplemente pongo que al tener aplastado un boton se prenda un led, pero nada...
if(input(PIN_A1==1))
output_high(PIN_B2);
else
output_low(PIN_B2);
Tienen idea de porqué puede ser???
Aqui les dejo todo el programa....
Gracias por su ayuda...
#include <16F877A.h>
#device adc=8
#FUSES NOWDT //No Watch Dog Timer
#FUSES XT //Crystal osc <= 4mhz
#FUSES NOPUT //No Power Up Timer
#FUSES NOPROTECT //Code not protected from reading
#FUSES NODEBUG //No Debug mode for ICD
#FUSES NOBROWNOUT //No brownout reset
#FUSES NOLVP //No low voltage prgming, B3(PIC16) or B5(PIC18) used for I/O
#FUSES NOCPD //No EE protection
#FUSES WRT_50% //Lower half of Program Memory is Write Protected
#use delay(clock=4000000)
int8 valor;
void main()
{
port_b_pullups(TRUE);
setup_adc_ports(AN0);
setup_adc(ADC_CLOCK_INTERNAL);
setup_psp(PSP_DISABLED);
setup_spi(SPI_SS_DISABLED);
setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
setup_timer_1(T1_INTERNAL|T1_DIV_BY_1);
setup_timer_2(T2_DIV_BY_16,255,1);
setup_ccp1(CCP_PWM);
set_pwm1_duty(0);
setup_comparator(NC_NC_NC_NC);
setup_vref(FALSE);
// TODO: USER CODE!!
while(1)
{
set_tris_b(0x00);
if(input(PIN_A1==1))
output_high(PIN_B2);
else
output_low(PIN_B2);
set_adc_channel(0);
valor=read_adc();
if(valor>=127)
output_high(PIN_B1);
else
output_low(PIN_B1);
set_pwm1_duty(valor);
}
}