自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 嘉立创EDA硬件设计与实战学习笔记(三):51单片机核心板原理图设计

本文介绍了使用嘉立创EDA设计51单片机核心板原理图的全过程。主要内容包括:1)选用STC89C52RC作为主控芯片,构建包含电源、晶振和复位电路的最小系统;2)详细设计了Type-C供电接口、5V转3.3V降压电路及滤波网络;3)完成外围功能电路,包括按键消抖、LED驱动、P0口上拉电阻配置和串口引出等;4)通过DRC检查确保设计规范性。文章提供了完整的原理图设计思路和具体实现方法,适合硬件设计初学者参考学习。

2026-03-28 17:33:25 726

原创 嘉立创EDA硬件设计与实战学习笔记(二):元件符号与封装的绘制

摘要: 本文详细介绍了在嘉立创EDA专业版中绘制LM358DT运算放大器芯片的元件符号和封装的完整流程。元件符号(Symbol)代表原理图中的逻辑功能,封装(Footprint)对应PCB上的物理尺寸。绘制符号需注意引脚方向、编号与功能名匹配;封装制作需严格参照数据手册尺寸,采用阵列放置提高效率。最后通过器件(Device)将符号与封装绑定,确保设计准确性。该教程特别强调了防呆设计和三种焊盘放置方法的对比,适合硬件设计初学者系统学习元件库创建。

2026-03-27 20:17:22 643

原创 嘉立创EDA硬件设计与实战学习笔记(一):原理图初识、元器件与数据手册

如果把设计一块电路板(PCB)比作建造一座城市,那么。它不关心楼房到底建在哪里,只关心“市政厅必须和警察局有一条路连着”。读懂原理图,是我们进入硬件世界的第一步。

2026-03-24 22:09:00 625

原创 嵌入式智能门锁项目学习笔记(三):代码框架、矩阵键盘与密码输入

本文介绍了嵌入式智能门锁项目的第三部分内容,重点讲解了代码模块化、屏幕显示优化和矩阵键盘的实现方法。首先通过模块化思想将定时器、舵机等代码分门别类存放,优化了代码结构。其次改进了LCD显示功能,实现了中文连续显示和自动换行。最后详细解析了4x4矩阵键盘的工作原理,包括硬件接线方式、GPIO配置模式(推挽输出和上拉输入)以及按键检测逻辑。文章通过生动的比喻和详细的代码示例,帮助读者理解嵌入式开发中的关键概念和实现技巧。

2026-03-22 21:13:17 512

原创 嵌入式智能门锁项目学习笔记(二):舵机与屏幕显示

摘要 本课程笔记记录了嵌入式智能门锁项目中舵机与屏幕显示模块的实现过程。主要内容包括: 串口移植:将串口2代码修改为串口3,实现与电脑通信,完成数据接收并加1发送的功能。重点说明了硬件连接注意事项和代码修改细节。 舵机控制:介绍了SG90舵机的工作原理,包括PWM信号控制角度的方法。通过代码实现门锁开关的模拟。 屏幕显示:使用1.44英寸SPI串口屏幕作为门锁交互界面,展示了状态显示功能。 项目使用了CH341A串口模块、舵机、降压电源和SPI屏幕等硬件,实现了门锁系统的核心功能演示。

2026-03-06 15:23:20 716 1

原创 嵌入式智能门锁项目学习笔记(一) 标准库扫盲

嵌入式智能门锁开发入门:GPIO与定时器实战 本项目使用MounRiver Studio开发环境和CH32V307芯片,通过GPIO和定时器实现基础控制功能。开发方式对比了寄存器、标准库和HAL库三种方法,标准库因其易用性成为新手首选。文章详细讲解了GPIO初始化流程,以PC2引脚控制LED为例,展示了从时钟配置到引脚输出的完整代码。同时引入定时器中断机制,通过TIM2实现非阻塞延时,类比"闹钟"解释中断原理,提供定时器初始化和中断服务函数的移植代码。这些基础模块为后续智能门锁功能开发奠

2026-02-28 15:33:53 698

原创 蓝桥杯单片机学习笔记(十一)—— 调度器大模板构建

本文介绍了一个用于蓝桥杯单片机比赛的集成化调度器模板,整合了LED、数码管、按键、传感器等外设驱动。模板采用调度器架构实现多任务协同运行,避免了传统延时变量方法的问题。详细讲解了各模块的初始化、LED控制(含蜂鸣器/继电器/电机)、数码管显示(含小数点处理)、按键扫描(支持矩阵按键和双按键识别)等核心功能的实现方法,并提供了优化建议如20ms刷新间隔、NE555测频注意事项等。所有代码均配有详细注释,适合初学者学习参考。

