1.概述

STC12C5A60S2单片机可以使用ISP/IAP技术可将内部Data Flash作为EEPROM使用,EEPROM可以分为多个扇区,每个扇区包含512字节,STC12C5A60S2包含两个扇区。

2.IAP寄存器介绍

IAP_DATA:

数据寄存器,从Flash读出与写入数据都使用此寄存器。

IAP_ADDRH:
地址寄存器,高八位。

IAP_ADDRL:
地址寄存器,低八位。

IAP_CMD:
命令寄存器,指定对Flash区进行读/写/擦除操作

IAP_TRIG:
命令触发寄存器,操作命令时用于触发寄存器,对此寄存器先写入5Ah,再写入A5h,IAP命令才会生效。

IAP_CONTR
控制寄存器,使能IAP读写操作。

3.写EEPROM

void IapProgramByte(unsigned int addr, unsigned char dat){IAP_CONTR = ENABLE_IAP;       // 打开IAP方法IAP_CMD = CMD_PROGRAM;        // 设置写命令IAP_ADDRL = addr;             // 设置低八位地址IAP_ADDRH = addr >> 8;        // 设置高八位地址IAP_DATA = dat;               // 写数据IAP_TRIG = 0x5A;              // 设置触发命令IAP_TRIG = 0xa5;              // 设置触发命令_nop_();IapIdle();                    // 关闭方法
}

4.读EEPROM

unsigned char IapReadByte(unsigned int addr){unsigned int dat;IAP_CONTR = ENABLE_IAP;       // 打开IAP方法IAP_CMD = CMD_READ;           // 设置读命令IAP_ADDRL = addr;             // 设置低八位地址IAP_ADDRH = addr >> 8;        // 设置高八位地址IAP_TRIG = 0x5A;              // 设置触发命令IAP_TRIG = 0xa5;              // 设置触发命令_nop_();dat = IAP_DATA;               // 读取数据IapIdle();                    // 关闭方法return dat;
}

5.擦除EEPROM扇区

void IapEraseSector(unsigned int addr){IAP_CONTR = ENABLE_IAP;       // 打开IAP方法IAP_CMD = CMD_ERASE;          // 设置写擦除令IAP_ADDRL = addr;             // 设置低八位地址IAP_ADDRH = addr >> 8;        // 设置高八位地址IAP_TRIG = 0x5A;              // 设置触发命令IAP_TRIG = 0xa5;              // 设置触发命令_nop_();IapIdle();                    // 关闭方法
}

由于STC12C5A60S2使用的是Flash,所以进行写操作的时候只能将0置为1,无法将1置为0,所以在更新数据的时候,先要进行擦除操作,才可以进行写操作。
由于擦除操作是对整个扇区进行擦除的,所以在进行写数据的时候,需要对整个扇区的数据进行缓存,在擦除完成之后进行整个扇区写数据。

6.实例代码下载

EEPROM的应用示例代码(github)

