[求助]求教各位高手两个延时程序的算法
有两个延时程序不是很懂,望各位高手指教下,最好能给出每一步的具体算法过程:第一个:
JSQ EQU 20H
MOVLW 100
MOVWF JSQ
LOOP DECFSZ JSQ, 1
GOTO LOOP
RETURN
第二个:
JSQ EQU 20H
JSQ1 EQU 21H
MOVLW 100
MOVWF JSQ
LOOPMOVLW 16
MOVWF JSQ1
LOOP1 DECFSZ JSQ1,1
GOTO LOOP1
DECFSZ JSQ,1
GOTO LOOP
RETURN
各位高手麻烦下了,谢了,记得给出具体计算方法哦~~
应该是这样的
JSQ EQU 20H
MOVLW 100
MOVWF JSQ
LOOP DECFSZ JSQ, 1
GOTO LOOP
RETURN
先假设你的机器周期为 1US
movlw 是 1个机器周期
decfsz 是 1-2个机器周期
goto是 2个机器周期
时间为 1+2 +(1+2)*99 +2 =302 US
第二个:
JSQ EQU 20H
JSQ1 EQU 21H
MOVLW 100
MOVWF JSQ
LOOPMOVLW 16
MOVWF JSQ1
LOOP1 DECFSZ JSQ1,1
GOTO LOOP1
DECFSZ JSQ,1
GOTO LOOP
RETURN
同样的道理
先计算 LOOP1的时间
((1+2)*15+3+3)*99+3+1 = 5052
页:
[1]