晶片(微控制器)是怎麼認識程式轉化來的二進位制,0是低電平,1是

2021-03-21 23:53:17 字數 4030 閱讀 1158

1樓:匿名使用者

除非你寫了一個程式專門過濾高電平或低電平的,否則這種情況很少發生,移位是針對以位元組的,在一個位元組中1狀態和0狀態是不定的。所以移位時移動的1和0也是不定的

2樓:匿名使用者

有本課程叫「數位電路」的不知道你有沒有學過,應該是靠內部的邏輯電路,和數字時鐘,形成脈衝,來執行的。具體的你只有看數位電路,和類比電路才會明白。

3樓:匿名使用者

手機不再是單純的手機,它是有情感的智慧機器人,而它的晶片被別人控制,我們不僅僅要學會和人相處,更要學會和手機處理好關係,它一不高興,就有辦法給我們設定阻礙,天下之大,能人倍出,望老天爺快速研究出新的東西來智勝它吧,不想被手機控制,望**!保護自己自己的隱私是每個公民的權利!

4樓:匿名使用者

你看一下三八譯碼器,就清楚 微控制器是積體電路來的,cup,rom,ram。。。

電子硬體是怎麼知道程式最終轉化來的二進位制1是高電平?0是低電平?

5樓:匿名使用者

每個電子硬體多有自己的通訊二進位制,有程式轉換2進位制來控制硬體,相關的二進位制或十進位制開發商應有提供的

6樓:匿名使用者

多看看書吧,跟你說了也白說

二進位制是怎麼轉換成高低電平的?

7樓:小怪獸他爹爹

是通過你每個晶片上的程式定義的,比如說你輸入了一串,二進位制數0010吧,在晶片裡,會有彙編或者c語言或者其他,去解決問題,當接受到0的時候,會有判斷語句,如果得到的值為0,系統會給予低電平,如果得到的值是1,系統會給予高電平,也就是給你5v或者是多少的電壓,稱為高電平。具體也就是if else 語句 或者是 cjne 判斷 跳轉,,,, 大概就是這樣

8樓:牽著螞蟻小散步

個人理解: 對數位電路來說,0和1代表的是電平的狀態,可以通過一個簡單的微控制器按鍵來解釋一下

當按鍵按下時,微控制器內部io在硬體上與地接在了一起,我們規定了0代表低電平,此時可以說微控制器的io口狀態為0;

同樣的,當你在你的電腦鍵盤上敲下一個按鍵時,也有對應的電路被接地或者拉高,通過硬體電路(比如d觸發器)將這些狀態儲存下來,然後再通過編譯器/燒錄器等硬體電路,將這些狀態傳送給微控制器的儲存器,儲存器可以理解為電容的陣列,通過充放電來改變電容兩端的高低電平,也就是我們腦子裡的0和1,當「程式燒錄時」可以理解為內部很多很多的閘電路和電容在進行開關操作和充放電操作,當「程式執行時」,可以理解為電流在沿著這些開關形成的通道在流動。

9樓:匿名使用者

首先,高低電壓是電子元件比較好實現的狀態,因此才採用二進位制計數,一般約定高電壓對應1,低電壓(地)對應0;

比如可以利用電子開關給電容充電,當電容充滿後,其正端電壓為高電壓; 當給正端放電處理後,電容蓄電被放空後,正端電壓變成低電壓.

**是如何控制微控制器管腳電平高低的?為什麼1它就高電平,0它就低電平?

10樓:生活如歌

這個看微控制器原理引腳結構那一節。當輸出高電平時,下面的電晶體截止,上面的管子導通或者外接上拉電阻,這樣輸出是高電平。反之,當輸出低電平時,下面的電晶體導通(發射極接地了)這樣輸出就被接低了,變成了低電平。

11樓:匿名使用者

**控制管腳電平的高低,是由微控制器內的cpu運算結果決定的,1它就高電平,0它就低電平,是人們為了方便理解,規定的。(在rs232傳輸中,就不是高電平1,它的高電平是0!低電平是1。)

12樓:匿名使用者

這個是晶片決定的。一個暫存器裡有的電位代表了儲存的內容,有閘電路去控制,一個高電平電位輸出後就把引腳的高電平送出了。至於為什麼要看微控制器的引腳圖。

**在微控制器內 實際是很多的電平來表示的,只是人們為了方便理解就 用**來指示裡面所有的電平關係。一個晶片內部可以裝多少電平 也就代表了 具有多大的容量。這就是為什麼一般晶片更大 製造工藝越小 (即多少奈米)所具有的功能就越強大。

因為能夠裝更多的電平。

13樓:匿名使用者

這個問題你不用考慮得這麼細,只是知道它的這個功能就行,若要想知道就看下其埠工作模式,個人覺得只需表面瞭解下即可

