找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4262|回復: 3
收起左側(cè)

提示有錯誤,麻煩大神幫幫忙1.C(149): error C141: syntax error near 'void'

[復制鏈接]
ID:455118 發(fā)表于 2018-12-26 10:59 | 顯示全部樓層 |閱讀模式
#include<reg51.h>//51單片機頭文件
typedef unsigned char uchar;
typedef unsigned int  uint;
sbit RS=P2^7;//LCD1602數(shù)據(jù)/命令選擇端(H/L)
sbit RW=P2^6;//LCD1602/寫選擇端(H/L)
sbit E=P2^5;//LCD1602使能信號端
sbit BEEP=P2^0;//蜂鳴器接口
sbit k1=P3^2;//下一首
sbit k2=P3^3;//上一首
sbit k3=P2^1;//播放/暫停
sbit k4=P2^2;//復位       
char count2;//歌曲標志       
uchar a,b,c,aa,num;
uchar num1,num2;
//---------------------------簡譜---------------------------------------
//編程規(guī)則:字節(jié)高位是簡譜,低位是持續(xù)時間,
//代表多少個十六分音符
//1-7代表中央C調(diào),8-E代表高八度,0代表停頓
//最后的0是結(jié)束標志
uchar code table1[]={        //千年之戀
                                                0x12,0x22,0x34,0x84,0x74,0x54,0x38,0x42,0x32,0x22,0x42,0x34,0x84,0x72,0x82,0x94,0xA8,0x08,//前奏
                                                0x32,0x31,0x21,0x32,0x52,0x32,0x31,0x21,0x32,0x62,//竹林的燈火 到過的沙漠
                                                0x32,0x31,0x21,0x32,0x82,0x71,0x81,0x71,0x51,0x32,0x22,//七色的國度 不斷飄逸風中
                                                0x32,0x31,0x21,0x32,0x52,0x32,0x31,0x21,0x32,0x62,//有一種神秘 灰色的旋渦
                                                0x32,0x31,0x21,0x32,0x83,0x82,0x71,0x72,0x02,//將我卷入了迷霧中
                                                0x63,0xA1,0xA2,0x62,0x92,0x82,0x52,//看不清的雙手
                                                0x31,0x51,0x63,0x51,0x63,0x51,0x63,0x51,0x62,0x82,0x7C,0x02,//一朵花傳來誰經(jīng)過的溫柔
                                                0x61,0x71,0x82,0x71,0x62,0xA2,0x71,0x76,//穿越千年的傷痛
                                                0x61,0x71,0x82,0x71,0x62,0x52,0x31,0x36,//只為求一個結(jié)果
                                                0x61,0x71,0x82,0x71,0x62,0xA3,0x73,0x62,0x53,//你留下的輪廓 指引我
                                                0x42,0x63,0x83,0x83,0x91,0x91,//黑夜中不寂寞
                                                0x61,0x71,0x82,0x71,0x62,0x0A2,0x71,0x76,//穿越千年的哀愁
                                                0x61,0x71,0x82,0x71,0x62,0x52,0x31,0x36,//是你在盡頭等我
                                                0x61,0x71,0x82,0x71,0x62,0xA3,0x73,0x62,0x53,//最美麗的感動 會值得
                                                0x42,0x82,0x88,0x02,0x74,0x93,0x89,0xff//結(jié)束標?//?
                                          };
