向EEPROM PIC写入数据?

4

我正在进行一个项目,需要将一个值存储到PIC的EEPROM中。我已经成功实现了读取操作,但是到目前为止,我无法使用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

如果你在这里得不到回应,可以尝试一下Microchip论坛... 这里没有太多关于嵌入式反馈的具体信息,但有时候你会很幸运。 - Keith Nicholas
谢谢Keith,但是在论坛和PIClists上搜索都没有给我带来任何结果 :( - Sam Castledine
http://www.microchip.com/forums 不要忘记这个。 - Nick Alexeev
2个回答

4

在程序加载 EEADREEDATA 值之前,请设置适当的存储器。

使用“Watch”窗口,在调试模式下逐行执行程序时控制寄存器EEADREEDATA中的值!

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

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接