32,8 → 32,12 |
#define DIVISOR 99 // 20 kHz |
//#define DIVISOR 39 // 50 kHz |
|
#define MAX_OUTPUT 1000 |
#define MAX_OUTPUT 530 |
#define raw_step 50 |
#define fine_step 5 |
|
|
|
/// Linear interpolation parameters |
// |
|
86,6 → 90,7 |
{ |
unsigned int1 button_press; // semafor pro cteni tlacitek |
float output_voltage; |
float voltage_setpoint = 300; |
|
setup_adc_ports(sAN0|VSS_VREF); |
setup_adc(ADC_CLOCK_DIV_32); |
135,11 → 140,14 |
printf(lcd_putc,"%3.0f",output_voltage); |
lcd_gotoxy(1,2); |
|
if(input(OUTPUT_ENABLE))printf(lcd_putc,"Set:%lu "setpoint); |
voltage_setpoint = setpoint * k + q; |
|
if(input(OUTPUT_ENABLE))printf(lcd_putc,"Set:%3.0f ", voltage_setpoint); |
else printf(lcd_putc,"DISABLED"); |
|
if(button_press==false ) // tlacitka se ctou znovu pouze pokud v redchozim cyklu nebyla zmacknuta. |
{ |
|
if(!input(S1)) |
{ |
delay_ms(20); |
147,7 → 155,7 |
{ |
button_press=true; |
sound_beep(100,700); |
if(setpoint < (MAX_OUTPUT-5) )setpoint+=5; |
if(voltage_setpoint < (MAX_OUTPUT - raw_step) ) voltage_setpoint += raw_step; |
} |
} |
|
158,7 → 166,7 |
{ |
button_press=true; |
sound_beep(100,600); |
if(setpoint > 0x05 ) setpoint-=5; |
if(voltage_setpoint > raw_step ) voltage_setpoint -= raw_step; |
} |
} |
|
169,7 → 177,7 |
{ |
button_press=true; |
sound_beep(100,500); |
if(setpoint < MAX_OUTPUT )setpoint++; |
if(voltage_setpoint < MAX_OUTPUT - fine_step )voltage_setpoint += fine_step ; |
} |
} |
|
180,9 → 188,11 |
{ |
button_press=true; |
sound_beep(100,400); |
if(setpoint > 0x00 ) setpoint--; |
if(voltage_setpoint > 0 ) voltage_setpoint -= fine_step; |
} |
} |
|
setpoint =(int) ((voltage_setpoint - q) / k); |
} |
|
if ( input(S1) && input(S2) && input(S3) && input(S4) ) button_press=false; |