- 博客(41)
- 收藏
- 关注
原创 蓝桥杯-AT24C02
在比赛中常考的是绑定按键改变上下限,将数据存储到EEPRPM中,断电后显示是改变后的上下限,达到掉电数据不丢失的目的。A1-A3接地 WP保护接地。
2024-04-08 00:31:03
256
1
原创 蓝桥杯—PCF8951
AN1为光明电阻 AN3为滑动变阻 A0-A2均接地 时钟线连P20 地址线连P21。1.整个系统靠SDA和SCL实现完善的全双工数据传输。DA转换全都是写 只需要开始一次。谁控制时钟线谁是主设备。官方提供的底层驱动代码。0x41是DA使能转换。
2024-04-07 23:24:14
361
原创 蓝桥杯-DS18B20温度传感器
写在onewire.c 文件里面 在.h文件中声明 再在main函数里面引入.h文件。仅使用单个DS18B20芯片可以跳过ROM指令,跳过ROM的指令是0xCC。延时函数在stc中可生成,将nop删除即可。2.了解封装以及引脚的用法。比赛提供的底层驱动代码。在main.c文件中。PS:读取数据的顺序。
2024-04-07 02:25:49
254
原创 蓝桥杯—DS1302
在DS1302中均是先写地址,再写数据,先打开保护再对需要操作的RTC进行操作然后再关闭保护保证数据的稳定性(保护只有写的时候需要)需要对十位和个位进行相除和取余,11则是横杠的显示 在共阳极数码管中为。需要在初始化区域中调用Set_Rtc();在信息读取区域中调用Read_Rtc();记得加入DS1302的驱动中声明函数,并在变量声明中定义数组。1011 1111,0xbf,在数码管数组中放入第11位。因为在DS1302中使用的是BCD码,需要进行处理。//上电显示默认时间 23 59 55。
2024-04-03 01:14:13
1328
原创 蓝桥杯单片机小技巧
内置函数库实现流水灯效果,内置函数头文件为#include "intrins.h"该函数有两个函数参数,分别为左移或右移的对象,需要左移或者右移的位数。6.蓝桥杯的数码管是共阳极数码管,会提供数码管的段码表。数码管位选(哪个数码管亮)+数码管段选(亮什么数字)循环左移 _cror_:循环右移。且需要借助一个变量来暂存值,再将值赋给LED的P口。1.LED自定义延时函数。2.快速实现LED流水灯。4.数码管的位选和段选。
2024-04-02 23:52:20
197
原创 51-蜂鸣器与继电器的基本控制
首先在74HC138译码器上对P25,26,27口进行操作,并选择Y5口输出低电平,再经过M74HC573MIR译码器的LE口,高电平使能(Y5经过与非门后变成高电平),再由M74HC573MIR译码器内部的P0-P7和对达林顿管ULN2003的Q1-Q7连通,M74HC573MIR译码器可以控制达林顿管ULN2003进行操作,最后达到控制蜂鸣器的目的。继电器内部有一个线圈,上面则有一个铁芯,给线圈充电的时候就可以产生一个电磁场,将上面的的开关吸下来(二极管的作用是保护电路)
2024-03-25 00:44:09
350
原创 51单片机—AD/DA
一般传感器的值会随参数的值变化,AD一般对电压进行转换,AD有多个通道,但是DA只有一个通道,且AD的运用较为广泛,DA的可代替性强,一般使用PWM就可实现,运用没有AD那么广。
2024-03-20 00:59:20
985
原创 51单片机—直流电机
应用二:用独立按键控制产生不同的电机转速。一般会保证一个周期的时间是一样的。独立按键可以控制电机转速。注意:接在01和5V上。
2024-03-19 20:28:36
587
原创 51单片机—DS18B20温度传感器
1.元件2.内部介绍本次元件使用的是单总线以下为单总线的介绍时序结构操作流程本次需要使用的是SKIP ROM 跳过, CONVERT T温度变化,READ SCRATCHPAD读数据帧数据存储根据上图所示原理,所需要的延时值为绝对数值,可以在STC中生成。
2024-03-17 23:46:57
1417
原创 51单片机-AT24C02(I2C总线)
1.元件介绍2.存储器3.地址总线和数据总线地址总线只能一次选中一行4.引脚及应用电路5.I2C总线6.电路规范。
2024-03-15 01:03:23
1230
原创 51单片机-蜂鸣器
按下独立按键同时蜂鸣器响起提示音,数码管显示对应的独立按键键码。无源蜂鸣器不能一直通电,无源蜂鸣器内部的线圈较小,易烧坏。达林顿晶体管(npn型)
2024-03-14 19:44:48
608
原创 51单片机-DS1302实时时钟
和定时器的时钟相比它的优点:1.不占用cpu的运行 2.精度高 3.单片机掉电不工作的时候会借用备用电池继续走时。第四步将AO数据放入, 再给一个上升沿,AO被写入,再给下降沿,然后循环将数据放入。第二步先发最低位R/W是1还是0,设置在I/O口上,作为命令字标志在哪读/在哪写。需要完成写入和读出 并找到位置 最后找到需要写入和读出的内容。第五步 写入结束后,将SCLK置0,最后再把CE置0低电平。第三步时钟给一个上升沿,最低位就会被写入,再把时钟置回0。第一步将CE置高电平。
2024-03-13 23:53:53
470
原创 51单片机—LED点阵屏(静态&动态)
需要利用74H595来操作点阵屏,也需要用到上图的三个接口SER,SERCLK,RCLK。想要点亮点阵屏,要先进行行选择和列选择。应用二:实现Hello!本单片机使用的是单色点阵。1.LED点阵屏的介绍。
2024-03-13 00:44:04
742
原创 51单片机-串口通信
1.串口的概念电路如何实现通讯?双向通讯就必须要交叉连接TTL一般在单片机系统中使用,而RS232一般在电脑设备这种高电压传输中使用,而S485可以在一千多米的距离中使用,稳定性高。常见的通信接口。
2024-03-12 17:35:11
469
原创 51单片机—定时器
本次选择为定时器 选择12兆,C/横杠T为0的模式,C代表counter 是计数器,T则为Timer是计时器,横杠是低电平,给0为timer,给1为counter,本次需要选择0。实现效果:实现LED流水灯,且可以通过独立按键K1来改变流水灯的方向,向右或者向左实现流水灯,由于使用循环函数,不用担心会移出去,可以一直循环移动。根据左边提供的脉冲,16位计数器内部会加一,到达最大值会溢出,申请中断。删除第一行的AUXR寄存器,再配置上中断寄存器ET0,EA,PT0。需要配置的是M1,M0,以及C/横杠T。
2024-03-11 20:09:43
793
原创 单片机—模块化编程以及调试工具
类似于java语言中的类,有继承的关系,简单来说是一种分类可以对LCD,延时函数,进行模块化,可以更方便使用需要包含被调用函数的函数声明。
2024-03-09 02:22:23
396
原创 51单片机-led结合译码器与锁存器
根据真值表(功能表),可以看出由A2,A1, A0(对应C B A),再看 A2,A1, A0对应的二进制数,由二进制数看对应的输出。2.需要实现用P0口控制LED灯,则D1-D8和Q1-Q8相连打通,需要LE引脚为高电平状态,而LE引脚又收到Y4C的控制。3.Y4C是或非门的输出,Y4C的值和输入端Y4相关,而Y4又由译码器的三个输入端的值决定。LE为控制端,当LE端为H,芯片左边的P端和右边的Q端相连,输出端q会随输入端p变化,当LE端为L,即为锁存状态,数据会被保存,输入端改变不了输出端的值。
2024-01-31 01:50:35
542
原创 51单片机(4)—数码管
LED数码管:数码管是一种简单,价格便宜的显示器,是由多个发光二极管封装在一起组成“8”字型的器件(1)单位公共端:阳极接高电频,阴极接低电频能发光。
2024-01-30 16:48:22
395
原创 html-动画效果
可以通过修改translateX来改变旋转的方向 translateY则绕着Y轴旋转。鼠标点到对于按钮会改变颜色(字体和背景)以及按钮的形状,鼠标的样式。修改一部分代码即可(去掉title函数里面的方框)不同的百分号比例对旋转速度所占比有影响。能在设置的框内运动且会随着运动切换颜色。infinite无限循环。
2023-09-25 22:54:41
1577
1
原创 51单片机(3)—独立按键
上一节的控制LED开关是通过对寄存器的操作来实现的,寄存器八个为一组,如果只操作P2的话需要同时为八个赋值,但是现在只想要操作最低位。P2_0 相当于是单片机上的一个端口,这个端口就是链接右边第一个LED灯的,等于左边第七个LED直接不给信号,只给右边第一个一个亮灯的信号。不能对P2口直接进行操作,达不到想要的功能,取反有限制,需要引入一个变量来进行操作,再将这个变量给P2口。通过软件来达到消除按键延时的周期,达到按键按下才亮灯的效果,减少按键抖动的效果。在4的基础上进行操作,对不同的接口操作。
2023-08-07 16:39:30
831
1
原创 非递归方式实现的二分查找算法
根据题目中给出的有序表定义,我们使用顺序存储结构实现了SSTable,其中R是存储空间基地址,length是当前长度。Search_Bin函数接受SSTable以及待查找的关键字key作为参数,并返回找到的关键字在表中的位置(从0开始),如果未找到则返回-1。算法通过比较中间元素的关键字与待查找关键字的大小,逐步缩小查找范围,直到找到目标元素或区间为空。
2023-07-28 11:06:39
69
1
原创 51单片机(2)—点亮LED相关
实验四:LED流水灯plus实验一:点亮一个LedLed的介绍其中Diode是二极管的意思硬件电路:cpu通过配置控制的来控制我们的硬件电路,硬件电路来完成我们需要的功能c语言程序需要从二进制转换成keil中点亮一个led的程序(需要在主函数前插入,右键即可插入)在keil中选择程序,后续stc中需要用到,读入硬件中再次点击build键,查看Build output信息 发现创建了一个在里面的操作1.选择单片机型号2.选择串口号。
2023-07-16 20:46:49
217
1
原创 Mysql实现模糊分页查询
在controller包中新建一个request包,new一个class UserPageRequest 类。2.在UserController类中开始写(从前往后写)在common包中new 一个class -Result。在pom.xml中引入一个插件pagehelper。修改BaseRequest类的默认值,运行不会报错。修改sql语句 ,增加判断条件,达成动态效果。在IUserService接口中创建一个方法。在UserService中使用。在接口中返回可用,修改后示例。显示数据库中的一条语句。
2023-06-06 00:56:14
293
原创 kmp算法-next数组&nextval数组
P2 =b P1不等于P2 nextval[2] = next[2] = 1。Pnext[2]的值为1 对应P1中的字符1 的位置 字符1的模式串的值为 a。P3 = a Pnext[3]=1 对应j中的1的值 为a P3=P1 =a。计算:前缀和后缀有相同的字符,在相同的字符数的基础上加一。pj的含义:模式串中字符对应的位置。前缀和后缀的计算字符个数的顺序不同。
2023-06-04 16:17:52
172
1
原创 Mysql学习记录五—DCL(完)
同时定位,主机地址指的是当前用户只能在哪一个主机上访问当前mysql服务器,localhost表示只能在本机访问,不能进行远程访问。* . * 表示给‘heima’用户分配所有数据库所有表的所有权限-->类似一个超级管理员。在这张表中,如果需要创建或者删除一个用户,需要通过。以上截图内容均来自b站黑马程序员。打开mysql中的user表。用户名和host主机地址。
2023-06-02 00:18:57
27
原创 Mysql学习记录四-DQL(完结)
起别名:as也可以省略,会将原来的workaddress 更改为工作地址。注意语句之间的执行顺序,最后一个语句中,limit语句应该放在最后的位置。注意 between(最小) ·····and (最大)·····聚合函数都作用于表中的某一列的数据,聚合函数不计算所有的。只显示一次员工的工作地点,不重复显示相同的工作地址。如果表中数据数量较多,可以左下角看到具体的数据数量。升序asc是默认值,不输入也可以实现对应的功能。注意limit后需要的参数,起始索引的计算公式。以上截图内容均来自b站黑马程序员。
2023-06-01 23:41:17
28
原创 Mysql学习记录(二)-DDL部分完结
DROP table 删除一整个表数据也会被删除,TRUNCATE table 删除表中的数据不删除表,只有表结构没有数据。注意:table最后一个数据不用加逗号。以上截图均来自b站黑马程序员。
2023-05-22 00:18:27
31
1
原创 Mysql学习记录&笔记(一)
数据库的数据模型数据库-表Sql通用语法SQL语言的四种分类DCL语言中主要用来创造用户,管理创造用户的权限,用户可以执行数据库中的增删改查功能的哪些权限。第一部分 DDL方括号中的部分可省略上机操作:查询所有数据库可以看到当前数据库中的所有数据,这四个数据库是mysql自带的创建数据库 (不区分大小写)若出现,则 说明当前数据库创建成功。再次用show databases 查看数据库,发现itcast数据库已经创建成功。PS:数据库不能重名。
2023-05-21 23:54:14
26
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人