週期為6MHZ的微控制器延時10秒的子程式的怎麼編

時間 2025-02-13 16:15:08

1樓:網友

首先是要讓你的微控制器工作在記時方式,然後選擇工作方式,再就是選擇記數初值!

2樓:網友

mov r2,#

loop_3: mov r1,#

loop_4: mov r0,#

djnz r0,$

djnz r1,loop_4

djnz r2,loop_3

mov r1,#

loop_2: mov r0,#

djnz r0,$

djnz r1,loop_2

mov r0, #

djnz r0,$

ret這個程式 執行後 延時 10秒。

若微控制器的晶振頻率為6mhz,則下列子程式的延時時間是?

3樓:大炮

總指令週期數=1+(1+(2+2)*200+2)*15+2=12048。如果乙個指令週期=12機器週期,那麼延時時間為12048*12/6000000=

51微控制器延時函式的問題。晶振是12mhz..需要延時1秒

4樓:從桂花堵妝

6:delay()

7:c:0x0036

edmova,r5

c:0x0037

1ddecr5c:0x0038

jnzc:003b

c:0x003a

1cdecr4c:0x003b

edmova,r5

c:0x003c

4corla,r4

c:0x003d

70f6jnzc:0035

c:0x003f

efmova,r7

c:0x0040

1fdecr7c:0x0041

jnzc:0044

c:0x0043

1edecr6c:0x0044

efmova,r7

c:0x0045

4eorla,r6

c:0x0046

70e9jnzc:0031

c:0x0048

22ret這是反匯編出來的程式,和想象的不一樣吧;c語言和彙編大概是4:1的密度。

假設微控制器系統的晶振頻率為12mhz,要求採用定時器時50毫秒,計算計數器的計數初值。求詳細過程謝謝

5樓:騎唱

1、已知微控制器系統機器週期為時鐘週期的12倍,故每個機器週期為12/12m=1us

ms=50*1000us

位定時器的定時時間最長為65536us,定時50us的初值為65536-50*1000=0x3cb0

x3cb0就是初值,其中th=0x3c,tl=0xb0

51微控制器求10微秒的延時函式 c語言(晶振11.0592mhz)

6樓:匿名使用者

void delay10us(void) //誤差。

這個延時包含呼叫時間。

如何利用微控制器彙編指令程式設計實現延時10ms?利用匯編指令設計多重迴圈程式設計實現20ms延時?

7樓:做而論道

延時時間,需要知道晶振頻率的數值。

樓主也沒有給出晶振頻率,怎麼可能設計出延時程式?

粗略的延時,可以使用軟體延時;

精確的延時,則需要利用定時器。

樓主的要求,寫的也太含糊了。

我有三個問題,關於微控制器程式的,第乙個,採用迴圈結構,試編制能延時50ms的子程式,第二個,如下,

8樓:網友

1、迴圈子程式,延時50ms。

del: mov r7,#

lp: mov r6,#

djnz r6,$

djnz r7,lp

ret2、把累加器a中的二進位數轉變成3位bcd碼,並將百十個位數分別存放在內部ram的50h,51h,52h單元中。

mov b,#64h

div ab

mov 50h,a

mov a,b

mov b,#0ah

div ab

mov 51h,a

mov 52h,b

3、在內部ram中,有乙個以block為起始位址的資料塊,塊放在len單元中,請用查表指令編寫程式,先檢查它們是否是十六進位數中的a~f,若是,則把它們變為ascii碼,若不是,則把他們變為00h。

這道題要寫一會兒。

51微控制器,晶振為6M請幫忙寫10ms的延時程式,能有詳細解釋的。因為我還不知道這個延時的時間是怎麼算

延時有很多種方法,有一種是讓微控制器去做無聊的迴圈,還有一種是用定時器。我本身也是菜鳥所以只能粗略的講一下。第一種的演算法是 晶振的週期t1 1 f 這裡f 6mhz 所以t1 1 6 us 微秒 微控制器花12個t1去執行一個指令,所以一個機器週期等於12個晶振週期,t2 12 t1 2us 10...

什麼是晶振週期,微控制器中的晶振週期 系統時鐘週期 機器週期各是什麼?它們之間有何關係?

時鐘週期 也稱為振盪週期,定義為時鐘脈衝的倒數 時鐘週期就是直接供內部cpu使 用的晶振的倒數,例如12m的 晶振,它的時鐘週期就是1 12us 是計算機中的最基本的 最小的時間單位。在一個時鐘週期內,cpu僅 完成一個最基本的動作。時鐘脈衝是計算機的基本工作脈衝,控制著計算機的工作節奏。時脈頻率越...

關於微控制器C語言延時程式中的空語句如何理解

去掉 怎麼行呢?那就 語法 不通 祝你順利 在這裡實際是一點作用都沒有的,cpu執行到這裡for j 0 j 125 j 的時候在是不停的做迴圈,因為是一條空語句,所以cpu視它不存在,不會執行的 但如果在for j 0 j 125 j 加了類似對變數賦值的語句後效果就完全不一樣了,本人以前還就這個...