2026-02-27 15:45:18 671 3

原创 蓝桥杯单片机学习笔记(十)——PWM与串口

摘要 本文介绍了蓝桥杯单片机中PWM调光和串口通信的实现方法。PWM部分通过定时器中断控制占空比实现LED亮度调节,建议将周期划分为10或20份以获得最佳效果。串口通信部分详细讲解了初始化配置、printf重定向以及超时解析机制,其中超时解析通过定时检测接收间隔来判断数据帧结束。文章提供了完整的代码实现,包括UART初始化和中断处理,并建议调试时先进行回显测试再实现数据解析。

2026-02-24 16:03:09 912

原创 蓝桥杯单片机学习笔记(九)——超声波测距与NE555频率测量

本文介绍了蓝桥杯单片机竞赛中超声波测距模块的实现方法。主要内容包括:1) 超声波测距原理(通过发射40kHz方波并计算回波时间差);2) 硬件连接与引脚定义;3) 使用PCA定时器精确测量时间;4) 12μs延时函数的实现与超声波发射;5) 完整的驱动代码实现,包括距离计算公式d=0.017×t。文章详细讲解了超声波测距的每个技术环节,包括发射时序控制、接收检测、定时器配置等关键实现细节,为单片机开发者提供了实用的参考方案。

2026-02-13 22:13:39 1170 3

原创 蓝桥杯单片机学习笔记(八)——内存管理与DS1302实时时钟

本文介绍了蓝桥杯单片机竞赛中的内存管理和DS1302实时时钟应用。内存管理部分详细分析了IAP15单片机的四种存储区域(data/idata/xdata/pdata)及其特点,指出idata溢出不会报错但会导致程序异常,并给出内存使用的最佳实践。DS1302部分讲解了硬件连接、寄存器配置、BCD码转换和时间读写函数实现,强调中断保护和写保护的重要性。最后提供了完整的底层驱动代码框架,帮助开发者正确使用DS1302时钟芯片。

2026-02-13 19:54:49 1380

原创 蓝桥杯单片机学习笔记(七)——AT24C02 存储芯片完全攻略

本文详细介绍了AT24C02存储芯片的使用方法,重点包括:芯片特性(2KB容量、I²C通信)、设备地址配置(0xA0写/0xA1读)、数据写入技巧(页写入需8字节对齐)、读取流程(先写后读)以及完整驱动代码实现。通过生活化比喻和表格对比,帮助理解EEPROM存储原理与操作要点,适用于蓝桥杯单片机竞赛中的非易失性数据存储需求。

2026-02-12 17:21:15 924

原创 蓝桥杯单片机学习笔记(六)——PCF8591 完全攻略

本文介绍了蓝桥杯单片机中PCF8591模块的使用方法,主要内容包括: PCF8591的地址配置:蓝桥杯开发板默认写地址0x90,读地址0x91 IIC通信协议:通过SCL时钟线和SDA数据线进行通信,包含起始信号、应答信号和停止信号 控制字设置:0x41对应AIN1(光敏电阻),0x43对应AIN3(滑动变阻器) A/D转换流程:6步完成模拟信号到数字信号的转换 D/A转换功能:通过发送0-255数值控制输出电压(0-5V) 提供了完整的底层驱动代码实现 文章通过生活化的比喻帮助理解技术概念,适合单片机初学

2026-02-11 00:02:55 1175

原创 蓝桥杯单片机学习笔记(五):DS18B20 深度解析与工程规范

本文深度解析了蓝桥杯单片机竞赛中DS18B20温度传感器的应用要点。首先强调了数码管显示函数参数顺序的重要性,指出错误顺序会导致显示异常。接着详细介绍了DS18B20的单总线通信原理、温度数据格式和关键指令集,包括跳过ROM(0xCC)、温度转换(0x44)和读取数据(0xBE)等核心指令。文中提供了温度读取的完整代码实现,解释了温度值除以16.0的数学原理。最后讲解了C语言工程规范中的头文件防重复包含机制,以及#include尖括号和双引号的使用区别。全文以通俗易懂的比喻讲解技术细节,适合备赛选手快速掌握

2026-02-08 20:31:06 1167

原创 蓝桥杯单片机入门培训笔记(四)

