|
|
50黑幣
昨天我拿到了51單片機開發(fā)板興沖沖的去點亮了LED和流水燈
興奮之余我打開了 reg52.h 這個頭文件
我發(fā)現(xiàn)
P0的定義 = 0x80 (1000 0000)
P2的定義 = 0xA0 (1010 0000)
令我困惑的地方是,我對P2每個位進行操作的時候。為什么沒有影響到 P0,P1,P3呢
例如
- for(i = 1; i <= max; i++)
- {
- P2 = (0xff >> i);
- delay(d);
- }
復(fù)制代碼
如果P2是一個16位及以上的變量,我還能理解。例如:
1010 0000 xxxx xxxx
利用后面的 xxxx xxxx 來控制8個LED燈。前面的 1010 0000 來說明是P2
可現(xiàn)在問題就是
我將P2 設(shè)置成 0x80的時候。它竟然還是在控制著某一個LED燈。
|
最佳答案
查看完整內(nèi)容
你提供的
P0的定義 = 0x80 (1000 0000) 0x80是端口P0地址
P2的定義 = 0xA0 (1010 0000) 0xA0是端口P2地址
好象進超市購物你手提包存放的80號柜,而
P2 = (0xff >> i);是操作的你的手提包,與柜子編號80沒有關(guān)系,只是說明你要到手提包里拿錢,必須對應(yīng)找到80號柜
|