久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索

這個C語言程序為什么跳不出for循環?

查看數: 7020 | 評論數: 19 | 收藏 0
關燈 | 提示:支持鍵盤翻頁<-左 右->
    組圖打開中,請稍候......
發布時間: 2020-6-24 18:34

正文摘要:

要求:開機后,P2.0控制的LED燈閃爍6次,閃爍間隔為500ms;閃爍結束后P4.7控制的LED燈常亮。 程序: #include<reg52.h> sbit LED=P2^0; void delay(int i) {         w ...

回復

ID:592807 發表于 2020-6-30 10:10
你們51單片機度不用用while(1)卡程序的嗎
ID:415064 發表于 2020-6-30 09:39
程序結束后跑飛了,然后自動自復位
ID:65956 發表于 2020-6-30 08:45
我認為是超出單片機看門狗定時器時間造成的,如果你用的是STC單片機,建議在循環體中加喂狗就不會每次超時而重啟,這樣也就看出一直跳不出來,其實它已在一定時間后就重啟了
ID:741406 發表于 2020-6-30 05:41
不要讓a初始化0,初始化放到for外邊,
ID:735148 發表于 2020-6-29 17:39
程序原則上沒有問題,但是最好加上while(1),然后自己設置停止點,不要讓程序走出main 函數。如果是軟件程序走出 main 就結束了。單片機很有可能會復位或者其他的原因再次進來。
ID:791181 發表于 2020-6-29 17:07
限制循環的地方,不然一直跑就一直閃
ID:792940 發表于 2020-6-29 16:36
要習慣性的寫個while(1)。有內容要循環的,就寫進while(1)循環里,沒有要循環的,就在最后寫個while(1).
ID:529540 發表于 2020-6-29 15:48
這不明擺著嗎,跳出for循環后又進去了啊,你又沒加限制,main函數會一直循環執行。
ID:282850 發表于 2020-6-28 17:36
程序本身沒有問題,看了說加while(1);的處理方法,是一種答案。但原則上沒有while(1),程序也是執行到main的最后一個}結束。
ID:280000 發表于 2020-6-28 17:01
設置斷點  調試一下代碼看看
ID:789121 發表于 2020-6-28 16:10
#include<reg52.h>
sbit LED=P2^0;
void delay(int i)
{
        while(i--);      
}

void main()
{
        int a;
        for(a=0;a<12;a++)
        {
                LED=~LED;
                delay(50000);
        }
        LED=0;
        while(1)
        {
                                       
        }
}
加while(1),實測有效。
ID:791852 發表于 2020-6-28 15:45
應該是沒有while(1)導致程序跑飛
ID:748788 發表于 2020-6-28 15:42
為什么不跟蹤一下呢?將斷點設在LED=0處,看程序有沒有跳出for循環
ID:791579 發表于 2020-6-28 10:37
應該是沒有while(1)導致程序跑飛,建議改成這樣
void main()
{
        int a;
        for(a=0;a<12;a++)
        {
                LED=~LED;
                delay(50000);
        }
        while(1)
        {
        LED=0;
        }
}
ID:791364 發表于 2020-6-28 09:59
我覺得程序是沒問題的,但是可能仿真軟件哪里有問題,你可以給程序里面加一個if(a==11)break;試試
ID:788840 發表于 2020-6-28 09:32
這段代碼中有一個最大的問題是沒有主循環體,沒有while循環體,而直接是main函數,有一種可能性就是函數執行完一次后,回到開頭,重新執行,這就造成了一直閃爍
ID:636538 發表于 2020-6-28 09:25
加入while,防止程序跑飛,
ID:280512 發表于 2020-6-28 08:48
main 函數一直在執行。led燈會一直閃爍。
ID:213173 發表于 2020-6-28 05:18
void main()
{
    int a;
    for(a=0;a<12;a++)
    {
        LED=~LED;
        delay(50000);
    }
    LED=0;
    while(1);
}

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产精品一区二区在线 | 91在线看片 | 色综合成人网 | 99久视频 | 成人欧美一区二区三区1314 | 欧美精品成人 | 日韩精品av一区二区三区 | 韩日精品一区 | 成人三级影院 | 久久久久综合 | 亚洲精选久久 | 少妇精品亚洲一区二区成人 | 91佛爷在线观看 | 亚洲精品久久国产高清情趣图文 | 久久久女女女女999久久 | 久久综合九九 | 久久伊人精品一区二区三区 | 亚洲永久入口 | 亚洲精品白浆高清久久久久久 | 羞羞视频在线观看网站 | 99久久久无码国产精品 | 欧美精品久久久久久久久久 | 小草久久久久久久久爱六 | 亚洲免费在线视频 | 午夜看电影在线观看 | 中文字幕乱码一区二区三区 | 欧美性video| 精品1区2区| 久草免费在线视频 | 81精品国产乱码久久久久久 | 一级视频在线免费观看 | 97精品久久 | 野狼在线社区2017入口 | 91久久久久久久久久久久久 | 99国产精品视频免费观看一公开 | 天天操天天怕 | 色888www视频在线观看 | 精品免费国产视频 | 99久久久久久久 | 中文字幕第一页在线 | 高清一区二区三区 |