一、24C02

24C02是一个2K Bit的串行EEPROM存储器,内部含有256个字节。在24C02里面有一个8字节的页写缓冲器。24C02支持I2C总线协议。I2C是一种双向、两线串行通信接口,分别是串行数据线SDA和串行时钟线SCL。两根线都必须通过一个上拉电阻接到电源,如图是典型的总线配置。

总线上发送数据的器件被称为发送器,接收数据的器件被称为接收器。控制信息交换的器件被称作主器件,受主器件控制的器件被称为从器件。主器件产生串行时钟信号SCL,控制总线的访问状态、产生START和STOP条件,两者之间的数据字节数是没有限制的,由总线上的主器件决定。信息以字节(8位)为单位传输,第9位时由接收器产生应答。

24C02设备地址

24C02的设备地址包括固定地址和可编程地址。可编程部分需要根据硬件引脚A0、A1和A2来配置。设备地址最后一位用来设置数据传输方向,即读/写位。

在蓝桥杯比赛开发板上,如图所示,硬件引脚A0、A1和A2全部接地,那么此处24C02设备读操作地址为:0xA1(1010 0001),写操作地址为:0xA0(1010 0000)。

 二、24C02字节写操作

(1)写设备地址。

(2)发送内存字节地址。

(3)写入目标数据。

