?? ◆a51軟件延時◆精確分析◆.txt
字號:
〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓
File: ◆A51軟件延時◆精確分析◆.TXT 〓
Time: 10:53-11:30 〓
Date: 08-7-26 〓
Note: MOV Rn,#Data 為一個機器周期 〓
〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓
MAIN: ;機器周期
MOV P1,#0FFH ;1'
ACALL DELAY ;2'
MOV P1,#00H ;1' 設置斷點
ACALL DELAY ;2'
MOV P1,#0FFH ;1' 設置斷點
DELAY:
MOV R7,#20 ;1'
D1: MOV R6,#248 ;1'
DJNZ R6,$ ;2' 248*2=496
DJNZ R7,D1 ;2' 2*20=40 (496+1)*20=9940 9940+40=9980
RET ;2' 9980+2+1+1+2=9986
END
▲Keil C 測試結果:
20(x)
248(y)
0.000 000 00
0.009 987 00
0.019 974 00 ◆0.009 987 00
▲計算分析如下:
延遲時間為: (2*248+1)*20+2*20+2+1+1+2=9986 (包括ACALL 2')
由于MOV P1,#0FFH 1'
故延遲時間為: 9986+1=9987
----------------------------------------------------------------
▲測試結論:
延遲時間: Delay_Time=(2*y+1)*x+2*x+6 (包括ACALL 2')
----------------------------------------------------------------
------------------------------------
▲程序代碼:
DELAY:
MOV R7,#x
D1: MOV R6,#y
DJNZ R6,$
DJNZ R7,D1
RET
-----------------------------------
▲故延遲時間10ms的程序代碼為:
DELAY:
MOV R7,#38
D1: MOV R6,#130
DJNZ R6,$
DJNZ R7,D1
RET
-----------------------------------
▲故延遲時間1ms的程序代碼為:
DELAY:
MOV R7,#2
D1: MOV R6,#247
DJNZ R6,$
DJNZ R7,D1
RET
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -