找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 2376|回復(fù): 2
打印 上一主題 下一主題
收起左側(cè)

keil編譯不了,求大神看看程序哪里有錯(cuò)

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:79066 發(fā)表于 2015-5-8 13:11 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
#include <AT89X51.H>
unsigned char code table[]={0x3f,0x06,0x5b,0x4f,0x66}//  0 1 2 3 4  
unsigned char time1;                              //////延時(shí)函數(shù)參數(shù)///////           
/////////////////////////////變量說明//////////////////////////////////////                              
unsigned char time2;
unsigned char time3;
unsigned char count;
unsigned char ms;
////////////////////////////////////////函數(shù)說明////////////////////////////////
void  initial(void);                                           ////初始化函數(shù)////
//void  initial_time0(void);                                      //////定時(shí)器0初始化///////
void  anjian(void);                                          ////////////按鍵函數(shù)////
void  delay(unsigned char time1,time2,time3);                  ////延時(shí)函數(shù)////
void  disp(unsigned char count);                              /////靜態(tài)顯示子函數(shù)/////
void  delay1(char ms);
void  fangbo(void);                                          //方波函數(shù)//
void  sanjiaobo(void);                                    //三角波函數(shù)//
void  juchibo(void);                                      //鋸齒波函數(shù)//
void  tixingbo(void);                                 //正弦波函數(shù)//
void  main (void)
{
  initial();
  while(1)
  {
     anjian();
  }
}
/*************************************************************************
//函數(shù)名稱:void anjian(void)
//函數(shù)說明:按鍵函數(shù)
//函數(shù)功能:
//    注意:
*************************************************************************/
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();
}
/*************************************************************************
//函數(shù)名稱:void fangbo(void)
//函數(shù)說明:方波函數(shù)
//函數(shù)功能:
//    注意:
*************************************************************************/
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);
  }   
}
/*************************************************************************
//函數(shù)名稱:voidsanjiaobo(void)
//函數(shù)說明:三角波函數(shù)
//函數(shù)功能:
//    注意:
*************************************************************************/
void  sanjiaobo(void)
{
  while(1)
  {
         unsignedchar 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);
  }
}
/*************************************************************************
//函數(shù)名稱:voidjuchibo(void)
//函數(shù)說明:鋸齒波函數(shù)
//函數(shù)功能:
//    注意:
*************************************************************************/
void  juchibo(void)
{
  while(1)
  {
         unsignedchar 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);
  }   
}
/*************************************************************************
//函數(shù)名稱:voidtixingbo(void)
//函數(shù)說明:梯形波函數(shù)
//函數(shù)功能:
//    注意:
*************************************************************************/
void tixingbo(void)
{
  while(1)
  {
     unsignedchar tixingbo_4;
         if(tixingbo_4<120)
         {P0=tixingbo_4;}
         elseif(tixingbo_4==120)
           delay1(1);
        elseif(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);
  }
}
/*************************************************************************
//函數(shù)名稱:voidinitial(void)
//函數(shù)說明:初始化函數(shù)
//函數(shù)功能:
//    注意:
*************************************************************************/
void  initial(void)
      {
         P0=0xff;
         P1=0xff;
         P2=0xff;
         P3=0xff;
      }
/*************************************************************************
//函數(shù)名稱:delay(unsignedchar time1,time2,time3)
//函數(shù)說明:延時(shí)函數(shù)
//函數(shù)功能:
//入口參數(shù):unsigned chartime1,time2,time3
//出口參數(shù):
//    注意:延時(shí)時(shí)間的計(jì)算:(time1*time2*time3*8us)us   
            time1,time2,time3可以不進(jìn)行變量說明  
*************************************************************************/
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--);
                  }
             }
        }
/*************************************************************************
//函數(shù)名稱:disp(unsignedchar count)
//函數(shù)說明:靜態(tài)顯示子函數(shù)
//函數(shù)功能:
//入口參數(shù):unsigned charcount
//出口參數(shù):
//    注意:
*************************************************************************/
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++){}
}
}

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:76871 發(fā)表于 2015-5-9 20:06 | 只看該作者
頭文件是什么gui?你換成reg51.h看看?

評(píng)分

參與人數(shù) 1黑幣 +35 收起 理由
admin + 35 回帖助人的獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

板凳
ID:79417 發(fā)表于 2015-5-9 22:51 來自手機(jī) | 只看該作者
文件真是太長(zhǎng)啦!好好分析下吧

評(píng)分

參與人數(shù) 1黑幣 +35 收起 理由
admin + 35 回帖助人的獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表