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

📄 max144.h

📁 max144源代码
💻 H
字号:
//**********ADC口线定义**********//
#define  adc_cs    PA5 
#define  adc_sdat  PA6
#define  adc_sclk  PA7
#define  adc_port  PORTA
#define  adc_ddr   DDRA
#define  adc_pin   PINA

unsigned int adc_out1,adc_out0;
unsigned int adcttemp[2][15];
unsigned int adcfirst[2];

void max144_read(void)
{
  unsigned char temp;
  unsigned int adc_temp=0;
  unsigned long adc;
  
  /*********max144模拟SPI口线设置**********/
  adc_port|=BIT(adc_cs)|BIT(adc_sdat)|BIT(adc_sclk);
  adc_ddr|=BIT(adc_cs)|BIT(adc_sclk);
  adc_ddr&=~BIT(adc_sdat);

  adc_port|=BIT(adc_cs);
  adc_port|=BIT(adc_sclk);
  adc_port&=~BIT(adc_cs);
  asm("nop");asm("nop");asm("nop");asm("nop");
  adc_port&=~BIT(adc_sclk);
  while(1) 
  { 
    if((adc_pin&BIT(adc_sdat))==BIT(adc_sdat)) 
	break; 
   }
  temp=16; while(temp--)
  {
     adc_port|=BIT(adc_sclk); 
     if((adc_pin&BIT(adc_sdat))==BIT(adc_sdat)) 
       adc_temp++; 
     adc_temp=adc_temp<<1;   
     adc_port&=~BIT(adc_sclk);
  }
  adc_port|=BIT(adc_cs);

  if((adc_temp&0x2000)==0x2000)
  {
    adcfirst[0]=(adc_temp>>1)&0xfff;
	adc_temp&=0x1ffc;
	adc=adc_temp;
	adcttemp[0][14]=adc_temp;
    for(temp=0;temp<14;temp++) 
	{
	  adcttemp[0][temp]=adcttemp[0][temp+1];
      adc+=adcttemp[0][temp];
	}
    adc/=15;
    adc_temp=adc;
    adc_out1=adc>>1;
  }
  else 
  {
    adcfirst[1]=(adc_temp>>1)&0xfff;
	adc_temp&=0x1ffc;
	adc=adc_temp;
	adcttemp[1][14]=adc_temp;
    for(temp=0;temp<14;temp++) 
	{
	  adcttemp[1][temp]=adcttemp[1][temp+1];
      adc+=adcttemp[1][temp];
	}
    adc/=15;
    adc_temp=adc;
    adc_out0=adc>>1;
  }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -