- 博客(34)
- 收藏
- 关注
原创 基于 OpenCV 的图像与视频处理
OpenCV 是一个开源的计算机视觉库,广泛应用于图像处理、视频分析、目标检测等领域。通过学习 OpenCV,可以快速实现图像和视频的处理功能,为复杂的应用开发奠定基础。本实验旨在通过实际代码示例,掌握 OpenCV 的基本功能和使用方法。学习如何使用 OpenCV 进行图像处理。掌握 OpenCV 的视频读取和播放功能。实现视频录制功能,并理解视频流的处理逻辑。创建一个代码文件夹 code ,并在其中创建 test.cpp 文件。3.编译代码4.准备一张名为lena.jpg。
2025-04-20 18:17:58
483
原创 Linux学习——了解和熟悉Linux系统的远程终端登录
打开VMWare,选择编辑虚拟机设置,在网络适配器设置中,选择“桥接模式”,保存设置并启动Ubuntu。
2025-04-20 18:16:47
551
原创 FPGA学习(五)——DDS信号发生器设计
ROM 是只读存储器(Read-Only Memory)的简称,是一种只能读出事先所存数据的固态半导体存储器。其特性是一旦储存资料就无法再将之改变或删除,且资料不会因为电源关闭而消失。而事 实上在 FPGA 中通过 IP 核生成的 ROM 或 RAM(RAM 将在下一节为大家讲解)调用的都是FPGA 内部的 RAM 资源,掉电内容都会丢失(这也很容易解释,FPGA 芯片内部本来就没有掉电非易失存储器单元)。
2025-04-20 12:31:02
1324
原创 Linux学习——守护进程及gdb调试
守护进程是运行在后台的一种特殊进程,它独立于控制终端并且周期性地执行某种任务或循环等待处理某些事件的发生;它不需要用户输入就能运行而且提供某种服务,不是对整个系统就是对某个用户程序提供服务。Linux系统的大多数服务器就是通过守护进程实现的。守护进程一般在系统启动时开始运行,除非强行终止,否则直到系统关机才随之一起停止运行;守护进程一般都以root用户权限运行,因为要使用某些特殊的端口(1-1024)或者资源;
2025-04-18 15:56:28
756
原创 FPGA学习(四)——状态机重写LED流水灯并仿真
通过这次完整的状态机流水灯实验,我对数字电路设计有了更深入的理解和实践经验。在Quartus中实现状态机控制的流水灯让我掌握了如何将理论状态转换图转化为实际可综合的Verilog代码,特别是状态编码和状态转移逻辑的编写技巧。使用ModelSim进行功能仿真时,我学会了如何编写有效的测试激励文件,并通过波形分析验证设计的正确性,这培养了我的调试能力。在HDLbits平台练习组合逻辑部分让我对FPGA的基本构建模块有了更扎实的理解,特别是如何用简洁的代码描述复杂的逻辑功能。
2025-04-04 13:39:56
993
原创 Linux系统调用编程
exec 函数族的函数执行成功后不会返回,因为调用进程的实体,包括代码段,数据段和堆栈等都已经被新的内容取代,只留下进程 ID 等一些表面上的信息仍保持原样,颇有些神似“三十六计”中的“金蝉脱壳”。线程可以看做轻量级的进程,同一个进程内的线程共享进程的地址空间,每个线程都有自己独立的运行栈和程序计数器,线程之间切换的开销小。可以看到,线程有一些和进程比较相似的地方,比如线程ID、线程控制块(TCB,Thread Control Block)以及三种基本状态等,引入线程会使得系统的开销减小,这是比较有利的。
2025-04-02 16:29:46
1082
原创 FPGA学习(三)——数码管实现四位分秒计数器
在这次基于DE2-115开发板的四位分秒计数器设计实验中,我深刻体会到了数字系统设计的完整流程与工程思维的重要性。从最初简单的分频计数到最终的模块化重构,整个过程让我对FPGA开发有了更立体的认识。通过引入消抖模块并优化参数,最终实现了可靠的按键检测。而三段式状态机的设计,不仅让逻辑更清晰,调试效率也大幅提升。最让我受益的是最后的模块化重构过程,将系统拆分为功能独立的模块,提高了代码复用性。
2025-04-01 23:14:01
1005
原创 FPGA学习(二)——实现LED流水灯
本次实验的核心目的在于通过实践操作,熟悉FPGA的开发流程,并通过编写Verilog代码来实现FPGA的流水灯效果,以此来练习和巩固Verilog编程的相关知识。实验关键点在于时钟和复位信号的处理: 理解时钟信号在数字设计中的重要性,以及如何使用复位信号来初始化和同步系统状态。计数器的设计: 学习如何利用计数器产生定时信号,以实现LED灯的顺序点亮。,并通过编写Verilog代码来实现FPGA的流水灯效果,以此来练习和巩固Verilog编程的相关知识。
2025-03-16 18:37:29
1388
原创 Ubuntu虚拟机中使用QEMU搭建ARM64环境
Linux的根文件系统一般也叫做 rootfs,Linux的根文件系统更像是一个文件夹或者叫做目录,在这个目录里面会有很多的子目录。根目录下和子目录中会有很多的文件,这些文件是Linux运行所必须的,比如库、常用的软件和命令、设备文件、配置文件等等。根文件系统的“根”字就说明了这个文件系统的重要性,它是其他文件系统的根,没有这个“根” ,其他的文件系统或者软件就别想工作。比如我们常用的 ls、mv、ifconfig 等命令其实就是一个个小软件,只是这些软件没有图形界面,而且需要输入命令来运行。
2025-03-08 17:01:48
2039
原创 【树莓派学习】树莓派3B+的安装和环境配置
在上面中,我们仅仅是通过命令行的方式查看到文件系统。既然我们安装的是桌面版本的树莓派系统,那么肯定有一个方式可以连接上桌面系统。要实现远程桌面连接,树莓派需要安装 xrdp服务。默认情况下,新创建的用户可以通过 SSH 登录(如果 SSH 服务已启用)。远程桌面连接,我们可以查看到桌面信息,但是如果还想要上传文件呢?首先,我们本地电脑需要安装一下vncviewer,通过它来远程连接到vncserver。接下来我们只需要打开树莓派的vnc服务,然后连接过去即可。根据具体系统下载好对应安装包,双击安装好。
2025-03-02 17:09:03
1476
原创 FPGA学习(一)——verilog实现四位全加器和三八译码器
1位数码管:数码管等效电路(共阳极和共阴极):以共阴极七段数码管为例,假设我们需要b,c亮,我们只需要给b,c接低电平,其他接高电平就可。
2025-03-01 15:26:01
1155
原创 【STM32】AHT20温湿度传感器的数据采集
对于I2C通讯协议把它分为物理层和协议层物理层规定通讯系统中具有机械、电子功能部分的特性(硬件部分),确保原始数据在物理媒体的传输。在野火提供的示例代码中,打开一个只包含固件库的空项目。等通讯协议的外部收发设备(那些电平转化芯片),现在被广泛地使用在系统内多个集成电路(IC)间的通讯。串口外设类似,只要配置好对应的寄存器,外设就会产生标准串口协议的时序。公司开发的,由于它引脚少,硬件实现简单,可扩展性强,不需要。,串行数据总线,只能一位一位的发送数据,属于串行通信,采用。弓|脚用于传感器的数据输入和输出。
2024-06-26 08:45:52
2876
1
原创 【STM32】基本I2C协议的OLED显示
目录一、I2C协议(一)I2C基本原理(二)I2C时序协议二、OLED屏(一)0.96寸OLED屏工作原理(二)汉字取模三、U8g2简介1、U8g2支持的显示控制器2、U8g2的优势四、CubexMX配置五、U8g2移植1、准备U8g2库文件2、精简U8g2库文件3、 去掉无用的驱动文件4、 精简u8g2_d_setup.c5、 精简u8g2_d_memory.c6、 将精简后的U8g2库添加至Keil六、代码实现1、 编写移植函数2、 U8g2图形库测试函数参考链接一、I2C协议(一)I2C基本原
2024-06-11 23:08:46
2631
原创 【STM32】uC/OS-III多任务程序
3、配置PB0和PB1设置为GPIO_Output,用于和LED相连。中的以下图中的8个文件添加到。在生成的keil工程文件夹。打开工程,添加以下六个组。4、配置USART1。中的20个文件添加到。
2024-06-08 13:03:04
1234
原创 【STM32】定时器与PWM的LED控制
STM32F103一共有8个定时器TIM1~TIM8。STM32的定时器分为基本定时器、通用定时器和高等定时器。①TIM6TIM7(基本定时器):基本定时器是只能向上计数的16位定时器,基本定时器只能有定时的功能,没有外部IO口,所以没有捕获和比较通道。②TIM2TIM3TIM4TIM5(通用定时器):通用定时器是可以向上计数,也可以向下计数的16位定时器。通用定时器可以定时、输出比较、输入捕捉,每个通用定时器具有4个外部IO口。③TIM1TIM8。
2024-05-31 16:34:11
1291
1
原创 【STM32】HAL库点亮LED灯
1.以管理员身份运行并安装2.勾选"I accept the terms of this license agreement",接着选择 Next3.选择安装位置(注意:安装位置不要出现中文)4.安装完成。
2024-05-26 18:35:15
780
原创 【STM32】串口通信入门
RS232协议是在1970年由美国电子工业协会(EIA)联合贝尔系统、调制解调器厂家、计算机终端生产厂家共同制定的用于串行通讯的标准,该标准规定采用一个标准的连接器,标准中对连接器的每个引脚的作用加以规定,还对信号的电平加以规定。在串口通信的协议层中,规定了数据包的内容,它由起始位、主体数据、校验位【可选】和停止位,通信双方的数据包格式统一是正常收发数据的必要条件之一。在32中的IO我们叫做GPIO通用输入输出口。要求:在上一次寄存器方式点亮LED灯的基础上,改用标准库方式,完成LED的点灯或流水灯实验。
2024-05-12 18:40:59
892
1
原创 【STM32】--基于STM32最小系统点亮LED灯
初学STM32使用寄存器点亮LED虽然难度并不大,但其中需要注意的细节有很多,包括Keil软件的配置及寄存器相关地址的准确。
2024-05-05 21:32:46
1687
3
原创 【51单片机】DS18B02单总线温度采集
DS18B20是一款常用的高精度的单总线数字温度测量芯片。具有体积小,硬件开销低,抗干扰能力强,精度高的特点。传感器参数测温范围为-55℃到+125℃,在-10℃到+85℃范围内误差为±0.4°。返回16位二进制温度数值主机和从机通信使用单总线,即使用单线进行数据的发送和接收在使用中不需要任何外围元件,独立芯片即可完成工作。掉电保护功能 DS18B20 内部含有 EEPROM ,通过配置寄存器可以设定数字转换精度和报警温度,在系统掉电以后,它仍可保存分辨率及报警温度的设定值。
2024-04-20 19:23:24
2375
原创 【51单片机】单片机定时器与串口通信应用实例
蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用于计 算机、 打印机、 复印机、 报警器、 电子玩具、 汽车电子设备、 电话机、 定 时器等电子产品中作发声器件。蜂鸣器主要分为压电式蜂鸣器和电磁式蜂鸣器两种类型。2.压电式蜂鸣器 (无源蜂鸣器压电式蜂鸣器主要由多谐振荡器、压电蜂鸣片、阻抗匹配器及共鸣箱、外壳 等组成。多谐振荡器由晶体管或集成电路构成,当接通电源后(1.5~15V 直流工 作电压),多谐振荡器起振,输出 1.5~5kHZ 的音频信号,阻抗匹配器推动压电 蜂鸣片发声。
2024-04-18 12:51:07
1711
1
原创 【51单片机】中断系统、定时器计数器工作原理及应用
通过此次学习51单片机中断系统和定时/计数器的相关内容,掌握了中断系统的原理和使用方法,了解了如何利用中断来实现对外部事件的实时响应,提高了系统的灵活性和可靠性。学习了定时/计数器的工作原理和编程方法,掌握了如何利用定时器来实现时间精确控制,提高了系统的时间管理能力。了解了中断和定时/计数器的工作机制,学会了合理设置中断优先级和定时器的工作参数,从而能够有效地节省系统资源,提高系统的性能和效率。
2024-04-04 23:13:54
1905
2
原创 汇编程序与周期性任务设计
**指令周期:**执行一条指令所需要的时间,一般由若干个机器周期组成。指令不同,所需的机器周期也不同。指令周期常常用若干个CPU周期数来表示,CPU周期也称机器周期。通常含一个机器周期的指令称为单周期指令,包含两个机器周期的指令称为双周期指令。
2024-03-24 13:59:54
832
1
原创 基于SDCC和Edsim51的代码仿真
由原理图可知,LED0接在P1.0的端口上,而51单片机中P1.0的地址为90H。要使LED点亮,需要使P1.0输出低电平,即可。:在仿真运行之前,Edsim51的Update Frequency (刷新频率)要加大到10000或更亮。
2024-03-16 03:05:33
480
1
原创 利用Proteus仿真点亮LED
原理图设计界面,主要是包含预览窗口方向工具栏元件列表模型选择工具栏仿真测试按钮原理图编辑窗口。通过本次仿真实验,前期查阅有关8051单片机的相关资料,基本了解单片机的工作原理,在设计的过程中使用同一个原理图编写不同的代码,采用C与汇编语言两种方式,分别由低位和高位进行流水灯点亮,更深刻的理解了点亮流水灯的原理。通过此次实验,让我对单片机的兴趣大大提升,我坚信一定能学好并熟练掌握这门技术。
2024-03-09 17:20:12
4514
2
原创 Verilog编程基础练习
reg型表示寄存器类型,用于always模块中被赋值的信号,通常用于存储状态或时序逻辑。wire型表示连续赋值类型,用于assign关键字指定的组合逻辑信号,输入输出都默认为wire类型,通常用于组合逻辑。:Verilog综合生成的电路将内部的基本门电路进行封装,只通过输入输出来观察实行对应的功能,简化电路图,仿真测试生成的结果与真值表相同。译码器电路原理与原始设计电路存在什么差别?仿真测试生成的结果是否与真值表一致?译码器模块的输出信号 为何要定义为。
2023-12-18 16:10:26
1016
1
原创 Mulitisim仿真实验--基于74LS148优先编码器实现病房呼叫系统
本次实验学习了编码器和译码器的相关知识,并利用它们来实现一定的逻辑功能。设计实验有一定的难度,首先还是要先了解74LS148优先编码器及译码器的原理,多次尝试细心去完成该次仿真实验。
2023-11-14 02:27:03
8239
原创 基于与非门设计四路表决器及LED的数字电路分析
如下:[外链图片转存中…(img-FPjdekjN-1698986525629)]在本次实验中了解了7段数码显示管的使用方法,并掌握在Logsim中分析组合逻辑电路功能的使用。同时通过对组合逻辑电路的分析简化,加深了对逻辑电路的理解,并加深了对全加器原理的理解。
2023-11-03 12:47:44
5523
原创 ubuntu下的hello world
下载地址:https://developer.aliyun.com/mirror/4.操作系统选择Linux,版本选择Ubuntu64位,点击下一步5.设置磁盘空间大小20GB即可8.直接回车或者等待几秒会自动跳转9.选择中文简体,点击安装ubuntu。
2023-10-21 11:17:21
168
1
原创 c++辗转相除法将十进制转换成二进制
辗转相除法,也称欧几里得算法,是求两个正整数最大公约数的常用方法。该算法基于以下原理:对于两个正整数a和b,其最大公约数等于b和a mod b的最大公约数。换句话说,我们不断将较大数除以较小数所得余数,直到余数为零为止。此时较小数即为原始两数的最大公约数。
2023-10-19 00:06:39
477
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人