标题:
51单片机仿真I2C-EEPROM 24C02存储芯片源程序
[打印本页]
作者:
songyongjie
时间:
2023-4-9 21:45
标题:
51单片机仿真I2C-EEPROM 24C02存储芯片源程序
仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)
51hei.gif
(43.99 KB, 下载次数: 43)
下载附件
2023-4-9 22:24 上传
单片机源程序如下:
/**************************************************************************************
实验名称:I2C-EEPROM实验
接线说明:
实验现象:下载程序后,数码管右3位显示0,按K1键将数据写入到EEPROM内保存,
按K2键读取EEPROM内保存的数据,按K3键显示数据加1,按K4键显示数据清零,
最大能写入的数据是255。
注意事项:
***************************************************************************************/
#include "public.h"
#include "24c02.h"
#include "key.h"
#include "lcd1602.h"
#include "stdio.h"
#define EEPROM_ADDRESS 0 //定义数据存入EEPROM的起始地址
/*******************************************************************************
* 函 数 名 : main
* 函数功能 : 主函数
* 输 入 : 无
* 输 出 : 无
*******************************************************************************/
void main()
{
char buffer[10];
u8 key_temp=0;
int save_value=0;
int save_buf[3];
lcd1602_init();//LCD1602初始化
lcd1602_show_string(0,0,"24c02save");//第二行显示
while(1)
{
key_temp=key_scan(0);
if(key_temp==KEY1_PRESS)
{
at24c02_write_one_byte(EEPROM_ADDRESS,save_value);
}
else if(key_temp==KEY2_PRESS)
{
save_value=at24c02_read_one_byte(EEPROM_ADDRESS);
}
else if(key_temp==KEY3_PRESS)
{
save_value++;
if(save_value==255)save_value=255;
}
else if(key_temp==KEY4_PRESS)
{
save_value=0;
}
save_buf[0]=save_value/100;
save_buf[1]=save_value%100/10;
save_buf[2]=save_value%100%10;
sprintf(buffer,"%d%d%d",save_buf[0],save_buf[1],save_buf[2]);
lcd1602_show_string(0,1,buffer);//第二行显示
}
}
复制代码
Keil代码与Proteus8.13仿真下载:
I2C-EEPROM实验LCD显示存储情况protues仿真.7z
(74.4 KB, 下载次数: 32)
2023-4-9 22:25 上传
点击文件名下载附件
51单片机仿真IIC用LCD显示
下载积分: 黑币 -5
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1