用做调制测量的简易示波器功能也全由这部分电路完成。下面是软件触发和调制度测量计算部分的代码(全部源码回头一起上):
mod_max = 0;
mod_min = 1024;
x = 0;
do
{
x++;
y = read_adc(2);
} while ((y > 255) && (x < 30));
if (x < 30)
{
x = 0;
do
{
x++;
y = read_adc(2);
} while ((y < 255) && (x < 30));
}
for (x = 0; x < 100; x++)
{
y = read_adc(2);
curver[x] = y;
if (y > mod_max) mod_max = y;
if (y < mod_min) mod_min = y;
}
for (x = 0; x < 100; x++)
{
y = curver[x];
sgtemp = y / 20;
sgtemp = 54 - sgtemp;
lcd_hline(x + 28, sgtemp, sgy);
sgy = sgtemp;
}
if (mod_max < 100) mod_max = 0;
else mod_max = (mod_max - mod_min) * 100 / (mod_max + mod_min);
lcd_putnumber(mod_max, 88, 7, 0);