STC12C5A60S2的EEPROM应用相关推荐

  1. 基于射频RFID智能刷卡门禁系统设计(毕设课设)

    1.用户密码以及IC卡号和IC卡刷入序列号,保存到STC12C5A60S2的EEPROM中,实现掉电数据保存功能. 2.支持非接触式IC卡授权功能,可连续授权(授权需输入管理员密码程序默认" ...

  2. java门禁系统设计流程图_RFID门禁系统代码+pcb+流程图+论文+参考资料

    如有疑问可联系QQ525658917 测试视频链接: 一.实现功能:存储5张IC卡 1.用户密码以及IC卡号和IC卡刷入序列号,保存到STC12C5A60S2的EEPROM中,实现掉电数据保存功能. ...

  3. LCD1602,4位数据总线液晶屏时钟,STC12C5A60S2的10位ADC功能程序

    /* 程序名: LCD1602,4位数据总线液晶屏时钟,STC12C5A60S2的10位ADC功能程序 编写时间: 2015年10月4日 硬件支持: LCD1602液晶屏 STC12C5A60S2 外 ...

  4. STC12C5A60S2片内存储器介绍

    STC12C5A60S2内部集成RAM 1280字节,其中 内部RAM(data):256 Byte 内部扩展RAM(xdata):1024 Byte 支持片外扩展RAM: 64kB STC12C5A ...

  5. ROM、PROM、EPROM、EEPROM、RAM、SRAM、DRAM的区别

    平时对于这些个相近的名词一看到就头疼,看了这篇文章后豁然开朗!!! 在微机的发展初期,BIOS都存放在ROM(Read Only Memory,只读存储器)中.ROM内部的资料是在ROM的制造工序中, ...

  6. 简介nandflash、norflash、ram、sram、dram、rom、eeprom、flash的区别

    1.nandflash     Nandflash是IO设备,数据.地址.控制线都是共用的,需要软件区控制读取时序, 所以不能像nor flash.内存一样随机访问,不能EIP(片上运行),因此不能直 ...

  7. linux除了eeprom其他的保存方法,linux的EEPROM的读写控制.doc

    毕业设计[论文]题目:基于linux的EEPROM的读写控制毕业论文(设计)原创性声明 本人所呈交的毕业论文(设计)是我在导师的指导下进行的研究工作及取得的研究成果.据我所知,除文中已经注明引用的内容 ...

  8. 10.STM32中用I2C接口发送数据到EEPROM寄存器在从此寄存器读数据

    10.STM32中用I2C接口发送数据到EEPROM寄存器在从此寄存器读数据.

  9. 读写EEPROM遇到的问题:16位地址的内容都是最后写入的数据。

    #define EE_TYPE AT24C64 如下图所示,往EEPROM的地址0x1000.0x1001.0x1002和0x1003分别写入0xAA.0xBB.0xCC和0xDD,读出来的数据都是最 ...

  10. EEPROM存储器--AT24CXX

    AT24CXX介绍: 目前,市场上I2C总线接口器件有多种,利于A/D转换器.D/A转换器.时钟芯片和存储器等.这里以典型的I2C总线接口为例进行介绍. I2C总线接口EEPROM存储器是一种采用I2 ...

最新文章

  1. c#链接操作mysql数据库代码_c#连接mysql数据库 代码
  2. Xamarin XAML语言教程基本页面ContentPage占用面积内容页面的派生关系与属性
  3. NTU 课程笔记:MAS714(9) 动态规划
  4. 若依项目linux部署
  5. 校园职业社交Handshake获1005万美金A轮融资
  6. 同时满足两个条件怎么写_2020年宅基地确权需满足哪些条件?可以写几个人的名字?...
  7. 每天一道LeetCode-----从有序数组中删除重复元素
  8. QT显示框架嵌入Vs控制台工程
  9. linux内存管理的主要概念是虚拟内存,你知道linux内存管理基础及方法?
  10. python canvas画移动物体_Python GUI编程入门(25)-移动Canvas对象
  11. C语言 socket 编程学习
  12. 一个励志PM小哥哥的Java转型之路
  13. Teleport Ultra 抓包工具
  14. AI人脸识别真的成熟了吗?读完这篇你就懂了
  15. python实现安卓点击_python模拟点击在ios中实现的实例讲解
  16. 【Unity开源项目精选】AssetStudio:提取Unity游戏的资源
  17. 谁说大龄程序员不能学 Java?
  18. 各种SQL数据库的数据类型
  19. 看不出svp补帧_SVP4免费版|SVP4(视频补帧软件)下载v4.2.0.122免费版 附教程 - 欧普软件下载...
  20. Large Scale Spectral Clustering with Landmark-Based Representation

热门文章

  1. 使用阿里云ESC服务器的时候域名解析成功为何打不开网站?
  2. 问道法宝升级经验统计
  3. shell编程阶段性总结+几个shell脚本实例
  4. win7计算机设置成不黑屏,教你win7开机黑屏
  5. 应用案例 | 2011款保时捷卡宴3.0T车发动机怠速间歇性抖动故障诊断
  6. Java异常处理中throw与throws的用法区别
  7. shel文件生成和执行
  8. 淘宝API-item_search - 按关键字搜索淘宝商品
  9. 为求一层栈,追踪八万里
  10. linux硬盘组合为raid0挂载