微控制器P2口置高低電平,程式怎麼寫

2023-01-10 08:55:37 字數 3740 閱讀 2537

1樓:匿名使用者

mov p2.0 #00h

mov p2.1 #ffh

mov p2.2 #00h

mov p2.3 #ffh

mov p2.4 #00h

mov p2.5 #ffh

mov p2.6 #00h

mov p2.7 #ffh

這的語法就錯誤了,

單個引腳應該是這樣

setb p2.0 意思是p2口的這1個引腳設定為高電平clr p2.1 意思是p2口的這2個引腳設定為低電平mov p2,#55h就是設定p2口的8個引腳一高一低或是mov p2,#0aah

mov p2.1,#ffh這個語法就不錯

第一ffh為應該是#0ffh才對

第二p2.1只是p2口中的一引腳不能用mov p2.1,#ffh這個指令來寫

p2是一個暫存器,p2.1只是p2口中一個位,你用的指令來寫當然軟體不能編譯了

多看看書吧!

2樓:匿名使用者

當然錯了,p2.0、p2.1……p2.7等都是代表一個位,要麼賦值1要麼賦值0,你賦值的是一個位元組。

應該把所有p2後面的「.」和0到7的數字都去掉,但程式不會然led各一個亮一個,而是先亮一下,然後滅了。並且因為執行速度很快,你根本看不出來led燈亮和滅。

如果想讓八個燈隔一個亮一個,寫這句話就行了:

mov p2,#55h

這是讓p2.0滅,p2.1亮……依次類推

mov p2,#aah

這是讓p2.0亮,p2.1滅……依次類推

如果你要做得像街上那些廣告燈那樣八個小燈迴圈亮滅,就要把上面兩句一起寫進去,並且中間要加延時程式,具體根據你微控制器的晶振決定!

3樓:老張講科技

clr p2.0

setb p2.1

clr p2.2

setb p2.3

clr p2.4

setb p2.5

clr p2.6

setb p2.7

4樓:匿名使用者

教案上有例題自己看去

51微控制器中如何通過一個埠高低電平,控制另外埠的高低電平? c語言程式怎麼設計呢?

5樓:

看你用哪種語言寫的,可以判斷p1.0的高低電平然後再去設定p2口

微控制器的四組io口怎樣同時輸出低電平?程式怎麼寫?

6樓:

// c51程式寫法如下

p0=0x00;

p1=0x00;

p2=0x00;

p3=0x00;

;組合語言程式寫法如下

mov p0 , #00h

mov p1 , #00h

mov p2 , #00h

mov p3 , #00h

7樓:匿名使用者

void main()

只能這樣,從p0被置零到p3置零大約有3us的時間間隔,無法做到四個口同時為零!

51微控制器 如何檢測某個引腳是否為高低電平 求一個c源程式例項

8樓:匿名使用者

用led指示引腳狀態。要求:一個51最小系統版,一個led,一個1k~10k的電阻(4.7k)。專

+5v電源接到led的正極,串聯一個屬4.7k電阻,接到微控制器的引腳上(如p0.1口)。

該電路功能:當微控制器輸出低電平時,小燈亮;微控制器輸出高電平時,小燈不亮。程式設計序觀察現象。

程式:void main()

while(1)

}你若想單純的去檢測正在執行微控制器的io口的電平狀態的話,直接用led接到該io口觀察led的狀態即可。如果事先知道該io口的電平時固定的,拿更好辦了,直接用萬用表測。

9樓:匿名使用者

sibt p1.1=p1^1;

void main()

10樓:

判斷埠是1還是0.

微控制器 獨立式按鍵時的一個程式 p2=0xff 書上解釋為 置p2口為輸入口是什麼意思

11樓:匿名使用者

你的微控制器應該是不帶推輓輸出功能的51,這樣io口結構為上拉電阻加下拉的n管。px置0時開n管強下拉,置1時開上拉電阻弱上拉。所以作為輸入時,應置1