uchar code table2[]={         //寂寞沙洲冷
                                                0x12,0x12,0x22,0x32,0x31,0x22,0x21,0x22,//自你走后心憔悴
                                                0x21,0x31,0x51,0x52,0x31,0x52,0x61,0x15,0x14,//白色油桐風中紛飛
                                                0x51,0x52,0x31,0x52,0x62,0x13,0x11,0x13,0x32,0x28,0x08,0x28,//落花似人有情 這個季節(jié)
                                                0x31,0x32,0x31,0x32,0x11,0x21,0x51,0x52,0x51,0x52,//河畔的風放肆拼命地吹
                                                0x51,0x51,0x31,0x32,0x31,0x32,0x81,0x72,0x63,//不斷撥弄離人的眼淚
                                                0x62,0x71,0x81,0x72,0x61,0x61,0x52,0x31,0x21,0x32,0x51,0x54,//那樣濃烈的愛再也無法給
                                                0x22,0x12,0x11,0x12,0x11,0x12,0x12,0x14,0x26,0x32,0x26,//傷感一夜一夜
                                                0x32,0x61,0x51,0x51,0x31,0x31,0x21,0x31,0x51,0x61,0x51,0x31,0x51,//當記憶的線纏繞過往支離破碎
                                                0x02,0x32,0x81,0x81,0x81,0x81,0x62,0x52,0x34,//是慌亂占據(jù)了心扉                                                                                                                                  
                                                0x31,0x81,0x81,0x81,0x61,0x91,0x82,//有花兒伴著蝴蝶
                                                0x51,0x51,0x51,0x51,0x31,0x61,0x53,//孤雁可以雙飛       
                                                0x21,0x11,0x21,0x11,0x22,0x11,0x21,0x26,//夜深人靜獨徘徊
                                                0x32,0x61,0x51,0x51,0x31,0x31,0x21,0x31,0x51,0x61,0x51,0x31,0x51,0x52,//當幸福戀人寄來紅色分享喜悅
                                                0x31,0x31,0x81,0x81,0x81,0x61,0x91,0x81,0x61,0x31,0x56,//閉上雙眼難過頭也不敢回
                                                0x32,0x32,0x81,0x81,0x81,0x81,0x91,0x81,0x61,0x81,0x61,0x51,0x31,0x51,0x34,//仍然撿盡寒枝不肯安歇微帶著后悔
                                                0x21,0x31,0x51,0x31,0x21,0x11,0x61,0x21,0x16,//寂寞沙洲我該思念誰
                                                0xff
                                           };
uchar code table3[]={       
                                                0x26,0x20,0x20,0x20,0x20,0x20,0x26,0x10,0x20,0x10,0x20,0x80,0x26,0x20,0x30,0x20,
                                                0x30,0x20,0x39,0x10,0x30,0x10,0x30,0x80,0x26,0x20,0x20,0x20,0x20,0x20,0x1c,0x20,
                                                0x20,0x80,0x2b,0x20,0x26,0x20,0x20,0x20,0x2b,0x10,0x26,0x10,0x2b,0x80,0x26,0x20,
                                                0x30,0x20,0x30,0x20,0x39,0x10,0x26,0x10,0x26,0x60,0x40,0x10,0x39,0x10,0x26,0x20,
                                                0x30,0x20,0x30,0x20,0x39,0x10,0x26,0x10,0x26,0x80,0x26,0x20,0x2b,0x10,0x2b,0x10,
                                                0x2b,0x20,0x30,0x10,0x39,0x10,0x26,0x10,0x2b,0x10,0x2b,0x20,0x2b,0x40,0x40,0x20,
                                                0x20,0x10,0x20,0x10,0x2b,0x10,0x26,0x30,0x30,0x80,0x18,0x20,0x18,0x20,0x26,0x20,
                                                0x20,0x20,0x20,0x40,0x26,0x20,0x2b,0x20,0x30,0x20,0x30,0x20,0x1c,0x20,0x20,0x20,
                                                0x20,0x80,0x1c,0x20,0x1c,0x20,0x1c,0x20,0x30,0x20,0x30,0x60,0x39,0x10,0x30,0x10,
                                                0x20,0x20,0x2b,0x10,0x26,0x10,0x2b,0x10,0x26,0x10,0x26,0x10,0x2b,0x10,0x2b,0x80,
                                                0x18,0x20,0x18,0x20,0x26,0x20,0x20,0x20,0x20,0x60,0x26,0x10,0x2b,0x20,0x30,0x20,
                                                0x30,0x20,0x1c,0x20,0x20,0x20,0x20,0x80,0x26,0x20,0x30,0x10,0x30,0x10,0x30,0x20,
                                                0x39,0x20,0x26,0x10,0x2b,0x10,0x2b,0x20,0x2b,0x40,0x40,0x10,0x40,0x10,0x20,0x10,
                                                0x20,0x10,0x2b,0x10,0x26,0x30,0x30,0x80,0xff,
                                        };
