我在使用12F519读写内部flash 数据区时,按照规格书给的例程,发现结果异常,现象如下:
规格书上给的例程: 读数据: bsf FSR,5 movlw 0 ;LOAD ADDRESS TO READ bsf EECON,RD ;INITITATE THE READ INSTRUCTION nop ;INSTRUCTION IGNORED movf EEDATA,W ;GET NEW DATA
这个例程看起来不对,没有用到EEADR, 执行起来也无法读到正确结果 我把它改写成: bsf FSR,5 movlw 0 ;LOAD ADDRESS TO READ movwf EEADR bsf EECON,RD ;INITITATE THE READ INSTRUCTION nop ;INSTRUCTION IGNORED movf EEDATA,W ;GET NEW DATA
可是执行起来还是不对,尽管已经把FSR,5置位了,movwf EEADR 指令执行的结果是把PORTB口清零了。EEADR 和PORTB是在RAM bank0 和1相对应的两个寄存器,难道是 bsf FSR,5 指令没有发挥作用?
我以上的这个例程在MPLAB里仿真是正常的,烧在芯片里运行的结果不正常,百思不得其解,不知哪位兄弟能给解释一下?谢谢了!
|