STC89C52单片机学习——第28节: [12-2] AT24C02数据存储秒表(定时器扫描按键数码管)

news/2025/3/21 6:29:10/

写这个文章是用来学习的,记录一下我的学习过程。希望我能一直坚持下去,我只是一个小白,只是想好好学习,我知道这会很难,但我还是想去做!

本文写于:2025.03.20

51单片机学习——第28节: [12-2] AT24C02数据存储&秒表(定时器扫描按键数码管)

  • 前言
  • 开发板说明
  • 引用
  • 解答和科普
  • 一、编写I2C时序
  • 二、加入延迟函数实现LED闪烁
  • 问题
  • 总结

前言

   本次笔记是用来记录我的学习过程,同时把我需要的困难和思考记下来,有助于我的学习,同时也作为一种习惯,可以督促我学习,是一个激励自己的过程,让我们开始51单片机学习之路。
   欢迎大家给我提意见,能给我的嵌入式之旅提供方向和路线,现在作为小白,我就先学习51单片机了,就跟着B站上的江协科技开始学习了.
   在这里会记录下江协科技51单片机开发板的配套视频教程所作的实验和学习笔记内容,因为我之前有一个开发板,我大概率会用我的板子模仿着来做.让我们一起加油!
   另外为了增强我的学习效果:每次笔记把我不知道或者问题在后面提出来,再下一篇开头作为解答!

开发板说明

   本人采用的是慧净的开发板,因为这个板子是我N年前就买的板子,索性就拿来用了。不再另外购买视频中的普中开发板了。
   原理图如下
在这里插入图片描述
视频中的都用这个开发板来实现,如果有资源就利用起来。
仔细看了看:开发板的晶振为:11.0592Mhz;12Mhz晶振是用来给CH340G芯片外置晶振;

下图是实物图
在这里插入图片描述

引用

51单片机入门教程-2020版 程序全程纯手打 从零开始入门
还参考了下图中的书籍:
手把手教你学51单片机(C语言版)
在这里插入图片描述
STC89C52手册
在这里插入图片描述

解答和科普

一、编写I2C时序

在main函数中调出来,AT.C就不用调出来I2C了。
在这里插入图片描述
在这里插入图片描述

声明位:

sbit I2C_SCL =P1^7;
sbit I2C_SDA=P1^2;

1.1起始拼图
在这里插入图片描述

void I2C_Start(void)
{I2C_SDA=1;I2C_SCL=1;I2C_SDA=0;I2C_SCL=0;}

1.2终止拼图
在这里插入图片描述

void I2C_Stop(void)
{I2C_SDA=0;I2C_SCL=1;I2C_SDA=1;
}

1.3发送一个字节
在这里插入图片描述

void I2C_SendByte(unsigned char Byte)	
{unsigned char i;for(i=0;i<8;i++){I2C_SDA=Byte&(0x80>>i);		//把数据放在线上I2C_SCL=1;I2C_SCL=0;			//看时序是否满足能够承受的时间是多少}
}

1.4接受一个字节

在这里插入图片描述

unsigned char I2C_ReceiveByte(void)	
{unsigned char i,Byte=0x00;I2C_SDA=1;					//释放总线for(i=0;i<8;i++){I2C_SCL=1;if(I2C_SDA){Byte|=(0x80>>i);}I2C_SCL=0;}return Byte;
}

1.5主机的发送应答
在这里插入图片描述

二、加入延迟函数实现LED闪烁

1.代码
1.1main.c

1.2 LCD1602.C和LCD1602.H

1.4Delay.C和Delay.H

实验现象:

问题

总结

本节课主要学了了LED闪烁,通过延迟函数的延迟,实现了LED闪烁。


http://www.ppmy.cn/news/1580798.html

相关文章

亚马逊Prime Day新算法曝光,2025年流量分配机制大调整

亚马逊Prime Day新算法曝光&#xff0c;2025年流量分配机制大调整 亚马逊调整流量分配规则&#xff0c;影响卖家竞争格局 近日&#xff0c;亚马逊内部泄露的一份文件引发了全球跨境电商卖家的广泛关注。据悉&#xff0c;这份文件披露了亚马逊即将在2025年Prime Day正式启用的新…

DRAMiTransformer:空间与通道注意力融合的高效视觉变换块

DRAMiTransformer&#xff1a;空间与通道注意力融合的高效视觉变换块 随着深度学习在计算机视觉领域的快速发展&#xff0c;自注意力机制&#xff08;Self-Attention&#xff09;逐渐成为各种任务的核心组件。然而&#xff0c;传统自注意力机制往往需要较高的计算成本&#xf…

数据采集技术之python网络爬虫(中国天气网的爬取)

一、爬取中国天气网所有地区当天的天气数据&#xff08;PyCharm&#xff09;&#xff1a; 网址&#xff1a;https://www.weather.com.cn/ 下面爬取数据&#xff1a; 因为现在已经到了夜间&#xff0c;所以白天的数据已经不见了&#xff0c;但原理是一样的。 二、代码以及详情…

HarmonyOS Next~HarmonyOS应用开发工具:DevEco Testing

HarmonyOS应用开发工具&#xff1a;DevEco Testing ​ 随着HarmonyOS生态的快速发展&#xff0c;开发者对高效、稳定的应用开发工具需求日益增长。作为HarmonyOS应用开发工具链中的重要组成部分&#xff0c;DevEco Testing凭借其全面的测试能力和智能化特性&#xff0c;成为保…

PLC控制柜在技术创新驱动中功能演进 尤劲恩科技

在智能制造体系中&#xff0c;PLC控制柜不仅承担着传统设备控制的基础功能&#xff0c;更通过工业以太网、PROFIBUS等现场总线技术&#xff0c;构建起分布式控制系统&#xff08;DCS&#xff09;。这种拓扑结构使生产线具备实时数据采集、远程监控和智能决策能力&#xff0c;显…

selenium之基础整理

安装步骤 1&#xff0c;在pycharm中下载selenium库&#xff1a;pip install selenium 2&#xff0c;把下载的chromedriver.exe驱动解压放到python根目录下&#xff08;如果没有检测到该驱动&#xff0c;可以把将chromedriver.exe配置到环境变量path中&#xff09; &#xff08;…

C# 资源管理‌(using 语句)

using不得不知的使用特点&#xff0c;用好了 大大地提高工作效率&#xff01; 一、using 语句&#xff08;资源管理&#xff09;‌‌二、using 语句的应用场景‌‌三、using 语句的底层实现‌‌四、using 声明&#xff08;C# 8.0 新特性&#xff09;‌‌五、using 指令&#xf…

Redis解决缓存击穿问题——两种方法

目录 引言 解决办法 互斥锁&#xff08;强一致&#xff0c;性能差&#xff09; 逻辑过期&#xff08;高可用&#xff0c;性能优&#xff09; 设计逻辑过期时间 引言 缓存击穿&#xff1a;给某一个key设置了过期时间&#xff0c;当key过期的时候&#xff0c;恰好这个时间点对…