14樓:匿名使用者

按照晶片指令**去操作就可以了,你是使用晶片而不是晶片實現機理研究。

15樓:江湖一小生

這個不用考慮,要了解的話估計還得學很多東西。

二進位制怎麼表示怎麼判斷高電平低電平啊

16樓:大門沙嶴

管腳電平輸出的高低,要根據外圍電路來,看你的程式,可以認為跟管腳接的那個led燈一端接在微控制器上,一端接5v電源,所以微控制器那隻腳輸出為0時,led由於有電壓差就亮了,其他管腳都是輸出高電平所以就沒有電壓差了,就不亮

你的程式應該是迴圈點亮8個燈

17樓:手機使用者

0xfe表示為二進位制是11111110,對應微控制器p1口的八個管腳,微控制器規定1和0代表高低電平

為什麼二進位制的1是高電平,能使二極體亮?0是低電平,能使二極體滅?

18樓:沃海亦回泉

你好!因為二極體是否發光取決於兩端的電壓差值,正向導通,反向截止,即看你另一端的電壓是高電平還是低電平

但是一般就把另一端接地,所以當輸出高電平時,即高電壓時導通

如果對你有幫助,望採納。

關於使微控制器輸出高低電平的問題。

19樓:匿名使用者

把0x0f轉化成二進位制是b』00001111』,這8位數字由右往左對應你的第1到8個燈,其實就是p3的8個口,0表示這個口輸出低電平,1是輸出高電平。看你的程式是設定低有效的,就是0的時候燈亮。正解按題目要求分高4位和低4位每次亮四個燈(每次4個數字是0),0x0f就是高4位亮,~是取反符,p3=~p3就是把p3的值取反後再賦給p3,就是0變1,1變0,這樣0x0f取反變成0xf0,就是b『11110000』,這樣原來亮的4個燈變暗,原來暗的4個燈被點亮。

而你的程式每亮一個燈就把上面的燈關掉了,和正解是不一樣的,不能說正解可以代替你的程式,是你回答錯了,呵呵。

20樓:董衛衛

p3=0xfe; //第一個燈亮

p3=0xfd; //第二個

燈亮p3=0xfb; //第三個燈亮

p3=0xf7; //第四個燈亮

它們之間執行時間很短,所以和p3=0xf0的效果一樣,也就是前差不多同時亮四個亮,

接下來delay();

然後p3=0x0f後四個亮,

然後delay();

然後while(1);

21樓:匿名使用者

0x0f是十六進位制,對應二進位制就是00001111,對應8個引腳一目瞭然

p3=~p3是取反(即p3取反後的值賦予給p3),0x0f取反後就是0xf0(即為11110000),0xf0再取反就恢復為原先的0x0f,這樣迴圈,就形成了高4bit和低4bit交替變換

怎樣把微控制器的0,1電平改變?

22樓:匿名使用者

你可以通過程式取反,在前面加上埠設定的巨集定義。

#define p1=0xff port1=0x00在巨集定義中取反,在程式中就不用改了。

也可以在程式中取反,埠設定的數值前加上~,ok了。

最後一招改硬體,在每個埠上加非門或者搭乘oc門(用三極體做,集電極開路模式),可以解決你的問題。

23樓:李_老師

不知道是什麼意思??

邏輯電平 改為負邏輯試試看。

24樓:匿名使用者

我還未見過這種微控制器是什麼型號的??

你搞錯了吧????

25樓:匿名使用者

具體什麼微控制器?怎麼會這樣定義?你測錯了吧,萬用表黑表筆接地。

51微控制器計數程式怎麼寫

1全部clr p0.1 初態,p0.1 低mov 30h,00h 計數器 0start jb p0.0,等待p0.0變低 setb p0.1 變高 inc 30h 計數器加一acall disp 呼叫顯示程式,顯示30h單元數字jb p0.2,等p0.2變低電平clr p0.1dec 30h aca...

51微控制器的中斷服務程式入口地址是0003H,000BH,他

三位元組的跳轉指令分別存在0003h 0004h 0005h和000bh 000ch 000dh。就是隻佔用3,4,5三個位元組,剩下的6 a地址的空間空閒 你所說的0003h,000bh為rom地址,一個地址上有一位元組,就是說0003h到000bh有11 3 8位元組,3位元組的跳轉指令肯定可以...

用c 怎麼編寫51微控制器程式,可以這麼樣編寫嗎

相信很多初學者都有同樣的疑問,也e68a8462616964757a686964616f31333264623839有同樣的希望。就是用c 語言來寫微控制器程式的源 現在我來解釋一下微控制器的源 程式幾乎沒有人用c 來寫的。1.假設一下你現在用c 寫完了一個程式 那麼你要讓微控制器認識必須要編譯吧,...