keil出错:222.C(21): error C129: missing ';' before 'a'

#include<reg51.h>#include"DS18B20_3.H"#defineuintunsignedint#defineucharunsignedcharu... #include<reg51.h>
#include"DS18B20_3.H"
#define uint unsigned int
#define uchar unsigned char uchar a,b,miao,shi,fen,ri,yue,nian,week,flag,key1n,temp,miao1,shi1=12,fen1=1,miao1=0,clock=0;
#define yh 0x80
#define er 0x80+0x40
sbit rs=P2^0;
sbit en=P2^2;
sbit rw=P2^1;
sbit led=P2^6;
sbit IO=P1^1;
sbit SCLK=P1^0;
sbit RST=P1^2;
sbit CLO=P1^4;
sbit ACC0=ACC^0;
sbit ACC7=ACC^7;
sbit key1=P1^5;
sbit key2=P1^6;
sbit key3=P1^7;
sbit buzzer=P1^3;
uchar code tab1[]={"20 - - "}; //显示这有错
uchar code tab2[]={" : : "}; //好着也有,
uchar code tab3[]={" HELLO WELCOME"}; //
void delay(uint xms)
{
uint x,y;
for(x=xms;x>0;x--)
for(y=110;y>0;y--);
}
void dela1ms(int i)
{
int j,k;
while(i--)
for(j=76;j>1;j--);
for(k=29;k>1;k--);
}
write_1602com(uchar com)
{
rs=0;
rw=0;
P0=com;
delay(1);
en=1;
delay(1);
en=0;
}
write_1602dat(uchar dat)
{
rs=1;
rw=0;
P0=dat;
delay(1);
en=1;
delay(1);
en=0;
}
lcd_init()
{
uchar j;
write_1602com(0x0f|0x08);
for(a=0;a<17;a++)
write_1602dat(tab3[a]);
j=17;
while(j--)
{
write_1602com(0x1c);
delay(700);
}
write_1602com(0x01);
delay(10);
write_1602com(0x38);
write_1602com(0x0c);
write_1602com(0x06);
write_1602com(0x01);
write_1602com(yh+1);
for(a=0;a<14;a++)
{
write_1602dat(tab1[a]);
delay(3);
}
write_1602com(er+2);
for(a=0;a<8;a++)
{
write_1602dat(tab2[a]);
delay(3);
}
write_1602com(er+0);
write_1602dat(0x24);
write_1602com(er+1);
write_1602dat(0x20);
}
void write_byte(uchar dat)
{
ACC=dat;
程序没有粘贴完,位置不够!@
展开
 我来答
一剑出血
高粉答主

2011-10-10 · 醉心答题,欢迎关注
知道大有可为答主
回答量:5.7万
采纳率:78%
帮助的人:1.8亿
展开全部
虽然报错是21行,但出错的根源在第5行:
#define uchar unsigned char uchar
这相当于将uchar定义为“unsigned char uchar”,因此后面凡是声明uchar类型的都会报错!
百度网友dd2e452
2019-05-19
知道答主
回答量:2
采纳率:0%
帮助的人:1745
展开全部
如果你的语法以及标点都没错的话,就把#define unsigned char删了,下面的uchar换为unsigned char,我遇到过同样的问题,查了几小时答案,最后自己试出来的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zrl10000
2011-10-10 · TA获得超过273个赞
知道答主
回答量:163
采纳率:100%
帮助的人:45.8万
展开全部
错了 两行分开写
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
20061002838
推荐于2016-03-01 · TA获得超过811个赞
知道小有建树答主
回答量:210
采纳率:0%
帮助的人:104万
展开全部
#define uchar unsigned char uchar a,b,miao,shi,fen,ri,yue,nian,week,flag,key1n,temp,miao1,shi1=12,fen1=1,miao1=0,clock=0;
错了 两行分开写
#define uchar unsigned char
uchar a,b,miao,shi,fen,ri,yue,nian,week,flag,key1n,temp,miao1,shi1=12,fen1=1,miao1=0,clock=0;
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2011-10-10
展开全部
?|
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式