资料介绍
#include
/*******************************************
******
向24C01A写入一个字节
输入:E2ROM地址,字节数据
************************************************
******/
void write24c01a(uchar uadd_1,uchar udata_1)
{
sendbyte=0xa0;
start();
send(sendbyte);
if (!ack())
continue;
send(uadd_1);
if (!ack())
continue;
send(udata_1)
if (!ack())
continue;
stop();
}
/**********************************
发送开始
*****************************************/
void start(void)
{
a_scl=1;
a_sda=1;
a_sda=0;
a_scl=0;
a_scl=1;
}
/********************************************
发送停止
*******************************************/
void stop(void)
{
a_scl=0;
a_sda=0;
a_scl=1;
a_sda=1;
}
/*********************************************
发送反馈
************************************************
/
bit ack(void)
{
int a_ack
a_scl=0;
a_scl=0;
a_scl=0;
a_scl=1;
a_ack=a_sda;
a_scl=0;
return(a_ack)
}
/*************************************
*
发送无反馈
********************************************/
bit noack(void)
{
int a_ack;
a_scl=1;
a_scl=1;
a_scl=0;
}
/******************************************
*
发送
****************************************************
/
void send(uchar undata)
{
uchar i;
sendbyte=undata
for(i=8;i>0;i--)
{
a_sda=sendbyte7;
a_scl=0;
a_scl=1;
sendbyte=sendbyte<<1
}
}
/********************************************
接受
****************************************************
/
void receive(void)
{
int i;
uchar data;
for(i=8;i>0;i--)
{ a_scl=1;
receivebyte7=a_sda;
a_scl=0;
receivebyte=receivebyte>>1
}
receivedata=receivebyte;
}
/*******************************************
*
向 24c01a读一个字节;
输入:EEROM地址;
输出:EEROM数据;
********************************************/
void read24c01a(uchar counter)
{
receivebyte=0xa1;
start();
send(receivebyte);
if (!ack())
continue;
send(counter);
if (!ack())
continue;
receive()
noack();
stop();
}
/*******************************************
******
向24C01A写入一个字节
输入:E2ROM地址,字节数据
************************************************
******/
void write24c01a(uchar uadd_1,uchar udata_1)
{
sendbyte=0xa0;
start();
send(sendbyte);
if (!ack())
continue;
send(uadd_1);
if (!ack())
continue;
send(udata_1)
if (!ack())
continue;
stop();
}
/**********************************
发送开始
*****************************************/
void start(void)
{
a_scl=1;
a_sda=1;
a_sda=0;
a_scl=0;
a_scl=1;
}
/********************************************
发送停止
*******************************************/
void stop(void)
{
a_scl=0;
a_sda=0;
a_scl=1;
a_sda=1;
}
/*********************************************
发送反馈
************************************************
/
bit ack(void)
{
int a_ack
a_scl=0;
a_scl=0;
a_scl=0;
a_scl=1;
a_ack=a_sda;
a_scl=0;
return(a_ack)
}
/*************************************
*
发送无反馈
********************************************/
bit noack(void)
{
int a_ack;
a_scl=1;
a_scl=1;
a_scl=0;
}
/******************************************
*
发送
****************************************************
/
void send(uchar undata)
{
uchar i;
sendbyte=undata
for(i=8;i>0;i--)
{
a_sda=sendbyte7;
a_scl=0;
a_scl=1;
sendbyte=sendbyte<<1
}
}
/********************************************
接受
****************************************************
/
void receive(void)
{
int i;
uchar data;
for(i=8;i>0;i--)
{ a_scl=1;
receivebyte7=a_sda;
a_scl=0;
receivebyte=receivebyte>>1
}
receivedata=receivebyte;
}
/*******************************************
*
向 24c01a读一个字节;
输入:EEROM地址;
输出:EEROM数据;
********************************************/
void read24c01a(uchar counter)
{
receivebyte=0xa1;
start();
send(receivebyte);
if (!ack())
continue;
send(counter);
if (!ack())
continue;
receive()
noack();
stop();
}
下载该资料的人也在下载
下载该资料的人还在阅读
更多 >
- 基于51单片机的iic--24c02EEPROM读写程序 0次下载
- NRF24L01的模块资料和C语言程序和使用与开发攻略合集免费下载 41次下载
- 24C1024B读写C语言程序免费下载 67次下载
- 模拟IIC读写总结之at24c512读写程序 93次下载
- 24C01与单片机的接口电路和程序 20次下载
- 芯片AT24C01A、02、04、08、16 0次下载
- 24c16读写驱动程序
- AVR TWI读写范例程序(AT24C02)
- 24c02/24c01/24c04读写程序
- 24c32/24c16/24c08读写程序
- at24c64读写程序
- AT24C32/AT24C56读写程序
- AT24C02/AT24C04/AT24C08/AT24C1
- at24c01程序(读写程序)
- at24c16 c程序
- 基于STM32的E01和E01C驱动移植 96次阅读
- 通过IIC总线读写AT24C512存储器 1797次阅读
- 使用51单片机读写AT29C040的C语言程序免费下载 4528次阅读
- 51单片机读写AT29C040的C51程序 4737次阅读
- HD44780读写单片机C51程序免费下载 4145次阅读
- 使用HD44780读写单片机的C51程序详细概述 3112次阅读
- 微雪电子FP-24-0.65-01A SSOP24测试座简介 1867次阅读
- AT89S52单片机并行端口模拟I2C总线协议读写AT24C04的设计 2582次阅读
- 如何使用单片机模拟读写24C01EEPROM数据 5054次阅读
- C51读写AT24C04源代码及AT24C04测试程序 1.6w次阅读
- 单片机STC12C5A60S2控制AT24C04的程序(C语言) 7432次阅读
- AT24C256介绍_AT24C256烧录的完整程序 1.2w次阅读
- 单片机之IIC--AT24C256的读写程序 1.4w次阅读
- nrf24l01收发程序详解 3w次阅读
- 读写24LCxx系列的EEPROM的实例程序 2210次阅读
下载排行
本周
- 1XL4015+LM358恒压恒流电路图
- 0.38 MB | 137次下载 | 1 积分
- 2PCB布线和布局电路设计规则
- 0.40 MB | 4次下载 | 免费
- 3TPS6287B25降压转换器评估模块
- 3.46MB | 1次下载 | 免费
- 4INA226EVM用户指南
- 4.7MB | 1次下载 | 免费
- 5INA226EVM修订版A模型用户指南和软件教程
- 2.28MB | 1次下载 | 免费
- 6Altium Designer印刷电路板设计与制作PDF电子书免费下载
- 14.11 MB | 0次下载 | 3 积分
- 7TPS4800-Q1智能高侧驱动器评估模块
- 1.51MB | 次下载 | 免费
- 8TPS55289-Q1降压/升压转换器评估模块
- 2.07MB | 次下载 | 免费
本月
- 1XL4015+LM358恒压恒流电路图
- 0.38 MB | 137次下载 | 1 积分
- 2新概念模拟电路第四册信号处理电路电子书免费下载
- 10.69 MB | 60次下载 | 免费
- 3800VA纯正弦波逆变器的参考设计
- 2.96MB | 34次下载 | 免费
- 4纯电动汽⻋的主要部件及⼯作原理
- 5.76 MB | 15次下载 | 5 积分
- 5JESD79-5C_v1.30-2024 内存技术规范
- 2.71 MB | 10次下载 | 免费
- 6elmo直线电机驱动调试细则
- 4.76 MB | 9次下载 | 6 积分
- 7明伟电源模块RSP-3000图纸
- 0.30 MB | 8次下载 | 免费
- 8使用BQ76PL102系列电量计进行BQ78PL114的快速入门指南
- 4.04MB | 7次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935115次下载 | 10 积分
- 2开源硬件-PMP21529.1-4 开关降压/升压双向直流/直流转换器 PCB layout 设计
- 1.48MB | 420061次下载 | 10 积分
- 3Altium DXP2002下载入口
- 未知 | 233084次下载 | 10 积分
- 4电路仿真软件multisim 10.0免费下载
- 340992 | 191366次下载 | 10 积分
- 5十天学会AVR单片机与C语言视频教程 下载
- 158M | 183329次下载 | 10 积分
- 6labview8.5下载
- 未知 | 81581次下载 | 10 积分
- 7Keil工具MDK-Arm免费下载
- 0.02 MB | 73805次下载 | 10 积分
- 8LabVIEW 8.6下载
- 未知 | 65985次下载 | 10 积分
评论
查看更多