自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 汇编语言与接口技术--AD转换及PWM控制

掌握SPI总线的使用方式掌握xpt2046 AD转换芯片的工作原理掌握SPI总线方式实现基于xpt2046的AD转换掌握PWM控制功率的方式二、 实验设计1.整体思路该程序旨在实现基于 SPI 总线的 XPT2046 芯片的 AD 转换,并利用转换结果在数码管上显示数值,同时通过 PWM 控制实现 LED 灯亮度与 AD 值的联动。整体思路是先进行系统初始化,包括定时器和端口等设置,然后在主循环中不断读取 AD 转换数据,处理数据后更新数码管显示,并根据 AD 值调整 PWM 占空比来控制 L

2025-02-20 13:29:02 1024

原创 汇编语言与接口技术--单总线温度采集与显示

Ds18b20ChangTemp函数先初始化传感器(Ds18b20Init),然后发送跳过 ROM 操作命令和温度转换命令,并且在其中还包含了一个告警搜索功能(Ds18b20AlarmSearch),当搜索到告警时会控制蜂鸣器状态(虽然这种方式可能不太合理,因为告警搜索和温度转换命令同时进行可能导致问题,但从代码逻辑上是这样设计的)。如果温度为负,先将其转换为原码形式,然后乘以一个系数(0.0625*100 + 0.5,用于将温度值转换为适合数码管显示的整数部分,保留两位小数的近似值)。

2025-02-20 13:28:40 940

原创 汇编语言与接口技术--矩阵按键

一、 实验要求1.利用单片机开发板的矩阵键盘实现个人学号后8位的输入和显示2.利用矩阵键盘S1~S10输入数字1~03.利用数码管LED8~LED1从左到右显示8位学号二、 实验设计1.整体思路初始化一些存储单元(40H - 47H)为特定值,设置堆栈指针(SP)和一个计数器(R7)。跳转到KEY2标签处开始主要的按键检测和处理逻辑。在按键检测过程中,通过不断调用子例程检查按键状态,根据不同的按键情况进行相应的处理,包括确定按下的键值、更新显示内容等。2.流程图

2025-02-19 17:20:34 905

原创 汇编语言与接口技术--电子计数器

1. 在DisPlay子程序中,虽然每次输出段码后调用了D10ms延时来稳定显示,但由于在D1s延时子程序中也不断调用DisPlay,如果D1s延时时间过长,可能会导致数码管显示出现闪烁现象。因为在D1s延时过程中,频繁更新显示内容可能会干扰正常的显示稳定机制。2. 深入理解了计数器的工作原理和实现方式,特别是十进制计数器的进位和退位逻辑。

2025-02-19 17:20:10 864

原创 unity中的UI系统---GUI

GUI优点:简单快捷,代码控制缺点:重复工作量繁多,控件绘制相关代码很多,最大缺点是必须运行时才能去看结果,不支持分辨率自适应。

2025-01-03 14:17:51 538

原创 汇编语言与接口技术--跑马灯

例如,如果 B 的初始值为 #14H,每次中断时 B 减 1,当 B 减到 0 时,才进行真正的跑马灯状态更新操作,这样就可以实现每隔一定次数的定时器中断更新一次 LED 灯状态,而不是每次中断都更新。这里选择模式 1 是为了满足跑马灯效果中对定时中断间隔的要求,通过合适的初值设置,可以实现精确的时间控制,从而控制跑马灯的速度和节奏。在这个延迟子程序中,通过将寄存器R5设置为一个初始值(这里是#20),然后在循环中不断对R5进行减 1 操作,直到R5的值变为0,以此来消耗一定的时间,从而达到延迟的目的。

2025-01-03 14:17:23 1338

原创 java学习4---API&字符串&集合

boolean equals方法(要比较的字符串) 完全一样结果才是true,否则为false。boolean equalslgnoreCase(要比较的字符串) 忽略大小写的比较。链式编程:当我们在调用一个方法的时候,不需要用变量接收他的结果,可以接续调用其他方法。例题:键盘接受一个字符串,程序判断出该字符串是否是对称字符串,并在控制台打印是或不是。StringBuilder可以看成是一个容器,创建之后里面的内容是可变的。

