beyondguoen 发表于 2010-12-1 18:25:52

求助!!!关于AVR单片机的编译问题。

用AVR studio 编译下面程序出现了这样的错误这么改:
make: Makefile: No such file or directory
make: *** No rule to make target `Makefile'.Stop.
Build failed with 2 errors and 0 warnings...


#include<iom16v.h>
#include<macros.h>
#include"math.h"
//8.00000MHZ
unsigned long led_7={0x3f,0x06,0x5B,0x4F,0x66,
                           0x6D,0x7D,0x07,0x7F,0x6F};//七段数码显示数组
unsigned long position={0xfe,0xfd,0xfb,0xf7,0x0f,0xdf};//六位数码管位选
unsigned long Min={1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,
                     31,33,35,37,39,41,43,45,47,49,51,53,55,57,59};//使能充电停止数组
unsigned long k_value={40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,//预充电压斜率数组
                              60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,
                                                          80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,};
unsigned long V_Table={380,381,390,391,400,401,410,411,415,416,419,420};//电压比较判断
signed char time;//时间存储
unsigned char dis_buff;//时分秒六位分别存储
unsigned char PWMnum,a=0x15,m=0,X,Y,Z;//溢出中断次数,OCR0值,if判断,时分秒,电压
unsigned long K,n,Vref=4.846,T,t,V;//预充斜率,延迟时间,参考电压,时间,
signed long Cap;//电池容量
#pragma interrupt_handler adc_isr:iv_ADC
   void adc_isr()
{
   unsigned long ADNum=0,adc_data;
   unsigned char Va;
   
   ADNum=ADNum+1;//AD转换次数计数
   if(ADNum>=98888)ADNum=110000;
   adc_data=ADCH;
   adc_data=adc_data*4;
   if(ADNum==2)//初始电压值保存
    {
      Va=Vref*adc_data*100/1024;
    }
      V=Vref*adc_data*100/1024;//实时电压
   
if(V-Va==4)//斜率计算
    {
   K=(20000000/ADNum)%10;
   }
       
}

void A_value()//OCR0实际值
{
   
   if(K==k_value)
          a=250-K;
          if (K!=k_value)
          a=0;
       
}

   void Cap_value()//容量计算值
{
   unsigned long Aa=2000,P;
    if(K==k_value)
{   
      P=K/Aa;
          Cap=(-1)*log(P)*200;
}
if (K!=k_value)
{
   Cap=0;
   }
   
    }
void Time_Compu()//时间计算程序
{
    t=3*OCR0;
    T=Cap/t;
    if(T>=60.000)
   {
   X=(T/60);
       Y=(T%60);
       Z=((T-60)-(T%60))*60;
    }
   if(T<60.000)
   {
    X=0;
        Y=((T*10)%10);
        Z=((T-(T*10)%10)*60);
        }

}

void Delay_ms(n)
{
   int i,j;
   for(i=0;i<n;i++)
       {
       for(j=0;j<8000;j++);
       }
}
        void display(void)
        {
       unsigned char i;
       for (i=0;1<5;i++)
       {
           PORTC=0XFF;
           PORTD=led_7];
           PORTC=position;
           Delay_ms(1);
           PORTC=0XFF;
          
       }
        }


#pragma interrupt_handler timer0_ovf_isr:iv_TIMER0_OVF
void timer0_ovf_isr(void)
{
PWMnum=PWMnum+1;

}

void time_to_disbuffer(void)
{
unsigned char i,j=0;
for(i=0;i<=2;i++)
   {
        dis_buff=time%10;
        dis_buff=time/10;
        }
}
   
void main(void)
{
//port_init
PORTB=0X00;
DDRB=0X08;//PB3PWM输出
PORTC=0X3F;//led输出
DDRC=0XFF;
PORTD=0X00;
DDRD=0XFF;
//timer0_init
TCCR0=0X00;
TCNT0=0X00;
OCR0=a;//OCR0实际值
TCCR0=0X6C;//快速PWM,256分频,比较匹配时OC0清零
TIMSK=0X03;//比较匹配中断,溢出中断
//adc_init
ADMUX=0X20;//外部引脚AREF,左对齐,PA0口
ADCSRA=0XAE;//ADC允许,自动触发转换,中断允许,ADCclk=125kHz
SFIOR&=0X1F;
SFIOR|=0X60;//选择T/C0比较匹配中断触发
SEI();
Delay_ms(600000);
time=X;time=Y;time=Z;//时间
time_to_disbuffer();

while(1)
{
   display();
       if((m==1)||(V!=V_Table)||(a>=0X15))//倒计时
       {
         
          if(PWMnum>123)
      {
          PWMnum=0;
          time--;
         if(time<0)
          {
             time=59;
             time--;
                  if(time==Min)
                  {
                   m=0;
                  }
                if(time<0)
                 {
                 time=59;
                 time--;
                 }
         }
      }
      time_to_disbuffer();
      }
   
   if((m==0)&&(V==V_Table))//中途停车,休息电池
   {
      display();
      OCR0=0X00;
      Delay_ms(10000);
      time=(time-10);
      if(time<=0)
      {
          time=time+59;
              time=time-1;
         }
      time_to_disbuffer();
      OCR0=a;
      m=1;
   }       
   if(V==420||V==421) //电池充满,时间清零
   {
      display();
      OCR0=0X15;
          time=0;
          time=0;
          time=0;
          time_to_disbuffer();
          Delay_ms(600000);
   }
}

}
页: [1]
查看完整版本: 求助!!!关于AVR单片机的编译问题。