自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(30)
  • 收藏
  • 关注

原创 第十二届蓝桥杯单片机国赛练习代码

第十五蓝桥杯国赛落幕已有十天,是时候总结一下,这个专栏也将结束。虽然并没有取得预期的结果,但故事结尾并不总是美满的。下面是赛前练习的第十二届国赛的代码。就以此作为人生中该分支旅途的终点吧。

2024-06-10 22:42:42 347

原创 二叉树的先序创建、复制、深度及结点个数

T_T此专栏用于记录数据结构及算法的(痛苦)学习历程,便于日后复习(这种事情不要啊)。所用教材为《数据结构 C语言版 第2版》严蔚敏。路漫漫其修远兮,吾将上下而摆烂。(因为准备其他比赛断学了好久5555)有任何疑问和补充,欢迎交流。(但我显然不会T_T)

2024-06-06 21:43:34 371

原创 二叉树的遍历

T_T此专栏用于记录数据结构及算法的(痛苦)学习历程,便于日后复习(这种事情不要啊)。所用教材为《数据结构 C语言版 第2版》严蔚敏。根据二叉树的递归定义可知,二叉树是由3个基本单元组成:根结点、左子树和右子树。因此,若能依次遍历这三部分,便是遍历了整个二叉树。假如从 L、D、R 分别表示遍历左子树、访问根结点和遍历右子树,则有DLR、LDR、LRD、DRL、RDL、RLD这6种遍历二叉树的方案。若限定先左后右,则只有前3种情况,分别称之为先(根)序遍历、中(根)序遍历和后(根)序遍历。

2024-05-13 23:47:47 694

原创 二叉树的定理和存储结构

T_T此专栏用于记录数据结构及算法的(痛苦)学习历程,便于日后复习(这种事情不要啊)。所用教材为《数据结构 C语言版 第2版》严蔚敏。满二叉树是一种特殊的二叉树:深度为 k 且含有 2^ k - 1个结点的二叉树。其特点是:每一层上的结点数都是最大结点数,即每一层 i 的结点数都具有最大值 2^( i - 1)。对满二叉树的结点进行连续编号,约定编号从根结点起,自上而下,自左至右。由此可引出完全二叉树的定义。

2024-05-09 19:51:13 654

原创 树和二叉树的定义和基本术语

树(Tree),是 n (n>=0)个结点的有限集,它或为空树(n = 0);或为非空树,对于非空树T:(1)有且仅有一个称之为根的结点;(2)除根结点以外的其余结点可分为 m (m>0) 个互不相交的有限集 T1, T2…其中每一个集合本身又是一棵树,并且称为根的子树(SubTree)。例如,在下图中,(a)是只有一个根结点的树;

2024-05-09 17:40:59 845

原创 串、数组、广义表总结

T_T此专栏用于记录数据结构及算法的(痛苦)学习历程,便于日后复习(这种事情不要啊)。所用教材为《数据结构 C语言版 第2版》严蔚敏。本章介绍了三种数据结构:串、数组和广义表,主要内容如下。(1)串是内容受限的线性表,它限定了表中的元素为字符。串有两种基本存储结构:顺序存储和链式存储,但多采用顺序存储结构。串的常用算法是模式匹配算法,主要有BF算法和KMP算法。BF算法实现简单,但存在回溯,效率低,时间复杂度为O(m x n)。

2024-05-06 00:16:49 615

原创 数组的定义及实现

T_T此专栏用于记录数据结构及算法的(痛苦)学习历程,便于日后复习(这种事情不要啊)。所用教材为《数据结构 C语言版 第2版》严蔚敏。数组:由类型相同的数据元素构成的有序集合。数据元素:受 n(n>=1) 个线性关系的约束,在 n 个线性关系中的序号i1,i2, …,in称为该元素的下标,可以通过下标访问该数据元素。因为数组中每个元素处于n(n>=1) 个关系中,故称该数组为 n 维数组。数组是线性表的推广,其特点是结构中的元素本身可以是具有某种结构的数据,但属于同一数据类型。

