当前位置: 首页 > article >正文

(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信号。


http://www.kler.cn/a/448322.html

相关文章:

  • 项目中如何排查JVM问题?
  • 多模态医学图像融合概述
  • 秒优科技-供应链管理系统 login/doAction SQL注入漏洞复现
  • 冯诺依曼架构与哈佛架构的对比与应用
  • 0基础学前端-----CSS DAY9
  • iOS + watchOS Tourism App(含源码可简单复现)
  • sentinel学习笔记4-SPI 在 Sentinel 中的应用
  • 本地电脑生成SSH公钥私钥对,用于SSH远程连接服务器
  • 【从零开始入门unity游戏开发之——C#篇25】C#面向对象动态多态——virtual、override 和 base 关键字、抽象类和抽象方法
  • 泛型(2)
  • 开源!自制一个桌面宠物(STM32CUBEMX HAL库 PWM波 小项目)
  • 在 CUDA C/C++ 中使用共享內存
  • 路径规划之启发式算法之二十一:禁忌搜索算法(Tabu Search,TS)
  • Linux 端口操作
  • 【游戏设计原理】21 - 解谜游戏的设计
  • 【Mac】安装 PaddleOCR
  • springboot java ffmpeg 视频压缩、提取视频帧图片、获取视频分辨率
  • IntelliJ IDEA Docker集成
  • 适用于.net的操作excel的库
  • vsCode怎么使用vue指令快捷生成代码
  • stm32实现出厂设置和恢复出厂设置
  • python --机器学习(KNN相关)
  • 算法之物品移动
  • 鸿蒙元服务从0到上架【第二篇】
  • HarmonyOS NEXT 技术实践-实现音乐服务卡片
  • 简单介绍一下缓慢渐变维