自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 LED点阵屏显示图形&动画

摘要:本文介绍了使用74HC595芯片驱动点阵屏显示的方法。通过定义_74HC595_Writebyte函数实现串行数据转换,并构建MatixLED_ShowColumn函数控制行列显示。展示了基础显示测试、笑脸图案显示以及动画效果的实现过程。动画效果通过数组存储帧数据、计次延时和偏移量控制实现,包括防止数组溢出的安全机制。最后演示了逐帧动画的实现方式,通过修改偏移量步长实现不同动画效果。

2025-12-04 20:50:58 446

原创 LED点阵屏知识点

LED点阵屏是由多个LED灯珠按矩阵排列组成的显示设备,通过控制灯珠亮灭来呈现文字、图像等内容。它分为单色、双色和全彩类型,常见像素规格有8×8、16×16等。点阵屏采用类似数码管的工作原理,有共阴和共阳两种接法,需要逐行/列扫描实现显示。74HC595移位寄存器常用于驱动点阵屏,实现串并转换和IO扩展。在单片机开发中,通过sfr定义特殊功能寄存器,sbit定义可位寻址位,对不可位寻址位需使用位运算符操作。

2025-12-03 19:02:13 376

原创 串口通信学习笔记

全双工:通信双方可以在同一时刻互相传输数据半双工:通信双方可以互相传输数据,但必须分时复用一根数据线单工:通信只能有一方发送到另一方,不能反向传输异步:通信双方各自约定通信速率同步:通信双方靠一根时钟线来约定通信速率总线:连接各个设备的数据传输线路(类似于一条马路,把路边各住户连接起来,使住户可以相互交流)

2025-12-02 21:08:46 455

原创 定时器学习笔记

定时器介绍:51单片机的定时器属于单片机的内部资源,其电路的连接和运转均在单片机内部完成定时器作用:(1)用于计时系统,可实现软件计时,或者使程序每隔一固定时间完成一项操作(2)替代长时间的Delay,提高CPU的运行效率和处理速度......

2025-12-02 20:48:55 1026

原创 矩阵键盘学习笔记

本文介绍了矩阵键盘的工作原理及其在密码锁中的应用。矩阵键盘通过行列扫描方式检测按键状态,有效减少I/O口占用。文中提供了矩阵键盘扫描代码实现,并演示了基于矩阵键盘的4位密码锁系统(预设密码2345)。系统包含密码输入(数字键1-10)、确认(键11)和清除(键12)功能,通过LCD1602显示输入过程和验证结果("OK"或"ERR")。该设计展示了矩阵键盘在嵌入式系统中的典型应用,实现了硬件资源优化和用户交互功能。

2025-11-27 21:22:15 447

原创 模块化及调试工具(粗版)

摘要:模块化编程将代码按功能拆分为不同.c和.h文件,提高可读性和维护性。.c文件定义函数变量,.h文件声明可调用接口,使用时包含对应头文件。LCD1602液晶屏作为调试工具,提供多种显示函数:ShowChar、ShowString、ShowNum等,可显示字符、字符串、数字(十进制、十六进制、二进制),便于实时观察单片机数据变化。使用时需初始化LCD并调用相应显示函数,指定显示位置和内容。

2025-11-24 20:39:29 346

原创 数码管显示

本文介绍了LED数码管的原理及应用。数码管是由多个LED组成的"8"字形显示器件,具有结构简单、成本低廉的特点。文章详细说明了静态和动态两种数码管驱动方式:静态显示通过直接控制引脚电平实现,而动态显示利用延时函数消除重影。同时介绍了相关的C语言编程要点,包括数组存储数码管编码、子函数封装显示逻辑等。文中还提供了完整的示例代码,展示了如何通过单片机控制数码管显示特定数字。最后简要比较了单片机直接扫描和专用驱动芯片两种实现方案的优缺点。

2025-11-22 20:49:50 293

原创 独立按键控制LED亮灭

摘要:本文介绍了使用独立按键控制LED的多种实现方法。包括按键抖动处理、LED亮灭控制、二进制显示及位移控制等。通过51单片机编程实现按键检测(含20ms延时消抖),控制P2端口LED状态变化。其中涉及单按键控制亮灭、二进制计数显示(含数值取反处理)、单侧/双侧LED位移等功能。主要代码逻辑包括按键检测、状态切换和LED输出控制,展示了嵌入式系统中基本输入输出控制的实现原理。

2025-11-21 22:33:16 465

原创 51单片机点亮LED

本文介绍了LED(发光二极管)的基本概念和基于51单片机的控制代码实现。主要内容包括:1)LED的定义和主要用途;2)使用51单片机控制LED点亮的基本代码;3)实现LED闪烁效果的延时控制程序;4)LED流水灯效果的实现方法,通过依次点亮不同LED形成动态效果。文中提供了完整的C51源代码示例,包括延时函数的具体实现,展示了如何通过P2端口控制LED的状态变化,为嵌入式系统开发提供基础参考。

2025-11-20 17:35:16 482

原创 51单片机及开发板介绍

摘要:单片机(MCU)是集成了CPU、存储器和外设接口的微型计算机系统,具有成本低、体积小、结构简单的特点。其核心功能包括数据采集、处理和硬件控制,广泛应用于智能仪表、工业控制、通讯设备和家电等领域。STC89C52是一款典型的8位51单片机,具有512字节RAM和8K Flash ROM,工作频率为12MHz。单片机学习是了解计算机原理的有效途径,其应用能显著提升产品智能化水平(字数:148字)。

2025-11-18 20:58:14 579

原创 作业学习笔记

写一个函数返回参数二进制中1的个数。

