欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 單片機獨立控制開關控制流水燈程序錯誤 [打印本頁]

作者: 千巖    時間: 2022-3-28 18:15
標題: 單片機獨立控制開關控制流水燈程序錯誤
大佬們,小白學習遇到問題了,還請大佬不嫌麻煩,指點一二。
事情:
本想用獨立控制開關控制流水燈,但是,程序在protues上模擬卻沒有反應,而且,我不知道怎么線上調試程序,所以,一直無法發現錯誤在哪?
希望大佬們不吝指教,救救小白。
下面是程序的截圖和程序文本:
#include<reg52.h>
#define LED P2
typedef unsigned int u16;
typedef unsigned char u8;
sbit key=P3^1;
int daley(u8 x)
{
    u8y;
    for(x;x>0;x--)
    {
       for(y=110;y>0;y--);
    }
    return 0;
}
int Leds()
{
   u16 num;
   u16 LED_1;
   LED=0xff;
    while(1)
    {
       LED_1=0Xfe;
       LED=0Xfe;
       daley(100);
       for(num=7;num>0;num--)
       {
           LED_1=LED_1<<1|0X01;
           LED=LED_1;
           daley(100);
       }
    }
    return 0;
}
int KEY()
{
    while(1);
    {
       if(key==0)
       {
           daley(2);
           if(key==0)
           {
               Leds();
           }
           while(!key);
       }
    }
    return 0;
}
int main()
{
    while(1)
    {
       KEY();
//     Leds();
    }
    return 0;
}


程序.jpg (61.76 KB, 下載次數: 70)

程序圖片

程序圖片

工程圖.jpg (291.3 KB, 下載次數: 61)

工程圖.jpg

作者: lkc8210    時間: 2022-3-28 21:00
誰教你在函數中用while(1)的?
作者: 興安xa    時間: 2022-3-28 22:42
改動一下,看看能跑起來不
#include<reg52.h>
#define LED P2
typedef unsigned int u16;
typedef unsigned char u8;
sbit key=P3^1;
void daley(u8 x)
{
    u8 y;
    for(x;x>0;x--)
    {
       for(y=110;y>0;y--);
    }
   
}
void Leds()
{
   u16 num;
   u16 LED_1;
   LED=0xff;
    {
       LED_1=0Xfe;
       LED=0Xfe;
       daley(100);
       for(num=7;num>0;num--)
    {
           LED_1=LED_1<<1|0X01;
           LED=LED_1;
           daley(100);
       }
    }
}

void KEY()

{
   if(key==0)
   {
       daley(2);
       if(key==0)
      {
           Leds();
       }
       while(!key);

   }

}


void main()

{

    while(1)

    {
       KEY();
       Leds();
    }
}

作者: 千巖    時間: 2022-3-29 08:29
lkc8210 發表于 2022-3-28 21:00
誰教你在函數中用while(1)的?

我自學的,老師們用的都是while(1)死循環。
而且,今天我分別測試了兩個分裝函數,發現是key()函數出的問題,于是便仔細檢查每一句,最后發現是因為while(1)后面加了個分號,我已經狠狠摑了自己一個大鼻竇,希望我能記住這次教訓,并由衷感謝您的留言。
作者: 千巖    時間: 2022-3-29 08:32
興安xa 發表于 2022-3-28 22:42
改動一下,看看能跑起來不
#include
#define LED P2

謝謝,我也找到自己的錯誤所在,問題就在于在while(1)后多加了一個分號,這種毛病不經意間~,由衷感謝你的教導。
作者: 千巖    時間: 2022-3-29 08:38
大佬們,這個問題已經解決,問題竟然是key()函數中的while(1)后多加了一個分號,這種低級錯誤確實難防,我以后會勤加練習,全力避免這樣的錯誤。由衷的感謝大佬的幫助,我會仔細閱讀各位的回復。
作者: laowang123222    時間: 2022-3-29 19:02
把按鍵的while(1)循環部分去掉,單獨弄一個按鍵函數。然后放在main函數的大循環里




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