3

私は、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
4

2 に答える 2

4

プログラムがEEADR値とEEDATA値をロードする前に、適切なメモリバンクを設定してください。

デバグモードでプログラム行をステップ(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
于 2011-11-28T09:16:42.980 に答える
0

書き込み WREN フラグを有効にする前に、EECON1 の EEPGD フラグを設定/クリアして、プログラム メモリ (フラッシュ) に書き込むか、EEPROM に書き込むかを指定する必要があります。

于 2014-12-27T20:09:25.093 に答える