//Autor: aguivone
//data :24-08-09
///............................................................................
#include <16f877A.h>
#fuses NOWDT,HS, PUT, NOPROTECT, NODEBUG, NOBROWNOUT, NOLVP, NOCPD, NOWRT
#device ADC=10 // define que o AD utilizado será de 10 bits
#use delay (clock=20M) // usado nos delays, define o CLOCK usado. No caso, 4MHz
#BYTE PORTC = 0x07 // define que PORTC é o file register no endereço 07H
#BYTE PORTD = 0x08 // idem para o PORTD no endereço 08H
#use RS232(baud=19200, parity=N, bits=8, xmit=PIN_C6,rcv=PIN_C7)
float LIDO,valor;
void main()
{
enable_interrupts(GLOBAL); //Estas linhas configuram o leitor AD
setup_adc_ports(ALL_ANALOG); //Configuração do conversor AD para pino RA0
setup_adc(ADC_CLOCK_INTERNAL);//Configuração do clock do conversor AD
set_adc_channel(0); //Congiguração do canal do conversor AD
set_tris_c(0); // define o port C como saída
set_tris_d(0); // define o port D como saída
while(1)
{
LIDO =read_adc() ; // busca o valor do AD, que vai de 0 a 1023. Usa uma função (subrotina) descrita anteriormente.
valor=((LIDO+1)*(5))/1023 ;
printf("\n\r%f volts ",valor);
}
Gostei do voltimetro Arguivone, já a muitos anos quero montar um para visualizar no PC, qual seria o software usado no PC? sds silvanoservitec
ResponderExcluirvc pode usar o hiperterminal do window,já vem com o windows(mas na versão windows7 não tem),basta configurar o baud rate e pronto!obrigado por participar do meu blog!
ResponderExcluir