1樓:aumo智慧型車載
我認為這個操作是迴圈移位,就是將p2的最高位放到最低位,其餘位向前移動一位。假設 p2 = 10010101
p2<<1 : 00101010
p2>>7 : 00000001
p2<<1|p2>>7 :00101011與p2相比就相當於最高位放到最低位,其餘位前移了,就相當於迴圈移位了。
如果還有什麼問題可以去。
**提問,有很多人會給你的,我覺得挺不錯的。
2樓:網友
c語言運算子號。
1級優先順序 左結合。
圓括號。 下標運算子。
指向結構體成員運算子。
結構體成員運算子。
2級優先順序 右結合。
邏輯非運算子。
按位取反運算子。
自增運算子。
自減運算子。
負號運算子。
型別) 型別轉換運算子。
指標運算子。
位址與運算子。
sizeof 長度運算子。
3級優先順序 左結合。
乘法運算子。
除法運算子。
取餘運算子。
4級優先順序 左結合。
加法運算子。
減法運算子。
5級優先順序 左結合。
左移運算子。
右移運算子。
6級優先順序 左結合。
=關係運算子。
7級優先順序 左結合。
等於運算子。
不等於運算子。
8級優先順序 左結合。
按位與運算子。
9級優先順序 左結合。
按位異或運算子。
10級優先順序 左結合。
按位或運算子。
11級優先順序 左結合。
邏輯與運算子。
12級優先順序 左結合。
邏輯或運算子。
13級優先順序 右結合。
條件運算子。
14級優先順序 右結合。
全為賦值運算子。
15級優先順序 左結合。
逗號運算子。
3樓:此刻出發
p2中的資料左移一位的值)或上(p2口的資料右移7位的的值)給p2口。
按位或運算子。
4樓:甕禕悅
先計算移位 然後按位或。
c51微控制器怎樣讀引腳
5樓:牟淑琴寧珍
首先你要知道對於微控制器的管腳在系統上電覆位的情況下。
各個管腳都是高電平的。
所以不用你寫也是1,這時候你可以先讓再重新寫1。
讀引腳的意思就是直接讀p0外部引腳的電位,而讀埠(鎖存器)讀的是內部與資料匯流排鏈結的鎖存器的電位。
incp0;給p0加1
執行這個語句時。
採用「讀-改-寫」的過程,先讀取p0的埠資料,再加1,然後送到p0鎖存器裡。注意這個埠資料跟p0的引腳狀態不一樣,比如你事先給p0寫進69h,p0裡資料就是69h,而引腳上的狀態因為你沒有執行mov
a,p0之類的指令,它是不會進到p0的鎖存器裡去的。由此可見,所謂的讀埠,不是讀取p0的狀態,而是在執行inc之類的指令時由cpu自行完成的,讀引腳就是讀取p0口狀態了。讀引腳時要注意:先要給p0寫ffh,使它的場效電晶體t2和地斷開。
因為p0口的場效電晶體t2一端接地,一端與外部引腳相連,由p0的鎖存器控制,當給鎖存器寫1時,它和地斷開,寫0時和地相連,所以寫零時讀到的總是低電平。
試想你現在要讀p0引腳,按理說p0與外部電路相連,外部電路的是什麼狀態,就應該讀到什麼,但如果p0口的場效電晶體t2一端接地的話,它會把p0口電位拉低,你讀到的總是低電平0,所以要先給p0寫ffh,把p0的場效電晶體t2和地斷開,再讀數時就是真實狀態了。當外部電路斷開,再讀時讀到的就是p0埠(鎖存器)的真實狀態了。
c51微控制器程式求助
sec cnt equ 30h sec 0x equ 31h org 0000h sjmp mian org 000bh sjmp int t0 mian mov sec cnt,20 mov sec 0x,00h mov tmod,01h mov th0,65536 50000 256mov tl...
c51微控制器中斷程式中的interrupt1,2,3是由什麼決定的
中斷是指由於某種事件的發生 硬體或者軟體的 計算機暫停執行當前的程式,轉而執行另一程式,以處理髮生的事件,處理完畢後又返回原程式繼續作業的過程。中斷是處理器一種工作狀態的描述。1 int0 外部中斷0,由p3.2埠引入,低電平或下降沿引起。預設優先順序最高。2 int1 外部中斷1,由p3.3埠引入...
C51微控制器一鍵多功能
計數嘍,當沒按鍵時,計數為0,當按下按鍵時,計數自加即為1,然後進行判斷當滿足等於1時即p1.1閃爍並確保其他燈滅,當再次按下時,計數再自加即為2,然後進行判斷當滿足等於2時即p1.2閃爍並確保其他燈滅,以此類推。當到了p1.3時,即再次迴圈即可。 include define uchar unsi...