51微控制器c語言中P2 0x0F P

時間 2021-08-30 10:29:12

1樓:斬丨我了個去

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

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

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

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

2樓:

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口。

3樓:煙火夜空

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

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

4樓:

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

5樓:匿名使用者

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

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

6樓:嘻啊嘻

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

用51微控制器實現密碼的儲存與比較該用什麼書學習比較好?希望是c語言的,麻煩推薦下,謝謝~

7樓:匿名使用者

你說的密碼儲存於比較具體是什麼樣的一個功能?能否舉個例子

8樓:匿名使用者

會c語言,會微控制器,基本就好了吧?

9樓:匿名使用者

什麼意思啊.問題寫得怪怪的,是指密碼櫃嗎?

求用at89c51微控制器和ds18b20做溫度報警器,報警器用蜂鳴器,溫度顯示用數碼管,用c語言編寫程式最好有註釋

10樓:黃石佳誠家電維修

#include < reg51.h >

#include < intrins.h >

#define uchar unsigned char

#define uint unsigned int

#define temp_high 60 //溫度報警限設定

uchar data temph;

uchar data templ;

uchar data dat;

uchar temp_buzzer,b,fuhao;

uchar code tab=;

uchar shi,ge,shifen; //全域性變數

bit flag;

sbit dq=p1^0;

sbit buzzer=p1^7;

void delay_50us(unsigned int t) //每次50us延時,最大誤差13us

void delay_2us(unsigned char i) //每次2us精確延時,最大誤差6us

void buzzer_sound() //蜂鳴器報警函式

void display() //lcd 顯示函式

ds_reset() //初始化

ds_read() //讀函式

delay_2us(30); // 延時67us

dq=1;

}return(dat);

}void ds_write(unsigned char datt)

else delay_2us(28); //延時56us

datt>>=1;

dq=1;

_nop_(); }}

void set_tempchange() //溫度轉換指令

void read_temp() //讀出溫度

void change_temp() //轉換溫度

else //負數

k=templ;

temp=intn;

temp=temp&0x80;

if(temp==0x80)

k=~k+1;

k=k&0x0f;

temp_buzzer=intn;

switch (k)

shi=intn%100/10;//十位

ge=intn%10; //個位

shifen=b;//xiaoshu/1000;//十分位

buzzer_sound();

}void main()

read_temp(); //將讀ram的函式放到這兒是因為溫度的轉換要用750ms時間,這裡用display()函式來達到延時效果

change_temp();}}

}參考一下喔

微控制器c語言中定義,微控制器C語言中 定義a1 P0 1 a2 P0 2 a8 P0 7 b P2 0 。a1 a8不斷隨機為1。

這樣實現 sbit p20 p2 0 char consum 0 char i,bitflag 0x01 for i 0 i 8 i if consum 3 p20 1 希望我的回答對你有幫助,有什麼問題歡迎一起 謝謝。 如果是c51微控制器 include void main 如果找完一次p0口後...

51微控制器C語言控制頻率原理,51微控制器改變頻率怎麼實現,最好是用C語言程式

1全部假設你的51微控制器用的晶振是12mhz的,那麼可以得到如下結論 51執行一個指令的時間週期是1us,這個是51的基礎知識,就不深入講解了。然後,如果用定時器0確定輸出頻率,假設定時器0的tl0初始值是0x01,那麼當tl0變為0x02時,就是經過了1us時間 這個懂吧?那麼,設定定時器0為工...

51微控制器關於上拉電阻問題,51微控制器P0口為什麼要接上拉電阻?

房志佟佳瑛 微控制器p口接了上拉電阻靠高電平來點亮led 是指在p口接一個上拉電阻到vcc,同時接led正極,led負極接地嗎?如果是這樣,不妥。上拉電阻在此沒有用,不需要,有害。p口輸出低電平時,將led 短路 不亮。同時,有一個 灌電流 自vcc經上拉電阻進入p口,做的是無用功。p口輸出高電平時...