/*
This file is part of JOP, the Java Optimized Processor
see <http://www.jopdesign.com/>
Copyright (C) 2001-2008, Martin Schoeberl (martin@jopdesign.com)
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package kfl.test;
import kfl.*;
/**
* test program for sigma delta ADC.
*/
public class TestADC {
public static void main(String[] args) {
Timer.init(); // wd
Display.init();
// Display.line1();
forever();
}
/**
* main loop.
*/
private static void forever() {
int val, old_val;
int i;
old_val = 0;
for (;;) {
val = JopSys.rd(BBSys.IO_ADC);
if (val!=old_val) {
old_val = val;
Display.cls();
Display.intVal(val);
Display.line2();
//
// 46.000 = 3.26V
// 41880 = 3V
// 300 = 0V
//
i = val-300;
i /= 139; // 10mV (41.880-300)/300
//
// without comerator:
// 11820 = 0V
// 39870 = 2V
//
i = val-11820;
i /= 140;
if (i<0) i = 0;
Display.intVal(i/100);
i %= 100;
Display.data('.');
Display.data('0'+i/10);
Display.data('0'+i%10);
}
Timer.wd();
}
}
}