标题:
报错18b20.c(16): error C129: missing ';' before 'flag1'
[打印本页]
作者:
zzzlll112
时间:
2021-5-13 23:46
标题:
报错18b20.c(16): error C129: missing ';' before 'flag1'
#include<reg52.h>
#include<intrins.h>
#define uchar unsigned char
#define unit unsigned int
#include"1602.h"
#include"DS18B20.h"
//#include<485.h>
sbit warning=P3^6;
sbit yellowled=P3^7;//
//uchar flag1; //sign of the result positive or negative
uncharj;
int temper[4];
uchar code str4_sht11[]="max:min:";
sbit k1=P2^5;//set
sbit k2=P2^6;//+
sbit k3=P2^7;//-
sbit sound=P3^5;
char max=35;
char min=15;
uchar change_flag;
uchar flag;
void delay1(unit count)//delay1
{
unit i;
while (count)
{i=200;
while(i>0)
i--;
count--;
}
}
void serial_int()
{
TMOD=0X01;//t1
TH0=0xF0;//2400bit/s
TL0=0x0F;
TR0=1;
ET0=0;
}
void timer_isr()interrupt 1
{TH0=0xF0;
TL0=0x0F;
sound=~sound;
}
void key1()
{
if(k1==0)
{
change_flag++;
if(change_flag>2)
change_flag=0;
}
while(k1==0);
}
void key2()
{
if(k2==0)
{
if(change_flag==1)
max++;
if(change_flag==2)
min++;
}
while(k2==0);
}
void key3()
{if(k3==0)
{
if(change_flag==1)
max--;
if(change_flag==2)
min--;
}
while(k3==0);
}
void key()
{
key1();
key2();
key3();
}
void main()
{
uchar i,a=1,b=1 ;
warning=0;
serial_int();
yellowled=1;
1602_init();
for(i=0;i<4;i++)
{
tmpchange(i);
temper[i]=tmp(i);
}
dispay_1602();
while(1)
{if(change_flag==0)
{if(a==1)
{b=1;
a=0;
write_lcdcom(0*01);
dispaly_1602();
}
tmpchange(j);
for(i=0;i<100;i++)
{
key();
temper[j]=tmp(j);
lcd_printf(j,temper[j],0*cd);
}
j++;
if(j>3)
j=0;
if(((temper[j]>max)||(temper[j]<min))&&(temper[j]<850))
{
warningyellowled=0;
RST=1;}
else
{
RST=0;
waring=0;
yellowled=1;
}}
else
{
key();
if(b==1)
{
a=1;
b=0;
write_lcdcom(0*01);
write_lcdcom(0*80);
for(i=0;i<32;i++)
{
write_lcddate(str4_sht11[i]);
}
}
else
lcd_set(max,min);
}
}
}
为啥1.c(97): error C141: syntax error near '_init', expected ';'30);
#include<reg52.h>
#include<intrins.h>
#define uchar unsigned char
#define unit unsigned int
sbit lcdrs=P2^0;
sbit lcdrw=P2^1;
sbit lcden=P2^2;
uchar code str1[]={0x10,0x06,0x09,0x08,0x09,0x08,0x06,0x00};
uchar code str6_sht11[]="The present temp is";
//uchar code str4_sht11[]="max: min:";
//uchar code str2_sht11[]="temp=";
uchar code str7_shtll[]="NO. ";
uchar change_flag;
void delay_1602(unit delay_time)//
{
for (delay_time>0;delay_time--);
}
void write_lcdcom(uchar date)//
{
lcdrw=0;
lcdrs=0;
delay_4602(5);
P0=date;
lcden=1;
delay_1602(5);
lcden=0;
}
void write_lcddate(uchar lcddate)
{
lcdrw=0;
lcdrs=1;
delay_1602(5);
P0=lcddate;
lcden=1;
delay_1602(5);
lcden=0;
}
void lcd_init()
{
write_lcdcom(0x38);
//write_lcdcom(0x38);
//write_lcdcom(0x38);
write_lcdcom(0x06);
write_lcdcom(0x0c);
write_lcdcom(0x01);
}
void display_1602()
{
uchar i;
lcdrw=0;
lcdrs=0;
lcden=0;
delay_1602(10);
write_lcdcom(0x80);
/**/for(i=0;i<32,i++)
{
write_lcddate(str6_shtll[i]);
}
delay_1602(10);
write_lcdcom(0xc0);
for(i=0;i<32;i++)
{
write_lcddate(str7_sht11[i]);
}
lcdrw=1;
lcdrs=1;
lcden=1;
}
void lcd_printf(uchar number,unit x,uchar add)
{
uchar x1,x2,x3,x4;
x1=x/1000;
x2=x%1000/100;
x3=x%100/10;
x4=x%10;
write_lcdcom(0xc4);
write_lcddate(number+0x30);
write_lcdcom(0xca);
if(flag==1)
write_lcddate('-');
else
write_lcddate('');
write_lcdcom(add);
write_lcdcom(x1+0x30);
write_lcddate(x2+0x30);
write_lcddate('.');
write_lcddate(x4+0x30);
write_lcddate('');
write-lcddate('C');
}
void lcd_set(char max,char min)
{
uchar x1,x2,x3,x4;
uchar flag_max,flag_min;
if(max<0)
{
flag_max=1;
max=-max;
}
else
flag_max=0;
if(min<0)
{
flag_min=1;
min=-min;
}
else
flag_min=0;
x1=max/10;
x2=max%10;
x3=min/10;
x4=min%10;
write_lcdcom(0xc4);
if(flag_max==1)
write_lcddate('-')
write_lcddate(x1+0x30);
write_lcddate(x2+0x30);
write_lcdcom(0xD0);
if(flag_min==1)
write_lcddate('-');
write_lcddate(x3+0x30);
write_lcddate(x4+0x30);
}
lcd.c(16): error C141: syntax error near ')', expected ';'
#include<reg52.h>
#include<intrins.h>
/*
sbitDs1=P1^0;
sbitDs2=P1^1;
sbitDs3=P1^2;
sbitDs4=P1^3;
sbitDs5=P1^4;
sbitDs6=P1^5;
*/
#define BIT1(x)(1<<x)
#define DS P1
#define NBIT1(x)~BIT1(x)
uchar flag;
void delay (uint count) //delay
{
uint i;
while(count)
{i=200
while(i>0)
i--;
count--;
}
}
uchar NO_number;
void dsreset(uchar m)
{
uint i;
DS&=NBIT1(m);
i=103;
while(i>0)i--;//>480us,reset
DS|=BIT1(m);//keep free
i=4;
while(i>0)i--;
}
bit tmpreadbit(uchar m) //read a bit
{uint i;
bit dat;
DS&=NBIT(m);i++;
DS|=BIT1(m);
//a=DS;
i++;i++;
if(DS&BIT1(m))
dat=1;
else
dat=0;
i=8;while(i>0)i--;
return(dat);
}
uchar tmpread(uchar m)
{uchar i,j,dat;
dat=0;
for(i=1;i<=8;i++)
{
j=tmperadbit(m);
dat=(j<<7)|(dat>>1);}
return(dat);
}
void tmpwritebyte(uchar dat,uchar m)
{uint i;
uchar j;
bit testb;
for(j=1;j<=8;j++)
{
testb=dat&0x01;
dat=dat>>1;
if(testb)//
{DS&=NBIT1(m);
i++;i++
}
}
}
void tmpchange(uchar m)
{
dsreset(m);
delay(1);
tempwritebyte(0xcc,m);
tempwritebyte(0x44,m);
}
uint; tmp(uchar m)
{
float tt;
uchar a,b;
int temp;
dsreset(m);
delay(1);
tempwritebyte(0xcc,m);
tempwritebyte(0xbe,m);
a=tmpread(m);
b=tmpread(m);
temp=b;
temp<<=8;
temp=temp|a;
if(b>0xf8)
{flag=1;
temp=~temp+1;
}
else
flag=0;
tt=temp*0.0625;
temp=tt*10=+0.5;
return temp;
}
复制代码
作者:
wulin
时间:
2021-5-14 07:21
抄写错误比比皆是。
作者:
权威人物
时间:
2021-5-14 13:43
你这标点符号错误 真的自己就不能认真排查下吗?
作者:
tanyangkang
时间:
2021-5-14 16:44
调用错误
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1