求大神相助,为什么进去ADC功能函数就没有值出来了?

来源:互联网 发布:凤凰天使韩剧社知乎 编辑:程序博客网 时间:2024/04/30 11:06
#include<iom128v.h>
#include<macros.h> 
#include<math.h>                                                    
#include<delay.h>


#define uchar unsigned char                            //数据类型预定义  
#define uint unsigned int                                    
#define longint long int


#define N 300


uint x,y,z;
//float DATA[N]={0,};


/**************************************************************
**函数功能:端口初始化
**输入参数:无
**返回值:无
**在本函数外定义变量:无
**调用的函数:delay()
**************************************************************/
void INIT_PORT()
{
  DDRA|=BIT(0);                  //ADC0输入通道
  PORTA&=~BIT(0);
}


/**************************************************************
**函数功能:ADC功能函数
**输入参数:无
**返回值:无
**在本函数外定义变量:无
**调用的函数:delay()
**************************************************************/
void ADC_128 ()
{
 INIT_PORT();
 ADMUX=0X00;                    //外部AREF,左对齐,ADC0单端输入
 ADCSRA=0x86;                   //使能,单次转换模式,64分频  
 ADCSRA|=BIT(ADSC);              //启动首次转换 
 while(!(ADCSRA&(1<<ADIF)));    //等待转结束循环
 x=ADCL;
 y=ADCH;
 z=x+y*256; 
 //z=999;           
}


/**************************************************************
**函数功能:主函数
**输入参数:无
**返回值:无
**在本函数外定义变量:无
**调用的函数:delay()
**************************************************************/
void main()

  uchar i=0;
  //float DATA_MAX;
  //float DATA_MIN;
  //uint MAX=0;
  //uint MIN=0;
  //INIT_PORT();
  
  while(1)
  {
    ADC_128();
   /*for(i=0;i<N;i++)
 {
  DATA_MAX=DATA[0];
       DATA_MIN=DATA[0];
  if(DATA_MAX<DATA[i])DATA_MAX=DATA[i];
  if(DATA_MIN>DATA[i])DATA_MIN=DATA[i];
 
 }


MAX=DATA_MAX*1000;
MIN=DATA_MIN*1000;
RUN_1602(MAX,MIN);*/


  RUN_1602(z,0);


  }


}
原创粉丝点击