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:读取缓存:

相关推荐
Tronlong创龙5 小时前
SBC‑TLT153 嵌入式 Linux 应用开发,交叉编译与 GDB 调试实践(上)
嵌入式硬件·嵌入式开发·硬件开发·工业控制·工业开发板
巴渝小禹6 小时前
单片机死循环delay_us()计算方法
单片机·嵌入式硬件
Yiran_G6 小时前
LoRa串口模组和SoC模组怎么选?从MCU架构看无线通信方案设计
嵌入式硬件·物联网
HQB20267 小时前
CN6150|简芯维尔 6V/500mA 高速低噪声 CMOS‑LDO 线性稳压器
嵌入式硬件·硬件工程
科芯创展8 小时前
XZ3445 高集成升压/升降压DC-DC电源芯片技术解析
单片机·嵌入式硬件
艾芯微科技8 小时前
高充放电流锂电充放 SoC:ETA9885E10,便携储能、小移动电源 BOM 选型笔记
网络·单片机·嵌入式硬件·集成测试·51单片机
艾芯微科技8 小时前
钰泰 ETA6973PQ3Y|QFN3×3 2A 同步降压 Buck,I2C 可配置多档输出,动态调压 PMIC
网络·单片机·嵌入式硬件·fpga开发·集成测试·51单片机
Brilliantwxx9 小时前
【STM32】 通用定时器:输入捕获与输出比较详解 测脉宽、测频率
stm32·单片机·嵌入式硬件·mcu
意法半导体STM3210 小时前
【官方原创】LAT1703 STM32C5 LL Cordic例程
stm32·单片机·嵌入式硬件·stm32c5·ll cordic