【蓝桥杯-单片机学习笔记(十七)】24C02原理及其读写操作
一、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原理及其读写操作相关推荐
- 【蓝桥杯—单片机学习笔记(四)】共阳数码管的动态显示
一.要求 在CT107D单片机训练综合平台上,实现数码管的动态显示,在8位数码管中,前面4位显示年份"2022",接着是2个分隔符"--",最后两位是月份,从1 ...
- 【蓝桥杯-单片机学习笔记(六)】矩阵键盘控制数码管显示0~F
一.要求 在CT107D单片机训练平台上,首先将J5处的跳线帽接到1~2引脚,使按键S4~S19组成4*4的矩阵键盘.在扫描按键的过程中,发现有按键触发信号后,待按键松开后,数码管显示相应的数字.按键 ...
- 【蓝桥杯-单片机学习笔记(十四)】DS1302
一.DS1302介绍 1.功能介绍 DS1302包括时钟/日历寄存器和31字节(8位)的数据暂存寄存器,数据通信仅通过一条串行输入输出口,实时时钟/日历提供包括秒.分.时.日期.月份和年份信息.闰年可 ...
- 【蓝桥杯-单片机学习笔记(十五)】NE555频率测量
一.要求 在CT107D平台上测量NE555产生方波的频率值并显示在数码管上.频率数据显示用5位数码管,单位是Hz,数码管最左边显示"F".改变滑动变阻器Rb3可以改变频率大小. ...
- 【蓝桥杯-单片机学习笔记(三)】共阳数码管的静态显示
一.要求 在CT107D单片机综合训练平台上,8个数码管分别单独依次显示0~9的值,然后所有数码管一起同时显示0~F的值,如此往复. 二.数码管 1.七段数码管 七段数码管,其实内部由8个发光二极管构 ...
- 【蓝桥杯——单片机学习笔记】五.数码管显示(STC15F2K60S2)
一.原理图 二.原理图分析 如上图,U7锁存器控制数码管的段选(即每个数字的7个短横和1个点),U6锁存器控制数码管的位选(即8个数字).具体锁存器的输出端对应数码管的哪个输入端可看上图.控制锁存器的 ...
- 【蓝桥杯-单片机学习笔记(十二)】工厂灯光控制系统
一.要求 在CT107D单片机综合训练平台上,设计程序,实现实时显示开机系统运行时间和按键控制灯光. 1.设计系统初始化函数,关闭蜂鸣器和继电器等无关设备. 2.设计设备检测函数,首先检测LED灯,从 ...
- [蓝桥杯单片机]学习笔记——PWM脉宽调制信号的发生与控制
一.原理部分 1.脉宽调制(PWM)基本原理 控制方式就是对逆变电路开关器件的通断进行控制,使输出端得到一系列幅值相等但宽度不一致的脉冲,用这些脉冲来代替正弦波或所需要的波形.也就是在输出波形的半个周 ...
- 【蓝桥杯——单片机学习笔记】十二.LCD1602(STC15F2K60S2)
一.原理图及引脚说明 可由Rb1电位器控制LCD的对比度 编号 引脚名 引脚说明 编号 引脚名 引脚说明 1 VSS 电源地 9 D2 Data I/O 2 VDD 电源正极 10 D3 Data I ...
最新文章
- 跨越企业的“中等收入陷阱”
- 被面试官问懵B了,十亿级数据ES搜索怎么优化?
- Linux系统【一】CPU+MMU+fork函数创建进程
- 基于共享内存的聊天室服务程序
- numpy 矩阵求逆_numpy 矩阵运算
- 禅道 mysql 远程连接_远程访问禅道开源版数据库(基于docker)
- python 判断文件夹是否存在 否则创建_10行Python代码自动清理电脑内重复文件,解放双手!...
- oracle pls 00905,Oracle数据库存储过程出错了!大神帮忙看下什么问题!急急急!...
- 《Java语言程序设计与数据结构》编程练习答案(第十七章)
- 导入项目运行报错:Error starting ApplicationContext. To display the conditions report re-run your application
- 面向全局搜索的自适应领导者樽海鞘群算法
- C语言 isdigit、isalnum、isalpha、islower、issupper用法及其示例
- 无线路由器网络安全设置的九种方法
- php相亲段子,个个都是老司机!NPC段子手们经典语录
- 解决Git使用出现git@githubcom Permission denied (publickey)
- 安卓和iOS的兼容性问题: 键盘弹起时,固定在底部的按钮是否被弹到键盘上方
- vscode 连接ubuntu显示“试图写入的管道不存在”
- NOI / 2.1基本算法之枚举 1809:两倍
- 太原师范学院计算机考研资料汇总
- Python计算商品复购率
热门文章
- Visual Studio设置背景图
- 连享会-Python爬虫与文本分析专题 (2019.5.17-19)
- Linux-内存分析-free meminfo
- Excel使用技巧:快速提高工作效率
- 解决出现线程未关闭 , 造成内存泄漏问题
- W ndows7怎样查看wF密码,Win7秘笈:如何查看系统储存的WiFi密码?
- 计算机管理培训考试试题,计算机技能培训试题一
- 首都机场率先引入阿里云ET航空大脑,每天调度1700架次航班节省5000个小时
- 创远家居基于江湖家居装修门户系统源码
- IE没有禁用javascript,打不开的解决方案。