2024-11-20 15:06:16 171

原创 java学习5---继承&多态

什么时候用继承?写在成员位置的代码块作用:可以把多个构造方法中重复的代码抽取出来执行时机:我们在创建本类对象的时候会先执行构造代码块在执行构造方法。

2024-11-20 15:06:04 259

原创 汇编语言与接口技术--冒泡排序算法的实现

一、 实验要求实验目的:学习使用汇编语言实现算法设计熟练掌握单片机外部存储空间的访问方法实验内容:用汇编实现冒泡排序算法。在实验三的代码基础上,利用冒泡排序将DEST中数据从小到大重新排序 。将冒泡排序算法写成子程序。在主程序中,通过设置参数,使用同一个子程序实现从大到小,从小到大排序的自由选择。二、 实验设计1.整体思路1-1数据初始化与存储程序首先在MAIN函数中对一些寄存器进行初始化操作,包括将A设置为#01H,R0设置为#30H,DPTR设置为DEST(外

2024-11-07 15:17:13 716

原创 汇编语言与接口技术--循环程序设计

一、 实验要求实验目的:熟练掌握循环程序设计的基本方法熟练掌握单片机外部存储空间的访问方法实验内容:向起始地址为SRC的片内存储中,顺序写入NUM个单字节数(数值不限),并以$字符(ASCII码)结尾。从SRC中,向起始地址为DEST的片外存储中,逆序拷贝之前存储的NUM个单字节数,并以$字符结尾。将上述两个操作写成两个子程序。二、 实验设计1.整体思路这段代码的主要思路是实现两个子程序,一个用于顺序写入数据到片内存储中,另一个用于逆序拷贝数据到片外存储中。首先,定义了起

2024-11-07 15:16:47 740

原创 汇编语言与接口技术--算术运算程序设计

一、 实验要求编程实现两个数:#998877H 和 #778899H 的加法运算。编程实现两个数:#998877H 和 #778899H 的减法运算。二、 实验设计1.整体思路无符号角度:(1)加法1.初始化:设置两个数 998877H 和 778899H。2.低位相加:从 NUM1 获取第2位(即77)并存入 R0。从 NUM2 获取第2位(即77)并存入 A。执行 ADD A, R0 将 A 与 R0 相加,结果存回 A。将结果存入 R3。通过这次编程实验,我更加深入

2024-11-06 15:22:05 870

原创 汇编语言与接口技术--子程序设计

汇编语言与接口技术--子程序设计一、 实验要求实验目的:熟练掌握算术运算汇编指令的使用熟练掌握子程序设计的基本方法熟练掌握程序的调试方法实验内容:编程实现两个数:#8888H 和 #79H 的乘除运算。结合实验1的代码,将加减乘除四则运算写成四个子程序,注意现场保护。二、 实验设计1.整体思路开始:程序从ORG 0000H开始执行,跳转到MAIN标签。MAIN:调用SUBI子程序进行减法运算。初始化寄存器R0-R3。调用ADDI子程序进行加法运算。再次

2024-11-06 15:21:41 993

原创 java学习3---面向对象(封装)

构造方法作用:创造对象的时候,虚拟机会自动调用构造方法,作用是给成员变量进行初始化的。如果我们自己没有写任何的构造方法,那么虚拟机会给我们加一个空参构造方法。快捷键:alt+insert /alt+Fn+insert。对象代表什么,就得封装对应的数据,并提供数据对应的行为。类是共同特征的描述;对象是真实存在的具体实例。当代码中成员变量和局部变量重名时,就近原则。当加上this关键词后,则变成成员变量。this可以区分成员变量和局部变量。封装告诉我们如何正确的设计对象。

2024-11-05 22:21:21 324

原创 java学习2

重复的代码、具有独立功能的代码可以抽取到方法中;提高代码的复用性和可维护性。方法(method)是程序中最小的执行单元。调用:playGame();

2024-11-05 22:21:04 249

原创 java学习1

在代码中,如果有小数参与计算,结果有可能不精确。