2024-05-03 22:10:50 922 1

原创 第十五届蓝桥杯单片机省一代码

今年单片机试题比14届可以说是简单太多了(参加过14届,直接被创死555),题主提前两小时就交卷了,最后也是稳定拿下省一进入国赛(嘿嘿)。国赛冲冲冲!!!

2024-05-01 21:00:48 30

原创 串的基本操作实现(KMP算法)

T_T此专栏用于记录数据结构及算法的(痛苦)学习历程,便于日后复习(这种事情不要啊)。所用教材为《数据结构 C语言版 第2版》严蔚敏。路漫漫其修远兮,吾将上下而摆烂。(希望明天还能记得原理5555…)有任何疑问和补充,欢迎交流。(但我显然不会T_T)

2024-05-01 17:00:36 322

原创 串的概念及定义

T_T此专栏用于记录数据结构及算法的(痛苦)学习历程,便于日后复习(这种事情不要啊)。所用教材为《数据结构 C语言版 第2版》严蔚敏。串的逻辑结构和线性表极为相似,区别仅在于串的数据对象约束为字符集。然而,串的基本操作和线性表有很大差别。在线性表的基本操作中,大多以“单个元素”作为操作对象;而在串的基本操作中,通常以“串的整体”作为操作对象,例如,在串中查找某个子串,求取一个子串,在串的某个位置上插入一个子串,以及删除一个子串等。

2024-04-30 10:50:27 357

原创 栈和队列总结

T_T此专栏用于记录数据结构及算法的(痛苦)学习历程,便于日后复习(这种事情不要啊)。所用教材为《数据结构 C语言版 第2版》严蔚敏。(1)栈是限定仅在表尾进行插入或删除的线性表,又称为后进先出(LIFO)的线性表。栈有两种存储表示,顺序表示(顺序栈)和链式表示(链栈)。栈的主要操作是进栈和出栈,对于顺序栈的进栈和出栈操作要注意判断栈满或栈空。(2) 队列是一种先进先出(FIFO)的线性表。它只允许在表的一端进行插入, 而在另一端删除元素。

2024-04-28 18:02:31 298

原创 栈和队列的概念、表示和实现

T_T此专栏用于记录数据结构及算法的(痛苦)学习历程,便于日后复习(这种事情不要啊)。所用教材为《数据结构 C语言版 第2版》严蔚敏。栈 (stack) 是限定仅在表尾进行插入或删除操作的线性表。因此,对栈来说,表尾端有其特殊含义,称为栈顶 (top);相应地,表头端称为栈底(bottom)。不含元素的空表称为空栈。假设栈 S = (a1, a2, …,an),则称 a1 为栈底元素,an 为栈顶元素。栈中元素按 a1, a2, ···, an的次序进栈, 退栈的第一个元素应为栈顶元素 an。

2024-04-25 14:34:15 853 1

原创 线性表总结

T_T此专栏用于记录数据结构及算法的(痛苦)学习历程,便于日后复习(这种事情不要啊)。所用教材为《数据结构 C语言版 第2版》严蔚敏。有关线性表的顺序存储见线性表概念及顺序表的实现;有关单链表见线性表的链式存储(单链表);有关单循环链表见线性表的链式存储(单循环链表);有关双向链表见线性表的链式存储(双向链表)。恭喜,历时两周,你已学完线性表的顺序存储和链式存储(呃,好慢…)!下一站——栈和队列。路漫漫其修远兮,吾将上下而摆烂。有任何疑问和补充,欢迎交流。(但我显然不会)

2024-04-23 21:20:53 863

原创 线性表的链式存储(双向循环链表)