本文详细解析蓝桥杯单片机组开发中的工程规范与底层驱动实现。主要内容包括:1)建立模块化工程结构,配置Keil5开发环境;2)系统初始化模块实现静默启动,通过74HC138译码器和锁存器控制外设;3)LED模块实现精准点控,采用状态记忆和位运算技术。文章提出外设控制万能公式:送数→开门→锁门三步操作法,并深入讲解硬件原理与代码实现细节,为单片机开发提供规范化指导。

2026-02-05 21:21:52 1163

原创 蓝桥杯单片机入门培训笔记(三)

本文介绍了蓝桥杯单片机竞赛中的数码管显示技术。数码管由8个LED组成,分为共阴和共阳两种类型。文章详细讲解了段码与位码的原理及生成方法,并提供了常用段码表。静态显示只能单独控制数码管,而动态显示利用人眼视觉暂留效应,通过定时器中断实现多位数码管同时显示的效果。文中包含完整的示例代码,涵盖定时器初始化、中断服务函数以及数码管显示函数,并采用生动的比喻帮助理解锁存器和中断机制的工作原理。

2026-02-03 10:24:07 762

原创 蓝桥杯单片机入门培训笔记(二)

本文介绍了单片机按键控制的基础知识与应用技巧。主要内容包括:1)按键硬件原理,将按键比作单片机"感受器官";2)独立按键读取方法,通过检测引脚电平变化判断按键状态;3)按键边沿检测技术,识别按下/松开瞬间;4)矩阵键盘设计原理,通过行列扫描节省引脚;5)实际应用中的按键消抖、扫描频率等注意事项。文章采用水管、酒店等生动比喻解释技术概念,并提供了完整的代码示例,帮助初学者理解按键检测的核心算法和编程实现方法。

2026-02-02 21:38:51 870

原创 蓝桥杯单片机入门培训笔记 (一)

本文摘要: 本文是蓝桥杯单片机入门培训笔记的第一部分,主要讲解单片机开发的基础操作和LED控制。内容分为四个章节:1) 工程搭建,介绍如何在Keil中创建项目并设置基础框架;2) LED点亮原理,讲解通过控制引脚电平来操作LED的两种方法;3) LED闪烁实现,重点介绍延时函数的生成和使用;4) 流水灯效果,展示如何利用循环移位函数实现灯光流动效果。笔记采用比喻手法讲解技术概念,如将工程文件夹比作"地皮",将引脚比作"开关",使初学者更容易理解单片机开发的基本流程和原

2026-02-02 00:36:20 1214

第十四届蓝桥杯单片机组省赛完整工程源码:基于时间片调度架构的多维数据采集系统(4T测评83.7分)

本项目为第十四届蓝桥杯全国软件和信息技术专业人才大赛单片机设计与开发组省赛的完整工程源码。该系统基于国信长天单片机竞赛实训平台进行开发,核心微控制器采用STC15F2K60S2。整个工程摒弃了传统的阻塞式延时编程方式,创新性地引入了基于时间片轮询的轻量级任务调度架构。通过构建独立的结构体数组来管理各项前后台任务,系统能够精准分配按键扫描、数码管动态刷新、LED状态指示以及各类传感器数据读取的执行周期,从根本上解决了多传感器并行处理时的任务拥塞问题,大幅提升了系统的实时响应能力和整体运行的稳定性。 在硬件外设的深度驱动与整合方面,本工程综合调用了竞赛平台上的核心外设模块。系统利用DS1302实时时钟芯片维护高精度的系统时间,通过单总线协议与DS18B20温度传感器通信实现环境温度的实时监测。同时,借助单片机内部定时器0的计数器模式与定时器1的精准中断闸门,系统精准捕获NE555电路产生的脉冲信号频率,并根据给定的线性算法将其转换为环境湿度值。此外,工程还通过IIC总线控制PCF8591芯片进行模数转换,实时采集光敏电阻的电压参数,以此作为环境光暗变化的敏锐判断依据。 在业务逻辑与状态管理层面,程序实现了高度模块化的界面交互控制。系统内部构建了严密的按键状态机与显示状态机,能够流畅且无死角地切换时间显示、数据回显与参数设置三大主界面,并在回显界面下支持温度、湿度及采集时间子界面的平滑浏览。针对赛题的数据处理痛点,代码中设计了极具鲁棒性的历史数据统计算法,能够精准计算并记录触发状态下的温湿度最大值与平均值。特别是针对光暗突变触发采集的核心逻辑,程序引入了防重复触发标志位与三秒倒计时锁存机制,并包含了对无效频率数据的智能过滤与异常状态报警功能,确保了采集数据的绝对有效性。