uchar code table4[]={
                                                0x30,0x1C,0x10,0x20,0x40,0x1C,0x10,0x18,0x10,0x20,0x10,0x1C,0x10,0x18,0x40,0x1C,
                                                0x20,0x20,0x20,0x1C,0x20,0x18,0x20,0x20,0x80,0xFF,0x20,0x30,0x1C,0x10,0x18,0x20,
                                                0x15,0x20,0x1C,0x20,0x20,0x20,0x26,0x40,0x20,0x20,0x2B,0x20,0x26,0x20,0x20,0x20,
                                                0x30,0x80,0xFF,0x20,0x20,0x1C,0x10,0x18,0x10,0x20,0x20,0x26,0x20,0x2B,0x20,0x30,
                                                0x20,0x2B,0x40,0x20,0x20,0x1C,0x10,0x18,0x10,0x20,0x20,0x26,0x20,0x2B,0x20,0x30,
                                                0x20,0x2B,0x40,0x20,0x30,0x1C,0x10,0x18,0x20,0x15,0x20,0x1C,0x20,0x20,0x20,0x26,
                                                0x40,0x20,0x20,0x2B,0x20,0x26,0x20,0x20,0x20,0x30,0x80,0x20,0x30,0x1C,0x10,0x20,
                                                0x10,0x1C,0x10,0x20,0x20,0x26,0x20,0x2B,0x20,0x30,0x20,0x2B,0x40,0x20,0x15,0x1F,
                                                0x05,0x20,0x10,0x1C,0x10,0x20,0x20,0x26,0x20,0x2B,0x20,0x30,0x20,0x2B,0x40,0x20,
                                                0x30,0x1C,0x10,0x18,0x20,0x15,0x20,0x1C,0x20,0x20,0x20,0x26,0x40,0x20,0x20,0x2B,
                                                0x20,0x26,0x20,0x20,0x20,0x30,0x30,0x20,0x30,0x1C,0x10,0x18,0x40,0x1C,0x20,0x20,
                                                0x20,0x26,0x40,0x13,0x60,0x18,0x20,0x15,0x40,0x13,0x40,0x18,0x80,0xff,
                                        };
//簡譜音調(diào)對應的定時器初值
//適合12的晶振
uchar code cuzhi[]={
                                                0xff,0xff,//占位
                                                0xFC,0x8E,//中央C調(diào)1-7
                                                0xFC,0xED,       
                                                0xFD,0x43,       
                                                0xFD,0x6A,       
                                                0xFD,0xB3,       
                                                0xFD,0xF3,       
                                                0xFE,0x2D,
                                                0xFE,0x47,        //高八度1-7          
                                                0xFE,0x76,
                                                0xFE,0xA1,
                                                0xFE,0xC7,       
                                                0xFE,0xD9,
                                                0xFE,0xF9,
                                                0xFF,0x16
                                   };
