自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 05_时序逻辑触发器计数器移位与赋值规则

本文系统讲解Verilog时序逻辑设计核心:基于时钟边沿的D触发器、同步/异步复位实现;强调非阻塞赋值(<=)在寄存器、计数器与状态机中的必要性,避免阻塞赋值导致的逻辑错误;介绍二进制与BCD计数器设计,包括可预置、加减计数及模60计数器;阐述并串/串并转换中移位寄存器的正确使用方式;最后通过JK触发器真值表实现翻转功能,强调仿真初值处理。掌握这些规则是构建可靠时序电路的基础。

2026-10-28 22:07:20 211

原创 05_时序逻辑触发器计数器移位与赋值规则

本文系统讲解Verilog时序逻辑设计核心:基于时钟边沿的D触发器、同步/异步复位实现;强调非阻塞赋值(<=)在寄存器与计数器中的必要性,避免阻塞赋值导致的时序错误;介绍二进制与BCD计数器设计,包括模60计数器的边界处理;阐述移位寄存器的并串/串并转换逻辑及移位方向控制;最后通过JK触发器真值表实现翻转功能,强调仿真初值与复位的重要性。掌握这些规则是构建可靠状态机与时序电路的基础。

2026-09-28 05:00:00 347

原创 04_组合逻辑设计实例大全

本文系统介绍Verilog组合逻辑设计核心要素:表决器、选择器、加法器(含BCD)、ALU、译码器与三态门。强调always @*中必须覆盖所有路径,避免隐式锁存器;选择器实现信号隔离,加法器通过进位修正实现BCD运算;译码器与编码器处理多路选择与优先级;三态门用于总线共享,输出z表示高阻态。设计需严格遵循电平逻辑与硬件行为,确保综合正确性。

2026-09-27 05:00:00 418

原创 03_参数化运算符与表达式设计

参数化设计使模块可复用,通过parameter灵活定义位宽;算术、逻辑与按位运算需区分,避免结果溢出或误判;移位、比较、条件与拼接操作须关注位宽与符号扩展,防止截断或错误;编写表达式时应明确类型、位宽,善用括号,确保综合结果正确。

2026-09-26 05:00:00 383

原创 02_Verilog基础语法数据类型与模块设计

本文系统介绍Verilog核心概念:模块即可复用电路单元,通过端口定义输入输出;支持数据流、行为与结构三种描述风格;采用四态逻辑(0/1/x/z)反映真实硬件状态;区分wire(连线)与reg(变量)的驱动机制;强调位宽与常量表示规范;熟练运用向量、位域选择与拼接操作;掌握存储器建模与参数化设计;最终以“连线/变量、位宽、时序”三问提升代码正确性。

2026-09-25 00:02:04 343

原创 01_EDA与Quartus完整设计流程

本文系统梳理了FPGA设计从概念到开发板运行的完整流程:通过EDA工具链实现从HDL描述、功能仿真、综合、布局布线到管脚分配与下载配置的闭环。强调自顶向下设计与IP复用,突出“需求→RTL→仿真→时序→引脚→板级验证”的关键路径,揭示仿真正确≠板上工作,唯有全流程严谨验证,方能确保设计落地成功。

2026-09-25 00:01:37 256

原创 STM32学习笔记(七)TIM定时中断(上)

STM32定时器基础与应用 摘要:本文以STM32F103C8T6为例,系统介绍了STM32定时器的基本结构和工作原理。主要内容包括:1) 定时器核心组成(PSC预分频器、CNT计数器、ARR自动重装寄存器)及时基单元;2) 三类定时器(基本/通用/高级)的功能差异与适用场景;3) 定时周期计算公式与配置方法;4) 定时器框图阅读技巧与信号流程分析。文章重点阐述了定时器作为"硬件闹钟"的工作原理,以及与软件延时的本质区别,为后续实现定时中断、PWM输出等功能奠定基础。通过本文,读者可掌握STM32定时器的选

2026-08-18 20:35:24 241

原创 STM32学习笔记(六)EXTI外部中断(下)

摘要 本文介绍了STM32的EXTI外部中断应用实例,重点讲解了对射式红外传感器计次功能的实现方法。通过模块化设计,将传感器初始化、中断配置和计数功能封装成独立模块。硬件连接上,红外传感器的DO输出引脚连接至PB14,利用下降沿触发中断。软件配置流程包括:GPIO输入模式设置、AFIO选择EXTI线路、EXTI中断模式与触发边沿配置、NVIC中断优先级设定。文章详细分析了各模块的库函数使用方法,并提供了完整的初始化代码框架,展示了从信号检测到中断处理的完整信号通路设计。

