RP0 ;选定体3
BCF EECON1,EEPGD ;选定EEPROM为访问对向
BSF EECON1,WREN ;开放写操作使能控制
MOVLW 55H ;
MOVWF EECON2 ;送55H到寄存器EECON2(读写内部EEPROM,这句是固定的)
MOVLW 0AAH ;
MOVWF EECON2 ;送AAH到寄存器EECON2(读写内部EEPROM,这句是固定的)
BSF EECON1,WR ;启动写操作
BCF EECON1,WREN ;禁止写操作发生
INCF DATA1,F ;数据递增
INCF ADDR,F ;地址递增
MOVF ADDR,W ;
XORLW D'64' ;将当前地址与64比较
BTFSS STATUS,Z ;检测=64否
GOTO WRITE ;否!继续写后面单元
READ1
DECF ADDR,F ;地址递减
BCF STATUS,RP0 ;选体2为当前体
BSF STATUS,RP1 ;
MOVF ADDR,W ;取地址
MOVWF EEADR ;送地址寄存器
BSF STATUS,RP0 ;选体3为当前体
BCF EECON1,EEPGD ;选定EEPROM为访问对象
BSF EECON1,RD ;启动读操作
BCF STATUS,RP0 ;体2为当前体
MOVF EEDATA,W ;取数据
BCF STATUS,RP1 ;体0为当前体
MOVWF PORTC ;送显LED
CALL DELAY ;调用廷时子
程序
MOVF ADDR,F ;检测当前地址
BTFSS STATUS,Z ;是否为0?是!跳一步
GOTO READ1 ;否!返回继续读出和显示
READ2
INCF ADDR,F ;地址递增
BCF STATUS,RP0 ;选体2为当前体
BSF STATUS,RP1 ;
MOVF ADDR,W ;取地址
MOVWF EEADR ;送地址寄存器
BSF STATUS,RP0 ;选体3为当前体
BCF EECON1,EEPGD ;选定EEPROM为访问对象
BSF EECON1,RD ;启动读操作
BCF STATUS,RP0 ;体2为当前体
MOVF EEDATA,W ;取数据
BCF STATUS,RP1 ;体0为当前体