- 博客(10)
- 收藏
- 关注
原创 51 单片机 DS18B20 温度测量教程
通过这个教程,你就学会了如何用 51 单片机和 DS18B20 温度传感器来测量温度,并且把温度值显示在数码管上,还保留一位小数。希望你能把这个小项目玩得开心,还能学到很多知识哦!
2025-02-25 21:16:46
661
原创 51单片机自定义头文件教程
有时候,我们在建造房子的时候,会有一些特殊的部件,是通用的设计图纸里没有的。这时候,我们就需要自己画一份专门的图纸,这就是自定义头文件。在单片机编程中,当我们有一些常用的函数,想要在不同的代码文件里都能方便地使用时,就可以把这些函数的声明写在自定义头文件里。这样,我们在其他代码文件里只需要“引用”这个头文件,就可以使用里面声明的函数了,就像拿着自己画的特殊图纸,在不同的房子里都能安装特殊部件一样。这次我们要实现的程序就像是一场灯光秀,有 LED 的跑马灯和数码管的跑马灯。
2025-02-21 12:06:18
1227
原创 新手向 51单片机存储器映射扩展运用教程
本次程序的功能就像是一场灯光秀,包括 LED 的跑马灯和数码管的跑马灯。想象一下,有一排 LED 灯和一排数码管,就像两排小士兵一样,它们会按照一定的顺序依次点亮,就好像小士兵们在依次向前踏步,这就是跑马灯效果。
2025-02-19 17:37:17
865
原创 51单片机串口通信进阶教程【猫娘版】
喵~亲爱的,今天凉面ya要带你好好探秘一下这段超有意思的51单片机串口通信进阶代码啦!这就仿佛开启一场超酷的单片机冒险,而这段代码就是你手中超厉害的冒险地图呢。
2025-02-18 17:32:23
574
原创 DeepSeek - R1 模型用于高考志愿填报的训练与部署教程
不过 CPU 训练速度会比较慢,你也可以考虑使用云平台的免费资源,如 Google Colab 或 Kaggle Notebook。我们把数据分成输入和标签两部分,输入就像是给模型的问题,标签就像是问题的答案。如果你想让更多的人可以使用这个服务,可以将模型部署到云平台上,如阿里云或 AWS。Docker 就像是一个集装箱,我们可以把模型和它所需要的环境打包在这个集装箱里,方便在不同的地方运行。Flask 就像是一个小房子,我们把训练好的模型放在这个房子里,让别人可以通过网络访问它。
2025-02-18 11:02:26
1107
原创 51单片机串口通信基础教程:从代码出发理解通信原理
这段代码的主要功能是让51单片机通过串口与其他设备进行通信。单片机初始化串口后,先发送两个字节的数据0x5a,之后进入一个无限循环,等待接收其他设备发送的数据。一旦接收到数据,就将数据加1后再发送回去。:这就像是我们打开了一个工具箱,reg52.h这个头文件里包含了很多51单片机常用的工具(寄存器定义),我们在代码里可以直接使用这些工具。AUXR是一个特殊的寄存器,就好比是工具箱里一个比较特殊的工具。我们通过sfr关键字给它指定了地址0x8e,这样我们就可以使用这个特殊工具来完成一些特定的任务。
2025-02-17 18:54:44
1151
原创 【凉面ya】51单片机PWM调光教程:原理、代码与优化
这段代码实现了通过51单片机控制LED的亮度,利用PWM调光技术,通过按键切换不同的亮度等级。初始化模块:对单片机的端口、定时器等进行初始化设置。定时器中断模块:定时器0每隔1ms触发一次中断,用于PWM调光和按键扫描的时间控制。按键扫描模块:检测按键S4是否按下,按下后切换LED的亮度模式。PWM调光模块:根据不同的模式设置不同的占空比,从而控制LED的亮度。头文件:包含51单片机的寄存器定义,方便对单片机内部资源进行操作。
2025-02-14 17:06:25
1082
1
原创 51单片机实现多功能计算器(附完整代码)——从零开始的电子计算器制作指南
int t005=0;头文件:引入了REGX52.H和intrins.h,分别用于51单片机的寄存器定义和一些内部函数。特殊功能寄存器:定义了P4口,方便后续使用。矩阵键盘引脚:通过sbit定义了矩阵键盘的行和列引脚。数码管段码表SMG数组存储了数码管显示不同数字和符号的段码。变量:定义了数码管显示变量、LED显示变量、定时器变量、工作模式变量和计算相关变量。
2025-02-13 18:32:02
1043
原创 纯新手写的 51 单片机 矩阵键盘&数码管显示&定时器扫描 教程
通过本教程,您可以深入理解51单片机的外设驱动原理,并掌握矩阵键盘与数码管的经典应用模式。建议配合Proteus仿真进行实践验证。:当前扫描频率100Hz(10ms×10次),可能产生闪烁。:代码重复率高达75%(每行扫描结构相同)
2025-02-13 17:45:05
394
原创 新手写的51单片机定时器按键扫描
void Timer0Init(void) //1000微秒@11.0592MHz==1ms。//定时器 0(Timer 0)的中断允许开关(记忆:T=time)//-----------------下方设置变量------------------//定时器时钟1T模式。if(++scanpoint==10)//10ms 扫描一次。if(~P3&0x0f)//检测按键按下(取反优先)//定时器0开始计时。//总开关(记忆A=all)
2025-02-13 16:28:16
576
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人