2026-08-17 22:00:03 259

原创 STM32学习笔记(五)EXTI外部中断(上)

摘要: 本文介绍了STM32外部中断(EXTI)的基本概念和工作原理。主要内容包括: 中断系统概述:对比轮询与中断机制,解释中断的执行流程、中断向量表、优先级和嵌套机制,强调中断服务程序应尽量简短高效。 NVIC中断控制器:详细说明NVIC的作用,包括中断通道管理、优先级分组(抢占优先级和响应优先级)以及中断嵌套的实现方式。 应用场景:通过日常类比(如快递门铃、医院分诊)帮助理解中断机制,为后续实现旋转编码器等外部中断应用奠定基础。 文章重点阐述了中断如何提高CPU效率,以及STM32中断优先级管理的具体实

2026-08-09 16:22:27 253

原创 STM32学习笔记(四)OLED显示屏与Keil调试

本文介绍了STM32开发中OLED显示屏的使用方法和Keil调试技巧。主要内容包括:1)三种程序调试方法(串口调试、显示屏调试和Keil调试)的特点与适用场景;2)OLED显示屏的基本原理,重点讲解0.96寸OLED模块的硬件连接方式(4针I2C和7针SPI接口);3)OLED常用驱动函数的使用说明;4)实战演练部分详细说明了如何修改引脚配置和初始化代码,并给出了显示字符、字符串和数字的具体示例代码。文章强调要根据实际硬件接线修改驱动代码,并注意不同OLED驱动库的参数差异。

2026-08-05 17:43:00 204

原创 对于普通人来说,Codex 能干什么?一篇文章看懂 AI 编程助手的真实用法

Codex作为AI编程助手,可以让普通人将想法转化为可运行的小工具或自动化流程。文章介绍了Codex与普通聊天AI的区别,并提供了6种实用场景:制作简单工具、处理重复工作、解释代码、排查错误、补充文档和辅助学习。使用时建议遵循"说清目标→先看计划→小步修改→检查结果"的流程,并注意核对代码、管理权限和保护隐私。最后推荐了三个适合初学者的实践任务:制作本地待办网页、文本统计工具和理解已有项目。Codex不是万能的,用户仍需负责需求确认、结果核对和隐私保护。

2026-08-04 20:55:46 256

原创 STM32学习笔记(三)GPIO输入

STM32 GPIO输入学习笔记摘要 本文以STM32F103为例,介绍了GPIO输入功能的应用,重点讲解了按键和传感器模块的使用方法: 按键输入: 按键抖动问题及软件消抖方案 推荐使用内部上拉输入模式 按键接线方式与电平逻辑关系 传感器模块: 常见传感器类型及工作原理 数字输出(DO)和模拟输出(AO)接口区别 光敏传感器连接方法 C语言补充知识: STM32推荐使用的定宽整数类型 宏定义与typedef的区别 结构体的定义与访问方法 枚举类型的使用场景 应用实现: 按键控制LED 光敏电阻控制蜂鸣器 本

2026-08-04 19:32:03 286

原创 STM32学习笔记(二)GPIO输出、LED与蜂鸣器

STM32 GPIO学习摘要(150字) 本文以STM32F103为例,系统介绍了GPIO原理与应用。主要内容包括: GPIO的8种工作模式(4输入/4输出),重点对比推挽与开漏输出特性及适用场景; LED驱动电路设计要点,强调限流电阻的必要性及高低电平点亮方式; 有源/无源蜂鸣器区别及驱动方法; 标准外设库操作GPIO的标准流程:时钟使能→初始化配置→电平控制。 通过LED闪烁、流水灯和蜂鸣器控制等实验,帮助理解GPIO作为单片机基础接口的实际应用。文中特别指出多个输出端不能直接并联等关键注意事项。

2026-07-22 17:54:09 449

原创 STM32学习笔记(一) 建立工程

STM32学习笔记(一):建立基础工程与点亮LED 本文记录了基于STM32F103C8T6的最小系统开发流程,通过Keil μVision 5环境和ST-Link工具,从寄存器操作到标准外设库应用的点灯实验。主要内容包括: 开发方式对比:介绍了寄存器开发、标准外设库(SPL)和HAL库三种开发方式的区别,重点说明标准库在理解底层机制方面的优势。 工程搭建: 创建目录结构(Start/User/Library) 添加CMSIS核心文件(core_cm3)和器件支持文件(stm32f10x.h) 选择匹配的中

