我正在开发一个项目,我需要能够将值存储到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
答案 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。