(13)CT137A- 简易音乐盒设计

(1)设计定义:在板卡上通过FPGA产生PWM方波信号驱动无源蜂鸣器,实现最简单音符的发声,S1控制DO、RE、MI、FA、SOL、LA、SI的切换,S2控制音量的大小(分为4级)。

(2)计算DO、RE、MI、FA、SOL、LA、SI所需计数器的最大值,计算音量控制要素:占空比。

(3)第一部分:按键消抖模块,实现10ms的消抖,每完成一次按下操作,就对外输出一个脉冲信号。

(4)第二部分:音调的切换,首先定义音调的计数最大值(频率),然后使用一个变量记录按下S1的次数,并根据这个次数选择音调,最后输出音调的频率信号(如果不需要调节音量

的话,其实到这儿就结束了,把tone_out赋值给buzz)。

(5)第三部分:音量控制,首先是定义了音量的占空比和PWM周期参数,然后通过一个中间变量,记录S2按下的次数,来调节音量,最后输出音量调节后的buzz信号。

相关推荐
芯路行者6 小时前
7 HDLBits —— 验证:编写测试激励文件
fpga开发·verilog·fpga·hdlbits
芯路行者7 小时前
4.1 HDLBits —— 时序逻辑电路之锁存器与触发器
fpga开发·verilog·fpga·hdlbits
芯路行者10 小时前
5 HDLBits —— 构建更大的电路
fpga开发·verilog·fpga·hdlbits
1560820721911 小时前
直流耦合采集卡前端电路调试
嵌入式硬件·fpga开发
芯路行者11 小时前
4.3 HDLBits —— 时序逻辑电路之移位寄存器
fpga开发·verilog·fpga·hdlbits
芯路行者12 小时前
4.2 HDLBits —— 时序逻辑电路之计数器
fpga开发·verilog·fpga·hdlbits
FPGA小迷弟17 小时前
FPGA时序收敛实战:从约束编写到布局布线优化全流程
fpga开发·fpga·硬件开发
FPGA小迷弟17 小时前
AXI4-Stream协议详解与Vivado自定义IP核封装实战
网络协议·tcp/ip·fpga开发·fpga·硬件开发
zlinear数据采集卡1 天前
数据采集卡从入门到精通(10):采样率与分辨率的核心关系——反比律、架构分布与过采样
arm开发·嵌入式硬件·算法·fpga开发·架构·开源
zlinear数据采集卡1 天前
数据采集卡从入门到精通(9):分辨率与精度——16位卡不等于1/65536的精度
开发语言·数据库·fpga开发·开源·c#