微控制器中的NOP指令

2021-08-08 19:15:32 字數 835 閱讀 9741

在微控制器中的很多程式中都能看見nop這條指令的身影,有些人很疑惑這條空空的指令到底有什麼用呢,,經過多次的實驗,,我終於證實(呀,誰扔的番茄)主要有兩條作用:

1,精確定時:nop指令時間為1個週期,12m晶振的活呢是1us秒的時間。非常的準確。如

如果晶振用12mz的話,這樣乙個機器週期為1us。 

mov 

r0,#0ffh

dly_lp:

nop 

執行一次所需時間為1us 

nop 

執行一次所需時間為1us

djnz 

r0,dly_lp 

執行一次所需時間為2us

這個延時程式的總延時時間為:(1+1+2)×255=1020us  。

delay: 

mov 

r0,#0ffh

mov 

r1,#0ffh

dly_lp:

nop 

執行一次所需時間為1us

nop 

執行一次所需時間為1us

djnz 

r0,dly_lp 

執行一次所需時間為2us

mov 

r0,#0ffh 

執行一次所需時間為1us

djnz 

r1,dly_lp 

執行一次所需時間為2us

ret這個延時程式的總延時時間為:〔(1+1+2)×255+1+2〕×255=260865us。

2。還有些時候cpu對i/o操作時,通常也會加幾個nop指令,用來延會時,在這期間。cpu什麼都不做。其實外部線路中的高低電平轉換是需要時間的,這裡的nop就是為了等待緩衝區清空。匯流排恢復。

微控制器c指令右移指令 微控制器算術運算類指令整理

一 不帶進製位的微控制器加法指令 add a,data 例 add a,10h add a,direct 例 add a,10h add a,rn 例 add a,r7 add a,ri 例 add a,r0 用途 將a中的值與其後面的值相加,最終結果否是回到a中。例 mov a,30h add a...

微控制器中XPL指令是什麼 小小微控制器!(一)

現在機械裝置的逐漸發達,慢慢已經形成了自動化的特點,但是我們想過沒有,是什麼讓機器有條不紊的在執行,是程式,現在的多數機器使用的是高階語言例如c,c 等等,但是它們的基礎是低階語言,微控制器,今天小白給大家介紹一下微控制器!現在的微控制器學習適用於剛剛學習機械的同學們,小白上學期剛剛和老師學習了一些...

慎用51微控制器中的RET指令

題目 已知有四個按鍵依次連線微控制器中的p3口的0到3的io口,有四個led燈連線p1的0到3 io口,寫一程式,滿足以下條件 當按下按乙個按鍵,對應的led會發亮,比如 按下p3.0的按鍵,連線p1.0的led就發亮。y 以下是我同學編寫的程式 org 0000h mov p1,0ffh loop...