2025-11-07 19:03:54 108

原创 指针入门:从基础到运算全解析

1. 指针是什么2. 指针和指针类型3.野指针4. 指针运算5. 指针和数组6.二级指针7. 指针数组。

2025-11-06 22:10:25 475

原创 操作符作业练习

摘要:本文包含多个编程题解:1) 斐波那契数列递归法计算走台阶方法数;2) 数组操作删除指定元素;3) 计算成绩数组中极差;4) 字母大小写转换;5) 判断字符是否为字母;6) 求三个分数的最大值;7) 找出五位变种水仙花数(各拆分乘积之和等于原数)。代码展示了基础算法实现及库函数应用,如islower()、isalpha()等。这些题目涉及递归、数组处理、字符操作等常见编程考点。

2025-11-05 22:15:25 376

原创 数组作业练习

本文介绍了数组相关操作。首先说明了sizeof和strlen的区别:sizeof计算变量内存大小,而strlen专门计算字符串长度。其次演示了两个数组元素交换的代码实现,通过临时变量完成元素互换。最后展示了数组操作的三个功能函数:init()初始化数组为全0,print()打印数组元素,reverse()实现数组逆置。代码示例展示了如何定义和使用这些函数,包括参数传递和循环控制等关键编程技巧。这些示例涵盖了数组基础操作的核心知识点。

2025-11-05 20:01:12 260

原创 C语言递归实现经典算法

本文展示了几个C语言编程实例:1)输出9×9乘法口诀表的两种实现方式,包括固定行数和用户指定行数;2)字符串逆序的多种方法,包括非递归、函数封装和递归实现,并提供了自定义字符串长度函数;3)递归计算数字各位之和的函数;4)递归实现n的k次方运算,处理了正负指数情况。这些例子涵盖了循环、递归、函数封装等基础编程技巧,展示了C语言的基本应用。

2025-11-04 22:19:20 370

原创 作业及知识点

本文展示多个C语言编程实例:1)字符的ASCII值属于整型;2)三种整数排序方法(直接比较和swap函数);3)打印1-100中3的倍数;4)求最大公约数(暴力法和辗转相除法);5)统计1-100中数字9出现次数;6)分数求和运算;7)找出10个整数的最大值;8)学生成绩评级(if-else和switch实现);9)分析5位正整数(位数判断和逐位输出)。这些实例涵盖了基础算法、循环控制、条件判断等核心编程概念。

2025-11-03 22:21:26 469

原创 操作符学习

本文摘要: 介绍了C语言中常见的操作符类型及其使用规则。主要包括:1)算术操作符(+、-、*、/、%)和整数/浮点除法的区别;2)移位操作符(左移、右移)及其二进制运算特性,强调不要移动负数位;3)位操作符(&、|、^)的运算规则及应用实例;4)单目操作符、关系操作符和逻辑操作符的使用注意事项;5)条件操作符、逗号表达式以及下标引用、函数调用等特殊操作符。特别讲解了不借助临时变量实现变量交换的两种方法,其中异或交换法更为可靠。还提供了计算整数二进制中1的个数的编程练习。

2025-11-02 13:58:58 938

原创 C语言实现扫雷游戏核心代码

本文实现了一个简易扫雷游戏,使用C语言编写。程序通过二维数组mine存储地雷位置('1'为雷),show数组显示排查信息('*'为未排查)。核心功能包括:初始化游戏板、随机布置10个地雷、计算周围雷数(字符转换处理)、递归排查非雷区域等。游戏流程为:用户输入坐标进行排查,命中雷则游戏结束,否则显示周围雷数。通过循环控制直到找出所有安全区域或踩雷。测试模块提供菜单界面,支持游戏开始/退出功能。代码实现了基础的扫雷游戏逻辑,包含数组操作、随机数生成和简单的用户交互功能。

2025-10-31 19:38:45 159

原创 三子棋学习

本文实现了一个简单的三子棋游戏,包含三个文件:game.h头文件定义函数接口,game.c实现游戏逻辑,test.c负责测试运行。游戏功能包括:初始化3x3棋盘、玩家与电脑轮流下棋(玩家用*、电脑用#)、判断胜负或平局,以及输入合法性检查。通过随机数实现电脑自动落子,使用循环和条件判断检测棋盘状态。主程序提供开始/退出游戏菜单,并处理异常输入。该代码展示了基础C语言编程技巧,包括二维数组操作、函数封装和流程控制。

2025-10-30 19:32:32 87

原创 C语言学习2

本文介绍了C语言中数组与斐波那契数列的实现方法。主要内容包括:1)斐波那契数列的递归和迭代两种实现方式,指出递归效率较低;2)一维和二维数组的创建、初始化和使用,强调数组下标从0开始;3)数组越界问题的注意事项;4)数组作为函数参数的传递方式,以冒泡排序为例说明;5)数组名的特殊含义及两个例外情况。文章提供了多个代码示例,展示了数组操作的具体实现方法。

2025-10-27 16:43:46 343

原创 C语言学习

一种方法,它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,递归策略。·可以让函数和函数外边的变量建立起真正的联系,也就是函数内部可以直接操作函数外部的变量。只需少量的程序就可描述出解题过程所需要的多次重复计算,大大地减少了程序的代码量。·把函数外部创建变量的内存地址传递给函数参数的一种调用函数的方式。函数的形参和实参分别占有不同的内存块,对形参的修改不会影响实参。这些函数中的每一个都会返回打印的字符数,如果发生错误则返回负值。2.函数的声明一般出现在函数的使用之前。

2025-10-26 20:23:38 744 1

空空如也

空空如也

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

TA关注的人

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