Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
fala ae galera
to iniciando programação de micro controladores, e to com alguns probleminhas, se alguem puder ajudar agradeço:
1:
eu compilo meu código, sem erro nenhum... mas ao executar no proteus recebo a mensagem:
"Effect of writing OSCCAL register not modelled"
2:
meu projeto tem como ideia, se R1(LDR 1) for maior q R2(LDR 2), ele gira o motor 1, e vice-versa
mas o motor 1 só está rodando se o ldr 1 for igual o ldr2, para qualquer outro valor o motor 2 é quem gira.
alguem pode me ajudar?
código:
#include <12F675.h>
#FUSES NOWDT //No Watch Dog Timer
#FUSES INTRC_IO //Crystal osc <= 4mhz
#FUSES NOCPD //No EE protection
#FUSES NOPROTECT //Code not protected from reading
#FUSES NOMCLR //Master Clear pin used for I/O
#FUSES NOPUT //No Power Up Timer
#FUSES NOBROWNOUT //No brownout reset
#FUSES BANDGAP_HIGH
#use delay(clock=4000000)
#use rs232(baud=9600,parity=N,xmit=PIN_A5,rcv=PIN_A4,bits=8)
float ldr_1, ldr_2;
void main()
{
setup_adc_ports(sAN0|sAN1|VSS_VDD);
setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
setup_timer_1(T1_DISABLED);
setup_comparator(NC_NC_NC_NC);
setup_vref(FALSE);
setup_adc(ADC_CLOCK_DIV_64);
// TODO: USER CODE!!
while (TRUE)
{
set_adc_channel(0);
delay_ms(1);
ldr_1 = read_adc();
ldr_1 = (int8)ldr_1;
set_adc_channel(1);
delay_ms(1);
ldr_2 = read_adc();
ldr_2 = (int8)ldr_2;
if(ldr_2 == ldr_1){
output_high(pin_a2);
output_high(pin_a5);
delay_ms (1000);
output_low (pin_a2);
output_low (pin_a5);
}
else{
if(ldr_2 < ldr_1){
output_high (pin_a2);
delay_ms (1000);
output_low (pin_a2);
}
if(ldr_1 < ldr_2){
output_high (pin_a5);
delay_ms (1000);
output_low (pin_a5);
}
}
}
// TODO: USER CODE!!
}Carregando comentários...