問51微控制器的問題,控制I O的裝置,如何直接賦值

時間 2021-08-30 10:34:50

1樓:匿名使用者

.........

p1=p1&0x0f+0x50; //保留低四位不變,高四位清零,再加上0x50,最後賦值給p1

.........

這樣就能讓p1的值變成即保留低四位不變又重新賦值給高四位。

首先我不理解你問問題時怎麼會有點囂張。

再說一句等於沒說的話:這個問題非常簡單。

最後提出一個真心的請求:請選我最佳答案。謝謝。

2樓:匿名使用者

要賦1的話就 p1=p1 | 0x05 把第一位和第三位變成 1,其他位和0相或,值不變

要賦0的話就 p1=p1 & 0xf5 把第二位和第四位變成 0,其他位和1相與,值不變

我記得51是可以單獨控制的,要包含某個標頭檔案

3樓:匿名使用者

一樓說的對,讀 修改 寫指令改變的是輸出鎖存器的值

4樓:匿名使用者

如你上面的例子

你如果知道低四位的工作狀態的話,在給高四位賦值的時候可以連同低四位也賦值(當前工作狀態的值)

5樓:匿名使用者

如果讓某位為1,比如讓p1.0為1,則 p1=p1|0x01;

如果讓某位為0,比如讓p1.0為0,則 p1=p1&(~0x01);

以此類推……

6樓:匿名使用者

別太在意他人說你囂張與否,想怎麼問就怎麼問,就行了,何必考慮那麼多呢。主要區別是,你越虛心、問題中用的謙詞越多,你得到正確答案的概率就越高、得到的速度也越快。

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

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

51微控制器IO口為什麼不能控制驅動5v繼電器

也不盡然,有的繼電器是可以驅動的。但畢竟io口的輸出電流只有十幾毫安,無法驅動大部分的繼電器,也不建議直接驅動,因為繼電器會有較大的干擾,會干擾微控制器的執行。為什麼我的c51微控制器不能驅動繼電器啊, 1.換一個引腳試試 引腳壞掉了可能性比較大 2.微控制器與三極體沒有共地,把地線連上。3.npn...

51微控制器呼叫子程式問題,怎樣51微控制器呼叫兩個子程式

直接跳回主程式,再初始化。怎樣51微控制器呼叫兩個子程式 5 天蠍神經俠侶 mov r0,08h mov a,0feh loop mov p1,a lcall del rr a djnz r0,loop 使用djnz 指令。為0執行下一指令,不為0跳轉。就可以呼叫內兩個容子程式了 估計是進入到倒計時...