

         #include <18F4550.h>
         #device adc=10
         #fuses XT,MCLR,NOWDT,NOPROTECT,NODEBUG                  
         #use delay(clock=4000000)
         #use fast_io(a)
         #use fast_io(b)
         #define LED_1  PIN_B1
         #use rs232(baud=9600,parity=N,xmit=PIN_C6,rcv=PIN_C7,bits=8,stream=PC)

         float Vin,Vmin,Vmax,Tension;
         
         void main()
         {
         setup_adc_ports(AN0);
         setup_adc(adc_clock_internal);
         set_adc_channel(0);            
         output_low(LED_1);

         while(TRUE) 
         {        
         Vin = read_adc();
         delay_ms(100);
         Tension = Vin*0.48875855327468230694037145650049;                 // Tension = Vin*(5/1023)*100
         printf("Tension: %.1f \n\r", Tension);
     
         if(Tension<=Vmin || Tension>=Vmax)
            output_high(LED_1);
         else
            output_low(LED_1);      
         }
         }
     
