新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 读写PIC18F452炔EEPROM的源程序实例

读写PIC18F452炔EEPROM的源程序实例

作者:时间:2012-08-12来源:网络收藏

本文引用地址:http://www.eepw.com.cn/article/171048.htm

list p=18f452
#i nclude P18F452.INC>
;
;---- 18F452 RAM LOCATIONS ------
Data_EE_Addr EQU 0X000
Data_EE_Data EQU 0X001
_Buffer equ 0x02
;--------VECTORS------------

org 0x00
bra START

;-------PROGRAM--------------

org 0x20
START
rcall INIT
;
;---- Test the WRITE Routine ----
;
clrf Data_EE_Addr ; set EEPROM start address at 0x00
movlw '0' ; Load a ASCII code 0 to W
movwf Data_EE_Data
EE_Write
rcall IN_DATA_EEW
incf Data_EE_Data,F ; 0x30+ N
incf Data_EE_Addr,F ; Point to next EEPROM Address
btfss Data_EE_Addr,5 ; Write 32 bytes ?
goto EE_Write
;
;---- Test the READ EEPROM Routine ----
;
clrf FSR0H ; Set RAM point to 0x010
movlw 0x10
movwf FSR0L
;
clrf Data_EE_Addr
EE_Read
rcall READ_EEPROM
movwf POSTINC0 ; move W --> RAM then point + 1
;
incf Data_EE_Addr,F ; Point to next EEPROM Address
btfss Data_EE_Addr,5 ; Read 32 bytes ?
goto EE_Read
;
LSTOP
GOTO LSTOP
;
;------ INTERNAL EEPROM READ ------
;
READ_EEPROM
movff Data_EE_Addr,EEADR
;
; bcf INTCON,GIE
bcf EECON1,EEPGD
bsf EECON1,RD
movf EEDATA,W
; bsf INTCON,GIE
return
;
;----INTERNAL EEPROM WRITE-----
;
IN_DATA_EEW
movff Data_EE_Addr,EEADR
movff Data_EE_Data,EEDATA
;
BCF EECON1,EEPGD
BCF EECON1,CFGS ; There are difference with data sheet

; BCF INTCON,GIE

BSF EECON1,WREN
;
MOVLW 0X55
MOVWF EECON2
MOVLW 0XAA
MOVWF EECON2
BSF EECON1,WR
;
; BSF INTCON,GIE

LOOP1 BTFSS PIR2, EEIF
GOTO LOOP1
;
BCF EECON1,WREN
BCF PIR2,EEIF

RETURN

;---------INITIAL----------------
INIT
BCF PIR2,EEIF
BCF PIE2,EEIE
RETURN
;--------------------------------
END



评论


相关推荐

技术专区

关闭