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 ...