《电子技术应用》
您所在的位置:首页 > 嵌入式技术 > 解决方案 > 读写PIC18F452內部EEPROM的实例源程序

读写PIC18F452內部EEPROM的实例源程序

2009-01-16
关键词: EEPROM 源代码

读写PIC18F452內部EEPROM的实例源程序

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

  org  0x00  
        bra     START

;-------PROGRAM--------------
  
        org  0x20
START
        rcall   INIT
;
;----   Test the WRITE EEPROM 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  

本站内容除特别声明的原创文章之外,转载内容只为传递更多信息,并不代表本网站赞同其观点。转载的所有的文章、图片、音/视频文件等资料的版权归版权所有权人所有。本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如涉及作品内容、版权和其它问题,请及时通过电子邮件或电话通知我们,以便迅速采取适当措施,避免给双方造成不必要的经济损失。联系电话:010-82306118;邮箱:aet@chinaaet.com。