- 博客(962)
- 资源 (1)
- 收藏
- 关注
原创 STM32-新建工程(二)
然后我们把结构体的每一个参数填上,复制粘贴结构体的名字,然后用点来引出结构体的参数,可以看到这个结构体有三个参数,分别是 GPIO 模式, GPIO 端口, GPIO 速度啊。而且这个操作方式也有个弊端,就是我们把除了PC 13之外的位都配置成了零,这样会影响到其他端口的原有配置,如果要做到只配置这个PC13而不影响其他位,那还需要 &=和|= 的操作,这个在51单片机的视频里我们也经常遇到,那就会更加麻烦。这里的文件都是 STM32 里最基本的文件,是不需要我们修改的,我们添加进来即可。
2026-04-14 22:08:36
320
原创 江科大51单片机笔记
1.单片机,英文Micro Controller Unit,简称MCU2.内部集成了CPU、RAM、ROM、定时器、中断系统、通讯接口等系列电脑的常用硬件功能3.单片机的任务是信息采集 (依靠传感器)、处理(依靠CPU) 和硬件设备(例如电机,LED等) 的控制4.单片机跟计算机相比,单片机算是一个袖珍版计算机,一个芯片就能构成完整的计算机系统。但在性能上,与计算机相差甚远,但单片机成本低、体积小、结构简单,在生活和工业控制领域大有所用,同时,学习使用单片机是了解计算机原理与结构的最佳选。
2026-04-11 12:38:43
247
原创 STM32-简介(一)
Keil5是给ARM系列的单片机编程的,学习51单片机用的是Keil5 C51,是给51系列的单片机编程的面包板跳线比较短,可以贴在面包板上插线,比较适合长时间插线的情况面包板飞线这种线比较长,也方便挪动,比较适合经常挪动的接线情况两排是杜邦线,分别是公对母和母对母的,可以用于插接一些电路模块STM32最小系统板,黑色的小芯片就是STM32,主要就是学习这个小芯片的LOED显示屏,用于显示参数和变量,这个显示屏是一个4引脚版本的,现在网上卖的有4引|脚和7引脚的,注意不要弄错了蓝色的元件是电位器。
2026-04-01 21:24:01
455
原创 51单片机入门-红外遥控(十七)
低电平触发,只要是低电平,中断一直处于触发状态,当中断函数结束之后 他会在次进入,直到变成高电平为止。先把定时器0换成定时器1:红外线用的是定时器0,会冲突。独立按键的电路p32,就可以按下那个键就可以触发中断。定时器每加1就是1微秒,10毫秒就是1万。红外解码我们需要下降延触发:配置为1。测试起始信号,再次按下按键也可以。配置下外部中断:验证一下。可以定义下宏定义:建码值。上面外部中断就测试好了。
2026-03-31 21:05:32
232
1
原创 51单片机入门-直流电机(十五)
电机的级性是反过来的,给1的时候电机转,需要把0和1换下位置。上面写的是在主函数中,占用主进程的,下面用定时器的方式实现。先亮度低到高,然后高到底:就实现了呼吸灯效果。比较值设置的越大,低电平的时间越长,会越亮。设置小一些,低电平的时间越短,就会变暗。用了定时器,主循环,就可以做些其他事情。让他转的快一些让他转2us停1us。亮度由低到高变化,变化比较快。下面用定时器,反转PWM。再加一层循环,就明显了。
2026-03-24 21:07:06
77
原创 51单片机入门-温度传感器DS18B20(十三)
现在按键按下不松手温度是不会变化的:现在是按键扫描,按键不松手里面一直在延迟了,主函数就不执行了,我们来改成定时器扫描。线下按住按键,加热温度传感器,温度也会变化。480us:非常小,不能用delay函数。上面原来写的T要换个比变量,否则会有影响。按下按键1:+1 按键2:-1。按键3:TL +1 按键4:-1。拔掉ds18b20:没响应:显示1。这样上电运行不会有延迟默认值。延迟:15-60 给70。函数4us,多加4us。第二个例子:温度报警。100:显示两位小数。单总线是不能被中断的。
2026-03-21 13:55:48
74
原创 51单片机入门-数据存储AT24C02(十二)
在加个delay:也不会影响,不会出现任何闪烁,因为扫描实在定时器里面的,不会影响我们的按键检测,他影响的是相应时间,相应是在主函数,一直按着他也在扫描,松手就变了。数码管里面也有delay可以进行修改定时器扫描数码管。主函数不用调,定时器会自动调用扫描显示在数码管上。分别运行:也可以读到,就实现掉电不丢失。每隔一秒取反一次,说明定时器没问题。这样写并不会影响主循环的执行。重启:按下按键4:读取。每隔20us检测一下。引入:AT24C02。
2026-03-18 21:30:26
161
原创 51单片机入门-蜂鸣器(十一)
这个数组太大了,编译报错需要存到Flash里:flash里面只能读不能写。f=1/T 500us 就是频率1000hz标准的提示声音。还是通过音符找索引:不方便可以写个获取索引的。改成延时500us:还需要ms*2。就可以实现按一下向100毫秒。64580就是中央c的频率。到了终止标志,停止响音。修改这个值频率加大了。休字符期间没有声音的。
2026-03-14 18:05:48
86
原创 51单片机入门-DS1302时钟(十)
DS1302_Time是有符号的,没有负数,不能用<0判断,需要改下,把unsigned去掉,有符号的是-128-127。| 0x01可定是读,给地址的时候可以给写的地址,就不需要定义那么多地址了。设置好时间,重新进来设置它显示上一次设置的位:想让他从头开始。extern可以不加,数组和函数默认会有,变量需要生明。这些地址是写入的地址,最低位是0,读出最低位肯定是1。每次读一个东西需要定义一个变量,优化下。不用delay也没关系。9之后直接变成16了。显示跟数组设置的一样。定义模式,显示和修改。
2026-03-08 17:26:12
126
原创 51单片机入门-串口通信(八)
计数值是13个数,每记13个数就溢出一次,定时器,12兆的晶振在12T的模式下,每1微妙记一次数,记13次就溢出说明,每隔13微秒就溢出一次,1/13us就是溢出率。收的的话需要中断系统,我们不知道电脑啥时候发过来,不能一直检测,我们利用中断,当电脑发过来触发中断,在中断函数里面,进行中断处理,把数据拿出来。不需要中断,只需要中断的溢出的波特率发生器,不用开中断了,只要有溢出,就会发生波特率。配置的是定时器1,串口只能用定时器1,上面之前配置的是定时器0,这两个是高系列的单片机,可以删除,可选的,
2026-02-06 23:23:33
108
原创 51单片机入门-定时器(七)
这个代码会有些缺陷,TMOD,它是不可位寻址,必须8位同时赋值,当使用一个定时器的时候不会出现问题,同时使用定时器1和定时器0,先配置的定时器1,给0 0 0 1 之后,再配置定时器0的时候,会把0 0 0 1覆盖掉。直接连在一起,按键检测不灵敏,需要按很长时间才会有检测,我们下面用定时器,实现流水灯的流转,同时按键检测也会很灵敏。独立按键和流水灯简单拼接起来,会有些问题,led流水灯在移动的时候有一个很长的delay、通过这个代码可以不影响高四位,配置低四位。自己写的这个有1us的偏差,
2026-02-01 16:00:36
483
1
原创 51单片机入门-矩阵键盘(六)
矩阵会减少lo的使用 ,独立按键有四个lo口,矩阵就会减少。那一列按下就是0,对应具体那一个按下就是0不按下就是1。逐行扫描开发板是共用的,有点问题,其他地方会受到影响。一行一行的按下,逐行扫描,就知道那个按下了。按过四次之后,再按没用了。具体到哪一行的那一个按下那个就是0。模块化编程,把前面写的函数复制过来。哪一行不按下就是1,按下就是0。s1-s9:对应数字的1-9。那个按下就是0,没按下就是1。按下第一行,第二列松手:02。第一行、第三列松手:03。
2026-01-31 11:02:59
148
原创 51单片机入门(五)
下面代码,防止重复包含,如果没有定义,才编译里面代码,再定义后不会再编译了,防止重复。这个可以调节对比度,当插上这个LCD之后,数码管就没用了,回显示乱码。下面把前面写的东西,进行模块化:有的可以模块化,有的不能,具体区分。如果定义了AAA,里面的代码才参与编译,没有定义程序不会报错。.h文件需要和main在同一个路径下,如果不在需要指定。定义了AAA,下面参与编译,代码无效,会报错。P0口是数码管的口子,P2口是3个led口子。二进制不能直接写二进制,需要写十六进制代表。led灯以500毫秒在闪烁。
2026-01-26 23:24:02
1182
原创 51单片机入门-数码管(四)
上面写的代码就是单片机直接扫描数码管,显示多为数据就涉及到数码管的动态扫描,不断地送数据不断的刷新,就属于单片机直接扫描,会消耗cpu时间,一旦程序受到阻塞,没来的级扫描,数码管显示就会有问题闪烁或熄灭。TM1640:专用驱动芯片扫描,单片机通过特定协议告诉tm1640显示什么,他自己会不断地扫描数码管 ,它只需要两根线可以控制16个数码管显示任意数字,它就不会出现不显示,闪烁的问题。高电平点亮数码管电流小,会很暗,所以加了一个缓冲器,来提高他的驱动能力。定义子函数,实现传参显示:那个位置,显示值。
2026-01-25 16:50:29
591
原创 51单片机入门-独立按键(三)
unsigned char 无符号的字符型,是8位的二进制数据,正好跟p2口和其他的寄存器都是一样的,用它来表示一个寄存器。写寄存器,会把这个状态送到lo口 ,如果lo口产生的电平,也会把电平的数据送回给寄存器,直接读寄存器。第一个程序的功能,通过按独立按键的第一个键实现led灯的亮灭:按下灯点亮,松手熄灭。2.通过软件,当按下按键的时候,延迟20毫秒,松开按键的时候,也延迟20毫秒。就实现,按下没反应,松手亮了,再按下没反应,松手灭了。就实现了案例,按一下加一位的效果,按一下逐渐+1。
2026-01-25 12:16:56
457
原创 C语言基础(十)
void类型的指针无法获取指针里面的数据,改成char类型的指针,因为char类型的指针只占一个字节。如果函数比较多,可以用函数指针。
2026-01-21 22:01:11
215
原创 C语言基础(八)
目录:1.数组常见算法-基本查找2.数组常见算法-二分查找3.数组常见算法-插值查找4.数组常见算法-分块查找和哈希查找5.数组常见算法-冒泡排序6.数组常见算法-选择排序减少代码:
2026-01-18 14:20:47
186
原创 C语言基础(七)
如果重复了,默认值是0,重复就跳过了,就给了默认值,我们不要跳过要重新生成一个,可以吧i++放到里面。访问不存在的索引,不会报错,是错误的数据。
2026-01-17 22:25:29
172
原创 51单片机入门(一)
RAM:随机存储器,断电丢失,相当于电脑内存条ROM:只读处理器,长期存储,相当于电脑硬盘,踏实用来存储我们的的程序的单片机有个缺口要朝上红外接收头:可以接受遥控器的键值stc不会使用者个at下载,这个是给at单片机使用的用来下载程序的,stc单片机可以直接通过usb下载程序可以做无线遥控器,可以通过这个无线模块实现一个单片机到另外一个单片机获取做一个无线遥控器时钟芯片可以做一个闹钟,或者定时控制的复位按键:控制程序从头开始运行。
2026-01-17 18:25:32
474
原创 C语言基础(三)
目录:1.标识符2.键盘录入的基本使用3.键盘录入多个数据4.算数元素运算符(加减乘)5.运算符-隐式转换6.运算符-强制转换7.运算符-字符相加 会导致数据发生错误:
2026-01-13 22:32:23
205
原创 微信小程序黑马优购(项目)(十四)
目录:1.登录与支付-微信支付-在请求头中添加Tocken身份认证字段2.登录与支付-微信支付-了解微信支付的流程3.登录与支付-微信支付-创建订单4.登录与支付-微信支付-订单预支付5.登录与支付-微信支付-实现微信支付6.分支的合并与提交。
2026-01-07 23:22:34
271
原创 微信小程序黑马优购(项目)(十)
目录:1.购物车页面-收货地址-初步实现my-address组件2.购物车页面-后货地址-实现选择收货地址功能3.购物车页面-后货地址-渲染收货人的信息4.购物车页面-收货地址-把address信息存储到vuex中5.购物车页面-收货地址-将vuex中的address持久化存储到本地6.购物车页面-收货地址-将addstr抽离为getters。
2025-12-28 22:45:00
263
原创 微信小程序黑马优购(项目)(九)
目录:1.购物车页面-商品列表-渲染商品列表区域的构2.购物车页面-商品列表-基于props封装radio的勾选状态3.购物车页面-商品列表-修改购物车商品的勾选状态4.购物车页面-商品列表-封装NumberBox5.购物车页面-商品列表-封装num-change事件6.购物车页面-商品列表-优化Numbox组件7.购物车页面-商品列表-修改购物车中商品的量8.购物车页面-商品列表-实现滑动删除。
2025-12-26 23:12:17
245
后端java行情不行,真的要转行吗?
2023-02-16
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