位置:首页 > IC型号导航 > 首字符P型号页 > 首字符P的型号第365页 > PIC12F609-E/MD > PIC12F609-E/MD PDF资料 > PIC12F609-E/MD PDF资料2第34页

PIC12F609/615/617/12HV609/615
完整的4个字的写序列的一个例子
如例3-2 。最初的地址被装入
入PMADRH和PMADRL寄存器对;八
数据字用间接寻址加载。
例3-2:
写闪存程序存储器
环
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;这写程序假设如下:
;
一个有效的起始地址(即至少显著位= '00' )
;
被装载在ADDRH : ADDRL
;
ADDRH , ADDRL和DATADDR都位于内存中的数据
;
BANKSEL PMADRH
MOVF
ADDRH ,W
;加载初始地址
MOVWF
PMADRH
;
MOVF
ADDRL ,W
;
MOVWF
PMADRL
;
MOVF
DATAADDR ,W;加载初始数据地址
MOVWF
FSR
;
MOVF
INDF ,W
;加载第一个数据字节到低
MOVWF
PMDATL
;
INCF
FSR ,女
;下一个字节
MOVF
INDF ,W
;加载第二个数据字节为上
MOVWF
PMDATH
;
INCF
FSR ,女
;
BANKSEL PMCON1
BSF
PMCON1 ,雷恩;能写操作
BCF
INTCON , GIE ;禁止中断(如果使用)
BTFSC
INTCON , GIE ;见AN576
GOTO
$-2
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
需要顺序
MOVLW
55h
;启动所需的写入顺序:
MOVWF
PMCON2
;写55H
MOVLW
0AAh
;
MOVWF
PMCON2
;将0AAh写
BSF
PMCON1,WR
;将WR位,开始写
NOP
;需要将数据传送到缓冲
NOP
;注册
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
BCF
PMCON1 ,雷恩;禁止写入
BSF
INTCON , GIE ;允许中断(注释掉,如果不使用中断)
BANKSEL PMADRL
MOVF
PMADRL ,W
INCF
PMADRL ,女
;增量地址
ANDLW
0x03
;表示在16个字被编程
SUBLW
0x03
;
为0x0F = 16个字
;
0x0B中= 12个字
;
0×07 = 8个字
;
0×03 = 4个字
BTFSS
STATUS ,Z
;在退出比赛,
GOTO
环
;继续,如果需要更多的数据要写入的
DS41302D第34页
2010 Microchip的技术公司