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

QQ登錄

只需一步,快速開(kāi)始

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

Keil編譯錯(cuò)誤error C141: syntax error near 'void', expected ';'

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:999123 發(fā)表于 2022-1-2 00:11 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
剛學(xué)單片機(jī),請(qǐng)教大神看一下我的數(shù)碼管循環(huán)計(jì)時(shí)程序哪里出錯(cuò)了非常感謝。
        報(bào)錯(cuò)
TIAN.C(7): error C141: syntax error near 'void', expected ';'
tian.c - 1 Error(s), 0 Warning(s).
         
#include"reg51.h"
#define uchar unsigned char

#define uint unsigned int
sbit LED=P2^1

void delayms(uint);
        

uchar  D[]={0x3f,0x06,0x5B,0x4f,0x66,0x6D,0x7D,0x07};//0~7
uchar  W[]={0xf8,0xf9,0xfa,0xfb,0xfc,0xfd,0xfe,0xff};//Y0~Y7
void display(uint, uint);
uint num ,num1, num2, shi, ge;
        
    uint shi;
      uint ge;
void main(){        
         
           
                TMOD=0x11;
                TH0=(65536-45872)/256;
                TL0=(65536-45872)%256;
                TH1=(65536-45872)/256;
                TL1=(65536-45872)%256;
                EA=1;
                 ET0=1;
                 ET1=1;
                 TR0=1;
                 TR1=1;

                 while(1)
                  
         {
           display(shi,ge);
                                            }
                                            }
        void display(uchar shi,uchar ge)
        
          {
                  P1=W[0];
                  P0=D [shi];
                  P1= W[8];
                  while(5);

                   P1=W[1];
           P0=D[ge];
                        P1=W[8];
                         while(5);
                                           }
        void delayms(uint xms)
        {
        unit i,j;
        for(i=xms;i>0;i--)
          for(j=110;j>0;j--);
          }                                 
                                            
         void T0_time inturrupt 1
         
                  {        TH0=(65536-45872)/256;
                            TL0=(65536-45872)%256;
                              num1++;
                           if(num1==4)
                              {
                                     num1=0;
                                  LED=~LED;
                                                    }
                                                     }
           void T1_time inturrupt 3
           
                    {
                 
                 
                   TH1=(65536-45872)/256;
                            TL1=(65536-45872)%256;
                              num2++;
                           if(num2==20)
                           {
                            num2=0;
                          num++;
                          if(num=60)
                                    num=0;
                                 shi=num/10;
                                  ge=num%10;
                                     }
                                          }
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:827243 發(fā)表于 2022-1-2 07:54 | 只看該作者
下面語(yǔ)句最后少分號(hào);

#define uint unsigned int
sbit LED=P2^1
回復(fù)

使用道具 舉報(bào)

板凳
ID:908826 發(fā)表于 2022-1-2 08:18 | 只看該作者
sbit那一句最后少了個(gè);understand
回復(fù)

使用道具 舉報(bào)

地板
ID:155507 發(fā)表于 2022-1-2 08:19 | 只看該作者

#define uint unsigned int
sbit LED=P2^1; //<-------這里少了。

void delayms(uint);
回復(fù)

使用道具 舉報(bào)

5#
ID:89072 發(fā)表于 2022-1-2 08:58 | 只看該作者
錯(cuò)誤太多,改了你看看
  1. #include"reg51.h"
  2. #define uchar unsigned char
  3. #define uint unsigned int
  4. sbit LED=P2^1;
  5. void delayms(uint);
  6.         

  7. uchar  D[]={0x3f,0x06,0x5B,0x4f,0x66,0x6D,0x7D,0x07};//0~7
  8. uchar  W[]={0xf8,0xf9,0xfa,0xfb,0xfc,0xfd,0xfe,0xff};//Y0~Y7
  9. void display(uchar, uchar);
  10. uint num ,num1, num2, shi, ge;
  11.         
  12.     uint shi;
  13.       uint ge;
  14. void main(){        
  15.     TMOD=0x11;
  16.     TH0=(65536-45872)/256;
  17.     TL0=(65536-45872)%256;
  18.     TH1=(65536-45872)/256;
  19.     TL1=(65536-45872)%256;
  20.     EA=1;
  21.     ET0=1;
  22.     ET1=1;
  23.     TR0=1;
  24.     TR1=1;
  25.     while(1)
  26.     {
  27.         display(shi,ge);
  28.     }
  29. }
  30. void display(uchar shi,uchar ge)
  31. {
  32.     P1=W[0];
  33.     P0=D[shi];
  34.     P1= W[8];
  35.         delayms(5);
  36.         P1=W[1];
  37.         P0=D[ge];
  38.         P1=W[8];
  39.         delayms(5);
  40. }
  41. void delayms(uint xms)
  42. {
  43.     uint i,j;
  44.     for(i=xms;i>0;i--)
  45.     for(j=110;j>0;j--);
  46.     }                                          
  47. void T0_time() interrupt 1
  48. {
  49.     TH0=(65536-45872)/256;
  50.     TL0=(65536-45872)%256;
  51.     num1++;
  52.     if(num1==4)
  53.     {
  54.         num1=0;
  55.         LED=~LED;
  56.     }
  57. }
  58. void T1_time() interrupt 3
  59. {
  60.     TL1=(65536-45872)%256;
  61.     num2++;
  62.      if(num2==20)
  63.         {
  64.             num2=0;
  65.             num++;
  66.             if(num==60)
  67.             num=0;
  68.             shi=num/10;
  69.             ge=num%10;
  70.         }
  71. }
