STC89C52内部自带了4K大小的EEPROM,地址是从2000H~2FFFH。写操作主要是编程和擦除。如果某个字节是“1111,1111B” ,则可将其中的“1”编程为“0” ,如果该字节中有位为“0” ,则须先将整个扇区擦除,因为只有“扇区擦除”才可以将“0”变为“1”。因此我们说,这不是真正意义上的EEPROM,称之为Data Flash更为合理。
几个相关的功能寄存器:
以下是几个操作函数,供大家参考:
void ISP_Enable()
{
EA_S=EA;
EA=0;
ISP_CONTR=0x82;
}
void ISP_Disable()
{
ISP_CONTR=0;
ISP_CMD=0;
ISP_TRIG=0;
ISP_ADDRH=0xff;
ISP_ADDRL=0xff;
EA=EA_S;
}
void STC_EEPROM_Erase(uint addr)
{//擦除
ISP_ADDRL=addr&0x00ff;
ISP_ADDRH=addr>>8;
ISP_Enable();
ISP_CMD=ISP_ERASE;
ISP_TRIG=ISP_TRIG0;
ISP_TRIG=ISP_TRIG1;
_nop_();
ISP_Disable();
}
void STC_EEPROM_Write(uint addr,uchar dat)
{
ISP_DATA=dat;
ISP_ADDRL=addr&0x00ff;
ISP_ADDRH=addr>>8;
ISP_Enable();
ISP_CMD=ISP_PROGRAM;
ISP_TRIG=ISP_TRIG0;
ISP_TRIG=ISP_TRIG1;
_nop_();
ISP_Disable();
}
uchar STC_EEPROM_Read(uint addr)
{
ISP_ADDRL=addr&0x00ff;
ISP_ADDRH=addr>>8;
ISP_Enable();
ISP_CMD=ISP_READ;
ISP_TRIG=ISP_TRIG0;
ISP_TRIG=ISP_TRIG1;
_nop_();
ISP_Disable();
return(ISP_DATA);
}
关键字:STC89C52 EEPROM
引用地址:
STC89C52内部的EEPROM
推荐阅读最新更新时间:2024-03-16 14:40
[51单片机] EEPROM 24c02 [I2C代码封装-保存实现流水灯]
这里把EEPROM 24c02封装起来,今后可以直接调用,其连线方式为:SDA-P2.1;SCL-P2.0;WP-VCC _ :i2c.c 1 /*----------------------------------------------- 2 名称:IIC协议 3 内容:函数是采用软件延时的方法产生SCL脉冲,固对高晶振频率要作 一定的修改....(本例是1us机器 4 周期,即晶振频率要小于12MHZ) 5 ------------------------------------------------*/ 6 #include i2c.h 7 #define _Nop() _nop_() //定
[单片机]
基于I2C串行通信的EEPROM在电视中的设计应用
1 前言
近年来,数字化电视技术迅猛发展,特别是遥控系统的面市,各厂商在电视机中加人微处理器(MCU),各种人工智能化彩电完全替代了老式电视手动(机械式)控制和记忆方式。随着电视专用MCU功能日益强大,用户使用的功能日趋丰富,所需存储的数据和刷新速度不断提高,先后涌现出各种型号和规格的存储器。目前,电视机中应用最为广泛的是E2PROM。
因为E2PROM保存着大量与电视机工作状态密切相关的数据,其可靠性就遥控电视而言至关重要,视为第二核心器件。E2PROM与第一核心器件 (MCU)保持通信,并存储电视机的工作信息。有时由于存储数据的丢失造成重大损失,甚至导致数据无法修复。因此,在电视系统中,对于系统数据和
[嵌入式]
意法半导体(ST)世界首款汽车级2Mbit EEPROM
意法半导体(STMicroelectronics,简称ST)推出业界首款通过AEC-Q100认证的2Mbit EEPROM芯片,为复杂的汽车系统模块存储及管理参数提供更多的应用机会。
提升混合动力汽车、电动汽车或重型卡车发动机功率转换效率和环保性能需要大量使用各种参数,包括进气量、燃油喷射、废气排放量或电池充电信息。同样地,各种汽车安全应用包括安全气囊、行车记录仪或制动控制器,均需要存储并处理大量输出参数以执行物体检测、3轴运动感测、车轮速度及转向角度等。
意法半导体新款M95M02 EEPROM芯片兼备大存储容量、更多复写次数和数据保留性能(每字节400万擦写次数、最高10MHz时钟频率,长达10
[嵌入式]
一种基于GPRS通信的车辆检测器的设计与实现
0 引言 随着人们汽车拥有量的快速增长,城市交通拥堵问题已不容忽视。为了了解道路上车辆行驶、拥堵等情况,加上信息技术的迅猛发展, 智能交通 系统(ITS)应运而生。通过掌握道路上车辆行驶的情况,采取相应的措施可极大地改善城市的交通状况。而能联网的交通信号机在此起着至关重要的作用,但是现有的交通信号机的联网存在以下一些问题: (1)一边是交通信号机与交通指挥中心联网都采用基于CAN总线、TCP/IP以太网的有线等方式的联网;另一边是还有部分老式的信号机的控制部分是单片机,联网困难。这是由于单片机的硬件资源和处理能力有限,这样对信号机与上位机通信的网络数据的处理就成为一个很大的难题。 (2)网络的快速普及,
[单片机]
AT24C128 EEPROM的读写
记录AT24C128 eeprom的多字节读写 #define _EEPROM_DEBUG_LEVEL 0 #if _EEPROM_DEBUG_LEVEL == 1 #defineEEPROM_DEBUG(fmt,args...) do{ \ printf(fmt,##args);\ }while(0) #elif _EEPROM_DEBUG_LEVEL == 2 #defineEEPROM_DEBUG(fmt,args...) do{ \ printf( %s:line:%d- ,__FUNCTION__,__LIN
[单片机]
EEPROM,在项目中我一般会做几项特殊操作
类似AT24C0x这类使用I2C读写的EEPROM,相信很多人都使用过。但后台还是有很多相关的问题,今天写点相关内容给大家。 1I2C读写EEPROM基础原理 市面上大部分使用I2C通信的EEPROM,控制时序和读写流程都相同,或类似。我们最常见的就是AT24C0x这类EEPROM。 I2C通信原理,这个问题关注我较早的朋友看过我分享的内容,应该很多使用MCU进行底层开发,或者学习底层的朋友都知道I2C通信原理。 如果还有不明白I2C通信基础的朋友,可以回看一下我之前分享的文章: 1.STM32F10x_模拟I2C读写EEPROM 2.STM32F10x_硬件I2C读写EEPROM
[单片机]
一种简单实用的STC89C52RC编程器设计方案
1 引言 STC(宏晶科技)公司推出的STC 89C/S 51XX/52XX 等系列单片机,具有价格便宜、无法解密、低功耗、高速、高可靠、强抗静电、强抗干扰等优点,其指令代码完全兼容传统8051 单片机,片内资源非常丰富,且均内置可反复擦写的Flash 存储器,并提供了ISP(In-System Programming)编程模式。STC89C52RC 作为STC 89C/S51XX/52XX 系列单品机的一个典型代表,其特征主要有,8K 字节可编程闪烁存储器、1000 次写/ 擦循环寿命、10 年的数据保留时间、三级程序存储器锁定、512 内部RAM、32 可编程I/O 线、两个16 位定时器/ 计数器、5 个中断源、可编程串
[电源管理]
采用STC89C52RC的汽车LED中网扫描灯设计
本文介绍一款汽车中网扫描灯的设计制作方法。它主要采用了常见的STC89C52RC单片机作为主控制器,采用光电耦合器进行信号转换,用市场上采购的食人鱼LED灯条改装成八组LED扫描灯。能够产生拖尾和呼吸等效果,还可以进行底盘灯和无线遥控等功能的扩展。 1 系统构成 本系统由高亮LED灯条、汽车中网扫描灯控制器构成。控制器中又包含逻辑控制(单片机最小系统)部分、电源供电部分、电源驱动部分和电路延时部分。具体框图如图1所示。 图1 系统框图 2 线路设计 图2是本设计的逻辑控制部分,采用经典的8051单片机最小系统,型号为STC89C52RC,STC系列的单片机最方便的是只留出P3.0及P3.1
[单片机]