1024手机基地看电影,午夜福利视频导航,国产精品福利在线一区,亚洲欧美日韩另类成人,在线观看午夜日本理论片,成年超爽免费网站,国产精品成人免费,精品动作一级毛片,成人免费观看网站,97精品伊人久久大香蕉

標題: 關于單片機變量名字的幾個問題 [打印本頁]

作者: zhyixi    時間: 2020-3-8 19:08
標題: 關于單片機變量名字的幾個問題
void main()
{
        u8 i;
        LED = 0x7F;
        delay(50000);//延時450ms
        while(1)
        {
                for(i = 0;i < 8;i++)
                {
                        P2 = ~(0x01<<i);
                        delay(50000);
                }
        }
}
這一段代碼是一個跑馬燈的代碼

void main()
{
        u8 i;
        LED = 0x7F;
        delay(50000);//延時450ms
        while(1)
        {
                for(i = 0;i < 8;i++)
                {
                        LED = ~(0x01<<i);
                        delay(50000);
                }
        }
}

為什么把跑馬燈的代碼的P2修改為LED的時候,這個燈就會逐漸全亮了呢?


作者: bayga456    時間: 2020-3-10 17:33
代碼不完整。看不出來。
作者: zhyixi    時間: 2020-3-11 09:54
bayga456 發表于 2020-3-10 17:33
代碼不完整。看不出來。

你好,就這個代碼,我只寫了主函數,用來控制單片機的LED燈
作者: bayga456    時間: 2020-3-11 14:45
zhyixi 發表于 2020-3-11 09:54
你好,就這個代碼,我只寫了主函數,用來控制單片機的LED燈

這里面的 LED 是什么?變量還是端口?還有流水燈接線是怎么的?
作者: odfggf    時間: 2020-3-11 15:21
#define LED P2定義正確,接線沒錯的話,P2修改為LED,效果是一樣的,都是從左到右的流水燈
作者: Amlee    時間: 2020-3-12 20:56
檢查一下宏定義是否出錯,我把你的代碼復制親測了一下,主函數兩種寫法都沒問題的,以下是完整代碼
#include<reg52.h>
#define LED P1                           //宏定義LED等效于P1口
void delay(unsigned int z)
{ unsigned int x,y;
  for(x=0;x<100;x++)
      for(y=0;y<z;y++);
}
/*void main()
{
        unsigned char i;
        LED=0x7f;
        delay(5000);//延時450ms
        while(1)
        {
                for(i=0;i<8;i++)
                {
                                    P1=~(0x01<<i);
                    delay(500);
                }
        }
}
*/

void main()
{
        unsigned char i;
        LED=0x7f;
        delay(500);//延時450ms
        while(1)
        {
                for(i=0;i<8;i++)
                {
                        LED=~(0x01<<i);
                        delay(500);
                }
        }
}

作者: 后繼就    時間: 2020-3-13 20:23
zhyixi 發表于 2020-3-11 09:54
你好,就這個代碼,我只寫了主函數,用來控制單片機的LED燈

得完整的
作者: ggyu7    時間: 2020-3-24 14:20
因為你這個程序代碼在開頭的時候就寫了LED = 0x7F;這就意味著在后面的程序中LED所代表的就是~(0x01<<i)LED = 0x7F;當吧LED寫成P2時,這才意味著LED對應著是
作者: ggyu7    時間: 2020-3-24 23:13
ggyu7 發表于 2020-3-24 14:20
因為你這個程序代碼在開頭的時候就寫了LED = 0x7F;這就意味著在后面的程序中LED所代表的就是~(0x01

剛才回復的字有點亂了,我現在重新發一下。
因為你這個程序代碼在開頭的時候就寫了LED = 0x7F;這就意味著在后面的程序中LED所代表的就是0x7f。而在后面若寫成P2則才表示為~(0x01<<1)




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