自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 verilog8位共阳极数码管显示

本文介绍了数码管的工作原理及Verilog实现方法。数码管分为共阴极和共阳极两种类型,通过不同的电平控制发光段显示字符。文章详细说明了静态显示和动态扫描两种驱动方式,重点阐述了动态扫描的实现方案:通过1ms周期计数器轮询8位数码管,使用位置计数器生成位选信号,并采用段码译码器将BCD码转换为7段显示码。最后给出了完整的Verilog实现代码,包括扫描控制、位选生成和段码转换等关键模块,适用于8位共阳数码管的动态显示驱动。该设计采用50MHz时钟实现1ms/位的扫描频率,具有良好的可视效果。

2025-05-31 19:25:56 846

原创 verilog按键消抖

按键消抖主要分为硬件消抖和软件消抖两大类:硬件消抖:主要使用 RS 触发器、施密特触发器或 RC 滤波电路等在硬件电路上实现消抖。优点是响应速度快,不占用处理器或 FPGA 逻辑资源。缺点是增加硬件成本和电路复杂度,一般在按键数量较少且对实时性要求极高的场合使用。软件/FPGA逻辑消抖:其核心思想是在检测到按键状态第一次变化后,等待一段固定的延时(通常为 5ms 至 20ms,足以覆盖抖动时间),然后再去采样按键状态。如果此时按键状态与第一次变化后的状态一致,则确认按键动作有效。

2025-05-31 18:59:20 465

原创 am,fm调制解调和dds IP理解

DDS系统运行流程为:K值输入暂存于累加寄存器,在相位累加器中不断累加直到计满低N-M位后溢出,将高M位传入相位调制器,相位调制器接到P值再在此基础上加上P值(P值为定值的时候输出波形的形状不变,相位平移P值),此时根据相位调制器输出的M位值查找对应ROM地址,输出地址对应数据。假如ROM内存储的是sin信号,但是想输出cos信号的时候,只需要将每个输出点的相位向右平移四分之三个地址即可,假如地址线位数是12,地址共有2^12=4096个,4096*3/4=3072。相位字输入(后面用P表示)。

2024-08-03 15:46:58 1526 1

原创 fpga语音信号加窗,matlab生成coe文件

需要对fpga采集到的音频数据进行加窗处理,使用matlab产生窗函数的系数并生成coe文件,然后存储到fpga的单端口ROM中,与对应的语音信号相乘。

2024-04-20 12:05:01 1734 2

原创 基于FPGA的蓝牙循迹小车项目

if(baud_cnt == BAUD_CNT_MAX/2 - 1'b1) begin //判断baud_cnt是否计数到数据位的中间。if(baud_cnt == BAUD_CNT_MAX - 1'b1) //当波特率计数器计数到一个波特率周期时。//寄存数据的最低位。output reg [7:0] uart_rx_data //UART接收到的数据。

2024-01-08 22:57:15 3551 5

原创 HDLBits_Counters最后一题12—hour clolk思路和代码

刚开始写的时候出来了重复赋值的错误提示,看了下确实我给hh向量赋值了很多次导致冲突。我的改正方法是将这些给hh向量复制的语句放在always块下的一个if语句下面,根据优先级来给hh向量赋值。

2023-12-01 22:30:36 494 3

空空如也

空空如也

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

TA关注的人

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