2026-07-21 19:32:40 380

原创 蓝桥杯单片机学习笔记(十四) V2026大模板源代码

本文分享了蓝桥杯单片机开发的大模板源代码,主要包含以下内容: 完整的主程序框架(main.c),包含各类外设驱动头文件引用和变量声明 实现了数码管显示处理函数(Seg_Proc),支持8种显示模式切换 按键处理函数(Key_Proc)实现多种功能控制,包括显示模式切换、PWM调节、EEPROM读写等 集成了温度传感器、RTC时钟、ADC/DAC、超声波测距等模块的数据采集功能 包含串口中断服务函数框架,支持数据接收处理 该模板为单片机开发提供了完整的参考框架,便于快速实现各类功能需求。

2026-05-25 20:54:42 207

原创 蓝桥杯单片机学习笔记(十三) V2026大模板构筑(下)

本文总结了蓝桥杯单片机V2026大模板中DS1302时钟、PCF8591、EEPROM、超声波和串口等模块的实现要点。DS1302采用两次读取防跳变机制,并详细说明了BCD码转换方法;PCF8591实现AD/DA转换功能;EEPROM提供断电存储能力;超声波测距通过10us触发脉冲实现;串口通信强调波特率精度要求。各模块通过定时器中断协调工作,构建了完整的单片机外设框架,适用于复杂赛题的多模块协同应用。

2026-05-24 16:19:32 605

原创 Windows电脑自带软件全部无法使用?亲测有效的解决办法!

摘要:Windows系统自带软件(如计算器、截图工具等)突然无法打开?本文分享了一个亲测有效的解决方法:通过管理员PowerShell执行命令重新注册所有内置应用。操作步骤简单,无需重装系统,几分钟即可完成修复。若问题依旧,还提供了sfc和DISM等进阶修复方案。该方法适用于因系统应用注册信息损坏导致的各种闪退、无响应问题,帮助用户快速恢复日常办公效率。

2026-05-23 21:52:11 1823 2

原创 蓝桥杯单片机学习笔记(十二):V2026 大模板构建(上)

本文介绍了蓝桥杯单片机国赛V2026大模板的构建方法,重点讲解了LED、蜂鸣器、继电器、电机和数码管显示模块的实现。该模板在原有调度器模板基础上进行了优化升级,主要改进包括:采用16位状态图处理多键同时按下、优化NE555频率测量周期、合并LED与显示处理、增强温度读取稳定性等。文章详细说明了各模块的代码实现原理,如LED模块通过比较新旧状态减少刷新次数,数码管显示采用消影技术避免残影等。该模板更适合处理国赛中复杂的边界条件和多任务调度需求,为参赛者提供了更高效的开发框架。

2026-05-20 17:32:45 711

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

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

2026-03-28 17:33:25 1393 1

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

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

2026-03-27 20:17:22 1065

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

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

2026-03-24 22:09:00 838

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

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

2026-03-22 21:13:17 583

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

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

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

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

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

2026-02-28 15:33:53 748

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

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

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

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

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

2026-02-24 16:03:09 1081

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

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

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

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

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

2026-02-13 19:54:49 1500

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

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

2026-02-12 17:21:15 1224

原创 蓝桥杯单片机学习笔记(六)——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 1421

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

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

2026-02-08 20:31:06 1265

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

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

2026-02-05 21:21:52 1226

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

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

2026-02-03 10:24:07 833

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

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

2026-02-02 21:38:51 940

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

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

2026-02-02 00:36:20 1321

蓝桥杯第十五届单片机国赛满分代码解析:运动控制、串口通信、数码管显示完整工程