12樓:

因為微控制器基本上都是開漏極或開集電極輸出的,再配合上拉電阻(內建或外接),以實現高低電平的輸出。所以在使用微控制器的時候,多數情況是,低電平有效的,當需要將某埠設為輸入端時,必須先將其置1。

供參考。

高分!求一微控制器檢測高低電平程式 50

13樓:

int main

else if(p1_0==1)}

程式是怎樣使微控制器的i/o口輸出高低電平的

14樓:匿名使用者

兩個方法:

一是直接用置位指令比如:

setb p1.0

二是用傳送指令送「1」。

mov p1,#0ffh

或setb c

mov p1.0,c

51微控制器怎麼初始化io口為低電平?

15樓:匿名使用者

1、首bai先注意51微控制器上電的

du時候會有個復位的操zhi作,復位的時候dao不執行微控制器內部回程式,復位之後答51微控制器的所有io口都為高電平;

2、在微控制器復位之後在main函式裡執行程式,如果要使io口初始化為低電平,就要在while迴圈的上方把io置低;例如:

一般程式的結構是這樣的:

void main()

}3、基於上面的原理,在設計微控制器外圍電路的時候,為了不讓外圍電路誤動作,一般把外圍電路設定成微控制器io口低電平的時候 盡心動作,

比如: 點亮led燈的時候,,一般把led的負極接io口,,這樣微控制器上電的時候,沒有進入程式之前,led是不會亮的,

16樓:硬體開發

51微控制器io初始抄

化方式如下,在主程襲序裡bai面main裡面直接初始化du如下,微控制器所有zhi的io都是低電平。

int main(void)}

17樓:沙沙智宇

p0,p1,p2,p3四個8位準雙向i/o引腳;(作為i/o輸入時,要先輸出高電平)

對相應p口賦值。如:p0 = 0xff

18樓:匿名使用者

直接用置位語句:clr p*.*

或口操作: mov p0,#00h

19樓:匿名使用者

p0=0;(p0^0=0;p0^1=0;。。。。略去,下同)p1=0;

p2=0;

p3=0;

看需要哪個口,設定為0就行。

20樓:匿名使用者

只要在住迴圈程式之前抄加入i/o口設定代bai碼,就可以初du始化i/o口為低電平。

如果需要某一i/o口復zhi位後全部dao輸出低電平,則初始化方法為:

main()

}2.如果需要i/o口的某一位輸出低電平,則初始化方法為:

main()}

關於使微控制器輸出高低電平的問題高分求微控制器控制輸出高低電平的源程式求通過微控制器高低電平轉換使電機正反轉

把0x0f轉化成二進位制是b 00001111 這8位數字由右往左對應你的第1到8個燈,其實就是p3的8個口,0表示這個口輸出低電平,1是輸出高電平。看你的程式是設定低有效的,就是0的時候燈亮。正解按題目要求分高4位和低4位每次亮四個燈 每次4個數字是0 0x0f就是高4位亮,是取反符,p3 p3就...

微控制器中UART傳輸,0就是發出低電平,1就是發出高電平嗎

一,你對uart的位序列缺乏基本的瞭解,同時你的提問也沒有說明幀格式。幀格式的專不同是會影 屬響波形的。假設你設定的幀格式是8位1起始位1停止位無奇偶校驗,那麼txd實際產生的傳送波形是 低 起始位 低低低低高高高高 低位在前高位在後 高 停止位 二,較老型號微控制器的標準uart無法實現。不過當下...

微控制器中P2P218什麼意思

8表示求除以bai8的餘數,du餘數只可能是0 7中的任何zhi一個 執行以上程式 dao的結果回是頭一次 答p2 1 下一次 p2 2 然後 p2 3 p2 4 p2 5 p2 6 p2 7 p2 0 p2 1.意思就是 p2 1的值然後除以8的餘數再賦值給p2 微控制器中數碼管程式p2 0xef...