//-------------------24C02字节写函数-------------------//
void write_24C02(uchar addr,uchar dat)
{IIC_Start();IIC_SendByte(0xa0); //写设备地址IIC_WaitAck();IIC_SendByte(addr); //发送内存字节地址IIC_WaitAck();IIC_SendByte(dat);  //写入目标数据IIC_WaitAck();IIC_Stop();}

三、24C02字节读操作

(1)写设备地址。

(2)发送内存字节地址。

(3)读设备地址。

(4)读出目标数据。

//---------------------24C02字节读函数-------------------//
uchar read_24c02(uchar addr)
{uchar tmp;  IIC_Start();IIC_SendByte(0xa0); //写设备地址IIC_WaitAck();IIC_SendByte(addr); //发送内存地址IIC_WaitAck();IIC_Start();IIC_SendByte(0xa1); //读设备地址IIC_WaitAck();tmp = IIC_RecByte();    //读出目标数据IIC_Stop();return tmp;
}

【蓝桥杯-单片机学习笔记(十七)】24C02原理及其读写操作相关推荐

  1. 【蓝桥杯—单片机学习笔记(四)】共阳数码管的动态显示

    一.要求 在CT107D单片机训练综合平台上,实现数码管的动态显示,在8位数码管中,前面4位显示年份"2022",接着是2个分隔符"--",最后两位是月份,从1 ...

  2. 【蓝桥杯-单片机学习笔记(六)】矩阵键盘控制数码管显示0~F

    一.要求 在CT107D单片机训练平台上,首先将J5处的跳线帽接到1~2引脚,使按键S4~S19组成4*4的矩阵键盘.在扫描按键的过程中,发现有按键触发信号后,待按键松开后,数码管显示相应的数字.按键 ...

  3. 【蓝桥杯-单片机学习笔记(十四)】DS1302

    一.DS1302介绍 1.功能介绍 DS1302包括时钟/日历寄存器和31字节(8位)的数据暂存寄存器,数据通信仅通过一条串行输入输出口,实时时钟/日历提供包括秒.分.时.日期.月份和年份信息.闰年可 ...

  4. 【蓝桥杯-单片机学习笔记(十五)】NE555频率测量

    一.要求 在CT107D平台上测量NE555产生方波的频率值并显示在数码管上.频率数据显示用5位数码管,单位是Hz,数码管最左边显示"F".改变滑动变阻器Rb3可以改变频率大小. ...

  5. 【蓝桥杯-单片机学习笔记(三)】共阳数码管的静态显示

    一.要求 在CT107D单片机综合训练平台上,8个数码管分别单独依次显示0~9的值,然后所有数码管一起同时显示0~F的值,如此往复. 二.数码管 1.七段数码管 七段数码管,其实内部由8个发光二极管构 ...

  6. 【蓝桥杯——单片机学习笔记】五.数码管显示(STC15F2K60S2)

    一.原理图 二.原理图分析 如上图,U7锁存器控制数码管的段选(即每个数字的7个短横和1个点),U6锁存器控制数码管的位选(即8个数字).具体锁存器的输出端对应数码管的哪个输入端可看上图.控制锁存器的 ...

  7. 【蓝桥杯-单片机学习笔记(十二)】工厂灯光控制系统

    一.要求 在CT107D单片机综合训练平台上,设计程序,实现实时显示开机系统运行时间和按键控制灯光. 1.设计系统初始化函数,关闭蜂鸣器和继电器等无关设备. 2.设计设备检测函数,首先检测LED灯,从 ...

  8. [蓝桥杯单片机]学习笔记——PWM脉宽调制信号的发生与控制

    一.原理部分 1.脉宽调制(PWM)基本原理 控制方式就是对逆变电路开关器件的通断进行控制,使输出端得到一系列幅值相等但宽度不一致的脉冲,用这些脉冲来代替正弦波或所需要的波形.也就是在输出波形的半个周 ...

  9. 【蓝桥杯——单片机学习笔记】十二.LCD1602(STC15F2K60S2)

    一.原理图及引脚说明 可由Rb1电位器控制LCD的对比度 编号 引脚名 引脚说明 编号 引脚名 引脚说明 1 VSS 电源地 9 D2 Data I/O 2 VDD 电源正极 10 D3 Data I ...

最新文章

  1. 跨越企业的“中等收入陷阱”
  2. 被面试官问懵B了,十亿级数据ES搜索怎么优化?
  3. Linux系统【一】CPU+MMU+fork函数创建进程
  4. 基于共享内存的聊天室服务程序
  5. numpy 矩阵求逆_numpy 矩阵运算
  6. 禅道 mysql 远程连接_远程访问禅道开源版数据库(基于docker)
  7. python 判断文件夹是否存在 否则创建_10行Python代码自动清理电脑内重复文件,解放双手!...
  8. oracle pls 00905,Oracle数据库存储过程出错了!大神帮忙看下什么问题!急急急!...
  9. 《Java语言程序设计与数据结构》编程练习答案(第十七章)
  10. 导入项目运行报错:Error starting ApplicationContext. To display the conditions report re-run your application
  11. 面向全局搜索的自适应领导者樽海鞘群算法
  12. C语言 isdigit、isalnum、isalpha、islower、issupper用法及其示例
  13. 无线路由器网络安全设置的九种方法
  14. php相亲段子,个个都是老司机!NPC段子手们经典语录
  15. 解决Git使用出现git@githubcom Permission denied (publickey)
  16. 安卓和iOS的兼容性问题: 键盘弹起时,固定在底部的按钮是否被弹到键盘上方
  17. vscode 连接ubuntu显示“试图写入的管道不存在”
  18. NOI / 2.1基本算法之枚举 1809:两倍
  19. 太原师范学院计算机考研资料汇总
  20. Python计算商品复购率

热门文章

  1. Visual Studio设置背景图
  2. 连享会-Python爬虫与文本分析专题 (2019.5.17-19)
  3. Linux-内存分析-free meminfo
  4. Excel使用技巧:快速提高工作效率
  5. 解决出现线程未关闭 , 造成内存泄漏问题
  6. W ndows7怎样查看wF密码,Win7秘笈:如何查看系统储存的WiFi密码?
  7. 计算机管理培训考试试题,计算机技能培训试题一
  8. 首都机场率先引入阿里云ET航空大脑,每天调度1700架次航班节省5000个小时
  9. 创远家居基于江湖家居装修门户系统源码
  10. IE没有禁用javascript,打不开的解决方案。