本项目为蓝桥杯第十五届单片机国赛客观题/程序设计题完整满分代码,适用于 STC15F2K60S2 开发板学习与备赛参考。代码严格按照国赛题目要求实现,包含串口指令解析、坐标目标设置、设备运动控制、NE555 频率测速、超声波障碍物检测、光敏电阻日夜判断、数码管多界面显示、LED 状态指示、继电器控制、按键交互等核心功能。 程序采用清晰的状态机设计,将设备状态划分为空闲、运行、等待三种模式。串口支持坐标设置、状态查询和当前位置查询;按键支持启动、暂停、继续、清零、参数切换与参数调整;运动部分使用起点坐标、目标坐标、路径长度和方向比例计算,实现设备沿直线路径移动,并通过坐标放大 1000 倍的方式提高运动精度。到达目标后,系统自动回到空闲状态,并控制 L3 指示灯亮 3 秒。 本代码适合正在准备蓝桥杯单片机组国赛、省赛的同学参考学习,也适合用于理解国赛常考模块的综合应用,包括定时器中断、串口超时判帧、数码管动态扫描、状态机编程、浮点运动计算和外设联动控制。代码结构清晰、变量命名直观,便于二次修改和移植。

2026-06-03

蓝桥杯单片机组14届国赛完整工程文件(4T测评79分)

本工程基于STC15F2K60S2单片机开发,实现了超声波测距、温度采集、参数设置、数据记录与DAC输出的完整功能,适用于嵌入式控制、智能传感和电子实验教学。系统采用按键S4/S5/S8/S9进行模式切换、参数调节和数据输出控制,支持测距界面、参数界面以及工厂模式,满足竞赛和实验环境的使用需求。 功能模块包括:1)测距与温度实时采集,通过超声波传感器获取距离,并结合温度数据进行显示与控制;2)数码管动态显示,支持厘米/米单位切换,并可显示温度、距离和工厂参数信息;3)LED状态显示,根据测距和工厂模式实现动态指示与闪烁效果;4)数据记录功能,可记录6个关键测距数据点,支持S9按键触发DAC输出,实现数据可视化或控制外部设备;5)DAC输出模块,通过I2C总线向DAC发送电压值,实现对应距离的电平输出,支持校准值和下限电压设置;6)继电器控制模块,根据距离与温度参数自动吸合,实现简单智能控制逻辑;7)恢复出厂设置功能,通过长按S8实现系统参数复位,保证实验可重复性与安全性。 工程在Timer1中断下实现按键扫描、数码管刷新、LED闪烁、记录计时及DAC输出节拍,保证各模块同步运行。Key_Proc()函数实现按键防抖、长按识别和多模式切换逻辑,Seg_Proc()函数实现显示信息刷新及LED状态更新,整体程序结构清晰、逻辑完整、可扩展性高。该工程代码可直接在Keil uVision环境下编译运行,并可作为嵌入式系统课程、电子实验室或智能测控项目的参考示例。 本工程附带完整代码和头文件,覆盖所有功能模块,实现了从按键输入到DAC输出的完整闭环控制,是嵌入式微控制器综合应用的优秀示例,适合学习嵌入式开发、I2C通信、实时数据采集及多模块协作控制。

2026-06-01

蓝桥杯单片机V2026国赛大模板:按键、数码管、DS1302、DS18B20、EEPROM、串口、超声波综合工程

本资源为蓝桥杯单片机组 V2026 综合大模板工程,适合蓝桥杯省赛、国赛备赛以及 STC15F2K60S2 单片机模块化学习使用。工程按照常用比赛项目进行整理,涵盖 LED、蜂鸣器、继电器、电机控制、数码管动态扫描、矩阵按键、组合键识别、NE555 频率测量、PWM 调光、DS18B20 温度采集、DS1302 时钟与日期读写、PCF8591 AD/DA 转换、EEPROM 数据读写、超声波测距、串口收发与 printf 重定向等常见功能模块。 本模板采用模块化编写方式,各功能通过 .c 和 .h 文件分层管理,结构清晰,便于理解、移植和二次开发。按键部分采用 16 位状态图设计,不再局限于单键判断,可支持多键同时按下和组合键功能;NE555 测频部分缩短测量周期,更适合比赛测评环境;数码管显示部分采用动态扫描和消影处理,显示更加稳定;EEPROM 读写时加入中断保护思路,减少数据读写过程中的干扰;串口部分支持中断接收和数据回显,便于后续扩展通信类题目。 代码中包含较为详细的中文注释,对变量作用、函数功能、锁存器选择、位操作、定时器中断、外设读写流程等都进行了说明,适合初学者边看边学,也适合有基础的同学作为比赛工程模板快速调用。通过本模板,可以系统掌握蓝桥杯单片机常用外设的使用方法和综合题目的程序组织思路,提高备赛效率。

2026-05-24

第十四届蓝桥杯单片机组省赛完整工程源码:基于时间片调度架构的多维数据采集系统(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关注的人

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