⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 adc0809test.c

📁 ADC0809模数转换IC,并行数据传输和8通道选择.
💻 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 + -