找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1095|回复: 10
打印 上一主题 下一主题
收起左侧

大家帮我看下啥问题,检查不出来了,提示砰.C(23): error C129: missing ';' befor...

[复制链接]
跳转到指定楼层
楼主
ID:777633 发表于 2020-6-12 20:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include<reg51.h>
#include<intrins.h>
#define uint unsigned int
#define uchar unsigned char
//????????????
sbit S1=P2^0;  //??????????
sbit S2=P2^1;  //??
sbit S3=P2^2;  //??
//
#define LCDDATA P0
sbit rs=P3^0;
sbit rw=P3^1;
sbit e=P3^2;
//
sbit DQ1=P2^3;  //??????
sbit LED1=P2^6; //?????????
sbit BUZ=P2^7;  //??????
uchar DQ1_SET[2] //DQ1??????????  DQ1_SET[0]????  DQ1_SET[1]?????
uchar Temp;       //??????
uchar count;          //?????????
uchar mode;          //mode=1 ???????  mode=2???????? mode=3????????
uchar code table[]="Temper";
//DS18B20
uchar ng;
uchar code df_Table[]={0,1,1,2,3,3,4,4,5,6,6,7,8,8,9,9};//???С????????
uchar CurrentT=0;                              //?????????????????
uchar Temp_Value[]={0x00,0x00};     //??DS18B20??????
uchar Display_Digit[]={0,0,0,0,0,0,0,0};//?????????λ??
bit DS18B20_IS_OK=1;                        //??????????
//???????
void delay_ms(unsigned int t)
{
       unsigned int i,j;
       for(i=0;i<t;i++)
       for(j=0;j<120;j++);
}
void delay(unit x)
{
while(--x);
}
void delayms(uint z)
{
        uchar x,y;
        for(x=z;x>0;x--)
        for(y=125;y>0;y--);
}
void write_com(uchar com) //LCD???
{
rs=0;
e=0;
LCDDATA=com;
delayms(1);
e=1;
delay(2);
e=0;
}
void write_date(uchar date) //LCD????
{
rs=1;
e=0;
LCDDATA=date;
delayms(1);
e=1;
delayms(2);
e=0;
}
void init_lcd (void)  //LCD?????????????????
{
uchar num;
rw=0;
e=0;
write_com(0x38);
write_com(0x0c);
write_com(0x06);
write_com(0x01);
write_com(0x80);
for(num=0;num<13;num++)
{
write_date(Table[num]);
delay(10);
}
}
//DS18B20?????
uchar init_DS18B20()
{
uchar status;
DQ1=1;
delay(8);
DQ1=0;
delay(90);
DQ1=1;
delay(8);
status=DQ1;
delay(100);
DQ1=1;
return status;
}
uchar ReadOneByte()  //????????
{
uchar i,dat=0;
DQ1=1;
_nop_();
for(i=0;i<8;i++)
{
DQ1=0;
dat>>=1;
DQ1=1;
_nop_();
_nop_();
if(DQ1)
dat()=0x80;
delay(30);
DQ1=1;
};
return(dat);
}
void WriteOneByte(uchar dat)   //д??????
{
uchar i;
for(i=0;i<8;i++)
{
DQ1=0;
DQ1=dat&0x01;
delay(5);
DQ1=1;
dat>>=1;
}
}
void read_Temperature()   //??????
{
EA=0;
if(Init_DS18B20()==1)
DS18B20_IS_OK=0;
else
{
WriteOneByte(0xcc);
WriteOneByte(0x44);
Init_DS18B20();
WriteOneByte(0xcc);
WriteOneByte(0xbe);
Temp_Value[0]=ReadOneByte();   //?????λ
Temp_Value[1]=ReadOneByte();   //?????λ
DS18B20_IS_OK=1;
}
EA=1;
}
void Display_Temperature()   //????????
{
uchar i:
uchar t=150;
ng=0;
if((Temp_Value[1]&0xf8)==0xf8)
{
Temp_Value[1]=~Temp_Value[1];
Temp_Value[0]=~Temp_Value[0]+1;
if((Temp_Value[0])==0x00)
Temp _Value [1]++;
ng=1;
}
else
{
ng=0;
}
Display_Digit[0]=df_Table[Temp_Value[0]&0x0f];
CurrentT=((Temp_Value[0]&0xf0)>>4)|((Temp_Value[1]&0x07)<<4);
Display_Digit[3]=CurrentT/100;       //??
Display_Digit[2]=CurrentT%100/10;//?
Display_Digit[1]=CurrentT%10;       //??
Temp=CurrentT;   //???????                              
if(ng==1)   //????????????????ж?????????0
{
Temp=0;
}
}
void DIS_1602(void)   //LED?????????
{
write_com(0x80+8);   //???????
if(ng==0)
{
write_date(0x30+Display_Digit[3]);
}
else
{
write_date('-');
}
write_date(0x30+Display_Digit[2]);
write_date(0x30+Display_Digit[1]);
write_date('.');
write_date(0x30+Display_Digit[0]);
write_date('C');
write_com(0x80+0x40+0);   //???????
write_date(' ');
}
void DIS_SET_SEG(void)   //LED?????????
{
Display_Digit[7]=DQ1_SET[0]%100/10;   //??????????????????????
Display_Digit[6]=DQ1_SET[0]%10;
Display_Digit[5]=DQ1_SET[1]%100/10;   //??????????????????????
Display_Digit[4]=DQ1_SET[1]%10;
write_com(0x80+0x40+0);   //???????
writw_date('L');
writw_date('');
writw_date(0x30+Display_Digit[7]);
writw_date(0x30+Display_Digit[6]);
writw_date('C');
writw_date(' ');
writw_date(' ');
writw_date(' ');
writw_date('H');
writw_date(' ');
writw_date(0x30+Display_Digit[5]);
writw_date(0x30+Display_Digit[4]);
writw_date('C');
}
void S2_ADD(void)   //???????
{
if(mode==2)   //??????
{
DQ1_SET[0]++;   //??????????????????
if(DQ1_SET[0]>90)
DQ1_SET[0]=90;
}
}
if(mode==3)    //??????
{
DQ1_SET[1]++;    //??????????????????
if(DQ1_SET[1]<90)
{DQ1_SET[1]=90;}
}

