今天我给大家讲一下EEPROM的使用,该内存采用的是IIC通讯,所有我们要有一个IIC驱动程序,或者自己写一个,我前面写过一个,我这里就不写了。
那么下面我写一个开机计数的程序吧,这里需要显示出来。这里我选择数码管显示,数码管驱动前面也有,我就直接用了
unsigned char read_eeprom(unsigned char add)
{
unsigned char d;
IIC_Start();
IIC_SendByte(0xa0); //发送器件地址
IIC_WaitAck();
IIC_SendByte(add);//发送要操作的地址
IIC_WaitAck();
IIC_Start();
IIC_SendByte(0xa1);//发送读操作
IIC_WaitAck();
d=IIC_RecByte();//读一字节
IIC_Ack(0);
IIC_Stop();
return d;
}
void write_eeprom(unsigned char add,unsigned char d)
{
IIC_Start();
IIC_SendByte(0xa0);//发送器件地址
IIC_WaitAck();
IIC_SendByte(add);//发送操作地址
IIC_WaitAck();
IIC_SendByte(d);//写一字节
IIC_WaitAck();
IIC_Stop();
delay(10); //写好后要延时一会
}
void kai_com() //开机计数函数
{
unsigned char com=0;
com=read_eeprom(0x00);//从0x00地址读取数据
dsbuff[6]=com/10%10; //数码管显示2位
dsbuff[7]=com%10;
com++;
write_eeprom(0x00,com); //写到0x00
}
关键字:CT107D 蓝桥杯 EEPROM
引用地址:
CT107D蓝桥杯EEPROM使用(8)
推荐阅读最新更新时间:2024-11-03 10:47
I2C之知(六)--s3c2440用I2C接口访问EEPROM
在前面阅读理解了I2C的官方协议文档后,就拿s3c2440和EEPROM来验证一下. 本来是想用s3c2440的SDA和SCL管脚复用为GPIO来模拟的,但在没有示波器的情况下搞了一周,怎么都出不来,最后还是放弃了.甚至参考了linux下i2c-algo-bit.c和i2c-gpio.c,依然没调出来.如果有示波器,可能很快就能找到原因,现在完全不知道问题出在哪里.其实想用GPIO模拟I2C的目的很简单,以一种简单而又深刻的方式来理解I2C. 既然这条路暂时没法走,退而求其次,用s3c2440的I2C接口来访问EEPROM,只要按照datasheet的来做,基本上不用考虑时序咯. 从s3c2440
[单片机]
PIC内部EEPROM的操作
1.方法一: PIC内部EEPROM的操作 //-------------------------------------------------------- //EEPROM字节写程序 //功能: 写一个字节到内部EEPROM //入口: EEADR =地址 // EEDATA =数据 //-------------------------------------------------------- void write_eeprom ( void ) { // while ( WR ) //等待上一次写操作结束 // { // asm ( clrwdt ); //喂狗 // } EEPGD = 0 ; /
[单片机]
采用EEPROM对大容量FPGA芯片数据实现串行加载
摘要: 通过对比多种FPGA数据加载方式,从可靠性、经济性及PCB设计等几个方面说明了串行加载的优越性,分析了目前串行加载所面临的问题。为解决串行加载新面临的问题,提出了采用EEPROM与9500系列CPLD相结合实现串行加载的构想,并通过实际设计,成功地实现了该构想。
关键词: FPGA CPLD EEPROM 并-串转换
自大规模现场可编程逻辑器件问世以来,先后出现了两类器件,一类是基于SRAM体系结构的FPGA系列,如XILINX公司4000系列和最新的Virtex系列;另一类 基于fastFLASH技术的CPLD器件,如XILINX公司9500系列和Lattic公司的ispLSx
[半导体设计/制造]
单片机EEPROM单字节读写操作时序
EEPROM 写数据流程 第一步,首先是 I2C 的起始信号,接着跟上首字节,也就是我们前边讲的 I2C 的器件地址,并且在读写方向上选择“写”操作。 第二步,发送数据的存储地址。24C02 一共 256 个字节的存储空间,地址从 0x00~0xFF,我们想把数据存储在哪个位置,此刻写的就是哪个地址。 第三步,发送要存储的数据第一个字节、第二个字节„„注意在写数据的过程中,EEPROM 每个字节都会回应一个“应答位 0”,来告诉我们写 EEPROM 数据成功,如果没有回应答位,说明写入不成功。 在写数据的过程中,每成功写入一个字节,EEPROM 存储空间的地址就会自动加 1,当加到 0xFF 后,再写一个字节,地址
[单片机]
蓝桥杯单片机设计与开发笔记(三)
数码管显示几乎是每次蓝桥杯单片机设计与开发组竞赛的必考部分,相对于使用LCD1602作为显示设备,使用数码管来显示能够更好的考察参赛选手的单片机基本功,因为CT107D开发平台的设计使得数码管的显示不仅牵扯到数码管显示的 基本内容,还涉及到74HC573锁存器,74HC02异或门,74HC138译码器,以及中断的知识,所以这是值得我们重视的一个部分。 一、原理分析 根据CT107D的原理图我们可以看出,数码管显示同样涉及到74HC573、74HC138和74HC02,这与上一节中的LED灯、继电器和蜂鸣器的控制大同小异。如下图,蓝色标注为位选控制端口,由锁存器U6来控制,需配置红色标注的Y6C来控制锁存;黄色标注为段选控制端口
[单片机]
嵌入式stm32学习:I2C-读写EEPROM
bsp_i2c_gpio.h #ifndef _BSP_I2C_GPIO_H #define _BSP_I2C_GPIO_H #include stm32f4xx.h #include inttypes.h #define EEPROM_I2C_WR 0 /* 写控制bit */ #define EEPROM_I2C_RD 1 /* 读控制bit */ /* 定义I2C总线连接的GPIO端口,用户只需要修改下面四行代码即可任意改变SCL和SDA的引脚 */ #define EEPROM_I2C_GPIO_PORT GPIOB #define EEPROM_I2C_G
[单片机]
I^2C总线EEPROM编程心得
相比起学校教材所用的8031+锁存器+存储芯片的组合搭建(不过貌似这种组合只有教科书才用),8952+AT24CXX的组合已经完全够用而且可以很明确地将AT24CXX功能定位在掉电数据存储。 自己在进行电子钟的编程中,将AT24C02作为了闹钟定时保存的存储,因为操作方便,很适合作为程序附加功能的拓展,比如电子密码储存部件等等。对于没接触过的人来说,唯一头痛的就是I^2C总线的软件模拟编程,虽然只有SCL和SDA两条通讯线以及高低电平,上下沿几种状态加以组合,但是单调得难以理解,尤其延时应该是多少,应答怎么实现这些问题都很困扰。I^2C总线是AT24CXX硬件自带,而常见8952不自带的,所以进行交互通讯时,需要在8952上运行软
[单片机]
双接口射频EEPROM实现参数无线存取
意法半导体宣布一全新射频EEPROM芯片系列的首款产品M24LR64样片正式上市。新产品能够让客户在供应链中任何环节、产品生命周期的任何时间灵活地无线设置或更新电子产品参数,设备制造商无需连接编程器,甚至无需打开产品包装,即可更新产品参数,设置软件代号或激活软件。这个创新的存取方法不仅能使设备厂商为产品增加新功能,同时还能降低制造成本,简化库存管理流程,快速应对瞬息万变的市场需求。
M24LR64是一款内置标准I2C串口的EEPROM存储器,可与大多数微控制器或ASIC芯片通信,此外,还提供一个ISO15693标准的 RF(射频)接口,可与RFID阅读器进行无线通信。ISO15693是一种无源RFID标准,能同
[新品]