打印

pic EEPROM读写问题

[复制链接]
2272|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
jwwhy|  楼主 | 2009-11-14 16:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
最近学习到PIC单片机的EEPROM的读写操作,想在EEPROM的地址00H中写入20H这个数,然后再读出来到端口显示,但是操作后无反映,请大家帮忙.
;**************************************************
LIST  P=16f877
#INCLUDE <P16f877.INC>   
__1EB9h;
;***************************************
ADDR   equ      170h
VALUE   equ     171h
COUNT1  equ     172h
COUNT2  equ     173h
EEDATA  equ     10ch
EECON1  equ     18ch
EECON2  equ     18dh
EEADR   equ     10dh
INTCON  equ     0bh
PORTB   equ     06h
TRISB   equ     86h
;**************************************************
           ORG  000H
           NOP
           GOTO  MAIN
           ORG   0005H
MAIN:     
           BANKSEL TRISB
           MOVLW  0x00
           MOVWF  TRISB   
;**********************写EEPROM************************           
WRITE:
           BANKSEL EECON1  
           BTFSS   EECON1,WR  
           GOTO    $-1
           BANKSEL EEADR
           MOVLW    00h
           MOVWF    ADDR  ;EEPROM指定单元(00H)地址送ADDR
           MOVLW    20h
           MOVWF    VALUE ;立即数送VALUE
           MOVF     ADDR,w
           MOVWF    EEADR
           MOVF    VALUE,w
           MOVWF   EEDATA
           BANKSEL  EECON1
           BCF       EECON1,EEPGD
           BSF     EECON1,WREN
           BCF     INTCON,GIE
           MOVLW   0x55
           MOVWF   EECON2
           MOVLW   0xAA
           MOVWF    EECON2
           BSF      EECON1,WR
           BSF     INTCON,GIE
           BCF     EECON1,WREN
  HH:      BTFSS   INTCON,EEIF  ;判断是否写EEPROM操作完成
           GOTO    HH
  ;*****************读EEPROM**********************
READ:      
           BANKSEL   EEADR   
           MOVF     ADDR,w   ;把EEPROM的地址送EEADR (00H)
           MOVWF    EEADR
           BANKSEL  EECON1
           BCF      EECON1,EEPGD
           BSF      EECON1,RD
           BANKSEL   EEDATA
           MOVF      EEDATA,W   ;取出上面写到EEPROM的数据(20H)
           BANKSEL   PORTB
  YY       MOVWF     PORTB      ;送到PORTB口显示
           GOTO      YY
           
;*************************************
             END

相关帖子

沙发
chen3bing| | 2009-11-14 18:24 | 只看该作者
BANKSEL EECON1  
           BTFSS   EECON1,WR  
           GOTO    $-1
上面三句去掉。
还有,HH:      BTFSS   INTCON,EEIF  ;判断是否写EEPROM操作完成
上面一句有问题。

使用特权

评论回复
板凳
jwwhy|  楼主 | 2009-11-16 07:53 | 只看该作者

我去试试看
另外HH:      BTFSS   INTCON,EEIF  ;判断是否写EEPROM操作完成
上面一句有问题。
是这句吗? BCF     EECON1,WREN

使用特权

评论回复
地板
chen3bing| | 2009-11-16 09:08 | 只看该作者
BTFSS   INTCON,EEIF  
这一句有问题。
INTCON没有EEIF这一位。
PIR2才有。

使用特权

评论回复
5
jwwhy|  楼主 | 2009-11-16 16:28 | 只看该作者
试过了,还是没有反映?

郁闷,不知道那里有问题了 ?
我上面写的程序其他地方还有没有 什么问题啊  ?

使用特权

评论回复
6
chen3bing| | 2009-11-16 16:46 | 只看该作者
我用PROTEUS软件试过了,改了以上两个毛病后,可以的。
要不然就是硬件有问题。

使用特权

评论回复
7
jwwhy|  楼主 | 2009-11-19 16:03 | 只看该作者
硬件没有问题,但是就是发现没有反映!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

83

主题

281

帖子

0

粉丝