復(fù)制代碼



回復(fù)

使用道具 舉報(bào)

6#
ID:839438 發(fā)表于 2022-1-2 09:13 | 只看該作者
sbit LED=P2^1;
回復(fù)

使用道具 舉報(bào)

7#
ID:999123 發(fā)表于 2022-1-2 10:47 | 只看該作者
謝謝,改了兩天實(shí)在找不出錯(cuò)誤了!非常感謝。
回復(fù)

使用道具 舉報(bào)

8#
ID:965189 發(fā)表于 2022-1-2 12:02 | 只看該作者
找不出錯(cuò)誤就代表完全正確。
回復(fù)

使用道具 舉報(bào)

9#
ID:106977 發(fā)表于 2022-1-2 13:33 | 只看該作者
寫(xiě)程序或改程序,寫(xiě)了一小段,甚至改了一兩句后就編譯一次,如果出現(xiàn)錯(cuò)誤或警告就要檢查原因才容易找到毛病,不要只以為是!有時(shí)一個(gè)久經(jīng)考驗(yàn)的程序,查看時(shí)無(wú)意刪去或多加了一個(gè)分號(hào)或其它,再編譯時(shí)可能錯(cuò)誤百出,而且根據(jù)錯(cuò)誤信息都難以找到原因!所以,備份程序也很重要!
回復(fù)

使用道具 舉報(bào)

10#
ID:883242 發(fā)表于 2022-1-2 15:00 | 只看該作者
lgwd 發(fā)表于 2022-1-2 13:33
寫(xiě)程序或改程序,寫(xiě)了一小段,甚至改了一兩句后就編譯一次,如果出現(xiàn)錯(cuò)誤或警告就要檢查原因才容易找到毛病 ...

如果只改動(dòng)一處就出一堆錯(cuò)誤,那么解決掉第一個(gè)錯(cuò)誤后面的自動(dòng)沒(méi)有了。
回復(fù)

使用道具 舉報(bào)

11#
ID:999123 發(fā)表于 2022-1-2 16:53 | 只看該作者
hslcac 發(fā)表于 2022-1-2 08:58
錯(cuò)誤太多,改了你看看

復(fù)制你修改過(guò)的的能編譯通過(guò),把我寫(xiě)的改成和你一抹一樣的通不過(guò)。。!實(shí)在是郁悶,無(wú)語(yǔ)了。。
回復(fù)

使用道具 舉報(bào)

12#
ID:999123 發(fā)表于 2022-1-2 16:55 | 只看該作者
lgwd 發(fā)表于 2022-1-2 13:33
寫(xiě)程序或改程序,寫(xiě)了一小段,甚至改了一兩句后就編譯一次,如果出現(xiàn)錯(cuò)誤或警告就要檢查原因才容易找到毛病 ...

剛開(kāi)始接觸,還需要跟大家多學(xué)習(xí)學(xué)習(xí),謝謝。
回復(fù)

使用道具 舉報(bào)

13#
ID:999123 發(fā)表于 2022-1-2 18:15 | 只看該作者
hslcac 發(fā)表于 2022-1-2 08:58
錯(cuò)誤太多,改了你看看

你好,首先非常感謝你的幫助。我按照你修改后的代碼修改了我的,依然編譯不過(guò),郁悶至極。
       然后我將你的代碼和我的代碼一段一段互換,發(fā)現(xiàn)問(wèn)題出在最后一段。也就是只要替換最后整段能編譯過(guò),但是把最后段里的語(yǔ)句一句一句換,編譯不過(guò),排查不出哪句有問(wèn)題。
回復(fù)

使用道具 舉報(bào)

14#
ID:999123 發(fā)表于 2022-1-2 18:33 | 只看該作者
已經(jīng)找到錯(cuò)誤,耽誤大家的時(shí)間了,非常感謝大家了,
回復(fù)

使用道具 舉報(bào)

15#
ID:999123 發(fā)表于 2022-1-2 18:34 | 只看該作者
hslcac 發(fā)表于 2022-1-2 08:58
錯(cuò)誤太多,改了你看看

錯(cuò)誤已經(jīng)找到了,非常感謝。!
回復(fù)

使用道具 舉報(bào)

16#
ID:942077 發(fā)表于 2022-1-2 18:45 | 只看該作者
  sbit LED=P2^1 ; 就這個(gè)有問(wèn)題吧,其余沒(méi)有應(yīng)該
回復(fù)

使用道具 舉報(bào)

17#
ID:999123 發(fā)表于 2022-1-2 19:25 | 只看該作者
xhcl 發(fā)表于 2022-1-2 18:45
sbit LED=P2^1 ; 就這個(gè)有問(wèn)題吧,其余沒(méi)有應(yīng)該

有這個(gè),還有一個(gè)語(yǔ)法錯(cuò)誤和少一個(gè)=。頭都大了,不過(guò)編譯通過(guò)那一瞬間。。。。。也值了。
回復(fù)

使用道具 舉報(bào)

18#
ID:587810 發(fā)表于 2022-1-2 19:43 | 只看該作者
“void”附近的語(yǔ)法錯(cuò)誤,應(yīng)為“;”
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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