完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
#include
#include #define uchar unsigned char ***it SCL=P3^4; //定义串行时钟线 ***it SDA=P3^5; //定义串行应答线 void delay(int ms) { while(ms--); } void init_24C02() //初始化24C02 { SCL=1; _nop_(); //延时一个机器周期 SDA=1; _nop_(); } void start() { SDA=1; _nop_(); SCL=1; _nop_(); SDA=0; //当时钟线为高电平时数据线拉低,AT24C02开始工作 _nop_(); SCL=0; //时钟线清零便于后续操作 _nop_(); } void stop() //停止信号 { SDA=0; _nop_(); SCL=1; _nop_(); SDA=1; //当时钟线为高电平时,数据线拉高AT24C02停止 _nop_(); } void Write_Byte_24C02(uchar date) //写一个字节的数据 { uchar i; for(i=0;i<8;i++) //传送八位数据 { date=date<<1; //每次传送一位 SCL=0; _nop_(); SDA=CY; _nop_(); SCL=1; _nop_(); //左移一位,将发送的最高位舍弃 } SCL=0; _nop_(); SDA=1; _nop_(); //等待AT24C02的应答信号 } uchar Read_Byte_24C02() //读取一个字节数据 { uchar i,j,result; SCL=0; _nop_(); SDA=1; for(i=0;i<8;i++) //每次读取一位 { _nop_(); SCL=1; _nop_(); if(SDA==1) //读出高电平 j=1; else //读出低电平 j=0; result=(result<<1)|j; //将读出来的数值放在最低位 SCL=0; } _nop_(); return result; //返回读出来的数值 } void clock() //等待AT24C02的应答 { uchar i=0; SCL=1; _nop_(); while((SDA==1)&&(i<255)) //等待拉低做出应答(如果不应答则在一定时间之后跳出,避免程序死在此处) i++; SCL=0; _nop_(); } uchar Read_24C02(uchar address) { uchar ReadData; start(); Write_Byte_24C02(0xa0); //写入写数据的命令 clock(); Write_Byte_24C02(address); //写入地址 clock(); start(); //将数据线和时钟线拉低 Write_Byte_24C02(0xa1); //写入读数据命令 clock(); ReadData=Read_Byte_24C02(); stop(); delay(50); return ReadData; } void Write_24C02(uchar address,uchar date) //在指定地址处写入数据 { start(); //开始AT24C02 Write_Byte_24C02(0xa0); //写入写数据的命令 clock(); Write_Byte_24C02(address); //写入地址 clock(); Write_Byte_24C02(date); //写入读数据的命令 clock(); stop(); //停止24C02 delay(50); } void main() { uchar i; init_24C02(); Write_24C02(0x00,0x00); //将数据0写到AT24C02的0x00地址上面 delay(500); i=Read_24C02(0); while(1); }
|
|
相关推荐
1个回答
|
|
你是如何看的现象没反应的?
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
《DNESP32S3使用指南-IDF版_V1.6》第二章 常用的C语言知识点
377 浏览 0 评论
【RA-Eco-RA2E1-48PIN-V1.0开发板试用】(第三篇)ADC采集+PWM输出
536 浏览 0 评论
《DNK210使用指南 -CanMV版 V1.0》第四十五章 人脸识别实验
540 浏览 0 评论
950 浏览 0 评论
如何用OpenCV的相机捕捉视频进行人脸检测--基于米尔NXP i.MX93开发板
1403 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
11760 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 07:19 , Processed in 0.499549 second(s), Total 69, Slave 52 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号