T_T此专栏用于记录数据结构及算法的(痛苦)学习历程,便于日后复习(这种事情不要啊)。所用教材为《数据结构 C语言版 第2版》严蔚敏。有关线性表的顺序存储见线性表概念及顺序表的实现;有关单链表见线性表的链式存储(单链表);有关单循环链表见线性表的链式存储(单循环链表);有关双向链表见线性表的链式存储(双向链表)。路漫漫其修远兮,吾将上下而摆烂。有任何疑问和补充,欢迎交流。(但我显然不会)

2024-04-21 13:02:54 717 1

原创 线性表的链式存储(双向链表)

T_T此专栏用于记录数据结构及算法的(痛苦)学习历程,便于日后复习(这种事情不要啊)。所用教材为《数据结构 C语言版 第2版》严蔚敏。有关线性表的顺序存储见线性表概念及顺序表的实现,有关单链表见线性表的链式存储(单链表)路漫漫其修远兮,吾将上下而摆烂。有任何疑问和补充,欢迎交流。(但我显然不会)

2024-04-21 12:24:06 272 1

原创 线性表的链式存储(单循环链表)

T_T此专栏用于记录数据结构及算法的(痛苦)学习历程,便于日后复习(这种事情不要啊)。所用教材为《数据结构 C语言版 第2版》严蔚敏。有关线性表的顺序存储见线性表概念及顺序表的实现,有关单链表见线性表的链式存储(单链表)路漫漫其修远兮,吾将上下而开摆。有任何疑问和补充,欢迎交流。(但我显然不会)

2024-04-20 17:32:29 400

原创 线性表的链式存储(单链表)

T_T此专栏用于记录数据结构及算法的(痛苦)学习历程,便于日后复习(这种事情不要啊)。所用教材为《数据结构 C语言版 第2版》严蔚敏。有关线性表的顺序存储见线性表概念及顺序表的实现路漫漫其修远兮,吾将上下而开摆。有任何疑问和补充,欢迎交流。(但我显然不会)

2024-04-16 11:09:39 1152 1

原创 线性表概念及顺序表的实现

