Boa noite à todos. Estou aprendendo a programar em Pic e estou usando C. Fiz uma programação e testei no proteus, mas no proteus ao ativar uma entrada, a saída não ativa conforme está na programação. Segue o código usado:
#include "G:\main.h"
//entrada
#define BSN PIN_B1 // Comando para ligar o motor com o seu sentido normal
#define BSI PIN_B2 // Comando para ligar o motor com o seu sentido inverso
#define BD PIN_B3 // Desliga o motor
//saida
#define SaidaNormal PIN_B4 // Liga o motor com o seu sentido normal
#define SaidaInversa PIN_B5 // Liga o motor com o seu sentido inverso
#use delay(clock=20000000)
void main()
{
setup_adc_ports(NO_ANALOGS);
setup_adc(ADC_CLOCK_DIV_2);
setup_psp(PSP_DISABLED);
setup_spi(SPI_SS_DISABLED);
setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
setup_timer_1(T1_DISABLED);
setup_timer_2(T2_DISABLED,0,1);
setup_comparator(NC_NC_NC_NC);
setup_vref(FALSE);
// TODO: USER CODE!!
while(TRUE)
{
if(input(BD == 1)){
output_low(SaidaNormal);
output_low(SaidaInversa);
delay_ms(15); //retardo para eliminar ruído ao pressionar botão.
}
if (input(BSN == 1)){
output_high(SaidaNormal);
output_low(SaidaInversa);
delay_ms(15); //retardo para eliminar ruído ao pressionar botão.
}
if (input(BSI == 1)){
output_low(SaidaNormal);
output_high(SaidaInversa);
delay_ms(15); //retardo para eliminar ruído ao pressionar botão.
}
}
}