Você está na página 1de 1

// Este programa ir� ecoar na tela do HyperTerminal o valor de temperatura

#include <16f877A.h>
#device ADC=10
#use delay(clock=10000000)
#fuses HS,NOWDT,PUT,NOBROWNOUT,NOLVP
#use rs232(BAUD=1200, parity=N, BITS=8, XMIT=pin_c6, RCV=pin_c7)
#include <usart.c>

long Temperatura;
long valor;

void main(void)
{

//enable_interrupts(int_rda); //registrador serial


//enable_interrupts(GLOBAL); //interrup��es externas
//set_tris_d(0b00000000); //quem � entrada e saida...tudo zero = tudo saida

setup_adc(ADC_CLOCK_DIV_32);//numero de oscilacoes internas


setup_adc_ports(RA0_ANALOG); //qual pino vai receber a entrada analogica
set_adc_channel(0); //canal que recebe o sinal analogico

//usart_inicializa (129,0); // velocidade: 1200

while( true ) //Loop infinito.


{
valor = read_adc(); //ler a porta RA0 pino 2
//Temperatura = (2+100*valor/303)+4;
Temperatura = 5 * valor * 100 / 1023; //Calcula a temperatura em graus
Celsius.
printf("%2Lu\r\n",Temperatura);
usart_transmite ("Temperatura\r\n");
// printf("%2Lu\r\n",valor);
delay_ms(100);
}
}

Você também pode gostar