资讯详情

【STC15库函数上手笔记】10、EEPROM

目录

  • 硬件知识
  • 软件知识
    • EEPROM多字节读函数
    • EEPROM多字节写函数
    • EEPROM风扇区域擦除函数函数
  • 测试
    • main.c
    • 实验现象

STC实验箱4 IAP15W4K58S4 Keil uVision V5.29.0.0 PK51 Prof.Developers Kit Version:9.60.0.0


硬件知识

基本介绍

摘自《》 STC15系列单片机集成了大容量EEPROM,它与程序空间分开。利用ISP/IAP技术可将内部Data Flash当EEPROM,擦写次数超过10万次。EEPROM可分为多个扇区,每个扇区包含512字节。使用时,建议将同一次修改的数据放在同一扇区,而不是同一次修改的数据放在不同的扇区,不一定要用满。根据风扇区域进行数据存储器的擦除操作。 EEPROM它可以用来保存一些参数数据,需要在应用过程中修改,不会丢失。在用户程序中,可以EEPROM擦除字节读/字节编程/扇区。工作电压Vcc如果偏低,建议不要进行EEPROM/IAP操作。 :电源控制寄存器 在这里插入图片描述 :低压检测标志位,工作电压Vcc当低于低压检测门槛电压时,该位置为1。当低压检测电路发现工作电压时,软件应清除此位置Vcc低的时候,不要做EEPROM/IAP操作。 5V单片机低压检测门槛电压: 3.3V单片机低压检测门槛电压:

软件知识

摘自《

EEPROM多字节读函数

EEPROM多字节写函数

EEPROM风扇区域擦除函数函数

测试

main.c

#include "./Drivers/config.h" #include "./Drivers/delay.h"  #include "./Drivers/GPIO.h" #include "./Drivers/EEPROM.h"  void GPIO_config(void) { 
          GPIO_InitTypeDef GPIO_InitStructure;     //结构定义  GPIO_InitStructure.Mode = GPIO_OUT_PP;     //指定IO输入或输出方式,GPIO_PullUp,GPIO_HighZ,GPIO_OUT_OD,GPIO_OUT_PP  GPIO_InitStructure.Pin  = GPIO_Pin_6 | GPIO_Pin_7;  //指定初始化IO, 或操作  GPIO_Inilize(GPIO_P4,&GPIO_InitStructure);    ///
}

void main(void)
{ 
        
	char test[2] = { 
        0};

	GPIO_config();

	EEPROM_read_n(0x1234, test, 2);
	if(test[0] == 'O' && test[1] == 'K')
	{ 
        
		P47 = 0;
		while(1);
	}
	else
	{ 
        
		EEPROM_SectorErase(0x1234);
		EEPROM_write_n(0x1234, "OK", 2);
		P46 = 0;
		while(1);
	}
}

实验现象

第一次运行时没有数据,点亮LED10,重启后已有数据,点亮LED9。

标签: 二极管tv02w101b

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

 锐单商城 - 一站式电子元器件采购平台  

 深圳锐单电子有限公司