找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3743|回复: 3
收起左侧

提示有错误,麻烦大神帮帮忙1.C(149): error C141: syntax error near 'void'

[复制链接]
ID:455118 发表于 2018-12-26 10:59 | 显示全部楼层 |阅读模式
#include<reg51.h>//51单片机头文件
typedef unsigned char uchar;
typedef unsigned int  uint;
sbit RS=P2^7;//LCD1602数据/命令选择端(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;
//---------------------------简谱---------------------------------------
//编程规则:字节高位是简谱,低位是持续时间,
//代表多少个十六分音符
//1-7代表中央C,8-E代表高八度,0代表停顿
//最后的0是结束标志
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,//一朵花传来谁经过的温柔
                                                0x61,0x71,0x82,0x71,0x62,0xA2,0x71,0x76,//穿越千年的伤痛
                                                0x61,0x71,0x82,0x71,0x62,0x52,0x31,0x36,//只为求一个结果
                                                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//结束标?//?
                                          };
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,//落花似人有情 这个季节
                                                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,//是慌乱占据了心扉                                                                                                                                  
                                                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,
                                        };
//简谱音调对应的定时器初值
//适合12的晶振
uchar code cuzhi[]={
                                                0xff,0xff,//占位
                                                0xFC,0x8E,//中央C1-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};
//将音调转化为对应的LED样式
//延时165MS,即十六分音符子函数
void delay1(uint z)
{       
        uint x,y;
        for(x=z;x>0;x--)
                 for(y=19000;y>0;y--);
}
//延时1MS子函数
void delay2(uint z)       
{       
        uint x,y;
        for(x=z;x>0;x--)
                 for(y=110;y>0;y--);
}
//LCD1602液晶写命令子函数
void write_com(uchar com)
{  
        RS=0;                                        //选择写指令
           RW=0;
        E=0;
        P0=com;
        E=1;   
           delay2(5);                                    //无延时不能正常工作
           E=0;   
}
//LCD1602液晶写数据子函数
void write_date(uchar date)
{  
        RS=1;                                       //选择写数据
           RW=0;
        E=0;
        P0=date;
        E=1;   
           delay2(5);                                   //无延时不能正常工作
           E=0;   
}
//LCD1602液晶初始化子函数
void LCD1602_init()                                     //初始化
{  
        delay2(15);
  
//主函数
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;//下降沿时触发中断
        EX0=1;//开外部中断0
        IT0=1;//下降沿时触发中断
        count2=0;//唱第一首歌
        LCD1602_init();
        while(1)//大循环
        {
                song();
        }                                
}
//定时器0中断子函数
void t0() interrupt 1         
{
        num2++;
        if(num2==5)
        {
                num2=0;
                key();
        }       
}
//定时器1中断子函数
void t1() interrupt 3         //用于产生各种音调
{
        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 发表于 2018-12-26 11:56 | 显示全部楼层
void LCD1602_init()                                     //初始化
{  
        delay2(15);
  你这后面的括号没了
回复

使用道具 举报

ID:357520 发表于 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 发表于 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);      
                }
        }
}//多了一个大括号
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表