CONVERT MOVWF

2

;数据地址→PC

DATA RETLW

20H

;数据

RETLW 15H

;数据

如果要执行“RESTORE”,只要执行一条“CLRF POINTER”即可。

pic单片机程序设计的基本方法解析

10) PIC单片机 延时程序

如果延时时间较短,可以让程序简单地连续执行几条空操作指令“NOP”。如果延时时间长,可以用循环来实现。下例以F10计算,使循环重复执行100次。

MOVLW D‘100’

MOVWF 10

LOOP DECFSZ 10,1

;F10—1→F10,结果为零则跳

GOTO LOOP

延时程序中计算指令执行的时间和即为延时时间。如果使用4MHz振荡,则每个指令周期为1μS。所以单周期指令时间为1μS,双周期指令时间为2μS。在上例的LOOP循环延时时间即为:(1+2)*100+2=302(μS)。在循环中插入空操作指令即可延长延时时间:

MOVLW D‘100’

MOVWF 10

LOOP

NOP

NOP

NOP

DECFSZ 10,1

GOTO LOOP

延时时间=(1+1+1+1+2)*100+2=602(μS)。

用几个循环嵌套的方式可以大大延长延时时间。下例用2个循环来做延时:

MOVLW

D‘100’

MOVWF

10

LOOP

MOVLW

D‘16’

MOVWF

11

LOOP1 DECFSZ

11,1

GOTO

LOOP1

DECFSZ

10,1

GOTO LOOP

延时时间=1+1+[1+1+(1+2)*16-1+1+2]*100-1=5201(μS)

以上便是小编此次带来的全部内容,希望大家喜欢。

责任编辑;zl

关于控制,MCU就介绍完了,您有什么想法可以联系小编。