PIC16F676内部读EEPROM程序

分别写数据9和6到地址0和7,然后读出并显示。请教其中原因。很奇怪的!
         .
         .
    BSF    STATUS,RP0
         CLRF    EEADR        ;地址0
    MOVLW    .9
    MOVWF    EEDAT        ;待写数据是9
    BSF    EECON1,WREN    ;使能写
    MOVLW    0X55
    MOVWF    EECON2
    MOVLW    0XAA
    MOVWF    EECON2
    BSF    EECON1,WR        ;开始写
    NOP
    NOP        ;几个NOP是另加的,怕对以下操作有影响
    MOVLW    .7
    MOVWF    EEADR        ;地址7
    MOVLW    .6
    MOVWF    EEDAT        ;待写数据是6
    MOVLW    0X55
    MOVWF    EECON2
    MOVLW    0XAA
    MOVWF    EECON2
    BSF    EECON1,WR
    NOP
    BCF    EECON1,WREN    ;禁止写

    MOVLW    .0        ;地址0
    MOVWF    EEADR
    BSF    EECON1,RD        ;读
    MOVF    EEDAT,W       ;此处仿真W的内容是9, 实际读出也是9
    .
    .            ;显示以及延时程序
    .    
         MOVLW    .7        ;地址7
    MOVWF    EEADR        
    BSF    EECON1,RD        ;读
    MOVF    EEDAT,W    ;此处仿真W的内容是6, 但实际运行, 读出是9
    .
    .
  

你可能感兴趣的:(PIC16F676内部读EEPROM程序)