- 博客(19)
- 收藏
- 关注
原创 51单片机入门:矩阵键盘与简单密码锁项目
本文介绍了矩阵键盘的扫描原理与实现方法。通过行列扫描技术可显著节省I/O端口资源,类似1080p显示只需约9000个端口而非数百万个。文章详细讲解了逐列扫描的实现逻辑,包括消抖处理和键码获取的完整流程,并提供了Keil5的代码模板使用技巧。最后展示了一个密码锁项目,通过三个循环结构分别实现密码设置、确认和验证功能,突出了单片机编程中循环逻辑与普通C语言的差异。该项目采用模块化编程,通过矩阵键盘输入4位密码并进行验证,正确显示"OK"错误显示"ERR",体现了扫描技术在
2025-08-03 11:08:32
590
1
原创 51单片机入门:模块化编程
本文介绍了模块化编程的基本概念及在51单片机开发中的应用。通过将不同功能模块分离到独立.c文件中,配合.h头文件声明接口,可以显著提高代码的可读性、可维护性和可移植性。文章以数码管显示和LCD1602液晶屏为例,详细展示了模块化编程的具体实现方法,包括Delay、Nixie等模块的拆分,以及LCD1602驱动程序的封装与调用。特别强调了头文件保护、文件组织规范等注意事项,并提供了完整的代码示例和运行效果说明。文中还演示了如何在LCD1602上实现多种数据格式的显示功能,为单片机开发提供了实用的调试工具。
2025-08-01 16:22:04
567
2
原创 预处理详解(请结合之前的编译和链接食用~)
本文介绍了C语言预处理器的功能和使用技巧。主要内容包括:1. 预定义符号的使用;2. #define定义常量和宏的注意事项,如添加括号避免运算优先级问题;3. 宏与函数的比较,分析各自的优缺点;4. #和##运算符的特殊用法;5. 条件编译的多种形式;6. 头文件包含的两种方式及防止重复包含的方法。文章通过具体代码示例,详细说明了预处理指令在程序开发中的实际应用和常见问题解决方案。
2025-07-31 21:27:31
954
原创 51单片机入门:数码管原理介绍及C代码实现
这篇文章介绍了LED数码管的基本原理和使用方法,主要包含以下内容:1.数码管的基本结构和工作原理,包括共阴极和共阳极两种连接方式;2.单个数码管和四位一体数码管的引脚定义及控制方法;3.通过138译码器实现多位数字显示;4.动态显示技术利用视觉暂留效应实现多位数显示;5.代码实现中遇到的串位问题及解决方案(添加延时和清零操作)。文章配合B站江协科技up主的51单片机教程使用效果更佳。
2025-07-30 17:38:48
938
1
原创 时间和空间复杂度
本文系统介绍了算法复杂度分析的核心概念与方法。时间复杂度采用大O渐进表示法,通过保留最高阶项并去除系数来评估算法效率,常见复杂度包括O(1)、O(n)、O(n²)、O(logn)和O(2ⁿ)。空间复杂度则关注算法运行时申请的额外存储空间,同样采用大O表示法。文章通过多个代码示例(如冒泡排序、二分查找、斐波那契数列)详细演示了复杂度计算过程,并对比了不同实现方式的效率差异。最后结合力扣题目(消失数字、轮转数组)展示了复杂度分析在实际解题中的应用,强调优化算法时需优先考虑降低时间/空间复杂度。
2025-07-25 23:48:05
899
原创 备赛蓝桥杯:第四章:string
大家好,本人这两天学习到string这章,发现只是很细碎,因此整理下来这里只是很粗浅的整理使用方法,不涉及深层原理,希望对你有帮助~
2025-02-12 11:11:06
789
原创 备赛蓝桥杯——day1:C++篇
同学们大家好!从今天开始我要开始每日打卡蓝桥杯(我是c/c++软件赛)的学习啦!我会在这里分享我的学习成果,希望对你有帮助!
2025-01-15 09:16:47
2068
原创 从零开始用C语言编写扫雷游戏
一个大一电信人做的关于用C语言完成扫雷游戏的分享,有很努力的做注释!个人感觉还是很容易懂的!适合学过循环,数组,函数的同学~
2024-12-19 18:06:18
562
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人