我刚学单片机,想让LED上的第一个小灯间隔200MS闪烁,我编的程序是这样的:

#include <reg51.h>
void delay(unsigned int i);
main()
{
P0=0xfe;
delay(200) ;
P0=0xff;
delay(200) ;
}
delay 200ms(void)
{
unsigned char a,b,c;
for (c=131;c>0;c--)
for(b=156;b>0;b--)
for(a=3;a>0;a--);
} 出现这问题,该怎么在这基础上修改
compiling 2.c...
2.C(11): error C129: missing ';' before '200'
2.c - 1 Error(s), 0 Warning(s).

第1个回答  2013-04-16
函数名可以写做 delay_ 200ms() 或delay200ms() ,但不可以函数名字中间带个空白符

标识符常识,开头不以是数字,中间不得有空白符等无效符号,C语言基本功不过关啊
第2个回答  2013-04-16
delay 200ms(void)
这一行出错了
改为
void delay(unsigned int i)
{
unsigned char a,b,c;
for (c=i;c>0;c--)
for(b=156;b>0;b--)
for(a=3;a>0;a--);
}本回答被网友采纳
第3个回答  2013-04-19
1.去掉函数名称的空格。

2.主函数中,还缺少一个循环。
第4个回答  2013-04-16

    延时函数先申明 

我刚学单片机,想让LED上的第一个小灯间隔200MS闪烁,我编的程序是这样...
函数名可以写做 delay_ 200ms() 或delay200ms() ,但不可以函数名字中间带个空白符 标识符常识,开头不以是数字,中间不得有空白符等无效符号,C语言基本功不过关啊

我刚学单片机,想让LED上的第一个小灯间隔200MS闪烁,我编的程序是这样...
\/\/ 定义 LED 闪烁的间隔时间,单位为毫秒 int interval = 200;void setup() { \/\/ 初始化数字输出为输出模式 pinMode(led, OUTPUT);} void loop() { \/\/ 让 LED 亮起来 digitalWrite(led, HIGH);\/\/ 延迟一段时间 delay(interval);\/\/ 让 LED 熄灭 digitalWrite(led, LOW);\/\/ 延迟一段时间...

求51单片机使led灯亮800ms灭200ms的代码 使用下面代码修改过来的
void delayms(unsigned char ms)\/\/延时子程序 { unsigned char i;while(ms--){ for(i=0;i<250;i++);} } void time0_int(void) interrupt 1 { TH0=(65536-10000)\/256;TL0=(65536-10000)%256;i++;if(i<80)led1=0;else led1=1;if(i>1000)i=0;} void time1_int(void) inter...

单片机编程,控制LED延时亮灭的程序,
sbit led4=P1^4;sbit led5=P1^5;sbit kg1=P3^1;sbit key2=P3^2;sbit key3=P3^3;\/***\/void init()\/\/初始化函数{ TMOD=0x01;TH0=(65536-1000)\/256;TL0=(65536-1000)%256;EA=1; ET0=1;}\/\/\/u8 s(){\/\/扫描按键static u8 ms;u8 t=0;\/\/if(key1==0)t|=Pin1;if...

...功能是用定时器T0使发光管间隔200ms闪烁,定时器T1使数码管循环显示0...
……num2++;if(num2==20){ num2=0;\/\/少了这句,num2会持续增长,长到255后,才变成0。……num2:0~255,只有在=20时,数字才加一。那么,就是约12.5秒,数字才加一。

...这段代码不是延时500ms吗?为什么这里说是200ms?
这是软件的初始状态,所有端口都是高电位,我们按下P10.按键随着按下,可以稳定的响应,我们再通过实际电路测试一下。测试发现,我按下按键,还没松手,就已经流水般的熄灭了5个灯了,什么情况?我们可以看程序的这里 keybuff=key10; \/\/赋值 if(keybuff==0) \/\/判断开关是否按下 { delay(50); ...

keil软件用单片机控制8个LED流水灯来回点亮(C语言程序)
P1=w; \/\/循环点亮LED w<<=1; \/\/点亮灯的位置移动,最低位补0 w=w|0x01; \/\/将最低位置1 delay(500); \/\/延时 } } } 或:include "reg51.h"\/\/程序中使用_crol_函数,所以要包含头文件"intrins.h"include "intrins.h"void delay(unsigned int t){ unsigned int i,j;f...

单片机八个发光管间隔200ms由上至下,再由下至上,再重复一次.然后全部...
用while实现循环 从上至下点亮可以用移位操作 时间间隔用延时函数

求单片机4位数字钟的程序
DisBuff[3]=LED_Tab[LED4];\/***小数点闪烁在这里控制***\/ if(DisDecemal==1)DisBuff[1]&=0x7f; \/\/点亮小数点 \/***\/ } void Timer0_Init(void) \/\/@12MHz,STC8952 { TMOD=0x01;TH0=(65536-5000)>>8; \/\/重装5ms的初值 TL0=(65536-5000);IE=0x82;TR0=1;} void Display_...

...编写一段程序,单片机是51系列的,要求编写8个LED灯有三种以上的闪烁方...
给你最简单的,看得清楚易懂的,P1口接8位LED,有多种闪烁方式。P2(扫描端在P2口,P3为位选端,注意看代码)口接上两位数码管的话还可以显示00-99的数字:ZHUCX: MOV A,#11111110B MOV P1,A ACALL YANSHI MOV A,#11111100B MOV P1,A ACALL YANSHI MOV A,#11111000B MOV P1,A ACALL...

相似回答