[問題] delay問題

看板ASM (組合語言)作者 (阿揚揚)時間11年前 (2014/06/10 13:01), 編輯推噓1(105)
留言6則, 2人參與, 最新討論串1/2 (看更多)
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 所以我不懂我哪邊出錯了.. -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.44.230.233 ※ 文章網址: http://www.ptt.cc/bbs/ASM/M.1402376466.A.6F1.html

06/10 13:30, , 1F
0=256,mov rn,#d = 1
06/10 13:30, 1F

06/10 19:59, , 2F
所以下面的delay是131.845ms嗎? 那上面的一樣是0.65s?
06/10 19:59, 2F

06/11 02:02, , 3F
DJNZ R6,$6跟DJNZ R7,$7這兩行我沒有很懂他的意義
06/11 02:02, 3F

06/11 02:02, , 4F
$6是R5的值 $7是R6的值 我不懂跳過去幹嘛..
06/11 02:02, 4F

06/11 02:04, , 5F
delay我後來的算法:{[(255*2)+1+2]*255+1+2}*1+2=
06/11 02:04, 5F

06/11 02:04, , 6F
130820us 不知道有沒有錯
06/11 02:04, 6F
文章代碼(AID): #1Jbf4IRn (ASM)
討論串 (同標題文章)
以下文章回應了本文
完整討論串 (本文為第 1 之 2 篇):
1
6
文章代碼(AID): #1Jbf4IRn (ASM)