Rev 3313 Rev 3315
Line 32... Line 32...
32 #define DIVISOR 99 // 20 kHz 32 #define DIVISOR 99 // 20 kHz
33 //#define DIVISOR 39 // 50 kHz 33 //#define DIVISOR 39 // 50 kHz
34   34  
35 #define MAX_OUTPUT 1000 35 #define MAX_OUTPUT 1000
36   36  
-   37 /// Linear interpolation parameters
-   38 //
-   39  
-   40 #define k 0.333961
-   41 #define q 206.952
-   42  
-   43  
37 unsigned int16 setpoint=43; 44 unsigned int16 setpoint=43;
38 unsigned int16 adc_value; 45 unsigned int16 adc_value;
39 int1 output_permit=FALSE; 46 int1 output_permit=FALSE;
40   47  
41 #INT_AD 48 #INT_AD
Line 120... Line 127...
120 while(true) 127 while(true)
121 { 128 {
122 if(input(OUTPUT_ENABLE)) output_permit=TRUE; 129 if(input(OUTPUT_ENABLE)) output_permit=TRUE;
123 else output_permit=FALSE; 130 else output_permit=FALSE;
124   131  
125 output_voltage = adc_value * 0.316142 + 223.294; 132 output_voltage = adc_value * k + q;
126   133  
127 lcd_gotoxy(1,1); 134 lcd_gotoxy(1,1);
128 printf(lcd_putc,"%3.0f",output_voltage); 135 printf(lcd_putc,"%3.0f",output_voltage);
129 lcd_gotoxy(1,2); 136 lcd_gotoxy(1,2);
130   137