• 回复
  • 收藏
  • 点赞
  • 分享
  • 发新帖

C程序出错了,求教高手

下面是一个简单的LED单灯跳变渐变C程序,因为融合了另外一个程序,致使KEIL软件编译时出现错误,请高手指点:
#include
sbit LEDR= P1 ^ 0; //P1.0引脚上接了一个红的发光二极管

code unsigned char stop[3] _at_ 0x3B; //Mon51用Mon51用,绝对地址引用
/**********************************************************************

******
延时程序:
/**********************************************************************

******/
void delay (unsigned int d){ // 延时功能函数--由d决定延时长度
unsigned char i;
while( d-- != 0){
for(i = 0; i < 8; i++);
}
}
/**********************************************************************



******/
void main (void){ // 彩灯主函数 实现彩灯的显示
unsigned char a, b; // a控制延时长度 b控制循环周期
while (1){
******
主程序:后面是LED跳闪2次的程序
/***************************************************************

LEDR = 0;
Delay(250);

LEDR = 1;
Delay(250);
LEDR = 0;
Delay(100);

LEDR = 1;
Delay(250);


/**********************************************************************

******
主程序: 后面是渐变式LED闪烁
/**********************************************************************

*/

LEDR= 0;
delay (15535);
a = 0x00;
for (b=255; b>0; b--)
{
a++;
delay (a); // 延时长度随a而改变
LEDR= 0;
a = ~a; // a值取反 决定灯灭时的占空比
delay (a);
LEDR=1;
a = ~a; // a值取反 使a回到原值继续循环
}

delay (15535);
LEDR= 0; // 彩灯全亮 使灯达到最亮
a = 0x00;
for (b=255; b>0; b--){
a++;
delay (a);
LEDR= 0xff;
a = ~a;
delay (a);
LEDR= 0;
a = ~a;
}
LEDR= 1;

}
}

编译后错误结果为:建立目标的目标1 '
汇编扫描渐变ç程序.角..
3灯7彩扫描渐变ç程序. ç ( 28 ) :警告C206 : '延迟' :失踪函数原型
3灯7彩扫描渐变ç程序. ç ( 28 ) :错误C267 : '延迟' :需要ANSI样式原型
目标尚未建立
请C语言高手指点,不胜感激!

另外,把跳闪2次的那段程序去掉后就可以正常运行了,不会显示错误,求教了......

源程序文件 2782181239351320.txt
全部回复(3)
正序查看
倒序查看
2009-04-11 08:36
怎么还没人来啊,这个论坛里面不是有许多隐藏的单片机高手吗?
C语言我也是刚接触没多久,希望懂C语言的高手们能帮下小弟,发表一下您
的观点..谢谢!
0
回复
whatcall
LV.5
3
2009-04-12 10:55
@haonaozai0616
怎么还没人来啊,这个论坛里面不是有许多隐藏的单片机高手吗?C语言我也是刚接触没多久,希望懂C语言的高手们能帮下小弟,发表一下您的观点..谢谢!
连C语言是区分大小写的都不知道吗?你觉得高手愿意回复这样的问题吗?
0
回复
2009-04-13 08:56
@whatcall
连C语言是区分大小写的都不知道吗?你觉得高手愿意回复这样的问题吗?
感谢上面那位大哥犀利的点评,大哥一句话惊醒梦中人,问题现在我终于找出来了,是我太粗心大意了,我也知道C程序在区分大小写这块非常严格,之前这个程序中P1.0也有过小写,改过之后好了,哎...看来以后得更加细心了,总之,谢谢上面大哥的指点,受教了....
0
回复