51微控制器中if語句的問題,51微控制器中if語句的乙個問題

時間 2022-03-14 17:26:33

1樓:隗沛程安寒

微控制器程式在執行完main程式後會跳回到住main程式入口再重新執行的。

把這個程式反彙編以後可以看到在c:0x0018行跳回主函式入口c0003

c:0x0000

02000f

ljmp

c:000f

4:void

main(void)

5:c:0x000e

22ret

c:0x000f

787f

movr0,#0x7f

c:0x0011

e4clr

ac:0x0012

f6mov

@r0,a

c:0x0013

d8fd

djnz

r0,c:0012

c:0x0015

758108

movsp(0x81),#k(0x08)

c:0x0018

020003

ljmp

main(c:0003)

c:0x001b

00nop

c:0x001c

00nop

c:0x001d

00nop

c:0x001e

00nop

2樓:伽羅林克

微控制器的程式就是這樣,一直在迴圈,雖然你這個程式沒有死迴圈的語句,但是微控制器的程式計數器就是一條條的執行下去,到結束了又返回0000h的位置重新往下執行,所以寫程式的時候一定要加個while(1)或for(;;),否則微控制器是不斷地初始化的。

3樓:匿名使用者

對的!但希望你還是加上迴圈的!養成個習慣,避免以後編寫大程式的時候出錯的!

4樓:匿名使用者

其實你的程式是在不斷重複執行,重複的復位.

當執行完最後一條指令時,取下一條指令會發現指令有問題,然後跳進異常中斷,當你的異常中斷表設定的跳轉位址是0x0000(或者說根本沒設定),就會從最開始取指,也就相當了復位了,重新執行

5樓:

你用的是kile編譯器吧,keil編譯器會在你的主程式結束處加乙個跳轉指令,跳到主程式開始處.你可以反彙編看看彙編**,一目了然了.

51微控制器程式問題

主程式裡面來做中斷處理,當定時器1 num1加到25時 num1清零,p1取反。當定時器0 tt 加到25時 tt清零,同時num加1。當num加到16時num清零,p0口顯示 num這個數 num 0 th0 65536 10000 256 tl0 65536 10000 256 th1 6553...

51系列微控制器有哪些用途,51微控制器 的實際應用有哪些?範圍廣嗎?

微控制器是一種可通過程式設計控制的微處理器,微控制器晶元自身不能單獨應用與某項工程或產品上,它必須要靠外圍數字器件或者是模擬器件的協調才能發揮其自身的強大功能。微控制器屬於控制類數字晶元,目前其應用於領域已非常廣泛。主要如下 1.工業自動化。如資料採集,測控技術等 2.智慧型儀器儀表。如數字示波器,...

51微控制器按鍵檢測問題

三個二極體 乙個電阻,確實是乙個與門。電阻的計算公式,正確。二極體的導通電壓 電流,選擇的基本合理。可以進行實際電路的安裝 測試。實際上,現在的二極體,發光效率,逐年的提高,已經不用 6ma,就很醒目了。不同顏色的二極體,導通電壓,也有差異,選用較小的,才利於觸發中斷。得進行反覆實驗,才能完成設計。...

c51微控制器流水燈程式設計問題,C51微控制器流水燈程式問題定義無效

把p1 crol 0,1 改為 p1 crol p1,1 delay函式中while i 後面分號去掉。crol 0,1 意思是把 0 迴圈左移一位,你賦值給p1,p1輸出一直都是零,所有的燈自然都是一直亮的。看看我的程式 include include unsigned char temp voi...

51微控制器的復位電路,c51微控制器復位電路的工作原理

裝置掉電 時,電容負極經 電阻到gnd,電容 正極直接接vcc,那麼可以認為電容再次對 目標板晶元 或裝置供電,但由於電容 容量很小,很快放盡.下次上電時,又可重新復位 電容剛充電時相當於和電阻分壓,當電容電衝滿了,電阻的負載變小使ret變為低電瓶 給電自動復位一次就是上電復位,還有手動復位 原理就...