我正在做一个项目,在该项目中我需要能够将一个值存储到 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
最佳答案
在您的程序加载 EEADR 和 EEDATA 值之前设置适当的存储库。
当您在 Debug模式下单步执行(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
关于assembly - 写入 EEPROM PIC?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8290876/