新手学习,哪位大侠帮忙看下这程序怎么编译不了,看着都没错。。。
原程序如下,出错在中断,提示说http://cache.amobbs.com/bbs_upload782111/files_52/ourdev_719437DPS1C2.jpg
(原文件名:S3]FEC9006SWDCZ40NOZFCU.jpg)
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit p0=P3^0;
sbit p1=P3^1;
sbit p2=P3^2;
sbit p3=P3^3;
void time1();
void key_switch(void);
void lighting_engineer(void);
uchar speed;
uchar time_mark;
uchar value;
uchar time_variabl;
void main()
{
TMOD=0x01;
EA=1;
ET0=1;
TF0=1;
TH0=0x1f;
TL0=0xf6;
value=0xfe;
while(1)
{
key_switch();
lighting_engineer();
}
}
void key_switch()
{
if(!p0)
{
speed=200;
}
if(!p1)
{
speed=100;
}
if(!p2)
{
speed=50;
}
if(!p3)
{
speed=30;
}
}
void lighting_engineer()
{
if(time_mark==1)
{
time_mark=0;
value>>=1;
P0=value;
if(value==0x00)
{
value=0xfe;
}
}
void time1() interrupt 1
{
TH0=0x1f;
TL0=0xf6;
time_variable++;
if(speed==time_variable)
{
time_mark=1;
time_cariable=0;
}
} 怎么回事,本来都排得好好的,贴出来就是这样没头了。。。
http://cache.amobbs.com/bbs_upload782111/files_52/ourdev_719438SRCAVJ.jpg
(原文件名:9%MOC$(_9GTPDUL2YP3B(~7.jpg)
http://cache.amobbs.com/bbs_upload782111/files_52/ourdev_719439VOCGHD.jpg
(原文件名:GHWQJI6$ND1W%RURU8ASLR0.jpg) 很有可能是你的程序前面出错了
就在那一行的上面的有内容的那一行 谢谢,看到了,少了个}。。。这些小地方怎么避免出错,请各位大侠出招相授。。。 使用括号自动匹配。。
我是一高中生,好久没玩单片机了。不知道Keil有没有这功能,至少垃圾得要死的Dev-C++有括号高亮显示。
其实我觉得这种问题可以自己查出来的,多写点程序吧。 编程还是要多敲代码才行,错的多了自然就有经验了 楼主你检查一下你的time_variable变量名称的拼写吧. 学习写程序的第一件事情:
在你写下{的时候,直接写下},然后再写{}之间的程序。 void lighting_engineer() 函数最后少一个}
time_variable变量名定义的少了一个e 回复【4楼】aheadlead NC高中生
-----------------------------------------------------------------------
真的是高中生吗、、、、
让我等好惭愧啊 呵呵 高中生就有这个觉悟了 佩服啊
页:
[1]