┋
CONVERT MOVWF
2
;数据地址→PC
DATA RETLW
20H
;数据
┋
RETLW 15H
;数据
如果要执行“RESTORE”,只要执行一条“CLRF POINTER”即可。
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就介绍完了,您有什么想法可以联系小编。