Timer 0
Timer 0
h>
#device adc=10 // Usa resoluci�n de 10 bits
#fuses HS, NOWDT,NOPROTECT,NOPUT
#use delay(clock=20M)
#include <lcd.c> //incluye librer�a del LCD
#use rs232 (baud=9600, parity=N, xmit=pin_c6, rcv=pin_c7, bits=8)//230400 baud
#define use_portd_lcd TRUE //Configuraci�n puerto D control lcd
#USE STANDARD_IO(A)
#USE STANDARD_IO(B)
#USE STANDARD_IO(C)
#USE STANDARD_IO(D)
float32 A=0.0;
float32 V=0.0;
float32 Kg=0.0;
INT16 DATO=0;
FLOAT DATO1;
VOID TEMPERATURA()
{
SET_ADC_CHANNEL(0);
DELAY_MS(500);
DATO=READ_ADC();
DATO1=DATO*1;
DELAY_MS(500);
PRINTF("%4.1f\r\n",DATO1);
}
#INT_TIMER0
void Timer0_isr(void)
{
output_toggle(PIN_B0);
set_timer0(250);
clear_interrupt(INT_TIMER0);
}
void main()
{
//set_tris_b(0XF0);
setup_adc_ports(AN0);
setup_adc(ADC_CLOCK_DIV_2);
enable_interrupts(INT_TIMER0);
enable_interrupts(GLOBAL);
clear_interrupt(INT_TIMER0);
set_timer0(250);
setup_timer_0(T0_INTERNAL|T0_DIV_256);
//setup_adc (adc_clock_internal);
//setup_adc_ports (0);
while(true)
{
TEMPERATURA();
//Kg=(A/10)-15.2;
// set_pwm1_duty(100);
// printf(lcd_putc,"%02.3f",kg);
// printf("%4.1f\r\n",kg);
}
}