/***********************************************************************/
/***********************************************************************/
/*************************** ****************************/
/*************************** 深圳伟嵌科技 ****************************/
/***********************************************************************/
/************************** ***************************/
/************************** www.mcufpga.com ***************************/
/************************** ***************************/
/***********************************************************************/
/***********************************************************************/
/************************ ************************/
/************************ EEPROM C语言程序 ************************/
/************************ ************************/
/***********************************************************************/
/***********************************************************************/
/***********************************************************************
开发板: 伟嵌科技----小强开发板
硬件连接: SCL - P2.0 SDA - P2.1
跳线: K12(数码管选择)
按键选择: 1 X 4键盘
/***********************************************************************/
#include "reg51.h"
#include <intrins.h>
#include <absacc.h>
#define uchar unsigned char //定义unsigned char 为 uchar
#define uint unsigned int
#define uint unsigned int
#define AddWr 0xa0 //器件地址选择及写标志
#define AddRd 0xa1 //器件地址选择及读标志
#define keyport P3 //lcd忙检测标志
#define disport P0
uchar key,temp;
uchar code dis[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7C,0x39,0x5E,0x79,0x71};
uchar saky[1]={5},angel[1];
sbit f1=P3^0;
sbit f2=P3^1;
sbit f3=P3^2;
sbit f4=P3^3;
/////////24C02读写驱动程序////////////////////
sbit scl=P2^0; // 24c02 SCL
sbit sda=P2^1; // 24c02 SDA
bit write=0; //写24C02的标志;
/***********************************************/
void delay() //delay 5us
{ ;; }
/**********************************************/
void delay1(uchar x)
{
uchar a,b;
for(a=x;a>0;a--)
for(b=100;b>0;b--);
}
/**********************************************/
void start() //开始信号
{
sda=1;
delay();
scl=1;
delay();
sda=0;
delay();
}
/************************************************/
void stop() //停止信号
{
sda=0;
delay();
scl=1;
delay();
sda=1;
delay();
}
/**************************************************/
void respons() //应答
{
uchar i;
scl=1;
delay();
while((sda==1)&&(i<250))i++;
scl=0;
delay();
}
/**************************************************/
void init_24c02() //初始化24C02
{
sda=1;
delay();
scl=1;
delay();
}
/************************************************/
void write_byte(uchar date)
{
uchar i,temp;
temp=date;
for(i=0;i<8;i++)
{
temp=temp<<1;
scl=0;
delay();
sda=CY;
delay();
scl=1;
delay();
// scl=0;
// delay();
}
scl=0;
delay();
sda=1;
delay();
}
/**********************************************/
uchar read_byte()
{
uchar i,k;
scl=0;
delay();
sda=1;
delay();
for(i=0;i<8;i++)
{
scl=1;
delay();
k=(k<<1)|sda;
scl=0;
delay();
}
return k;
}
/*****************************************************************/
void write_24c02(uchar address,uchar shuju) //给指定地址中写入数据
{
start();
write_byte(0xa0); // 最低位为0写,1读
respons();
write_byte(address);
respons();
write_byte(shuju);
respons();
stop();
}
/*****************************************************************/
uchar read_24c02(uchar address) //从24c02指定地址中读出数据
{
uchar date;
start();
write_byte(0xa0);
respons();
write_byte(address);
respons();
start();
write_byte(0xa1);
respons();
date=read_byte();
stop();
return date;
}
/********************************主函数*******************************/
void main()
{
uchar a=5;
init_24c02(); //初始化24C02
//P2=0x04;
a=read_24c02(10);
disport=dis[a];
while(1)
{
if(!f1)
{disport=dis[1];write_24c02(10,1); }
if(!f2)
{disport=dis[2];write_24c02(10,2); }
if(!f3)
{
delay1(20);
if(f3) break;
while(!f3);
disport=dis[3];write_24c02(10,3);
}
if(!f4)
{disport=dis[4];write_24c02(10,4); }
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
AT24C02-EEPROM.rar_stc操作AT24C02
共12个文件
bak:2个
uv2:1个
m51:1个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 44 浏览量
2022-09-19
18:47:38
上传
评论
收藏 17KB RAR 举报
温馨提示
STC的51系列单片机针对EEPROM的读写操作。
资源详情
资源评论
资源推荐
收起资源包目录
AT24C02-EEPROM.rar (12个子文件)
AT24C02 EEPROM 测试程序
AT24C02 测试程序[伟嵌科技].lnp 74B
24C02 EEPROM 测试程序[伟嵌科技].LST 10KB
AT24C02 测试程序[伟嵌科技].Uv2 2KB
24C02 EEPROM 测试程序[伟嵌科技].OBJ 11KB
AT24C02 测试程序[伟嵌科技].M51 13KB
AT24C02 测试程序[伟嵌科技].plg 3KB
AT24C02 测试程序[伟嵌科技].hex 1KB
AT24C02 测试程序[伟嵌科技]_Opt.Bak 1KB
AT24C02 测试程序[伟嵌科技] 10KB
AT24C02 测试程序[伟嵌科技].Opt 1KB
AT24C02 测试程序[伟嵌科技]_Uv2.Bak 0B
24C02 EEPROM 测试程序[伟嵌科技].c 5KB
共 12 条
- 1
JaniceLu
- 粉丝: 78
- 资源: 1万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0