标题:
单片机中c语言的问题
[打印本页]
作者:
qwe3189990
时间:
2017-11-21 21:35
标题:
单片机中c语言的问题
#include <at89x52.h>
void DELAY() //延时函数
{ unsigned char i,j;
for(i=0;i<250;i++)
{
for(j=0;j<200;j++);
}
}
void main() //程序从这里开始执行
{
while(1) //这句的作用就是反复的执行下面这个{}中包含的4句
{
P1_0=1; //(1)熄灭灯
DELAY(); //(2)延时一段时间
P1_0=0; //(3)点亮灯
DELAY(); //(4)延时一段时间
}
}
这一句把上面的i,for(i=0;i<250;i++)删掉改成
#include<reg51.h>
sbit P1_0=P1^0;
void DELAY() //延时函数
{ unsigned char i;
for(i=0;i<250;i++)
}
void main() //程序从这里开始执行
{
while(1) //这句的作用就是反复的执行下面这个{}中包含的4句
{
P1_0=1; //(1)熄灭灯
DELAY(); //(2)延时一段时间
P1_0=0; //(3)点亮灯
DELAY(); //(4)延时一段时间
}
}为什么错误 新手
作者:
STC89C51
时间:
2017-11-21 22:39
延时时间短了,可以改为:
void DELAY() //延时500ms
{
unsigned char a,b,c;
for(c=122;c>0;c--)
for(b=222;b>0;b--)
for(a=7;a>0;a--);
}
作者:
ljn123123
时间:
2017-11-22 00:26
是因为你的循环语句没有分号,你的for循环下面没有执行语句时,用for(i=0;i<250;i++);
作者:
ljn123123
时间:
2017-11-22 00:27
void DELAY() //延时函数 { unsigned char i; for(i=0;i<250;i++) ; }是因为你的循环语句没有加分号,你的for循环下面没有执行语句时,用for(i=0;i<250;i++);
作者:
漫步经心
时间:
2017-11-22 09:00
for(i=0;i<250;i++) 加个;
作者:
liujianling
时间:
2017-11-22 11:08
你试试再循环语句那改一下
作者:
lujunda2
时间:
2017-11-22 13:56
人眼的视觉暂留时间是1/24秒,只要小于这个时间,看到的就是连续闪动,
也就跟没闪一样
作者:
lkzx56
时间:
2017-11-22 14:57
应该是你循环的那个函数延时太短。在视觉上应该是有暂留
作者:
xbook_ben
时间:
2017-11-22 16:43
void DELAY() //延时函数
{ unsigned char i;
for(i=0;i<250;i++)
}
for后面少了分号,加在for后面或者下面都行。
作者:
李洋
时间:
2017-11-22 17:06
void DELAY() //延时函数错了
作者:
龙龙啊
时间:
2017-11-22 17:21
延时函数太短了,肉眼看就跟没闪一样
作者:
徐御品
时间:
2017-11-22 18:30
延时程序太短,,修改的延时程序后面未加; 还有多补充一点 unsigned char i 数据类型是 8位数也就是2的8次方 256.所以你的 i 不能超过256.
作者:
1551125514
时间:
2017-11-22 19:24
用的应该是c++
做单片机如果想要有创新,编程要学好
作者:
l8325536
时间:
2017-11-22 20:41
延时太短啦
作者:
zhlzhang
时间:
2017-11-22 21:02
for(i=0;i<250;i++) 这个后面要有执行语句的,后面加这个{;}就可以了
作者:
yuexudong
时间:
2017-11-22 21:40
少一个“”“;”还有延时时间太短,只会看到led的一种状态
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1