微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 51单片机 I2C AT24C02

51单片机 I2C AT24C02

时间:11-25 来源:互联网 点击:

}
return buffer_writting;
}
//向AT24C02保存数据函数主体
void saveing(uchar address,uchar time_date0) //写入字节规则:启动-控制字片选+写-应答-写入存储地址-应答-写入数据-应答-停止
{
star(); //启动信号
write_in_byte(0xa0);
response();
write_in_byte(address);
response();
write_in_byte(time_date0);
response();
stop();
}
//从AT24C02载入掉电之前的数据函数主体
uchar load(uchar address) //读出规则:启动-控制字片选+写(为了写入要读取的地址)-应答-写入存储地址-应答-读取数据-应答-停止
{
uchar time_date_former;
star();
write_in_byte(0xa0);
response();
write_in_byte(address);
response();
time_date_former=read_out_byte();
stop();
return time_date_former;
}
//显示数字取出各位与十位函数主体
void quwei(uchar quwei_date)
{
shiwei=quwei_date/10;
gewei=quwei_date;
}
//数码管显示函数函数主体
void display(uchar display_date)
{
quwei(display_date);
//显示第一个数码管
duanxuan=1;
P0=table[shiwei];
duanxuan=0;
P0=0xff;
weixuan=1;
P0=0xfe;
weixuan=0;
delay_xs(2);
//显示第二的数码管
duanxuan=1;
P0=table[gewei];
duanxuan=0;
P0=0xff;
weixuan=1;
P0=0xfd;
weixuan=0;
delay_xs(2);
}
//T0定时器方式一中断服务程序
void T0_timer_no1() interrupt 1
{
//预装初值
TH0=(65536-46080)/256;
TL0=(65536-46080)%6;
number++;
if(number==20) //20次计满就是1s
{
number=0;
time_date++; //时间累加
timer_flag=1; //计满一次就保存数据
if(time_date==100) //100s循环计时
{
time_date=0;
}
}
}
以上,结束。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top