2011-11-28 99 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。