標(biāo)題: 單片機(jī)中c語言的問題 [打印本頁]

作者: qwe3189990    時(shí)間: 2017-11-21 21:35
標(biāo)題: 單片機(jī)中c語言的問題
#include <at89x52.h>
void DELAY()   //延時(shí)函數(shù)
{ unsigned char i,j;
    for(i=0;i<250;i++)
    {
        for(j=0;j<200;j++);
    }
}
void main() //程序從這里開始執(zhí)行
{
while(1) //這句的作用就是反復(fù)的執(zhí)行下面這個(gè){}中包含的4句
    {
     P1_0=1;  //(1)熄滅燈
     DELAY(); //(2)延時(shí)一段時(shí)間
     P1_0=0;  //(3)點(diǎn)亮燈
     DELAY(); //(4)延時(shí)一段時(shí)間
    }
}


這一句把上面的i,for(i=0;i<250;i++)刪掉改成
#include<reg51.h>
sbit P1_0=P1^0;
void DELAY()   //延時(shí)函數(shù)
{ unsigned char i;
    for(i=0;i<250;i++)
   
}
void main() //程序從這里開始執(zhí)行
{
while(1) //這句的作用就是反復(fù)的執(zhí)行下面這個(gè){}中包含的4句
    {
     P1_0=1;  //(1)熄滅燈
     DELAY(); //(2)延時(shí)一段時(shí)間
     P1_0=0;  //(3)點(diǎn)亮燈
     DELAY(); //(4)延時(shí)一段時(shí)間
    }
}為什么錯(cuò)誤 新手
作者: STC89C51    時(shí)間: 2017-11-21 22:39
延時(shí)時(shí)間短了,可以改為:
void DELAY()  //延時(shí)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    時(shí)間: 2017-11-22 00:26
是因?yàn)槟愕难h(huán)語句沒有分號,你的for循環(huán)下面沒有執(zhí)行語句時(shí),用for(i=0;i<250;i++);
作者: ljn123123    時(shí)間: 2017-11-22 00:27
void DELAY()   //延時(shí)函數(shù) { unsigned char i;     for(i=0;i<250;i++) ;     }是因?yàn)槟愕难h(huán)語句沒有加分號,你的for循環(huán)下面沒有執(zhí)行語句時(shí),用for(i=0;i<250;i++);
作者: 漫步經(jīng)心    時(shí)間: 2017-11-22 09:00
  for(i=0;i<250;i++)   加個(gè);

作者: liujianling    時(shí)間: 2017-11-22 11:08
你試試再循環(huán)語句那改一下
作者: lujunda2    時(shí)間: 2017-11-22 13:56
人眼的視覺暫留時(shí)間是1/24秒,只要小于這個(gè)時(shí)間,看到的就是連續(xù)閃動(dòng),也就跟沒閃一樣
作者: lkzx56    時(shí)間: 2017-11-22 14:57
應(yīng)該是你循環(huán)的那個(gè)函數(shù)延時(shí)太短。在視覺上應(yīng)該是有暫留
作者: xbook_ben    時(shí)間: 2017-11-22 16:43
void DELAY()   //延時(shí)函數(shù)
{ unsigned char i;
    for(i=0;i<250;i++)
}
for后面少了分號,加在for后面或者下面都行。
作者: 李洋    時(shí)間: 2017-11-22 17:06
void DELAY()   //延時(shí)函數(shù)錯(cuò)了
作者: 龍龍啊    時(shí)間: 2017-11-22 17:21
延時(shí)函數(shù)太短了,肉眼看就跟沒閃一樣
作者: 徐御品    時(shí)間: 2017-11-22 18:30
延時(shí)程序太短,,修改的延時(shí)程序后面未加;  還有多補(bǔ)充一點(diǎn) unsigned char i  數(shù)據(jù)類型是  8位數(shù)也就是2的8次方 256.所以你的 i 不能超過256.
作者: 1551125514    時(shí)間: 2017-11-22 19:24
用的應(yīng)該是c++
做單片機(jī)如果想要有創(chuàng)新,編程要學(xué)好
作者: l8325536    時(shí)間: 2017-11-22 20:41
延時(shí)太短啦
作者: zhlzhang    時(shí)間: 2017-11-22 21:02
for(i=0;i<250;i++) 這個(gè)后面要有執(zhí)行語句的,后面加這個(gè){;}就可以了
作者: yuexudong    時(shí)間: 2017-11-22 21:40
少一個(gè)“”“;”還有延時(shí)時(shí)間太短,只會看到led的一種狀態(tài)




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1