void S3_SUB(void)
{
if(mode==2)   //??????
{
DQ1_SET[0]--;    //??????????????????
if(DQ1_SET[0]<10)
DQ1_SET[0]=10;
}
}
if(mode==3)   //??????
{
DQ1_SET[1]--;   //??????????????????
if(DQ1_SET[1]<10)
{DQ1_SET[1]=10;}
}

void KEY_SCAN(void)   //???????
{
if(S1==0)
{
delay_ms(10);
mode++;
if(mode>3)   //??1??2??3???л?
{
mode=1;
}
while(!S1){;}   //??????????
}
if(S2==0)
{
delay_ms(10);
S2_ADD();
while(!S2){;}   //??????????
}
if(S3==0)
{
delay_ms(10);
S3_SUB();
while(!S3){;}   //??????????
}
}
void init()   //??????????
{
TMOD=0x01;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
EA=1;  //?ж?
ET0=1;
TR0=0;
BUZ=1;  
}
//??????
void main(void)
{
uchar i;
init_lcd();   //???3????
DQ1_SET[0]=10;   //DQ1????10
DQ1_SET[1]=85;   //DQ1????85
init();   //???????????
DQ_CHN=0X01;
Read_Temperature();   //DQ1?????
delay_ms(1000);
DQ_CHN=0X01;
Read_Temperature();   //??????
if(DS18B20_IS_OK)
Display_Temperature();   //??????????
mode=1;   //??????
while(1)
{
if(mode==1)   //???
{
KEY_SCAN();   //???????
DIS_1602();
DIS_SET_SEG();
i++;
if(i>20)
{
Read_Temperature();
if(DS18B20_IS_OK)   ////??????????
{
Display_Temperature();
}
i=0;
}
while(1)   //???±???
{
if(Temp<DQ1_SET[0])   //???????
{
LED1=0;TR0=1;break;
}
else
{
LED1=1;BUZ=1;TR0=0;
}
if(Temp>DQ1_SET[1])
{
LED1=0;TR0=1;break;
}
else
{
LED1=1;BUZ=1;TR0=0;
}
break;
}
}
if(mode==2)   //????????
{
KEY_SCAN();   //???????
DIS_UP();   
DIS_SET_SEG();   //????????SEG??????
}
if(mode==3)  //????????
{
KEY_SCAN();
DIS_DOWN();
DIS_SET_SEG();   //????????SEG??????
}
}
}
void timer0()interrupt 1 using 1   //??????????????
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
count++;
if(count==10)
{
count=0;
BUZ=~BUZ;
}
}
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:777633 发表于 2020-6-12 20:42 | 只看该作者
砰.C(23): error C129: missing ';' before 'unsigned'
回复

使用道具 举报

板凳
ID:419968 发表于 2020-6-12 23:25 | 只看该作者
uchar DQ1_SET[2] //DQ1??????????  DQ1_SET[0]????  DQ1_SET[1]?????
回复

使用道具 举报

地板
ID:419968 发表于 2020-6-12 23:26 | 只看该作者
uchar DQ1_SET[2] //DQ1??????????  DQ1_SET[0]????  DQ1_SET[1]?????
uchar DQ1_SET[2] 少了;
回复

使用道具 举报

5#
ID:777633 发表于 2020-6-13 00:09 | 只看该作者
有人知道啥回事吗
回复

使用道具 举报

6#
ID:213173 发表于 2020-6-13 08:00 | 只看该作者
123456789~@ 发表于 2020-6-12 20:42
砰.C(23): error C129: missing ';' before 'unsigned'

错误太多:主要是抄写错误,少写分号,错用汉字符号,错用大小写等等。
回复

使用道具 举报

7#
ID:780424 发表于 2020-6-16 10:12 | 只看该作者
少了一个分号,仔细找找
回复

使用道具 举报

8#
ID:780828 发表于 2020-6-16 11:27 | 只看该作者
#define uint unsigned int
#define uchar unsigned char

不要用define
用typedef
回复

使用道具 举报

9#
ID:780828 发表于 2020-6-16 11:30 | 只看该作者
#define uint unsigned int
#define uchar unsigned char

不要用define

用typedef
回复

使用道具 举报

10#
ID:779648 发表于 2020-6-17 13:50 | 只看该作者
123456789~@ 发表于 2020-6-13 00:09
有人知道啥回事吗

猜想你是复制粘贴的,出现错误。用原文件对比在你注释里找,可能有分号;或者}混在注释里了,加回来。
回复

使用道具 举报

11#
ID:782419 发表于 2020-6-18 17:26 | 只看该作者
你可以用vscode编辑器,有些小错误方便查找

回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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