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