作者poboroy (阿扬扬)
看板ASM
标题[问题] delay问题
时间Tue Jun 10 13:01:04 2014
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://webptt.com/cn.aspx?n=bbs/ASM/M.1402376466.A.6F1.html
1F:推 WolfLord:0=256,mov rn,#d = 1 06/10 13:30
2F:→ poboroy:所以下面的delay是131.845ms吗? 那上面的一样是0.65s? 06/10 19:59
3F:→ poboroy:DJNZ R6,$6跟DJNZ R7,$7这两行我没有很懂他的意义 06/11 02:02
4F:→ poboroy:$6是R5的值 $7是R6的值 我不懂跳过去干嘛.. 06/11 02:02
5F:→ poboroy:delay我後来的算法:{[(255*2)+1+2]*255+1+2}*1+2= 06/11 02:04
6F:→ poboroy:130820us 不知道有没有错 06/11 02:04