keil编译不了,程序哪里错了吗,大神们帮忙看一下好吗

2019-03-24 17:59发布

#include <AT89X51.H>
unsigned char code table[]={0x3f,0x06,0x5b,0x4f,0x66}//  0 1 2 3 4   


unsigned char time1;                              //////延时函数参数///////           
/////////////////////////////变量说明//////////////////////////////////////                              
unsigned char time2;
unsigned char time3;
unsigned char count;
unsigned char ms;
////////////////////////////////////////函数说明////////////////////////////////

void  initial(void);                                           ////初始化函数////
//void  initial_time0(void);                                      //////定时器0初始化///////


void  anjian(void);                                                                                                ////////////按键函数////
void  delay(unsigned char time1,time2,time3);                  ////延时函数////
void  disp(unsigned char count);                              /////静态显示子函数/////
void  delay1(char ms);

void  fangbo(void);                                                                                                //方波函数//
void  sanjiaobo(void);                                                                                        //三角波函数//
void  juchibo(void);                                                                                        //锯齿波函数//
void  tixingbo(void);                                                                                //正弦波函数//



void  main (void)
{
        initial();
        while(1)
        {
                anjian();
  }
}
/*************************************************************************
//函数名称:void anjian(void)
//函数说明:按键函数
//函数功能:
//    注意:
*************************************************************************/
void  anjian(void)
{

  if(P3_7==0)
   {delay(1,50,248);
    if(P3_7==0)
     {count=1;
      disp(count);
          fangbo();
     }
   }
   while(P3_7==0);
        count=0;
        disp(count);
        anjian();
}
/*************************************************************************
//函数名称:void fangbo(void)
//函数说明:方波函数
//函数功能:
//    注意:
*************************************************************************/
void  fangbo(void)
{
        while(1)
          {
                unsigned char fangbo_1;
                  fangbo_1+=8;
                  if(fangbo_1>128&fangbo_1<256)        {P0=0x00;}                                 
                  if(fangbo_1<128)                                {P0=0xff;}
       
                  if(P3_7==0)
                           {delay(1,50,248);
                    if(P3_7==0)
                             {        count=2;
                                         disp(count);
                                      sanjiaobo();
                               
                             }
                           }
            while(P3_7==0);
        }         
}
/*************************************************************************
//函数名称:void sanjiaobo(void)
//函数说明:三角波函数
//函数功能:
//    注意:
*************************************************************************/
void  sanjiaobo(void)
{
        while(1)
        {
                  unsigned char sanjiaobo_2;
                  if(sanjiaobo_2<=128)
                        {P0=sanjiaobo_2;}
                  else
                        {P0=255-sanjiaobo_2;}
                  sanjiaobo_2+=5;        
                  if(sanjiaobo_2>=255)
                        {sanjiaobo_2=0x00;}
                         
                         if(P3_7==0)
                           {
                                delay(1,50,248);
                            if(P3_7==0)
                             {count=3;
                                         disp(count);
                                      juchibo();
                                       
                                  }
                        }
            while(P3_7==0);
        }
}
/*************************************************************************
//函数名称:void juchibo(void)
//函数说明:锯齿波函数
//函数功能:
//    注意:
*************************************************************************/
void  juchibo(void)
{
        while(1)
        {
                  unsigned char juchibo_3;
                  if(juchibo_3<180)        {P0=juchibo_3;}   
                  juchibo_3+=4;        
                  if(juchibo_3>=180)        {juchibo_3=0x00;}
                        if(P3_7==0)
                   {
                        delay(1,50,248);
                    if(P3_7==0)
                             {count=4;
                                        disp(count);
                                      tixingbo();
                                }
                         }
        while(P3_7==0);
        }         
}
/*************************************************************************
//函数名称:void tixingbo(void)
//函数说明:梯形波函数
//函数功能:
//    注意:
*************************************************************************/
void tixingbo(void)
{
        while(1)
        {
            unsigned char tixingbo_4;
                  if(tixingbo_4<120)
                        {P0=tixingbo_4;}
                  else if(tixingbo_4==120)
                      delay1(1);
                   else if(tixingbo_4<240)
                          {P0=240-tixingbo_4;}
                         if(tixingbo_4==240)
                          {delay1(1);}
       
               
                  if(tixingbo_4>240)
                        {
                        tixingbo_4=0x00;
                       
                        }       
                       
                                  tixingbo_4+=10;
                        if(P3_7==0)
                           {delay(1,50,248);
                            if(P3_7==0)
                             {        count=0;
                                         disp(count);
                                      anjian();
                               
                                  }
                        }
           while(P3_7==0);
        }
}
/*************************************************************************
//函数名称:void initial(void)
//函数说明:初始化函数
//函数功能:
//    注意:
*************************************************************************/
void  initial(void)
      {
         P0=0xff;
         P1=0xff;
         P2=0xff;
         P3=0xff;
      }
/*************************************************************************
//函数名称:delay(unsigned char time1,time2,time3)
//函数说明:延时函数
//函数功能:
//入口参数:unsigned char time1,time2,time3
//出口参数:
//    注意:延时时间的计算:(time1*time2*time3*8us)us   
            time1,time2,time3可以不进行变量说明  
*************************************************************************/
void  delay(unsigned char time1,time2,time3)
       {
         unsigned char i,j,k;
          for(i=time1;i>0;i--)
             {  for(j=time2;j>0;j--)
                  {
                     for(k=time3;k>0;k--);
                  }
             }
        }
/*************************************************************************
//函数名称:disp(unsigned char count)
//函数说明:静态显示子函数
//函数功能:
//入口参数:unsigned char count
//出口参数:
//    注意:
*************************************************************************/
void  disp(unsigned char count)
      {  
         P2=table[count];
         delay(1,5,248);
      }

   void delay1(char ms)
{
char ti;
while(ms--)
{
  for(ti=0;ti<16;ti++){}
}
}
此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。