51单片机入门-AT24C02(十二)

目录:

1.AT24C02(I2C总线)

2.AT24C02数据存储&秒表(定时器扫描按键数码管)

1.AT24C02(I2C总线)

弱上拉:

开漏输出:

2.AT24C02数据存储&秒表(定时器扫描按键数码管)

函数未调用警告:

位声明:

I2c开始、结束:

发送字节:

接受字节:

发送应答:

接收应答:

I2C_SDA=1

应答了,点亮

测试这个:

测试完之后继续:

写数据,读数据:

先写:

运行:

在读:

分别运行:也可以读到,就实现掉电不丢失

第一个例子:按键保存读取

按下按键1:加1

按键2:减1:

按键3:保存:

重启:按下按键4:读取

第二个例子:定时器扫描按键、数码管

每隔一秒取反一次,说明定时器没问题

过滤按键抖动:

每隔20us检测一下

更改:

验证:

按2:

按3:

这样写并不会影响主循环的执行

定时器扫描数码管:

数码管里面也有delay可以进行修改定时器扫描数码管

修改:

主函数不用调,定时器会自动调用扫描显示在数码管上

什么都不显示:

按下第一个按键:

第二个按键:

在加个delay:也不会影响,不会出现任何闪烁,因为扫描实在定时器里面的,不会影响我们的按键检测,他影响的是相应时间,相应是在主函数,一直按着他也在扫描,松手就变了

实现秒表:

添加-的断码:

按下按键1才启动秒表:

按键1:清0:

引入:AT24C02

按键3:缓存:

断电重启:

按键4:读取缓存:

相关推荐
飞凌嵌入式2 小时前
千次静电放电试炼,守住飞凌嵌入式硬件可靠底线
嵌入式硬件
蹊黎10 小时前
Linux 下用 C 语言实现进度条
linux·c语言·单片机
无敌贵点大王14 小时前
从寄存器层面重学STM32(6)——串口USART实战部分
stm32·单片机·嵌入式硬件
庙堂龙吟奈我何14 小时前
二进制和十六进制
stm32·单片机
国科安芯16 小时前
长期在轨的计算底座:商业空间站与在轨服务飞行器健康管理中的抗辐射MCU—— 面向可维护空间平台的分层容错与安全通信综述
人工智能·单片机·嵌入式硬件·安全·低轨卫星·抗辐射
不昀18 小时前
RMII切到10Mbps,50MHz参考时钟也要降到5MHz吗?
单片机·嵌入式硬件·硬件设计·以太网接口
路上有只喵19 小时前
认识元器件 · 单片机(MCU/MPU/SOC) · 实战篇6
单片机·嵌入式硬件
国科安芯19 小时前
核电站蒸汽发生器传热管在役无损检测模拟前端的低噪声供电研究
嵌入式硬件·ldo·低压差线性稳压器·无损检测·核电站·蒸汽发生器·传热管
集芯微电科技有限公司20 小时前
40V/24A高频率增强型GaN HEMT功率开关管/高频DC转换/电动工具/GaN充电器 方案首选
人工智能·科技·单片机·嵌入式硬件·深度学习·神经网络·生成对抗网络
十八岁牛爷爷20 小时前
STM32H7 长时间运行后 HTTP 断连:从“串口还活着”到 TX 描述符错账
stm32·单片机·嵌入式硬件