c语言在编译的时候,到底哪里错了??? 11.C(9): error C129: missing ';' before 'keydown' 50

#include<reg51.h>#include<intrins.h>#defineucharunsignedchar#defineuintunsignedintuns... #include<reg51.h>
#include <intrins.h>
#define uchar unsigned char
#define uint unsigned int
unsigned char table[]={0x3f,0x06,0x5b,0x4f,0x66,
0x6d,0x7d,0x07,0x7f,0x6f, 0x40,0x00}; // 共阴数码管 0-9
//键盘扫描程序
void keyscan();
Enum keydown kdwn ;
P1=oxff;
If((p1&oxff)!=ox1f)
{
delay(1000)
{ ;// 延时10ms 消抖
If((p1&ox1f)!=ox1f)
{
Kdwn=p1&ox1f
Switch(kdwn)
{
Case clckws:clokwise( );break;//正转
Case antclckws: anticlokwise( );break;//反转
Case mstsp: motorstop( );break;//急停
Case spdp: speedup( ); break;//加速
Case spdwn: speeddown( ); break;//减速
}
}
}
While((p1&ox1f)!=ox1f);
}
;//T0中断程序
void time0_int(void) interrupt 1
{
time++;
TH0 = 0xec;
TL0 = 0x78;
if(change == 0)
{
PWM2 = 1;
if(time == high)
PWM1=0;
else if(time == period)
{
PWM1 = 1;
time = 0;
}
}
else
{ PWM1 = 1;
if(time == high)
PWM2=0;
else if(time == period)
{
PWM2 = 1;
time = 0;
}
}
}
//数码管显示程序
Void ledshow(unsigned int i)
{
disdata[0]=i/1000; //百位数
disdata[1]=i%1000/100; //十位数
disdata[2]=i%100/10; //个位数
disdata[3]=i%10; //小数位
P2=0xf7;P0=0x00;
P0=table[ disdata[3]];
delay(20);
P2=0xfb;P0=0x00;
P0=table1[ disdata[2]];
delay(20);
P2=0xfd;P0=0x00;
P0=table[ disdata[1]];
delay(20);
P2=0xfe;P0=0x00;

P0=table[ disdata[0]];
delay(20);
}
void delay_20() // 延时20uS
{ uchar bt ;
for(bt=0;bt<100;bt++);
}
//主程序
Void main (void)
{
TMOD=OX01 ;//定时器0设为16位定时
TH0=(65536-pulsewidth)
TL0= (65536-pulsewidth)
EA=1 ;//开CPU中断
ET=0 ;// ;开T0中断
}
TR=0 ;// ;启动定时器T0
While(1)
{
ledshow() ;//数码管显示
keyscan() ;//键盘扫描
}
展开
 我来答
dfdglei
2013-05-22 · TA获得超过1196个赞
知道小有建树答主
回答量:747
采纳率:100%
帮助的人:837万
展开全部
Enum keydown kdwn ;
我看你的代码,这里似乎是你已经定义过了一个叫keydown的枚举,现在想定义一个这个枚举的变量kdwn。如果是这样的话,不需要加enum这个标志的。
enum是用来定义一个枚举的,而定义一个枚举类的变量,只需要用枚举类名字就行了。
如果你没有定义这个枚举类的话,这么写:
enum keydown
{
clckws 0,
antclckws 1,
....

};
百度网友e591bcd
2013-05-24 · TA获得超过988个赞
知道小有建树答主
回答量:518
采纳率:0%
帮助的人:459万
展开全部
{ ;// 延时10ms 消抖
If((p1&ox1f)!=ox1f)
{
Kdwn=p1&ox1f //这里少了分号。
Switch(kdwn)

报错的是:
error C129: missing ';'
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
cooke1234
2013-05-22 · TA获得超过6863个赞
知道大有可为答主
回答量:4617
采纳率:72%
帮助的人:4145万
展开全部
这一句话有错 :Enum keydown kdwn ;
注意enum的大小写,枚举变量的定义。
追问
改了,错的更多了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
思蟹一0b
2013-05-22 · TA获得超过1301个赞
知道小有建树答主
回答量:1208
采纳率:100%
帮助的人:701万
展开全部
关键字 首字母都大写了,系统无法识别,象If ,Case,Enum都是

oxff也不对头,估计是0xff
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式