- 博客(26)
- 收藏
- 关注
原创 基于FPGA的3-8译码器
译码是编码的逆过程,在编码时,每一种二进制代码都赋予了特定的含义,即都表示了一个确定的信号或者对象把代码状态的特定含义翻译出来的过程叫做译码,实现译码操作的电路称为译码器。或者说,译码器是可以将输入二进制代码的状态翻译成输出信号,以表示其原来含义的电路。译码器(decoder)是一类多输入多输出组合逻辑电路器件,其可以分为:变量译码和显示译码两类。通过本次实验我简单的组合逻辑---3_8译码器,项目并不是很难,但需要我们足够细心。
2024-07-20 10:14:07
399
原创 基于FPGA的多路选择器
多路选择器是数据选择器的别称,在多路数据传送过程中,能够根据需要将其中任意一路选出来的电路,叫做数据选择器,也称多路选择器或多路开关。
2024-07-18 19:43:21
609
原创 ROS机器人小车建模仿真与SLAM
在控制台输入:export ROS_PACKAGE_PATH=R O S P A C K A G E P A T H : 你的 O R B S L A M 2 的目录 / E x a m p l e s / R O S ,比如在我的虚拟机就是 e x p o r t R O S P A C K A G E P A T H = {ROS_PACKAGE_PATH}:你的ORB_SLAM2的目录/Examples/ROS,比如在我的虚拟机就是export ROS_PACKAGE_PATH=ROS。
2024-06-16 12:59:44
749
原创 基于FPGA的VGA协议实现
1(红基色)、2(绿基色)、3(蓝基色)、13(行同步信号)、14(场同步信号)拐角最为重要RGB色彩显示标准:根据三原色中红色、绿色、蓝色所占比例以及三原色相互之间的叠加来显示各式各样的颜色。
2024-06-16 12:25:38
1102
3
原创 基于System-Verilog的VGA彩条设计与仿真
通过本次实验,我学习了SystemVerilog并完成了VGA彩条设计与仿真,SystemVerilog 在语言特性和功能上相对于 Verilog 更加强大和灵活,尤其在测试和验证方面有明显优势。
2024-06-15 20:56:46
509
原创 基于stm32f103的 HC_SR04超声波测距
HC-SR04超声波测距模块可提供2cm-400cm的非接触式距离感测功能,测距精度可达高到3mm;模块包括超声波发射器、接收器和控制电路。其基本工作原理采用IO口TRIG触发测距,给至少10us的高电平信号;模块自动发送8个40khz的方波,自动检测是否有信号返回;有信号返回,通过IO口ECHO输出一个高电平,高电平持续的时间就是超声波从发射到返回的时间。超声波传感器测距时,被测物体的面积不少于0.5平方米且平面尽量要求平整,否则影响测量的结果。建议测量周期为60ms以上,以防发射信号对回响信号的影响。
2024-06-15 14:29:43
617
原创 HLS入门
本次实验了解了HLS的有关知识,学习了Soc芯片以及用C语言实现硬件对应的功能。其中遇到的问题主要在于生成IP核时有报错,参考前文中提到的博客解决问题,由于忘记我的电脑最近重做系统后没有安装python,而解决问题需要保证本机python版本要在2.7以上,重新安装python后得以解决。
2024-06-12 12:59:42
781
原创 基于NIOSII软核的流水灯
3、file–>new–>Nios II Application and BSP from Template建立新的软件应用。1、Tools->Nios II Software Build Tools for Eclipse打开Eclipse。18、生成Qsys系统(菜单栏中Generation->Generate)20、Assignments->Setting添加.qip文件。22、芯片引脚选择(Assignments->Device)2、Tools->Qsys启动Qsys工具。12、添加PIO接口。
2024-06-03 20:32:41
342
原创 ROS通信模式编程
本次实验实现了ROS通信模式编程,ROS动作编程:客户端发送一个运动坐标,模拟机器人运动到目标位置的过程。过程中出现了很多问题,但有很多是因为文件名字不正确或者路径不正确,本机与参考博客的命名方式不一样导致会出现很多类似的问题,解决方式就是对应找到相应的文件名称和路径对应参考博客中的命令做出修改。
2024-06-03 18:41:45
818
原创 Ubuntu16安装ROS系统并实现小海龟仿真
ROS(机器人操作系统,Robot Operating System),是专为机器人软件开发所设计出来的一套电脑操作系统架构。它是一个开源的元级操作系统(后操作系统),提供类似于操作系统的服务,包括硬件抽象描述、底层驱动程序管理、共用功能的执行、程序间消息传递、程序发行包管理,它也提供一些工具和库用于获取、建立、编写和执行多机融合的程序。ROS的运行架构是一种使用ROS通信模块实现模块间P2P的松耦合的网络连接的处理架构,它执行若干种类型的通讯,包括:基于服务的同步RPC(远程过程调用)通讯;
2024-03-03 19:04:59
974
1
原创 STM32简单串口通信
在这次实验中,我们通过使用STM32微控制器实现了简单的串口通信。通过连接串口与计算机,我们能够通过串口发送数据,并在计算机上接收和显示这些数据。在实验过程中,我们首先对STM32的串口通信模块进行了配置,包括设置波特率、数据位、停止位和校验位等。然后,我们通过使用STM32的HAL库函数向串口发送数据,并在计算机上通过串口调试器接收这些数据。通过这次实验,我们深入了解了STM32的串口通信原理和实现方法。同时,我们也学会了如何配置串口通信参数以及如何通过串口进行数据传输。
2024-01-12 19:44:23
995
1
原创 汉字点阵与OLED屏显
目录一、电脑间串口连接传输文件1、实验目的2、设备连接3、实验过程及实验结果4、总结二、点阵汉字的字模读取与显示1、题目要求2、Ubuntu下调用opencv库编程显示图片和学号姓名3、代码撰写4、实验结果5、总结三、stm32+(SPI)OLED显示数据1、实验目的2.实验主要程序3.实验说明4、实验结果5、总结
2023-12-31 13:01:31
417
原创 定时器&PWM应用编程
定时器就是用来定时的机器,是存在于STM32单片机中的一个外设。其本质就是计数器,只不过 计数器 记录的是STM32的外部情况,所接收的也是外部脉冲,而 定时器 则是由STM32自身提供的一个非常稳定的计数器,这个稳定的计数器就是STM32上连接的晶振部件。STM32的众多定时器中我们使用最多的是高级定时器和通用定时器,而高级定时器一般也是用作通用定时器的功能。通用定时器的功能和特点:位于低速的APB1总线上(APB1)
2023-12-31 09:47:27
985
原创 基于Quartus完成1位全加器的设计及4位全加器的设计
全加器: 全加器是指对输入的两个二进制数相加(A与B)同时会输入一个低位传来的进位(Ci-1),得到和数(SUM)和进位(Ci);将原理保存至adder4文件夹下,并命名为full_adder4.bdf,将full_adder4.bdf设置为顶层文件并编译。点击File->New,然后选择Block Diagram/Schematic File,选择元件half_adder和or。input ain,bin,cin,//输入信号,ain表示被加数,bin表示加数,cin表示低位向高位的进位。
2023-12-19 22:05:31
2615
1
原创 基于I2C协议的AHT20温湿度传感器的数据采集
I2C(Inter-Integrated Circuit),集成电路总线,它是一种串行通信总线,使用多主从架构,是由飞利浦公司在1980年代初设计的,方便了主板、嵌入式系统或手机与周边设备组件之间的通讯。由于其简单性,它被广泛用于微控制器与传感器阵列,显示器,IoT设备,EEPROM等之间的通信。在了解了I2C协议基础上完成本次实验后,突然觉得身边的家电也不是什么难以理解的东西了,I2C作为串行通信总线解决了主板、嵌入式系统或手机与周边设备组件的通信问题。
2023-11-18 22:38:04
347
1
原创 基于中断/DMA的串口通信
①、CH340是什么芯片CH340 是一个USB 总线的转接芯片,实现USB 转串口、USB 转IrDA 红外或者USB 转打印口。在串口方式下,CH340 提供常用的MODEM联络信号,用于为计算机扩展异步串口,或者将普通的串口设备直接升级到USB 总线。有关USB 转打印口的说明请参考手册(二)CH340DS2。在红外方式下,CH340 外加红外收发器即可构成USB 红外线适配器,实现SIR 红外线通讯。
2023-11-04 22:19:57
64
1
原创 stm32cubeMX使用HAL库点亮LED流水灯
用STMCubeMX+keil+hal库实现点灯需要自己动手写的代码更少,这种方式更方便快捷。
2023-10-27 20:42:58
101
1
原创 基于寄存器和固件库的STM32LED灯实验
寄存器的功能是存储二进制代码,它是由具有存储功能的触发器组合起来构成的。一个触发器可以存储1位二进制代码,故存放n位二进制代码的寄存器,需用n个触发器来构成。固件库又称固件函数库,是⼀个固件函数包,它由程序、数据结构和宏组成,包括了微控制器所有外设的性能特征。该函数库还包括每⼀个外设的驱动描述和应⽤实例,为开发者访问底层硬件提供了⼀个中间API,通过使⽤固件函数库,⽆需深⼊掌握底层硬件细节,开发者就可以轻松应⽤每⼀个外设。因此,使⽤固态函数库可以⼤⼤减少⽤户的程序编写时间,进⽽降低开发成本。
2023-10-17 21:19:35
181
原创 编写一个C程序,重温全局变量、局部变量、堆、栈等概念
向一个栈插入新元素又称作进栈、入栈或压栈,它是把新元素放到栈顶元素的上面,使之成为新的栈顶元素;从一个栈删除元素又称作出栈或退栈,它是把栈顶元素删除掉,使其相邻的元素成为新的栈顶元素。局部变量的作用域是定义该变量的函数或定义该变量的复合语句。局部变量的生存期是从函数被调用的时刻算起到函数返回调用处的时刻结束。又可称之为内部变量。由某对象或某个函数所创建的变量通常都是局部变量,只能被内部引用,而无法被其它对象或函数引用。局部变量,也称内部变量,是指在一个函数内部或复合语句内部定义的变量 [1]
2023-10-07 22:27:27
53
1
原创 LINUX系统下GCC常用命令
GCC(GNU C Compiler)是编译工具。本文所要介绍gcc编译工具集中各软件的用途,gcc将 C/C++语言编写的程序转换成为处理器能够执行的二进制代码的过程,以及ELF文件格式。
2023-10-07 21:54:24
212
1
原创 gcc生成静态库和动态库
我们通常把一些 公用函数制作成函数库供其它程序使用。函数库分为静态库和动态库两种。静态库在程序编译时会被连接到目标代码中,程序运行时将不再需要该静态库。动态库在程序编译时并不会被连接到目标代码中,而是在程序运行是才被载入,因此在程序运行时还需要动态库存在。
2023-10-06 19:58:53
115
1
原创 嵌入式入门小程序
Proteus 是一款用于嵌入式单片机仿真的软件,用于在打PCB板之前对软件程序和硬件电路的正确性进行仿真验证。(1)、Proteus一般会和Keil软件进行联合仿真,在Proteus中绘制系统的电路图,在Keil软件中编写对应的程序后生成Hex文件。(2)、Proteus的仿真结果仅供参考,只能在一定程度上验证系统的可能性。实际实物系统还需要进行进一步的调试。
2023-09-26 23:05:24
214
原创 stm入门简单程序
本文主要介绍STM32F103系列芯片的地址映射和寄存器映射原理,GPIO端口的初始化设置步骤、嵌入式C程序代码对内存(RAM)中的各变量的修改操作,与对外部设备(寄存器—>对应相关管脚)的操作的差、51单片机的LED点灯编程与STM32点灯编程的对比别以及嵌入式C程序中 register和volatile 两个变量修饰符的作用。。
2023-09-26 20:23:29
52
原创 Ubuntu系统下对c语言进行简单编译
在本次作业中,我使用了gcc直接编译和Makefile编译这两种编译方式完成作业。在使用gcc的过程在,我了解到C语言是如何从源程序编译为可执行文件的过程。这与我们在windows上直接使用编译工具有所不同。虽然这种编译方式更加复杂,但却能我们更加了解整个C语言的源程序是如何一步步变为可执行文件的。
2023-09-15 13:43:15
1253
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人