写入EEPROM PIC?

时间:2011-11-28 02:23:52

标签: assembly pic eeprom

我正在开发一个项目,我需要能够将值存储到PIC的EEPROM中,我已设法让读取工作但到目前为止我无法让PIC写入内存使用PIC程序集。这是我一直在使用的代码,它来自数据表中的示例写代码,我使用的是16D630 PIC,并使用PIC汇编语言。

MOVLW 0x02
MOVWF EEADR
MOVLW 0x01
MOVWF EEDATA
BSF STATUS,RP0 ;BANK 1
BSF EECON1,WREN ;ENABLE WRITE
BCF INTCON,GIE ;DISABLE INTS
MOVLW 0x55 ;UNLOCK WRITE
MOVWF EECON2 ;
MOVLW 0xAA ;
MOVWF EECON2 ;
BSF EECON1,WR ;START THE WRITE
BSF INTCON,GIE ;ENABLE INTS

2 个答案:

答案 0 :(得分:3)

在程序加载 EEADR EEDATA 值之前设置适当的内存库。

在debbug模式下通过程序行步进(F7)时,使用“观察”窗口控制寄存器 EEADR EEDATA 中的值!

BSF STATUS,RP0       ;Set BANK 1 first !!!
MOVLW 0x02
MOVWF EEADR
MOVLW 0x01
MOVWF EEDATA

BSF EECON1,WREN ;ENABLE WRITE
BCF INTCON,GIE ;DISABLE INTS
MOVLW 0x55 ;UNLOCK WRITE
MOVWF EECON2 ;
MOVLW 0xAA ;
MOVWF EECON2 ;
BSF EECON1,WR ;START THE WRITE
BSF INTCON,GIE ;ENABLE INTS

答案 1 :(得分:0)

在启用写WREN标志之前,您应通过设置/清除EECON1中的EEPGD标志来指示您是要写入程序存储器(闪存)还是写入eeprom。