2024-11-03 23:24:20 166

原创 UML类图

属性:(attributes)包含描述该类的每个实例的具体信息,它们也被称为字段,变量,放在中间部分(这些属性需要在开头放置一个可见性符号,属性名称以向小写字母开头,后面跟着冒号和数据类型)方法:(methods)也可称为操作或者函数,方法允许我们指定类的任何行为(方法以小写字母开头,接下来加上括号,还可以在此处添加变量和数据类型。可见性:属性或方法的可见性,用于设置该属性或方法的可访问性。类:创建一个类放在最上面的部分。以zoo system为例。

2024-10-29 22:26:50 247

原创 7-4 jmu-Java-02基本语法-03-身份证排序

/ 读取身份证号码的数量。2.然后根据输入的是sort1还是sort2,执行不同的功能。输入的不是sort1或sort2,则输出exit并退出。输入sort1,将每个身份证的年月日抽取出来,按年-月-日格式组装,然后对组装后的年-月-日升序输出。注意:处理输入的时候,全部使用Scanner的nextLine()方法,以免出错。// 按身份证号码中的年月日排序并输出整个身份证号码。输入sort2,将所有身份证按照里面的年月日升序输出。// 读取n个身份证号码。// 按年-月-日格式排序并输出。

2024-09-17 17:54:05 478

原创 编写程序,从键盘输入若干整数,将其保存入一个数组中。利用Arravs进行排序,然后查找出第3大的整数

System.out.println("第3大的整数是: " + thirdLargest);System.out.println("输入的整数不足3个,无法找到第3大的整数。System.out.println("请输入整数(输入非整数结束):");编写程序,从键盘输入若干整数,将其保存入一个数组中。利用Arravs进行排序,然。// 数组是升序的,所以第3大的数在倒数第3个位置。// 检查数组长度是否足够找到第3大的数。// 将ArrayList转换为数组。后查找出第3大的整数。

2024-09-17 17:53:54 412

原创 opencv学习

hstackvstack。

2024-09-11 17:14:07 244

原创 7-2 jmu-Java-02基本语法-01-综合小测验

注意: 在处理输入的时候,尽量只使用Scanner的nextLine()方法接收输入,不要将nextLine()与其它next方法混用,否则可能会出现行尾回车换行未处理影响下次输入的情况。sort:输入一串数字,然后进行排序并输出,注意数组元素输出的格式为使用[ ]包括。当输入不是这几个字符串(fib,sort,search,getBirthDate)的时候,显示exit并退出程序。getBirthDate:输入n个身份证,然后把输入的n个身份号的年月日抽取出来,按年-月-日格式输出。

2024-09-11 17:13:28 1225

原创 opencv学习:图像视频的读取&截取部分图像数据&颜色通道提取&合并颜色通道&边界填充&数值计算&图像融合

如果你有几个单通道图像(例如,从 cv2.split() 得到的),并且你想将它们合并成一个多通道图像(例如,一个彩色图像),那么你可以使用 cv2.merge()。--cv2.VideoCapture.read()提供了一个最简单的视频帧处理方式,集合了抓起Grab(),解码retrieve()两个功能,返回解码之后的数据。cv2.resize(img,(0,0),fx=3,fy=1):将w、h设置为0,fx为x向相对原图的比例,fy为y向相对于原图的比例,fx与fy大于1时图像为放大,小于1时为缩小。

2024-07-15 17:27:03 1020

原创 在windows里安装opencv?

3. 如果安装的旧版本它会提示你更新,接着输入给你的提示更新指令进行更新。1.首先搜索cmd找到命令提示符,然后选择用管理员身份运行。4.安装完成后如果想知道自己是不是安装了,可以再次输入指令。成功安装后会出现successfully。则会显示opencv已经安装的路径。2. 接着在命令行输入指令安装。以上opencv就安装完成了。

2024-07-15 17:25:00 510

原创 java入门

文件名字太长,可以用Tab键补齐,大小写无所谓,在Windows系统中不区分大小写。我们想要在任意的目录下都可以打开指定的软件,就可以把软件的路径配置到环境变量中。行的方式操作计算机,可以打开文件,打开文件夹,创建文件夹等等。dir可以将隐藏的内容展示出来,要启动谁直接输入名字就可以了。(4)把要打开的文件的路径记录在系统变量path里面。CMD:在windows中,利用。把经常打开的文件路径记录在电脑的。中英文符号问题,单词拼写问题。(2)鼠标右键点击属性。(3)点击高级系统设置。为什么要配置环境变量?

2024-07-08 18:02:16 414

原创 Java基础概念

新建多级包:用点隔开快速生成程序主入口的方法---psvm快速生成输出语句的方法---sout。

2024-07-08 18:01:45 391

原创 《全国交通咨询模拟》

处于不同目的的旅客对交通工具有不同的要求。例如,因公出差的旅客希望在旅途中的时间尽可 能地短,出门旅游的游客期望旅费尽可能省,而老年旅客则要求中转次数最少。

2024-07-08 17:48:11 949

原创 数据结构--第三章--栈和队列

队列是一种线性结构,是一种特殊的线性表。

2024-07-08 09:32:00 209

原创 家谱管理系统

家谱管理系统。

2024-07-08 09:31:42 1682

原创 数据结构--第十章--内排序

快排算法实际上就是对枢轴的左右分区进行递归操作。高效实现的快速排序算法是不稳定的且很复杂。直接插入排序是一种稳定的排序方法。堆排序是不稳定的排序方法。递归调用树与性能分析。

2024-06-11 15:26:58 460 3

原创 数据结构--第七章--树和二叉树

前序+中序可以确定一个二叉树;中序+后序可以确定一个二叉树。,将数据元素组织成层次结构,元素间属于。二叉树的定义是递归定义。

2024-06-11 15:25:55 425

原创 数据结构--第九章--查找

插入过程:(1)若二叉排序树T为空,则创建一个key域为k的节点,将它作为根节点;(2)否则将k和根节点的关键字比较,若两者相等,则说明树中已有此关键字k,无须插入,直接返回0;(3)若Kkey,则将k插入根节点的左子树中,否则将它插入右子树中。哈希表又称散列表,是除顺序表存储结构,链表存储结构和索引存储结构之外的又一种存储线性表的存储结构。对于n个元素,二分查找成功时最多的关键字比较次数为:log2(n+1)不成功时最多的关键字比较次数为log2(n+1)等概率条件下ASL成功=

2024-06-09 15:55:40 840 2

原创 数据结构--第八章--图

一、图邻接矩阵缺点:浪费空间,浪费时间二、生成树和最小生成树生成树不唯一,权值最小的树称为最小生成树任何一个带权无向连通图的最小生成树有可能不唯一2.克鲁斯卡尔算法—Kruskal 稠密图G的最小生成树—prim算法稀疏图G的最小生成树—Kruskal算法3.最短路径最短路径:从源点到终点可能不止一条路径,把路径长度最短的那条路径称为最短路径4.dijkstra算法5.拓扑排序 6.AOE网与关键路径

2024-06-09 15:55:03 625

原创 数据结构----第二章线性表1

C语言函数的定义--函数名(参数1,参数2,......)顺序表的特点:1.随机访问,即可以在O(1)时间内找到第i个元素。3.拓展容量不方便(即便采用动态分配的方式实现,拓展长度的时间复杂度也比较高)注意:数据结构三要素--逻辑结构、数据的运算、存储结构(物理结构)Tips:对数据的操作(记忆思路)--创销、增删改查;如果不带头结点,删除第一个元素,是否需要特殊处理?4.插入,删除操作不方便,需要移动大量元素。三、单链表查找(基于带头结点的情况)

2024-05-26 15:29:08 520

原创 c#核心学习1

一般情况下只会出现只有get的情况,基本不会出现只有set。如果要在类中申明一个和自己相同类型的成员变量时,不能对它进行实例化。提高代码复用率、提高开发效率、提高程序可拓展性、清晰的逻辑关系。类中是允许自己申明无参构造函数的,结构体是不允许的。4.成员属性中get和set前可以加访问修饰符。5.get和set可以只有一个。7.非静态函数可以使用静态成员。5.可重载和不可重载的运算符。3.成员变量的使用和初始值。8.静态成员对于我们的作用。2.成员属性的基本语法。2.早已出现的静态成员。

2024-05-26 15:28:45 561

原创 c#学习基础1

ref和out可以理解成他们也是一种变量类型,所以可以用在重载中,但是ref和out不能同时修饰。枚举是一个比较特别的存在,它是一个被命名的整形常量的集合,一般用它来表示状态,类型等。它们可以解决在函数内部改变外部传入的内容,里面变了,外面也要变。out传入的变量不用初始化,但是在内部必须修改该值(必须赋值)ref传入的变量必须初始化,但是在内部可改可不改。out传入的变量必须在内部赋值 ref不用。ref传入的变量必须初始化 out不用。3.ref和out的区别。2.ref和out的使用。

2024-05-04 14:24:16 740

原创 c#学习基础2

结构体一般写在namespace语句块中;两两相邻,不停比较,不停交换,比较n轮。结构体关键字 struct。四、复杂数据类型--结构体。2.冒泡排序的基本原理。6.结构体的构造函数。1.选择排序基本原理。

2024-05-04 14:24:04 346

原创 c#学习入门2

比较的结果返回的是一个bool类型的值,true和false如果比较的条件满足,那就返回true,不满足就返回false。注意:常量只能写一个值不能去写一个范围,不能写条件运算符;if语句是第一个可以让我们的程序产生逻辑变化的语句。位运算符,主要用数值类型进行计算的,将数值转换为2进制再进行位运算。注意:用+号拼接是用符号唯一方法,不能用-,*,/,%...后面的内容比占位符多不会报错,后面的内容比占位符少会报错。4.if...else if...else语句。2)条件分支语句--switch。

2024-04-22 16:58:25 637

原创 c#学习入门1

不同的变量存储的范围和类型不一样,本质是占用的内存空间不同,选择不同的数据(变量)类型装在不同的数据;数字用int,小数用float,字符串用string,真假用bool。它是字符串的一部分,用来表示一些特殊含义的字符,比如:在字符串中表现单引号,引号,空行等。2进制转10进制的规则:从右往左看,最右边的一位为第0位,如果该位不为0,则加上2的n位次方。:等待玩家输入完毕后(按回车键)才会继续执行后面的代码,玩家可以输入很多信息直到回车键结束。整数装浮点数,整数是不能隐式存储浮点数,因为整数不能存小数。

2024-04-22 16:58:09 436

原创 ROS通信机制---服务通信

后续调用相关msg时,是从这些中间文件调用的。

2024-04-08 17:05:31 349

原创 数据结构---绪论

数据是信息的载体,是描述客观事物属性的数,字符及所有能输入到计算机中并被计算机程序识别和处理的符号的集合。一个数据元素可由若干个数据项组成,数据项是构成数据元素的不可分割的最小单位。算法是对特定问题求解步骤的一种描述,它是指令的有限序列,其中等待每条指令表示一个或多个操作。运算的定义是针对逻辑结构的,指出运算的功能;运算的实现是针对存储结构的,指出运算的具体操作步骤。不同的数据元素,可组成相同的数据结构。数据类型是一个值的集合和定义在此集合上的一组操作的总称。的数据元素的集合,是数据的一个子集。

2024-04-08 17:05:15 640

原创 ROS通信机制---话题通信

概念:以发布订阅的方式实现不同节点之间数据交互的通信模式。中间文件,后续调用相关msg时,是从这些中间文件调用的。订阅出现问题时可以在文件处重新打开终端输入命令。2.1.5话题通信自定义msg调用A(c++)作用:用于不断更新的,少逻辑处理的数据传输场景。2.1.2话题通信基本操作A(c++)3.配置CMakeLists.txt。2.1.4话题通信自定义msg。实现对自定义消息的发布与订阅。2.1.1话题通信理论模型。

2024-03-27 14:14:03 353

空空如也

空空如也

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

TA关注的人

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