Olá!!!
Alguém aqui sabe programar pic usando linguagem C, para me ajudar programar teclas de incrementa e decrementa valor?
o código é esse:
#include <16F877A.h> //O PIC utilizado, obigatório!
#device adc=10 //Habilitar ADC de 10 bits, obrigatório. Pode
//ser utilizado de 8 bits também.
#FUSES NOWDT //Sem Watch dog, evitando reset
#FUSES XT //Crystal de oscilação igual a 4mhz
#FUSES PUT //Tempo de início do PIC
#FUSES NOPROTECT //Codigo sem proteção de leitura, software livre!
#FUSES NODEBUG //No Debug mode for ICD
#FUSES NOLVP //No low voltage prgming, B3(PIC16) or B5(PIC18) used for I/O
#FUSES NOCPD //No EE protection
#use delay(clock=4000000) //Meu clock
#include //Rotina de LCD modo 4 vias. Obrigatório!
void main() {
int16 q; //Vaeriável inteira de 16 bits: 0 a 65535
float p, temp,temp2; //Variável com vírgula, para poder fazer cálculos.
setup_adc_ports(AN0_AN1_VSS_VREF); //Configura canal 0 analógico
setup_adc(ADC_CLOCK_INTERNAL); //De acordo com relógio interno.
lcd_init(); //Inicia LCD, obrigatório!
for (;; ) //Para sempre.
{
/*===========================================================================
A resolução do conversor AD segue a seguinte equação:
1LSB=(Vref-)+{[(Vref+)-(Vref-)]/1024}
E nesse caso (Vref+)=Vdd e (Vref-)=Vss então a resolução é:
1LSB=5/1024=4,8mV
Por exemplo, se a leitura no canal analógico for de 512, a tensão
analógica será:
Vin=512*(5/1024)=512*4,8mV=2,4576V
===========================================================================*/
set_adc_channel(0); //Habilita canal 0
delay_us(20); //Espera um pouco, obrigatório!
q = read_adc(); //Lê canal 0
p = 5.0 * q / 1024.0; //Conversão para tensão.
temp=(p*100)/3.413; //Temperatura convertida de acordo com o
//amplificador utilizado.
set_adc_channel(1);
delay_us(20);
q = read_adc(); //Lê canal 0
p = 5.0 * q / 1024.0; //Conversão para tensão.
temp2=(p*100)/3.413; //Temperatura convertida de acordo com o
//amplificador utilizado.
if(temp2>=19)
output_bit(PIN_B0,1);
else
output_bit(PIN_B0,0);
printf(lcd_putc, " Bebedouro P&D");
printf(lcd_putc, " \n TEMP AGUA=%01.1fC ", temp );//Mostre a temperatura
delay_ms(50);
}
}
é um projeto de um bebedouro que estou fazendo no meu curso de programação.
eu não sei como programar as teclas e onde seria o lugar certo no programa, sou iniciante.
espero contar com a ajuda de vcs!