T_T此专栏用于记录数据结构及算法的(痛苦)学习历程,便于日后复习(这种事情不要啊)。所用教材为《数据结构 C语言版 第2版》严蔚敏。线性表:由0个或多个具有相同属性的数据元素组成的有限序列,常用(A0,A1…An)形式表示。例如26个英文字母(A,B,C…Z)就是一个线性表。线性表作为一个相当灵活的数据结构,其长度可根据需要增长或缩短,即对线性表的数据元素不仅可以进行访问,而且可以进行插入和删除等操作。下面给出一般线性表的抽象数据类型定义:ADT List{

2024-04-11 21:28:16 903 1

原创 数据结构与算法的基本概念

T_T此专栏用于记录数据结构及算法的(痛苦)学习历程,便于日后复习(这种事情不要啊)线性表:由0个或多个数据元素组成的有限序列。路漫漫其修远兮,吾将上下而开摆。有任何疑问和补充,欢迎交流。(但我显然不会)

2024-04-09 22:25:08 466

原创 超声波测距系统

具有测距、温度补充、实时时钟、记忆、阈值警报、串口数据发送等等功能,通过LCD1602显示,按键进行相关操作。

2023-12-31 00:37:05 1278 1

原创 One-wire通信与DS18B20的应用

本次编程实验以IAP15F2K61S2为单片机主控芯片,头文件为。若用于51系列单片机,以reg52.h为头文件,则读者需将程序中可能涉及的定时器初始化程序和LED亮灭程序和数码管显示程序,根据自身所用单片机原理图和手册进行修改。VDD:可选供电脚;GND:接地;DQ:单总线数据线;由原理图可知,DQ接 P1^4 I/O口。One-wire作为极其重要的通信方式,掌握它的原理和编程是十分有必要的。除One-wire通信方式外,还有IIC通信和SPI通信,具体见。

2023-12-28 21:20:35 1786 1

原创 IIC通信与EEPROM的应用

本次编程实验以IAP15F2K61S2为单片机主控芯片,头文件为。若用于51系列单片机,以reg52.h为头文件,则读者需将程序中可能涉及的定时器初始化程序和LED亮灭程序和数码管显示程序,根据自身所用单片机原理图和手册进行修改。其中,A2-A0为器件寻址:24C02 在一个IIC总线上最多可寻址八个,A2-A0的用于选择哪一个24C02;WP:写保护,置高电平时无法向24C02写入数据。由原理图可知,A2-A0均接地,即此单片机只有一块24C02;WP接地,即写保护一直关闭。

2023-12-16 15:03:52 1774 1

原创 51单片机DS1302可调时钟

本次编程实验以IAP15F2K61S2为单片机主控芯片,头文件为。若用于51系列单片机,以reg52.h为头文件,则读者需将程序中可能涉及的定时器初始化程序和LED亮灭程序和数码管显示程序,根据自身所用单片机原理图和手册进行修改。DS1302是DALLAS公司推出的涓流充电时钟芯片,内含有两块存储器:日历时钟寄存器和静态RAM存储器(31字节),后者可用于用户自定义编程。

2023-12-09 23:44:25 1860

原创 串口通信代码

本次编程实验以IAP15F2K61S2为单片机主控芯片,头文件为。若用于51系列单片机,以reg52.h为头文件,则读者需将程序中可能涉及的定时器初始化程序和LED亮灭程序和数码管显示程序,根据自身所用单片机原理图和手册进行修改。

2023-12-08 23:06:26 472

原创 DS1302可调时钟

本次编程实验以IAP15F2K61S2为单片机主控芯片,其编程使用与STC15F2K60S2完全相同,头文件为。若用于51系列单片机,以reg52.h为头文件,则读者需将程序中可能涉及的定时器初始化程序和LED亮灭程序和数码管显示程序,根据自身所用单片机原理图和手册进行修改。DS1302是DALLAS公司推出的涓流充电时钟芯片,内含有两块存储器:日历时钟寄存器和静态RAM存储器(31字节),后者可用于用户自定义编程。

2023-12-02 15:11:44 1043

原创 DS1302实时时钟

本次编程实验以IAP15F2K61S2为单片机主控芯片,其编程使用与STC15F2K60S2完全相同,头文件为。若用于51系列单片机,以reg52.h为头文件,则读者需将程序中可能涉及的定时器初始化程序和LED亮灭程序和数码管显示程序,根据自身所用单片机原理图和手册进行修改。DS1302是DALLAS公司推出的涓流充电时钟芯片,内含有两块存储器:日历时钟寄存器和静态RAM存储器(31字节),后者可用于用户自定义编程。

2023-11-30 23:51:42 1366

原创 超声波测距(数码管显示)

本次编程实验以IAP15F2K61S2为单片机主控芯片,其编程使用与STC15F2K60S2完全相同,头文件为。若用于51系列单片机,以reg52.h为头文件,则读者需将程序中可能涉及的定时器初始化程序和LED亮灭程序和数码管显示程序,根据自身所用单片机原理图和手册进行修改。实际测量距离时,由于硬件性能和测试场地限制等,测量距离容易出现波动,需要稳定测量一段时间。当然,也可以通过短时间内多次测量取平均值的方法来减小误差,请读者自行思考。有任何问题和补充,欢迎评论区交流。

2023-11-28 16:32:49 2017

原创 定时器扫描矩阵键盘简易代码(短按/长按)

本次编程实验以IAP15F2K61S2为单片机主控芯片,其编程使用与STC15F2K60S2完全相同,头文件为。若用于51系列单片机,以reg52.h为头文件,则需将后文中timer0.c中函数中的一行删除。程序中可能涉及的定时器初始化程序和LED亮灭程序和数码管显示程序,读者可根据自身所用单片机原理图和手册自行修改。通过上述程序,可以实现定时器扫描矩阵键盘以提高主程序执行效率。通过类比,也可以实现定时器扫描独立按键和数码管,详情见定时器扫描按键(短按/长按)和定时器扫描数码管(含滚动显示)

2023-11-26 20:00:59 1957

原创 定时器扫描8位数码管(含滚动显示)

本次编程实验以IAP15F2K61S2为单片机主控芯片,其编程使用与STC15F2K60S2完全相同,头文件为。若用于51系列单片机,以reg52.h为头文件,则需将后文中timer0.c中函数中的一行删除(后文有提示)。程序中涉及的定时器初始化程序和LED亮灭程序和数码管显示程序,读者可根据自身所用单片机原理图和手册自行修改。通过上述程序,可以实现定时器扫描数码管(含滚动显示)以提高主程序执行效率。通过类比,也可以实现定时器扫描按键,详情见定时器扫描按键(短按/长按)

2023-11-25 13:57:43 2188 5

原创 定时器扫描按键(短按/长按)

本次编程实验以IAP15F2K61S2为单片机主控芯片,其编程使用与STC15F2K60S2完全相同,头文件为。若用于51系列单片机,以reg52.h为头文件,则需将后文中timer0.c中函数中的一行删除。通过上述程序,可以实现定时器扫描按键以提高主程序执行效率。通过类比,也可以实现定时器扫描数码管,请读者自行思考。此外,由于定时器每1ms进入一次中断,对于具有IIC和One-Wire通信等具有严格时序要求的项目来说,容易使通信被干扰,因此不建议使用定时器扫描的方式。

2023-11-25 00:41:02 3601

第十二届蓝桥杯单片机国赛代码

第十二届蓝桥杯单片机国赛代码

2024-06-10

stm32应用MPU6050的设计报告

目录 第1章 MPU6050介绍 1 1.1 基本介绍 1 1.2 引脚介绍 2 第2章 MPU6050工作原理 3 2.1 工作原理 3 2.2 硬件电路 4 2.3 内部框图 5 第3章 主控芯片介绍 8 第4章 IIC通信协议 10 4.1名词解释 10 4.2基本通信时序 10 4.3具体通信时序 11 4.3.1主设备向从设备发送数据 11 4.3.2从设备向主设备发送数据 12 第5章 MPU6050使用说明 13 5.1MPU6050寄存器介绍 13 5.2MPU6050初始化 16 第6章 实验现象 17 6.1软件模拟IIC 17 6.2硬件驱动IIC 17 第7章 总结与分析 18 附 录 19 附录一 软件模拟IIC核心代码 19 附录二 硬件驱动IIC核心代码 25

2024-05-12

51单片机超声波测距系统

具有测距、温度补充、实时时钟、记忆、阈值警报、串口数据发送等等功能,通过LCD1602显示,按键进行相关操作。   LCD1602显示共有五个界面,按键一用于切换显示界面。   此界面测距为连续测距模式,LCD1602不间断刷新测量距离和温度,一旦测量距离小于设置的阈值,单片机将会发出警报。此界面按下按键4可进入与上位机连接状态,当上位机发送1至单片机后,mcu立刻将测量数据发送至上位机。   此界面为阈值设置界面,按键二用于改变设置位(上限还是下限),设置位会闪烁显示,以此提示。按键三四用于加减。   此界面测距为单次测距模式,按键二按下测量一次,按键三按下则将当前测量距离和测量时间(如23:59:45时测量距离为45cm)保存到EEPROM里面,最多可以记录十次,第十一次将会覆盖第一次数据。   此界面测距为回放模式,按下按键二三切换回放序号,LCD1602会显示在界面三时记录的距离和测量时间。   上电后,LCD1602会显示DS1302的初始时间设置,此时需要通过按键二三四进行时间设置。设置后时间后按下按键一,系统进入界面一,开始工作。

2023-12-23

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除