1樓:德昂當
| 是 或 運算子 按位或的 0|0=0 0|1=1 1|1=1
或運算就是 只要就有一個為1 結果就為1
與之相對應的是 與 運算 &
與運算只要有一個為0 結果就為0 0&0=0 0&1= 0 1&1=1
p1|0xf0 就是把 p1的高4位都置為1 0xf0 二進位制就是 11110000 高4位都是1 所以或運算後 高4位就變成了1 ,低4位因為是0 所以不會對p1低4位原有的值改動。
2樓:匿名使用者
"|" 是 "或" 運算子,或運算就是隻要就有一個為1, 結果就為1,你的程式就是把p1的第7,6,5,4位置1,其它位不變,你的微控制器是當p1.x為1時,x口為輸入,當p1.x為0時,x口為輸出.
3樓:匿名使用者
「|」就是或得意思,意思是將p1口和0xf0(0b11110000)相或那麼p1低四位無論是1還是0或運算之後還是原來的值,而高四位經過或運算後就變為1了。結果就是0b1111***x,***x代表原來p1的值
希望能幫到你
4樓:匿名使用者
51微控制器,c51語法的前提下,分析如下:
1、或運算。x=x|a; 【|】表示按位或運算,將原x值和a值,二進位制形式逐位進行或運算。其結果給x。如x=2|3;(x=3)
2、還有個寫法是p1|=0xf0;
x=3的話,執行 x|=0xf0 後(x=0xf3)3、p1是埠。p1是特殊功能暫存器。寫在這裡,還有個意思:
右邊表示讀取管腳上的p1資料,和右邊0xf0或運算再輸出到p1口。其結果是高四位一定輸出了高電平。第四位保留讀到的值。
常用於讀鍵程式。要慎用(c51與c的不同之處,它與硬體有關,p1是sfr)!第四位將是之前管腳的值,而不一定是上一次賦給p1的值。
可以等效理解為: x=p1;x|=0xf0;p1=x;
基本的微控制器c語言程式設計問題p1=0xff高電平
5樓:匿名使用者
p2=0xff,就是將p2.0~p2.7全部設為1,也就是p2=11111111,當然就不是p2=0x01了咯.
十六進位制的0xff就是二進位制的11111111,你換算成十進位制就是255.
6樓:匿名使用者
51微控制器是8位的,意思就是每一組埠都有8個位;轉換成2進製為1111 1111,10進製為255,16進製為0xff,
比如我現在要讓p1口全亮版(高電平為亮權),那麼是不是p1^0到p1^7這個8個埠全部為1,那麼就為:
p1 = 2#1111 1111;但是在keil軟體中不可以用2進製表示,那麼我們就用10進位制或16進位制來賦值,
p1 = 0xff;
p1 = 255;
如果 p1 = 0x01,這個意思就是p1^0這個埠為1,其它的埠都為0;
你主要是進位制沒學好,回去複習下各種進位制轉換就好了.
微控制器程式中p1=0x02是什麼意思啊
7樓:匿名使用者
p1=0x02,也就是往p1口送02這個數,將p1.1置高,其餘為低。
8樓:
如果你用的是 51微控制器,那麼它一共有 p0 p1 p2 p3三條匯流排,每條匯流排對應8只引腳,也例如p0^1 ~ p1^7;
你的問題p1 = 0x02,意思就是p1匯流排賦值0x02(十六進位制,也就是0000 0010),也就是p1^1 = 1,其餘賦值0;
望採納謝謝
9樓:匿名使用者
就是p1口的0和1輸出1,其餘為0
求助 C51微控制器P0口和P1口實際應用的區別
這可能是程式的問題,p0口本身就是做資料口的最佳埠,微控制器設計時p0口就是資料匯流排,所以出現你說的問題的話,你從軟體上找找問題所在。p0口是漏級開路,必須bai加上拉電阻,這個不du必多zhi說.關鍵是你的按鍵是否有接 dao上拉電阻.按鍵通常版情況下需要接權10k左右的電阻,或者使用靜態緩衝器...
為什麼51微控制器程式設計中P1 0表示P1I O口裡面的0號
人工語言,可以理解為一些規定,哪有為什麼呀。授之以漁吧 你有沒有考慮一下便程式的時候為什麼要引用標頭檔案?如果不呢?去看一下 include或者是類似的標頭檔案你就會發現有 例 sfr p1 0x90 這樣的一行即定義p1 與地址0x90 對應,p1 口的地址就是0x90.sfr的定義在標頭檔案re...
51微控制器P0口分時複用原理是什么啊?急需解答啊
下圖為採用74ls244作為擴充套件輸入 74ls273作為擴充套件輸出的簡單i o口擴充套件。1 74ls244為8緩衝線驅動器 三態輸出 為低電平有效的使能端。即g1 g2低電平是資料輸入微控制器,g1 g2 高電平時244輸出為高阻態。2 74ls273為8d觸發器,為低電平有效的清除端。當為...