当前位置:首页 > 单片机 > 单片机
[导读]读写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 0x

读写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  

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

在现代电子设备中,电可擦可编程只读存储器(EEPROM)凭借其独特的存储特性,被广泛应用于各类需要非易失性数据存储的场景。从智能电表、工业控制系统到消费电子产品,EEPROM 承担着存储关键配置信息、校准数据以及用户个性...

关键字: 只读存储器 数据存储 EEPROM

在嵌入式系统和存储设备领域,Flash和EEPROM(电可擦可编程只读存储器)因其非易失性存储特性而被广泛应用。这些存储设备能够在断电后保持数据,对于需要长期保存配置参数、程序代码或用户数据的应用来说至关重要。然而,关于...

关键字: Flash EEPROM

在现代电子制作和嵌入式系统开发中,四位数码管数字秒表是一个经典且实用的项目。它不仅能够展示时间计数的功能,还能作为学习数码管显示、微控制器编程以及中断处理等知识的良好实践。本文将详细介绍一个基于STM32微控制器的四位数...

关键字: 四位数码管 数字秒表 源程序

伦敦2024年10月24日 /美通社/ -- 根据最新的GSMA "2024年移动互联网连接状况" 报告,全球43%的人口(相当于34.5亿人)...

关键字: 移动互联网 GSMA BSP 读写

深圳2024年8月22日 /美通社/ -- 对于消费级SSD来说,性能一直是用户最为关注的重要指标之一。高性能不仅是提升数据处理速度的关键,更是支撑AI模型训练、大数据分析及高负载应用的基础,尤其是在AI应用加速落地背景...

关键字: SSD 测试 读写 IO

在嵌入式系统中,诸如变频器和伺服驱动器等工业应用,乃至CD播放器等众多消费电子产品,都需要保存最近的用户设置,在下次上电后加载使用。如果使用MCU内置Flash,一般擦写次数限制在10k次,无法满足寿命和耐久性要求,所以...

关键字: MSP EEPROM

在嵌入式系统开发中,EEPROM(电可擦可编程只读存储器)常用于存储需要持久保存的数据。然而,当在S32DS(一款常用于嵌入式系统开发的集成开发环境)上结合FreeRTOS(一个实时操作系统)进行开发时,可能会遇到仿真E...

关键字: 嵌入式 S32DS EEPROM
关闭