標(biāo)題: 單片機(jī)Keil程序一直報(bào)錯(cuò),求指導(dǎo) [打印本頁]

作者: MIHAOA    時(shí)間: 2021-11-30 01:53
標(biāo)題: 單片機(jī)Keil程序一直報(bào)錯(cuò),求指導(dǎo)
#include <reg51.h>
#define TIME 1200
void main()
{
        unsigned char i,W;
        P1=0xff;
        while(1)
        {
                if(K==0)
                {
                 delay (1200);
                        if(K1==0)
                           { W=0x01;
                        for(i=0;i<8;i++)
                                         {
                                P1=~W;
                                delay(10000);
                                W<<=1;
                                         }
                                 }
                        }
                    else P1=0x00;
         }
}
sbit   K1=P0^0;
sbit   K2=P0^1;
sbit   K3=P0^2;
sbit   K4=P0^3;
if(K1==0)
{
         delay(TIME);
        if 1:P1=0x00;
   }
else if(K2==0)
{
        delay(TIME);
        if 2:P1==0x55;
  }
else if(K3==0)
{
        delay(TIME);
        if 3:P1==0x0f;
}
else if(K4==0)
{        
  delay(TIME);
  if 4:P1==0xf0;
}


作者: benclee    時(shí)間: 2021-11-30 07:26
if(K1==0)
{
         delay(TIME);
        if 1:P1=0x00;
   }
類似這樣的地方改為
if(k0==0)
{
     delay(TIME);
      if(k0==0)
                      P1=0x00;

}
作者: benclee    時(shí)間: 2021-11-30 07:36
if(K1==0)
{
         delay(TIME);
        if 1:P1=0x00;這里不對(duì),應(yīng)為if(k1==0) P1=0x00。其他類似的地方也一樣
   }

作者: 727742898    時(shí)間: 2021-11-30 08:17
你發(fā)這,括號(hào)都對(duì)不上,再組織組織吧。。。
作者: Hephaestus    時(shí)間: 2021-11-30 08:23
main函數(shù)外面全都是野代碼。

用單片機(jī)之前先學(xué)c語言吧,你寫的這些真不堪入目。
作者: cheney03    時(shí)間: 2021-11-30 08:42
if 語句不能這么用,先把C基礎(chǔ)打好
作者: ng945    時(shí)間: 2021-11-30 09:01
本帖最后由 ng945 于 2021-11-30 10:47 編輯

修改了一下,試試看
#include <reg51.h>
#define TIME 1200
sbit   K1=P0^0;
sbit   K2=P0^1;
sbit   K3=P0^2;
sbit   K4=P0^3;

void main()
{
        unsigned char i,W;
        P1=0xff;
        while(1)
        {
//                if(K==0)
//                {
                         delay (1200);
                         /*
                         if(K1==0)
                                {
                                        W=0x01;
                                        for(i=0;i<8;i++)
                                                {
                                                        P1=~W;
                                                        delay(10000);
                                                        W<<=1;
                                                }
                                }
                        else P1=0x00;
                        */
                        if(K1==0)//if 1:P1=0x00;
                        {
                                delay(TIME);
                                P1=0x00;
                        }
                        else if(K2==0)//if 2:P1==0x55;
                        {
                                delay(TIME);
                                P1=0x55;
                        }
                        else if(K3==0)//if 3:P1==0x0f;
                        {
                                delay(TIME);
                                P1=0x0f;
                        }
                        else if(K4==0)//if 4:P1==0xf0;
                        {        
                                delay(TIME);
                                P1=0xf0;
                        }
//                }
        }
}
作者: synb    時(shí)間: 2021-11-30 09:44
if 1:P1=0x00不能這樣用,這也不是c語言的語法啊
作者: 天ノ憶    時(shí)間: 2021-11-30 13:57
寫出來的不能算程序,寫的能用才算程序,寫的好用才是好程序
作者: lgwd    時(shí)間: 2021-12-1 13:20
對(duì)于初學(xué)者,首先學(xué)習(xí)語法基礎(chǔ)。開始寫代碼,寫兩行代碼就編譯一下。一旦編譯通不過,問題相對(duì)容易查找。即使對(duì)于高手,有時(shí)候大段代碼某一行將分號(hào)或其它符號(hào)無意弄掉了,看了出錯(cuò)信息你都不知道錯(cuò)在哪里!
作者: lixiangyu811    時(shí)間: 2021-12-3 10:41
c語言不能這么用。都是語法錯(cuò)誤。先把基礎(chǔ)打好再寫程序
作者: 13205495918    時(shí)間: 2021-12-3 17:26
語法錯(cuò)誤,建議學(xué)單片機(jī)的同時(shí)學(xué)c語言的基本語法,這樣你最起碼能保證,語法不會(huì)錯(cuò)的太離譜




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1