英锐恩单片机论坛,Microchip单片机,模拟器件,接口电路,麦肯单片机,单片机应用交流

 找回密码
 立即注册
搜索
电子烟方案单片机单片机开发深圳单片机开发
单片机方案国产单片机8位单片机电子烟方案开发
查看: 3109|回复: 0
打印 上一主题 下一主题

读写PIC18F452单片机內部EEPROM的实例

[复制链接]
跳转到指定楼层
1#
发表于 2009-5-6 10:11:17 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
list        p=18f452
                   #include        <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
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|公司首页|Microchip单片机,模拟器件,接口电路,麦肯单片机,单片机应用交流 ( 粤ICP备09008620号 )

GMT+8, 2024-4-26 04:10 , Processed in 0.053262 second(s), 22 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表