[問題] delay問題

作者: poboroy (阿揚揚)   2014-06-10 13:01:04
MUSIC:
MOV R4,#4
LOOP0:
MOV R3,#83
LOOP1:
CPL P3.7
MOV R2,#151
LOOP2:
MOV R1,#5
LOOP3:
DJNZ R1,LOOP3
DJNZ R2,LOOP2
DJNZ R3,LOOP1
DJNZ R4,LOOP0
這個程式是課本上的,我懷疑他寫錯了
我算出來是0.65s,但他算出來卻是0.7s
這是我的算法:【{[(5*2)+1+2]*151}+1+2】*4 = 0.65s
另外還想問一個
DELAY:
MOV R7,#1
$7:
MOV R6,#0
$6:
MOV R5,#0
DJNZ R5,$
DJNZ R6,$6
DJNZ R7,$7
RET
END
這也是一個副程式,他說這個delay要大於10ms,因為按鍵的彈跳現象是10ms
但我自己計算過後差很多
我的算法是:{[(0*2)+1+2]*0+1+2}*1+2 = 5us
所以我不懂我哪邊出錯了..
作者: WolfLord (呆呆小狼￾ ￾ N￾ ￾ )   2014-06-10 13:30:00
0=256,mov rn,#d = 1
作者: poboroy (阿揚揚)   2014-06-10 19:59:00
所以下面的delay是131.845ms嗎? 那上面的一樣是0.65s?DJNZ R6,$6跟DJNZ R7,$7這兩行我沒有很懂他的意義$6是R5的值 $7是R6的值 我不懂跳過去幹嘛..delay我後來的算法:{[(255*2)+1+2]*255+1+2}*1+2=130820us 不知道有沒有錯

Links booklink

Contact Us: admin [ a t ] ucptt.com