uchar code yinyue[]={0xff,0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,0x00,0x00};
//將音調(diào)轉(zhuǎn)化為對應的LED樣式
//延時165MS,即十六分音符子函數(shù)
void delay1(uint z)
{       
        uint x,y;
        for(x=z;x>0;x--)
                 for(y=19000;y>0;y--);
}
//延時1MS子函數(shù)
void delay2(uint z)       
{       
        uint x,y;
        for(x=z;x>0;x--)
                 for(y=110;y>0;y--);
}
//LCD1602液晶寫命令子函數(shù)
void write_com(uchar com)
{  
        RS=0;                                        //選擇寫指令
           RW=0;
        E=0;
        P0=com;
        E=1;   
           delay2(5);                                    //無延時不能正常工作
           E=0;   
}
//LCD1602液晶寫數(shù)據(jù)子函數(shù)
void write_date(uchar date)
{  
        RS=1;                                       //選擇寫數(shù)據(jù)
           RW=0;
        E=0;
        P0=date;
        E=1;   
           delay2(5);                                   //無延時不能正常工作
           E=0;   
}
//LCD1602液晶初始化子函數(shù)
void LCD1602_init()                                     //初始化
{  
        delay2(15);
  
//主函數(shù)
void main()
{       
        TMOD=0x11;//定時器0工作在方式1
        TH1=0;
        TL1=0;
        ET1=1;
        TH0=0;
        TL0=0;
        ET0=1;
        TR0=1;
        EA=1;//開總中斷
        EX1=1;//開外部中斷1
        IT1=1;//下降沿時觸發(fā)中斷
        EX0=1;//開外部中斷0
        IT0=1;//下降沿時觸發(fā)中斷
        count2=0;//唱第一首歌
        LCD1602_init();
        while(1)//大循環(huán)
        {
                song();
        }                                
}
//定時器0中斷子函數(shù)
void t0() interrupt 1         
{
        num2++;
        if(num2==5)
        {
                num2=0;
                key();
        }       
}
//定時器1中斷子函數(shù)
void t1() interrupt 3         //用于產(chǎn)生各種音調(diào)
{
        TH1=a;
        TL1=b;
        BEEP=~BEEP;
}
void wb0() interrupt 0
{
        TR1=0;
        if(k1==0)
        {
                delay2(10);
                if(k1==0)
                {
                        count2++;
                        c=0;//從頭開始唱
                        if(count2==1)
                        {
                                write_com(0x01);
                                delay2(10);
                                write_com(0x80+0);
                                write_date(' ');
                                write_com(0x80+1);
                                write_date(' ');
                                write_com(0x80+2);
                                write_date(' ');
                                write_com(0x80+3);
                       
                                write_com(0xc0+8);
                                write_date(' ');
                                write_com(0xc0+9);
                                write_date('f');
                                write_com(0xc0+10);
                                write_date('l');
                                write_com(0xc0+11);
                                write_date('o');
                                write_com(0xc0+12);
                                write_date('w');
                                write_com(0xc0+13);
                                write_date('e');
                                write_com(0xc0+14);
                                write_date('r');
                                write_com(0xc0+15);
                                write_date('s');               
                        }
                        if(count2>4)
                        {
                                count2=1;
                                c=0;//從頭開始唱
                                TR1=1;
                        }       
                        while(!k1);       
                }
        }
}
void wb1() interrupt 2
{
        TR1=0;
        if(k2==0)
        {
                delay2(10);
                if(k2==0)
                {
                        count2--;
                        c=0;//從頭開始唱
                        if(count2==1)
                               
                        }
                        if(count2<=0)
                        {
                                count2=4;
                                c=0;//從頭開始唱
                                TR1=1;
                        }       
                        while(!k2);       
                }
        }
}

回復

使用道具 舉報

ID:357520 發(fā)表于 2018-12-26 11:56 | 顯示全部樓層
void LCD1602_init()                                     //初始化
{  
        delay2(15);
  你這后面的括號沒了
回復

使用道具 舉報

ID:357520 發(fā)表于 2018-12-26 12:00 | 顯示全部樓層
void wb1() interrupt 2
{
        TR1=0;
        if(k2==0)
        {
                delay2(10);
                if(k2==0)
                {
                        count2--;
                        c=0;//從頭開始唱
                        if(count2==1)
                                
                        }
                        if(count2<=0)
                        {
                                count2=4;
                                c=0;//從頭開始唱
                                TR1=1;
                        }        
                        while(!k2);        
                }
        }
}這里面的括號好像也有問題{}
回復

使用道具 舉報

ID:455337 發(fā)表于 2018-12-26 13:28 | 顯示全部樓層
void wb1() interrupt 2
{
        TR1=0;
        if(k2==0)
        {
                delay2(10);
                if(k2==0)
                {
                        count2--;
                        c=0;//從頭開始唱
                        if(count2==1)
                              
                        }
                        if(count2<=0)
                        {
                                count2=4;
                                c=0;//從頭開始唱
                                TR1=1;
                        }      
                        while(!k2);      
                }
        }
}//多了一個大括號
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

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

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

快速回復 返回頂部 返回列表