2011-11-28 133 views
3

我正在一个项目中,我需要能够存储一个值的PIC的EEPROM,我设法让读取工作,但到目前为止,我无法让PIC写入内存使用PIC组件。这是我一直在使用的代码,它来自数据手册中的示例写代码,我正在使用16D630 PIC,并使用PIC汇编语言。你的程序加载EEADREEDATA值之前写入EEPROM 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 
+0

如果您在这里没有得到回复,可能会想要尝试微芯片论坛......这里没有很多具体的嵌入式反馈,但有时候您很幸运 –

+0

感谢Keith,但是在论坛和PIClists没有透露给我:( –

+0

http://www.microchip.com/forums不要忘记这一个 –

回答

3

设置适当的记忆库。

使用“观看”窗口来控制寄存器中的值EEADREEDATA,当你在程序行debbug模式步进(F7)!

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标志,你应该表明您是否打算写入程序存储器(闪存)或进入设置/ EECON1中清除EEPGD标志EEPROM。