欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 關于單片機匯編語言延時子程序的時間計算 [打印本頁]

作者: liuuu    時間: 2021-3-7 23:45
標題: 關于單片機匯編語言延時子程序的時間計算
D1:

      MOV  R4,#20

D2:

      MOV  R5,#248
      DJNZ R5,$

      DJNZ R4,D2



就這么簡單的延時子程序時間計算,最好能詳細點說明為甚麼>本人才學單片機,例如這樣吧,我不清楚為甚麼最后是1+20*499=9981  



作者: 51hei團團    時間: 2021-3-7 23:45
這是一個嵌套循環。內層循環248次,(R5=248)DJNZ R5, #248,是2周期指令,每執行一次占用2個機器周期。

                         外層循環是20次,(R4=20)

                         所以20*248,就是執行次數,每次2周期,20*248*2=全部的機器周期。如果使用的晶振是12MHZ,每個機器周期剛好是1us

                         至于你的算式的前面的那個“1”,是執行“MOV  R4, #20" 指令的一個機器周期。其實“MOV  R5,  #248”也要執行20次,計算公式應該是20*248*2+20+1

                         另外,如果計時要求很苛刻時,包括調用“延時子程序”、“返回”所占用機器周期都需要計算進去的。
作者: 人人學會單片機    時間: 2021-3-8 00:23
你算這么準確有什么用?中斷一使用,誤差從1% 瞬間提高到250%了
作者: design003    時間: 2021-3-8 08:55
初學的話  下功夫學C的吧   用的人多有問題好請教   
作者: Kxuan163    時間: 2021-3-10 16:26
設51系列單片機晶振頻率Fosc為12MHz,
則每個機器周期 =12/Fosc =1μs ,
每條MOV Rn,#data指令耗用1個機器周期,
每條DJNZ Rn,rel指令耗用2個機器周期,
每條NOP指令執行耗用1個機器周期,
D1:  MOV  R4,#20  ;;①
D2:  MOV  R5,#248 ;;②
      DJNZ R5,$   ;;③
      DJNZ R4,D2  ;;④
指令①執行1次,耗時1us;
指令②每次執行耗時1us,
指令③每次執行耗時2us,
指令④每次執行耗時2us,
延時值=1us+20[(2usx248+1us)+2us]
          =1us+20[499us]
          =9981 us
其它例子請閱附件。


51單片機用循環遞減法計數方式延時值計算及舉例.zip

1.06 KB, 下載次數: 13






歡迎光臨 (http://m.raoushi.com/bbs/) Powered by Discuz! X3.1