注册 登录
电子工程世界-论坛 返回首页 EEWORLD首页 频道 EE大学堂 下载中心 Datasheet 专题
alex1120的个人空间 https://home.eeworld.com.cn/space-uid-54504.html [收藏] [复制] [分享] [RSS]
日志

PIC汇编延时程序详述

已有 1635 次阅读2010-5-31 18:36

使用编译软件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语句执行时间。

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

评论 (0 个评论)

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 注册

热门文章