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 小时前
DSP 和 MCU 的区别
单片机·嵌入式硬件
xuxie992 小时前
N6 ARM
arm开发·嵌入式硬件
Zevalin爱灰灰2 小时前
零基础入门学用物联网(ESP8266) 第一部分 基础知识篇(三)
单片机·物联网·嵌入式·esp8266
weixin_460783872 小时前
STM32CubeMX配置ST25R3911B外设指南
stm32·单片机·嵌入式硬件
m0_555762902 小时前
STM32H743 USB FS 内部 IP DMA 问题分析
stm32·嵌入式硬件·tcp/ip
学嵌入式的小杨同学3 小时前
STM32 进阶封神之路(十八):RTC 实战全攻略 —— 时间设置 + 秒中断 + 串口更新 + 闹钟功能(库函数 + 代码落地)
c++·stm32·单片机·嵌入式硬件·mcu·架构·硬件架构
学嵌入式的小杨同学3 小时前
STM32 进阶封神之路(十七):RTC 实时时钟深度解析 —— 从时钟源到寄存器配置(底层原理 + 面试重点)
c++·stm32·单片机·嵌入式硬件·mcu·硬件架构·pcb
炸膛坦客3 小时前
单片机/C语言八股:(十四)const 关键字的作用(和 define 比呢?)
c语言·单片机
进击的横打3 小时前
【车载开发系列】TAU定时器
单片机·嵌入式硬件