- 博客(31)
- 收藏
- 关注
原创 守护进程编程
守护进程是一种特殊的进程,它在后台运行,不与用户直接交互,并且不受会话的限制,也就是说即使用户退出了终端或关闭了会话,守护进程仍然可以继续运行,直到它被明确终止。正常情况下,当我们运行一个前台或后台进程时,一旦离开当前会话(终端),那该会话中的所有前后台进程也随即结束,当你重新打开会话时,已经“物是人非,难遇故人”了。而守护进程就可以不受会话的限制,可在前后台一直运行直至结束的进程。守护进程的实现有两种方式:自编和利用现有程序伪装。
2025-04-18 17:40:53
869
原创 DDS信号发生器设计
通过这次DDS信号发生器的设计和实现,学习了数字信号处理的强大能力和FPGA设计的灵活性。从理论学习到实际操作,我不仅了解到了DDS技术的基本原理和实现方法,还学会了如何在Quartus软件中进行模块化设计和引脚配置。这次实践让我认识到了细节的重要性,每一个小的配置错误都可能导致整个系统无法正常工作。20【FPGA】FPGA开发中常用的IP核——PLL/ROM/RAM/FIFO_fpga ip核-CSDN博客【DE2-115】Verilog实现DDS+Quartus仿真波形-CSDN博客。
2025-04-16 22:18:08
622
原创 FPGA实现LED流水灯
本次实验学习了Verilog硬件描述语言的基本语法和模块化设计方法,学习使用计数器实现定时功能,并通过状态机控制LED流水灯的效果,计数器用于实现1秒的定时状态,状态机用于控制LED灯的状态切换,代码编写完成后在DE2-115开发板上下载烧录程序,实现“跑马灯”效果,不仅加深了对Verilog语言的理解,还培养了硬件设计的规范化思维。
2025-04-14 00:19:41
595
原创 加法器设计—— 原理图与VHDL设计初步
1、在DE2-115开发板上,完成4位全加器系统的设计、下载和功能演示,并在FPGA上实现1位全加器;2、完成3-8译码器的设计、下载和功能演示(利用板上的8段数码管)本次实验在组合逻辑电路的基础上,运用Verilog编程实现了四位全加器和3-8译码器的设计,同时实现了在DE2-115开发板上的下载和功能演示。整个过程加深了我对电路设计和Verilog编程的理解,同时也锻炼了解决问题的能力。
2025-04-14 00:12:47
866
原创 Ubuntu虚拟机Linux系统入门
通过本次实验,了解了Linux系统的基本安装和配置方法,还对虚拟化技术、软件源管理、根文件系统构建以及跨平台编译等高级概念有了深入的理解。这些知识和技能对于进一步学习Linux系统管理和软件开发具有重要意义。Ubuntu虚拟机中使用QEMU搭建ARM64环境-CSDN博客。
2025-04-14 00:02:07
1142
原创 安装树莓派3B+环境
本次实验我们通过无显示器的方式成功安装并配置了树莓派3B+环境,除此之外,还在该基础上创建了多个用户账号,确保每个同学都能用自己的账号登录并访问home目录,最后,还使用C和Python语言进行简单的编程,验证了编程环境是否能够正常运行。【树莓派学习】树莓派3B+的安装和环境配置-CSDN博客无显示器方式 安装访问树莓派3B+- CSDN搜索树莓派3B+入门(无外设)_树莓派 userconf-CSDN博客。
2025-04-13 23:46:21
1196
1
原创 Linux系统远程操作和程序编译
本次学习围绕Linux系统的远程操作和图像处理展开。通过学习,了解到了Linux系统的远程终端登录、图形桌面访问、文件传输以及OpenCV图像处理等技术。在远程操作部分,配置了Ubuntu虚拟机的网络连接为桥接模式,通过创建用户并开启SSH服务,和同学实现了Putty和Xshell远程登录到我的Ubuntu和树莓派系统,完成了文件的上传和下载操作。在OpenCV图像处理部分,成功安装了OpenCV库,并编写了一个简单的图像程序,用gcc、Makefile和CMake进行编译,了解了第三方库的使用和编译流程。
2025-04-13 23:14:07
709
原创 Linux系统调用编程
本次实验首先通过 ps -a 和 kill命令直观地观察了系统中的进程状态,让我认识到进程是操作系统资源分配的基本单位,在编写fork-exec程序时,了解到了父子进程的关系以及进程创建的完整生命周期。这次实验不仅巩固了我的理论知识,更培养了我解决实际问题的能力,通过编写和调试代码,对Linux系统调用的工作方式有了切身体会,这为后续学习操作系统原理打下了坚实基础。
2025-04-04 14:20:20
604
原创 基于状态机的LED流水灯设计与仿真验证
通过本次基于状态机的LED流水灯设计与仿真验证,进一步了解了数字电路设计,认识到了状态机作为数字系统的核心设计模式,结构清晰、逻辑严谨的特点。同时,在VsCode、Quartus和ModelSim三者的联合调试过程中,体会到了仿真验证对硬件设计的重要性。除此之外,还对CPLD和FPGA技术进行了对比,认识到不同可编程器件各有不同的适用场景。最后,还通过HDLbits平台的组合逻辑题目练习,巩固了基本元器件的设计能力。状态机思想编程LED流水灯-CSDN博客。
2025-04-04 04:58:13
1097
原创 FPGA-分秒计数器
本次实验基于DE2-115 FPGA开发板,配合Verilog HDL编程设计并实现了一个分秒计数器,该分秒计数器精确到秒,通过消抖后的按键信号实现启动、暂停功能,最后利用七段数码管显示分钟和秒的数值。通过实现这一计数器,学习到了时序逻辑设计和模块化编程方法,并通过多次调试和修改,完成了这次实验任务,锻炼了实际操作能力。
2025-03-30 22:32:17
778
原创 温湿度采集与OLED显示
本次实验我们学习了I2C总线通信协议,并使用STM32F103微控制器实现了基于I2C协议的AHT20温湿度传感器的数据采集。同时,我们还学习了如何将采集到的温度和湿度值通过串口输出到上位机的“串口助手”软件。通过本实验,我们深入了解了I2C总线通信协议,并掌握了如何使用STM32F103微控制器实现基于该协议的温湿度传感器数据采集。同时,我们还学习了如何将采集到的数据通过串口输出到上位机软件。这些技能为我们以后的学习打下了坚实的基础。
2024-06-23 17:51:41
1255
原创 基于I2C协议的OLED显示(利用U8G2库)
I2C通信协议是一种串行通信协议,它允许多个设备通过两根线进行通信:串行数据线(SDA)和串行时钟线(SCL)。这种串行通信方式相对于并行通信更为灵活,尤其适用于设备之间的短距离通信。I2C通信协议采用主从结构,其中一个设备充当主设备(Master),而其他设备则是从设备(Slave)。主设备负责控制通信的开始和结束,而从设备在主设备的控制下进行响应。I2C通信协议使用起始和停止条件来标识通信的开始和结束。起始条件是SDA线由高电平切换到低电平,而停止条件则是SDA线由低电平切换到高电平。
2024-06-11 21:03:34
1442
原创 uc/OS-III多任务程序
uC/OS-III(Micro C/OS-III)是由Micrium公司开发的第3代实时操作系统内核。它采用C语言编写,是一个可升级、可固化的、基于优先级的实时内核。它支持的任务数量不受限制,并且提供了现代实时内核所期望的大部分功能,如资源管理、同步、任务间通信等。uc/OS-III的特点:1)抢占式多任务管理:uC/OS-III支持多任务抢占,总是优先执行任务优先级高的任务。2)时间片调度:当系统中存在多个相同任务优先级的任务时,uC/OS-III会以时间片的方式调度这些任务,确保公平性。
2024-06-08 23:25:47
862
1
原创 定时器与PWM的LED控制
本次学习,我们深入了解了STM32定时器原理,掌握脉宽调制pwm生成方法。主要用HAL库实现加定时器计数方式,控制LED以2s的频率周期性地亮-灭,和采用定时器PWM模式,让 LED 以呼吸灯方式渐亮渐灭,周期为1~2秒,并对波形进行观察。文章多有不足,欢迎大家批评指正!STM32CubeMX & Keil——STM32F103C8T6:PWM控制LED灯_stm32pwmled灯-CSDN博客。
2024-05-31 17:52:08
626
原创 HAL库LED点灯
本次我们主要学习基于HAL库实现流水灯闪烁,以及中断按键控制LED灯的状态。STM32CubMX是STM32提供的图形化的工程配置软件,自己手动建立基于HAL库的工程模版能够更加清楚HAL库的框架结构,但建立过程相对来说比较繁琐。文章多有不足,欢迎大家批评指正!STM32中断和基于HAL库的LED流水灯_stm32按键中断控制灯闪烁-CSDN博客。
2024-05-26 19:43:21
951
原创 中断编程入门
计算机在执行程序过程中,当出现异常情况(断电等)或特殊请求(数据传输等)时,计算机暂停现行程序的运行,转向对这些异常情况或特殊请求进行处理,处理完毕后再返回到现行程序的中断处,继续执行原程序,这就是“中断”。中断在嵌入式系统中占有极其重要的地位,中断机制使得系统能更有效更合理的发挥效能和提高效能。此次我们学习了用串口中断的方式点亮LED灯,同时用串口中断的方式重做了前一篇文章信息发送的实验。对我个人来说整个过程还是比较复杂难做的,本次学习也进一步强化了我的动手能力。文章多有不足,欢迎大家批评指正!
2024-05-19 23:06:46
945
1
原创 STM32 串口通信入门
本次实验我们了解了串口协议相关知识,学习了STM32标准库开发的基本方法,并利用标准库方式实现了LED灯的点亮,以及STM32系统给上位机(win10)连续发送“hello windows!”,同时也利用Keil对波形图进行观察分析。初学嵌入式开发,文章多有不足欢迎大家批评指正。STM32基于HAL库流水灯实验_hel库安装教程中文版-CSDN博客一. 了解串口协议和RS-232标准,以及RS232电平与TTL电平的区别;了解USBTTL转232模块(以CH340芯片模块为例)的工作原理。
2024-05-12 22:44:04
845
原创 stm32F103的LED亮灭之版本1(寄存器地址版)
STM32F103C8T6 是一款基于ARM Cortex-M3内核的32位微控制器,由STMicroelectronics(ST)公司生产。它是STMicroelectronics的STM32系列微控制器中的一员,被广泛应用于嵌入式系统和电子设备中。封装:STM32F103C8T6 的主要引脚接口如下:1)电源引脚:VDD: 电源正极;VSS: 电源地。2)时钟引脚:OSC_IN: 晶振输入;OSC_OUT: 晶振输出。3)复位引脚:NRST: 复位输入。
2024-05-06 22:16:22
916
原创 【51单片机】— 单总线温度采集
DS18B20是美国DALLAS公司生产的数字温度传感器,体积小、低功耗、抗干扰能力强。可直接将温度转化成数字信号传送给单片机处理,因而可省去传统的信号放大、A/D转换等外围电路。单总线构成的分布式温度检测系统如图所示为单片机与多个带有单总线接口的DS18B20组成的分布式温度测量系统,图中多个DS18B20都挂接在单片机的1根I/O口线(即DQ线)上。单片机对每个DS18B20都通过总线DQ寻址。DQ为漏极开路,须加上拉电阻。DS18B20的一种封装形式如上图右边所示。
2024-04-20 19:28:05
945
1
原创 【51单片机】— 单片机定时器与串口通信
此次学习让我认识到了理论与实践相结合的重要性,理论知识需要通过实践进行巩固。此外,通过本次学习,我了解到了51单片机定时器与串口通信的基本概念和用法。定时器能够帮助我们实现精准的时间控制,而串口通信则是实现数据交互的重要手段。文章存在许多不足,欢迎大家指正!
2024-04-20 19:10:34
1944
原创 【51单片机】中断与定时计数
通过本次学习,我们了解了51单片机中断与定时计数的基本概念和用法。中断允许我们处理紧急任务,而定时计数则可以帮助我们实现精确的时间控制。掌握这些知识,对于51单片机的学习和应用都是非常重要的。文章多有不足,欢迎大家批评指正。
2024-04-07 17:41:13
1639
原创 汇编实现LED灯每隔1S亮灭的周期性闪烁及查表法求平方数,并在普中开发板上进行验证
本次实验通过对汇编指令和常用程序结构的学习与实践,我们掌握了软件多重循环计数定时方法和循环+nop指令的定时方法,了解了查表法在求平方数程序中的应用,以及普中单片机实验开发板的使用方法。实验过程中,我们通过实际操作,锻炼了编程能力和动手能力,对单片机原理和编程有了更深入的理解。同时,我们也认识到了软件定时方法的重要性,以及在实际应用中根据需求选择合适方法的重要性。文章多有不足,如果大家发现错误,还请多多批评指正!
2024-03-24 14:03:02
1922
1
原创 基于SDCC和Edsim51的代码仿真
第三个注意的地方是程序里为了表示 P1 口的各个位( bit )的值,使用了 0b11111110 这样的二进制字面量,这是非标准的 sdcc 扩展,为此,需要在编译的时候指定 --std-sdccxx 编译选项,这里 xx 需要按需要替换为 89 、 99 、 11 、 2x 以适应不同标准,下面是一个参考命令:sdcc --std-sdcc89 led1.c。下载SDCC时,将其尽量安装到除系统盘C之外的分区目录,比如D:\SDCC(如果之前安装过其他版本的SDCC要先将之前的版本进行卸载)。
2024-03-16 14:10:59
975
1
原创 51单片机架构与汇编指令-Proteus点亮LED灯
本次实验带我们学习了51单片机的硬件结构和基本操作,让我们学会汇编语言基本语法和指令,使用汇编语言编写简单的程序,同时熟悉如何使用Proteus进行51单片机仿真,培养动手能力和解决问题的能力,为进一步理解和学习单片机打下基础。
2024-03-10 17:34:19
1992
1
原创 Verilog 编程基础练习
Verilog综合生成的3-8译码器电路原理图与原始设计电路在结构和连接上有所不同,原始设计电路时基于门电路的物理链接,而Verilog综合生成的电路是基于编程逻辑单元的配置,这种差异体现在实现的方式上,但两种方式在功能上是相同的。reg类型用于定义寄存器,即具有存储功能的元件,而wire类型用于定义导线,及用于连接模块间的信号传输,3-8译码器模块中,输出信号需要根据输入信号的变化而变化,因此需要被定义为reg类型。(1)、Verilog综合生成的3-8译码器电路原理图与原始设计电路存在什么差异?
2023-12-17 19:29:16
1179
1
原创 用Logisim采用74LS××系列搭建RS和D锁存器
当Q为高电平时,触发器处于1态。R端为置0端(复位端),S端为置1端(置位端)。RS触发器(Rest Set触发器)是一种基本的触发器,它的状态有两个输入端R(复位)和S(置位)控制。D触发器(Data触发器)是一种基本的时序逻辑电路,它由一个输入端(D)、一个输出端(Q)以及一个存储元件(如电容或触发器)组成。1.当R端位高电平(无效),S端为低电平(有效)时,触发器被置位,输出端Q为低电平,Q'为高电平。2.当R端为低电平(有效),S端为高电平(无效)时,触发器被复位,输出端Q为高电平,Q'为低电平。
2023-11-21 01:53:51
1195
原创 编码器-解码器电路设计及Multisim软件仿真
74LS148是一款8-3优先编码器,从上面的诊治表可以看到有三个地方正好直接输出三个独立的低电平,可以分别代表三个优先级,我们只需要再找一个地方能控制一个优先级的地方即可,可以选用EO引脚与一个思路与非门连接控制最低优先级。译码器的作用正好与编码器相反,是将一个N位二进制代码(N个输入信号)转译为2的n次方个输出的高/低电平信号(或者另一种代码)。8.继续重试安装好软件,如果出现提示窗口要求输入注册序列号,以及用户注册等,不须理会,直接关闭窗口。7.安装完成,窗口会提示如下界面,点击“Yes”;
2023-11-16 14:41:28
3240
1
原创 组合逻辑电路的分析与设计
在数字电路中,根据逻辑功能的不同,可以将数字电路分成两大类,一类叫做组合逻辑电路、另一类叫做时序逻辑电路。本次我们主要学习掌握组合逻辑电路。组合逻辑电路是无记忆的数字逻辑电路,它任意时刻的输出仅仅取决于该时刻的输入,与电路原来的状态无关。组合逻辑电路由“组合”的基本逻辑NAND,NOR或NOT门组成或连接在一起产生更复杂的开关电路。
2023-11-03 19:29:31
2000
原创 基本逻辑门电路的验证及仿真分析
1、此次实验帮助我们熟悉了数字电路实验箱的基本结构和基本逻辑门电路的组合分析。2、在控制电线板接线之前,我们最好在Logisim进行仿真实验,实验过程中芯片选择要正确,不然会出现实验结果与理论值不对应的情况。
2023-10-23 21:41:51
1021
原创 通过VirtualBox安装Ubuntu 20.04,并在Ubuntu系统下用C语言编写“Hello world!“
"程序,注意不要写错,之后按Esc键,输入 :wq 保存并退出,按回车键,之后按以下步骤依次输入,gcc编译器可通过命令:sudo apt install gcc 安装,编译完成后,用file命令查看Hello可执行文件, ./执行,成功打印出“Hello world!进入该界面,输入 vi Hello.c ,再按两次回车键,这里注意,需要输入一个 i ,再按回车键,才能正常编写程序。输入名称,文件夹默认C盘,可根据个人需求更改路径,点击下一步。这里需要输入名称和密码,根据个人喜好输入,点击继续。
2023-10-21 23:08:17
388
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人