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

標題: 單片機中如果位定義sbit定義整個字節(jié)會起到什么作用 [打印本頁]

作者: 壯大51    時間: 2020-3-5 23:10
標題: 單片機中如果位定義sbit定義整個字節(jié)會起到什么作用
#include "reg52.h"
sbit led1=P2;            //用位定義sbit定義了P2整個字節(jié)
typedef unsigned int u16;
void delay(u16 i)        //延時函數(shù)
{
        while(i--);
}
void main()
{
        led1=0x0f;       //這里我是想嘗試看這樣是否能實現(xiàn)整個字節(jié)的控制
        delay(50000);
        while(1)
        {
                led1=!led1;
                delay(5000);
        }
}
執(zhí)行的結(jié)果是,我的51開發(fā)板上第一個小燈先不亮,一段時間后(約0.5s)第一個小燈閃爍,其余所有小燈都不亮。
請各位大神能指點一下,我是小白,剛學(xué)幾天



作者: man1234567    時間: 2020-3-6 08:08
整個端口:#define lcd1 P2
按位取反:led1=~led1
作者: 張小不懂    時間: 2020-3-6 08:31
按道理來說,位應(yīng)該定義不了字節(jié),也沒有人這么教過!其實,我也不清楚,我是來學(xué)習(xí)的
作者: myemcu    時間: 2020-3-6 09:13
這是定義端子的,建議規(guī)范操作。。
作者: 余生不負    時間: 2020-3-6 10:18
P2是特殊功能寄存器,sbit是位定義,一般是定義一位,一個字節(jié)8個位,這樣定義是不規(guī)范的,會報錯,因為P2已經(jīng)被#include "reg52.h"里面定義了
作者: cjjdemon    時間: 2020-3-6 10:50
P2是指P2^0-P2^7這八個IO口,sbit只能定義其中一個IO口。
應(yīng)該改成這樣
sbit LED1=P2^0;
作者: 壯大51    時間: 2020-3-6 11:08
man1234567 發(fā)表于 2020-3-6 08:08
整個端口:#define lcd1 P2
按位取反:led1=~led1

可以講詳細一點嗎,你講的這兩條語句的作用我是知道的哈,我想知道為什么我用位定義sbit定義了整個端口,程序仍然執(zhí)行,我想知道錯誤用法下,它執(zhí)行的邏輯是什么
作者: 壯大51    時間: 2020-3-6 11:22
myemcu 發(fā)表于 2020-3-6 09:13
這是定義端子的,建議規(guī)范操作。。

我就是好奇




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