P2P2 0x1f 0xa0 是什麼含義

時間 2021-09-01 18:47:16

1樓:匿名使用者

p2的值與16進位制常量0x1f進行與運算(and)

然後再和常量0x80進行或運算(or)。

2樓:其墨

void main(void)

{while(1)

{p2 = ((p2&0x1f)|0x80); /*其中0x1f=0001 1111,p2與0x1f進行與運算,高三留出來,接著再或上0x80;容易發現0x80=1000 0000;或運算,與1或結果為1,與0或結果不變,所以或上0x80只需看p2的高三位,則高三位為100,對應3-8譯碼器的話,p2^7=1;p2^6=0;p2^5=0;所以輸出y4=0;y4再經過與非運算,則輸出y4c=1;即led對應的鎖存器的片選訊號被選中,鎖存器打通,*/

p0 = 0xff; //led熄滅

p2 &= 0x1f; /*p2=p2&0x1f;p2高三位直接清零,此時y4c=0,則把鎖存器鎖上了*/

delay();

這個程式對應ct107d微控制器綜合訓練平臺上的電路,你可以看下,裡面有鎖存器和38譯碼器等相關知識。

3樓:了空

先學好c語言再學微控制器,位運算都不會。

51微控制器c語言程式語句中p2=(p2<<1)丨0x01;是什麼意思?

4樓:哈哈呵呵你好

就是p2先左移一位然後最低位變成1,例如當前p2是0x1,左移動一位變成0x2,然後最低位設為1,所以結果就是0x3

5樓:沙裡波特

本語句的操作過程是:

把 p2 內容左移一位(在 bit0 填上 0)、再在 bit0 再輸出 1。

本語句的作用之一是:

在 p2.0 輸出一個負脈衝。

p2 口,不知道外接的什麼器件。這個負脈衝,也許是有用的,也許,是干擾。

c語言 key=p2&0x0f;什麼意思

6樓:

p2&0x0f

p2應該是一個變數吧

&是把資料轉換成二進位制,按位與,同個位上都為1 結果為1,否則結果為0

如3&2 轉換成二進位制為 00000011&00000010 結果為00000010 轉換成10進製為2

0x0f 前面的0x表示這是常量的十六進位制表示法 等於10進位制的15

p2&15

7樓:匿名使用者

key得到微控制器p2低第四位裡面是1的值

這應該是個微控制器掃描鍵盤的**。。。

從p2^0 p2^1 p2^2 p2^3 找出高電平的位置

8樓:

這應該是微控制器中的程式,用p2口作按鍵掃描。

key=p2&0x0f;就是將p2的值(p2口的狀態),與0x0f(二進位制就是00001111)相與,也就是得到p2口的p2.0~p2.3的狀態,再賦給key。

51微控制器c語言中 p2&=0x0f; p2|=(1<<4+c); 是什麼意思

9樓:斬丨我了個去

第一句,位與操作,把p2的8個管腳與00001111 相位與,得到結果,p2.4到p2.7輸出低電平,p2.

0到p2.3維持不變。任何數與0相與結果為0,與1相與結果為它本身。

..那是我弄錯了。。。還是1樓的正確

第二句,把1左移四位,那就0001 0000 ,然後加上c的值,然後在位或,任何數與1或結果為1,與0或結果為它本身。

10樓:

p2&=0x0f;就是 p2=p2&0x0f;就是將高4位清空;---------這句好像沒異議。

p2|=(1<<4+c); 等效於:p2=p2|((1<<(4+c));就是將p2的第4+c位 賦值1; -----------這句我怎麼覺得不對啊,我理解p2|=(1<<4+c); 表示,4加上c的和左移一位,然後和p2進行或運算,再賦給p2口。

11樓:煙火夜空

p2&=0x0f;就是 p2=p2&0x0f;就是將高4位清空;

p2|=(1<<4+c); 等效於:p2=p2|((1<<(4+c));就是將p2的第4+c位 賦值1;

12樓:

p2&=0x0f即為p2=p2&0x0f含義為p2和十六進位制數0f位與,值賦給p2。 p2|=(1<<4+c)即為p2=p2|(1<<4+c) 先進行括號裡面的運算1<<4為0x01向左移四位變為0x10(十進位制數為16)然後和c相加 最後和p2相或 將最終結果賦給p2

13樓:匿名使用者

第一條其他答案都說完了;

第二條,應該是4+c,然後把位1向左移動(4+c)個位,再把結果與p2進行「或」操作。(c是某一個作者預設的值)

14樓:嘻啊嘻

第二個,位移運算優先順序低於算術計算。

微控制器設計中有句key=translate(p2&0x0f)是什麼意思

15樓:匿名使用者

取p2口的低四位

translate();應該是一個鍵值轉換函式,裡面一般包含一個switch語句,把不同的埠狀態,轉換成有規律的數值.

key=translate(p2&0x0f);的意思就是得到一個按鍵的鍵值

"p2=(p2<<1)+1"微控制器初學著這句什麼意思

16樓:

這個其實很簡單,因為c語言左移右移都是補零的,如果你現在你p2上面連結的是共陰極的二極體,那麼你需要給高電平才會亮,不如現在

p2=0x01------0000 0001 :+++++第一個二極體亮 左移一次

p2=0x02------0000 0010 ;++++ 此時第二個二極體亮 +1之後

p2=0x03------0000 0011 ;也就是說第一個和第二個都亮了,

然後一次類推,

0000 0001

0000 0011

0000 0111

0000 1111

0001 1111

0011 1111

0111 1111

1111 1111

到最後p2口都是高電平,從上也可以看見是怎樣的一個流水燈的效果了吧!

覺得好就散分啊~!

17樓:

p2資料左移一位再+1,重新賦給p2

微控制器c語言中(p2&0x02)?1:0;這條語句是什麼意思?

18樓:匿名使用者

比如寫語句 a = (p2 & 0x02) ? 1:0;

它的意思是:

從p2口取出1個位元組,然後把這個值和2相與,如果「與」後的結果不等於0,則把1賦給a, 否則把0賦給a

已知 1 x1 x 2 1 x 31 x n a0 a1x a2x 2anx n,若a1 a2a n 1 29 n,求n

函安白 令x 0,則 1 x 1 x 2 1 x 3 1 x n 1 1 2 1 n n 求得a0 n 令x 1,則 1 x 1 x 2 1 x 3 1 x n 2 2 2 2 n 2 n 1 2 a0 a1x a2x 2 anx n a0 a1 a2 an 2 n 1 2 因此 a0 29 n a...

微控制器的p0,p1,p2,p3埠有什麼作用

smile灬微光丶 1 p0口 真正的雙向口,輸出鎖存,輸入緩衝,輸入前要先置1 keil包含的標頭檔案已經有動作了,如果用匯編,要人工置1 輸出為漏極開路,輸出一般都要上拉電阻。輸入為高阻態,能驅動8個ttl負載。當有片外儲存器時,作資料線使用。2 p1口 最簡單的口,輸入也要先置1,無高阻態,只...

典型51微控制器的P0,P1,P2,P3口都有哪些功能

墨汁諾 p0口第一個功能是資料介面,第二個功能是地址低八位,p2口第二個功能是地址高八位。另外除了p0口沒有內部上拉電阻外,其他三個都有內部上拉電阻。p1就沒多少功能,就是個準雙向i o口。最重要的就是p3口了,他除了是個準雙向i o口外,第二功能很重要 p3.0 rxd 序列資料接收端 p3.1 ...