📄 adc0809test.c
字号:
/*=======================================
ADC0809检测程序
文件名:ADC0809Test.c
作者:方畅
时间:2007-12-20
=========================================*/
#include "Hardwareinterface.h"
#include "ADC0809.h"
#include "SED1335.h"
#include "DelayTime.h"
#include "LM2035.h"
VARIBLE Varible;
void main(void)
{
unsigned char b; //采集数
unsigned int t,i,V,Ya,fre,startF;
InitADC();
InitLCD(); //LCD初始化
while(1)
{
Varible.startfre=0; // 起始频率
Varible.endfre=500; //截止频率
t=0;
fre=Varible.endfre-Varible.startfre; //数据采集点数
startF=Varible.startfre; //初始频率
Desktop(10,220,0,5,Varible.startfre,Varible.endfre,1,49,8,8,1); //显示刻度
HLine(0,320,198,0);
while(t<300) //绘制300点
{
if(fre>300) //采集数大于LCD点数
{
if(fre%300>0)b=fre/300+1; //采集次数
else b=fre/300;
for(i=0;i<b;i++)
{
SinData(SinDataOut(startF*b+i)); //产生正弦波
Delay_1ms(10);
V=VoltageConut(0,ADC_SWITCH()); //电压值
Ya+=V;
}
Ya/=b;
DrawPoint(t+20,Ya,1);
Ya=0;
}
else
{
if(fre<300) //采集数少于LCD点数
{
b=300/fre; //采集次数
for(i=0;i<b;i++)
{
SinData(SinDataOut(startF+i)); //产生正弦波
Delay_1ms(10);
V=VoltageConut(0,ADC_SWITCH()); //电压值
DrawPoint(t*b+i+10,V,1); //绘点
}
}
else //采集数等于LCD点数
{
SinData(SinDataOut(t)); //产生正弦波
Delay_1ms(10);
V=VoltageConut(0,ADC_SWITCH()); //电压值
DrawPoint(t+10,V,1); //绘点
}
}
t++;
startF++;
}
SinPower();
HLine(0,320,198,0);
Delay_1ms(6000);
ClearMemory(GRAPHICS_BASE_ADDR,32*1024);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -