- 博客(25)
- 收藏
- 关注
原创 DE2-115板子上用 Verilog编程实现一个分秒计数器
本次实验成功在 DE2-115 板子上使用 Verilog 实现了具有按键暂停和按键消抖功能的分秒计数器。通过实验,深入理解了 Verilog 语言的编程方法、按键消抖的原理以及 FPGA 开发流程。在实验过程中,也遇到了如数码管显示编码错误、时序匹配等问题,通过查阅资料和调试得以解决。
2025-06-19 15:53:56
872
原创 守护进程编程
守护进程(Daemon)是指一种在后台运行的进程,通常不与用户交互,用于执行一些常驻任务,如系统监控、日志管理、定时任务等。命令可以使得程序在退出终端后继续运行,这样即使用户退出会话,程序依然能够持续运行。表示将阿里云服务器的 2222 端口转发到树莓派的 22 端口(SSH 端口)。函数会自动创建一个新的会话,重定向输入输出,关闭文件描述符,并在后台运行。首先,确保树莓派和阿里云服务器能够通过 SSH 连接。这时,外部用户就可以通过阿里云服务器访问树莓派系统。编译并执行该程序后,它会成为一个守护进程。
2025-04-16 17:19:58
597
原创 设计和实现一个基于 DDS(直接数字频率合成) 的波形发生器
DDS 是一种常用的信号生成技术,利用数字频率合成技术生成不同频率和形状的信号波形。主要原理是通过一个相位累加器、波形查找表(LUT)和数模转换器(DAC)来合成不同频率和相位的波形。为了验证 DDS 模块的功能,我们可以编写一个简单的测试模块。
2025-04-15 21:17:15
989
原创 通过学习opencv图像库编程借助第三方库函数完成一个综合程序设计
编译命令会将这些路径和标志添加到 GCC 命令中,确保程序能够找到 OpenCV 的头文件和库文件。编译 OpenCV 程序的过程。中的规则进行编译,并生成。文件,进行编译,并添加。中,我们通常会编写一个。选项来清理生成的文件。在项目目录下创建一个。
2025-04-08 18:41:56
458
原创 实现阿里云服务器上的文字聊天程序以及C语言写的进程间通信(IPC)程序
使用管道和消息队列都是 Linux 中常见的进程间通信方法。根据需要选择适合的方式。可以在阿里云服务器上运行这些程序来模拟进程间的聊天。在此基础上,可以进一步扩展聊天程序,比如加入多用户支持、网络通信等功能。
2025-04-08 18:41:18
446
原创 Linux系统远程操作和程序编译
在Windows 10上使用Putty或Xshell远程登录Ubuntu和树莓派系统。使用FTP或SFTP客户端在Windows 10上连接Ubuntu或树莓派进行文件上传和下载。确保SSH服务已开启。在虚拟机Ubuntu系统中,将网络连接设置为“桥接模式”,并配置好IP和网关。新创建的用户通常不在sudo权限组中,因此不能使用sudo命令。在Windows 10上使用VNC Viewer连接到Ubuntu或树莓派的VNC服务器。在树莓派上配置自动联网,确保Windows 10系统能够ping通树莓派。
2025-04-08 18:40:38
603
原创 Linux系统调用编程
它使每个进程都认为自己有独立的内存空间,而实际内存(RAM)和磁盘(通常是交换空间或虚拟内存)是通过操作系统的管理机制来协调的。这样,程序可以使用比实际物理内存更多的内存,且操作系统负责将不常用的数据从内存中交换到磁盘上。进程:进程是操作系统进行资源分配和调度的基本单位,通常被视为程序的一个执行实例。进程是相对独立的,在操作系统中,它与其他进程之间的内存是隔离的。其中,每个进程都有一个唯一的进程ID(PID)。系统调用用于创建一个新的进程,它是通过复制当前进程(父进程)的整个地址空间来实现的。
2025-04-04 21:40:20
432
原创 状态机思想编程
与编程语言不同,赋值语句(“连续赋值”)描述事物之间的连接,而不是将值从一个事物复制到另一个事物的操作。现在也许应该澄清的一个潜在的混淆来源是:这里的绿色箭头代表电线之间的连接,但本身不是电线。如果听起来不一样,那是因为我已经开始描述信号是被驱动的(已知值由附加到它的某个东西决定)还是不是被某个东西驱动的。),没有驱动程序的导线将有一个未定义的值(在合成硬件时通常被视为0)。开箱即用的部件不是您关心的问题,但您应该知道,通过将测试线束的信号连接到顶部_模块的端口,可以测试您的电路。或非门是输出反转的或门。
2025-04-04 21:13:29
1066
原创 基于I2C协议的OLED显示(利用U82G库)
1、了解I2C协议的基本原理和时序协议;2、掌握0.96寸OLED屏的工作原理,汉字点阵显示原理;3、掌握开源GUI库U82G在stm32上的移植编译方法,以及图形界面可视化技术。
2024-06-11 22:31:08
730
原创 ucOS-III多任务程序
学习嵌入式实时操作系统(RTOS),以uc/OS为例,将其移植到stm32F103上,构建至少3个任务(task):其中两个task分别以1s和3s周期对LED等进行点亮-熄灭的控制;另外一个task以2s周期通过串口发送“hello uc/OS!欢迎来到RTOS多任务环境!记录详细的移植过程。
2024-06-08 23:17:58
196
原创 stm32串口通信入门
串口协议是一种计算机通信协议,用于实现设备间的数据交换。它是一种比较古老但仍然广泛使用的通信方式,特别是在工业控制和嵌入式系统中。串口通信通常是指串行通信,与并行通信相对,数据是一位接一位按顺序传送的。RS-232电平与TTL电平的主要区别在于它们的电压表示方式:RS-232电平:使用较高的电压,通常在-3V到-15V之间表示逻辑“1”,在+3V到+15V之间表示逻辑“0”。这种高电压电平设计是为了在较长距离的通信中提供更好的抗噪声能力。
2024-05-27 22:45:18
300
原创 HAL库LED点灯
STM32 HAL固件库是Hardware Abstraction Layer的缩写,中文名称是:硬件抽象层。HAL库是ST公司为STM32的MCU最新推出的抽象层嵌入式软件,为更方便的实现跨STM32产品的最大可移植性。HAL库的推出,可以说ST也慢慢的抛弃了原来的标准固件库,这也使得很多老用户不满。但是HAL库推出的同时,也加入了很多第三方的中间件,有RTOS,USB,TCP / IP和图形等等。
2024-05-26 17:25:01
392
原创 中断编程入门
学习stm32中断原理和开发编程方法。使用标准库完成以下任务:1、用stm32F103核心板的GPIOA端一管脚接一个LED,GPIOB端口一引脚接一个开关(用杜邦线模拟代替)。采用中断模式编程,当开关接高电平时,LED亮灯;接低电平时,LED灭灯。如果完成后,尝试在main函数while循环中加入一个串口每隔1s 发送一次字符的代码片段,观察按键中断对串口发送是否会带来干扰或延迟。2、采用串口中断方式分别实现:(1)当stm32接收到1个字符“s”时,停止持续发送“hello windows!
2024-05-19 22:35:33
332
1
原创 stm32F103的LED亮灭之版本1(寄存器地址版)
1、了解stm32f103c8t6最小核心板的主要引脚接口;2、掌握Keil 开发stm32程序的环境搭建和设置;3、使用GPIO引脚,外接LED灯,编写程序让LED灯周期性亮灭。
2024-05-06 23:39:30
192
原创 中断与定时计数
深入了解51单片机中断原理。掌握外部中断、定时器/计数器中断的编程方式;了解中断响应、中断优先级、中断标志位复位等原理,掌握二级中断、中断嵌套的具体应用编程;了解定时器/计数器的工作原理,掌握计数器初值计算方法,定时/计数中断服务的编程开发。
2024-04-07 22:51:39
321
1
原创 汇编程序与周期性任务设计
深入了解汇编指令和常用程序结构,以周期性点亮LED灯的延时函数为例,掌握1、通过软件多重循环软件计数的定时方法;2、通过 循环+ nop 指令的方法;掌握汇编语言用查表法完成 求平方数的程序;掌握普中单片机实验开发板的开发使用方法,在板子上完成LED周期性点灯的C程序实验。
2024-03-24 17:46:50
1373
1
原创 51单片机架构与汇编指令
AT89C51单片机51单片机由一个IP核和片上外设组成,IP核(内核)就是CPU,片上外设就是:时钟电路、SFR和RAM、ROM、定时/计数器、并行I/O口、串行I/O口、中断系统。IP核跟外设之间由系统总线连接,且是8bit的,速度有限。51内核是上个世纪70年代Intel公司设计的,速度只有12M,外设是IC厂商(STC)在内核的基础上添加的,不同的IC厂商会在内核上添加不同的外设,从而设计出各具特色的单片机。汇编语言。
2024-03-10 23:05:03
2127
1
原创 Verilog编程基础练习
在Verilog中,reg类型并不一定表示物理上的寄存器,而是用来表示可以在always块中被赋值的变量。wire类型则用来表示连续赋值的信号,通常与assign语句一起使用,或者用于连接模块的输入输出端口。如果将output reg [7:0] out改为output [7:0] out,并且在代码中使用了always块来赋值,那么在编译时会出现错误,因为只有、reg类型的变量才能在always块中被赋值。端口。
2023-12-18 21:29:04
412
1
原创 编码器-解码器电路设计及Multisim软件仿真
编码器(Encoder)的逻辑功能是将2的n次方个输入信号的高/低电平信号编成一个对应的n位二进制代码。译码器(Decoder)的作用正好与编码器相反,是将一个N位二进制代码(N个输入信号)转译为2的n次方个输出的高/低电平信号(或者另一种代码)。
2023-11-16 20:29:16
169
1
原创 基本逻辑门电路硬件验证与仿真分析
首先选用了四输入端的单个与非门,可以发现输入与输出的关系与二输入端单个与非门相同(仅当输入均为1时为0)。但换为五个与非门组成的组合逻辑电路时,此时组合电路可以视为有两个输出与两个输入的单个电路。通过观察数据发现,两组输入端与输出端之间没有明显的正反关系,我认为更加类似于2bit的二进制加法。将Y视为低位,Z视为更高一位,不难发现符合加法运算的法则。因此可知,将多个简单电路组合在一起,其所组成的组合电路可以具备更多的功能,并且大致不同于组成单位的规律。
2023-10-25 18:47:20
274
1
原创 利用Logisim设计半加器、全加器及补码电路
Logisim是一种用于设计和模拟数字逻辑电路的教育工具。它非常简单,凭借其简单的工具栏界面和构建它们时的电路仿真,有助于学习与逻辑电路相关的最基本概念。
2023-10-22 17:29:33
4263
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人