1樓:匿名使用者
p2=0x01 對應 p2^0=1
p2=0x02 對應 p2^1=1
p2=0x04 對應 p2^2=1
p2=0x08 對應 p2^3=1
p2=0x10 對應 p2^4=1
p2=0x20 對應 p2^5=1
p2=0x40 對應 p2^6=1
p2=0x80 對應 p2^7=1
p2=0x11 對應 p2^4=1 與 p2^0=1p2=0xff 對應 p2^7=1 與 p2^6=1、p2^5=1、p2^4=1、p2^3=1、p2^2=1、p2^1=1、p2^0=1
2樓:匿名使用者
確實是p2^0 = 1的,高位對高位,低位對低位嘛
(比如p2=0x01 應該是p2^7=1 )這句不對
p2 = 0x80 才是p2^7 = 1
3樓:匿名使用者
你這裡搞錯啦,p2=0x01時,應該p2^0=1
4樓:匿名使用者
你應該是順序搞錯了吧,注意有些是從高位算起。
51微控制器,為什麼sbit去定義i/o口,而直接用16進位制的話就直接省略了sbit這部?
5樓:匿名使用者
定義了io口,編制程式極為方便,你定義的名字就可以看出它的用途、功能
製作pcb板時,也許要改線,你的程式就修改定義即可。
6樓:匿名使用者
sbit是專門把一組io口中的指定一個拿出來用,如果你想直接操作整組io的話,那就不用一個個拿出來定義
微控制器IO口控制另微控制器IO口問題
3.3v和5v的兩個微控制器io口不要直接連線到一起,應該用電平轉換電路隔離。3.3v的io口增加了18ma電流,這是很大的,容易燒壞3.3v微控制器,這種連線是不合理的。如果5v微控制器是stc的,引腳可設定成高阻輸入模式是最簡單的,如下表。如果不是也不能設定io模式,那可以用一片74hc04 用...
C語言二進位制轉十六進位制問題,十六進位制轉換成二進位制
include include int main result 0 結果清零。k 0 表示位權的k清零。k 初始位權為1 b j 0 printf 結果是 for i strlen b 1 i 0 i printf c b i printf return 0 10111111換成10進位制是191,...
微控制器串列埠控制io口,微控制器序列口與普通IO口區別?
自我程式設計 我寫了一個串列埠接收輸入,並將輸入的字串顯示在lcd螢幕中,同時收到的資料還會通過串列埠傳送回上位機。我是用串列埠助手除錯的。定義了虛擬串列埠com3和com4作通訊。連續傳送字元將作為字串儲存,儲存在全域性變數strs 100 中,遇到間隔傳送,後傳送的字元或字串將覆蓋上次內容。比如...