原创 PIC汇编延时程序详述

2009-3-10 20:48 6439 27 27 分类: MCU/ 嵌入式

使用编译软件MPLAB的StopWatch功能,进行延时时间测试。测试频率:4HMZ


1)1ms延时程序:


                  call          delay1ms


delay1ms:  movlw     0x02


                movwf     20h


 dly1:        movlw     0x0a5


                movwf    21h


dly2:        decfsz     21h,f


                goto       dly2


               decfsz     20h,f


               goto       dly1


                return


时间的计算:{(1+2)*165+2+1+1}*2+2+2+1=1.003ms


该时间包括call和return语句执行的时间。


其他ms级的延时通过修改循环次数就可以达到要求。


2)1s延时程序


                  call          delay1s


delay1s:  movlw     0x06


                movwf     20h


 dly1:        movlw     0x0eb


                movwf    21h


dly2:       movlw     0x0ec


             movwf     22h


dly3:      decfsz     22h,f


                goto       dly3


               decfsz     21h,f


               goto       dly2


               decfsz    20h,f


              goto       dly1


               return


延时时间计算:[(3*236+4)*235+4]*6+5=1.003s


同样包括call和return语句执行时间。


其他更长延时可以通过修改循环次数和循环嵌套的层数来实现。

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
27
关闭 站长推荐上一条 /3 下一条