2026-03-26

【第15届蓝桥杯单片机省赛】基于时间片轮询架构的综合测量显示系统(附源码)

大家好!这是我为第15届蓝桥杯全国软件和信息技术专业人才大赛(单片机设计与开发组)省赛编写的实战代码。为了方便各位备考的同学参考与交流,我决定将这份源码整理后分享出来。本项目基于STC15F2K60S2单片机开发,涵盖了比赛常用的核心外设与考点。 核心架构亮点:轻量级时间片调度 本项目最大的特色在于摒弃了传统的“大循环+Delay延时”的阻塞式写法,引入了一个轻量级的时间片调度器(Scheduler)。通过底层定时器提供1ms的 uwTick 基准,将LED刷新、按键扫描、数码管动态显示、RTC数据读取、频率采集与DA输出等模块封装为独立任务,并分配了不同的执行周期。这种架构极大地提升了系统的实时性与响应速度,代码逻辑清晰,易于扩展。 主要功能模块 多维度交互界面:包含频率显示界面、参数设置界面(支持频率超限阈值与误差校准值调整)、实时时间界面以及历史回显界面,按键逻辑严密,界面切换丝滑。 高精度频率测量:采用定时器0作为计数器,定时器1提供1秒时间窗口,精确采集外部信号频率,并加入了软件校准逻辑(Freq_Check_Para)与异常负值处理。 DA动态模拟输出:结合PCF8591芯片(IIC通信),根据当前频率与设定参数的线性关系,动态计算并输出对应的模拟电压,具备严谨的边界极值保护(电压钳位在1V~5V区间)。 极值与时间戳记录:联动DS1302实时时钟,在后台自动捕捉历史最大频率值,并同步记录该极值发生时的确切时间,用户可在回显界面轻松查看。 总结 这份代码模块化程度高,变量命名规范,注释详尽,非常适合正在备战蓝桥杯单片机组的同学作为“多界面菜单逻辑”和“时间片架构”的参考模板。希望能给大家带来一些启发!

2026-03-07

蓝桥杯单片机组第十三届省赛第一次详解

蓝桥杯单片机第十三届省赛实战代码分享(基于时间片轮询架构) 大家好!本文分享一份基于 STC15F2K60S2 的蓝桥杯单片机第十三届省赛完整参考代码。 本次代码摒弃了传统的“大循环+延时”阻塞式写法,引入了时间片轮询调度器架构。这种写法逻辑清晰、扩展性极强,能有效避免模块间的相互阻塞,非常适合处理蓝桥杯复杂的综合性赛题。 代码核心亮点 时间片轮询调度(Task Scheduler): 利用定时器 1 产生 1ms 的 uwTick 时间戳,构建轻量级调度器。LED、数码管、按键、RTC 和温度读取等任务封装在结构体数组中,按自定义频率非阻塞运行,系统响应极为流畅。 高效按键状态机: Key_Proc() 函数利用位运算 Key_Val & (Key_Val ^ Key_Old) 巧妙实现按键边沿捕捉,完美解决消抖和状态切换的逻辑冲突。 底层非阻塞处理: 数码管采用定时器中断底层自动刷新,主循环仅负责组装业务数据。DS1302(时间)与 DS18B20(温度)的读取被合理分配执行周期,避免了单总线时序冲突。 高内聚低耦合: 继电器控制(温度/时间双模式切换)、整点报警标志及参数设置界面的逻辑隔离清晰,代码复用率高,易于赛场上的快速修改与调试。 实现功能模块 DS18B20 实时温度采集与阈值设定。 DS1302 时钟读取及多界面切换显示。 继电器智能控制(支持温度越限与时间整点双控制模式)。 LED 与数码管多重状态指示(包含报警闪烁与界面动态更新)。 希望这份代码架构能给备战蓝桥杯的同学们提供新思路!有疑问欢迎在评论区交流。

2026-03-04

蓝桥杯单片机组调度器大模板压缩包

这是蓝桥杯单片机组调度器大模板的压缩包。具体的使用及知识点在我的蓝桥杯单片机组备赛指北专栏里讲过,学习笔记(十一)详细讲解了这个大模板的使用。如有需要欢迎前去查看!

2026-03-03

空空如也

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

TA关注的人

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