在51微控制器中 nop延時多長時間

時間 2021-09-01 18:49:17

1樓:匿名使用者

、時鐘週期=振盪週期,名稱不同而已,都是等於微控制器晶振頻率的倒數,如常見的外接12m晶振,那它的時鐘週期=1/12m。

2、機器週期,8051系列微控制器的機器週期=12*時鐘週期,之所以這樣分是因為單個時鐘週期根本幹不了一件完整的事情(如取指令、寫暫存器、讀暫存器等),而12個時鐘週期就能基本完成一項基本操作了。

3、指令週期。乙個機器週期能完成一項基本操作,但一條指令常常是需要多項基本操作結合才能完成,完成一條指令所需的時間就是指令週期,當然不同的指令,其指令週期就不一樣的了。

_nop_()要用1個指令週期

2樓:匿名使用者

相當於彙編裡的nop偽指令,表示的是空操作,可是實現延時,表示執行一條沒有什麼意義的指令,例如 mov r0 ,r0。因為是執行「指令」,所以花的時間是乙個指令週期,指令週期是以機器週期為單位計算的(有的指令週期是2個或者以上的機器週期,但是nop指令就是花費乙個機器週期),所以:1個nop = 1個機器週期 = 12 * 時鐘週期(51而言)= 12 * 1 / f; f 表示的是你的晶振頻率,

例如6mhz的晶振,f = 6000000,帶入上式,結果單位為s。

3樓:匿名使用者

乙個機器週期。看你微控制器的晶振多大,算出機器週期。

51微控制器c語言 _nop_()是乙個空指令?短時間延時的?空幾個機器週期?

4樓:影視娛樂筐

如果晶振是12mhz的話這一條指令所用時間為 1us。

如果晶振是11.0592mhz的話這一條指令所用時間為 1.08us。

5樓:陳暴龍

我想你說的是彙編吧..

空指令機器碼90

cpu不執行此指令,但占用乙個指令週期,指令週期的長短因cpu不同等因素而不同

如果是c的函式_nop_() 那你就找到這個函式的宣告定義的地方看看他的內容咯

6樓:

是的,好像是延時乙個指令週期。

51微控制器中ACC怎麼用,51微控制器中ACC怎麼用??

a和acc的實質是一樣的,對應位址都是0e0h,只是彙編在使用時,在格式上取了兩個名字。你看看它們的使用方法,有的地方用a,有的地方用acc,會發現有一定的規律。當其要進行位表示時,必須用acc,比如要寫成acc.7,而不能寫成a.7 但當其作為8位二進位制數時,acc和a都能用 但還是有區別 比如...

51微控制器SBUF什麼意思,51微控制器中SBUF中讀出的資料型別

define 巨集定義 unsigned乙個資料型別 還有就是signed 乙個是有符號 乙個是無符號 int資料型別 sbuf是串列埠接送或者傳送資料暫存器 define 是定義乙個常量 unsigned char 定義乙個字元型變數,unsigned int 定義乙個整數型變數購買sea wol...

關於51微控制器的中斷問題,51微控制器外部中斷0的問題

優先中斷,就是在執行乙個中斷的時候,又來了乙個中斷 如果新來的中斷,其優先順序高於正在執行的中斷,那麼就會暫停現在的中斷而去執行新來的中斷,等這個新中斷執行完之後再會回去繼續執行剛才那個沒執行完也就是那個被打斷的中斷 如果新來的中斷,其優先順序不如正在執行的中斷的優先順序高,那麼程式會繼續執行這個中...