我正在做一个项目,在该项目中我需要能够将一个值存储到 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/

10-11 22:36