25.无源蜂鸣器驱动设计

        相对于有源蜂鸣器,无源蜂鸣器的成本更低,声音频率可控。而有源蜂鸣器因其内部
自带振荡源,只要加上适当的直流电源即可发声,程序控制较为方便。

(1)设计定义:设计一个无源蜂鸣器的驱动程序,实现7个音调的循环发声,每个音调持续0.5s,占空比为50%。

(2)Visio视图:

(2)Verilog代码:

module beep(clk,reset_n,beep);input clk;input reset_n;output reg beep;
//0.5s = 500_000_000ns = 20ns * 25_000_000;  需要一个十五位的寄存器去计数reg[24:0]cnt;reg[2:0]cnt_500ms;
//freq最大值为190840,可以用一个二十位的寄存器去计数reg[19:0]freq_cnt;reg[19:0]freq_data;wire[19:0]duty_data;parameter MCNT_Time = 25'd24_999_999;parameter Do        = 20'd190839    ;parameter Re        = 20'd170067    ;parameter Mi        = 20'd151514    ;parameter Fa        = 20'd143265    ;parameter So        = 20'd127550    ;parameter La        = 20'd113635    ;parameter Si        = 20'd101213    ;//500ms计数器模块设计always@(posedge clk or negedge reset_n)if(!reset_n)cnt <= 25'd0;else if(cnt == MCNT_Time)cnt <= 25'd0;else cnt <= cnt + 25'd1;//cnt_500ms计数器模块设计always@(posedge clk or negedge reset_n)if(!reset_n)cnt_500ms <= 3'd0;else if((cnt_500ms == 3'd6) && (cnt == MCNT_Time))cnt_500ms <= 3'd0;else if(cnt == MCNT_Time)cnt_500ms <= cnt_500ms + 3'd1;else    cnt_500ms <= cnt_500ms;//freq_cnt计数器模块设计always@(posedge clk or negedge reset_n)if(!reset_n)freq_cnt <= 20'd0;else if((freq_cnt == freq_data) || (cnt == MCNT_Time))freq_cnt <= 20'd0;else freq_cnt <= freq_cnt + 20'd1;//freq_data设计always@(posedge clk or negedge reset_n)if(!reset_n)freq_data <= Do;else begincase(cnt_500ms)3'd0: freq_data <= Do;3'd1: freq_data <= Re;3'd2: freq_data <= Mi;3'd3: freq_data <= Fa;3'd4: freq_data <= So;3'd5: freq_data <= La;3'd6: freq_data <= Si;default:freq_data <= Do;endcaseend
//duty_data设计      assign duty_data = (freq_data >> 1);//beep输出设计always@(posedge clk or negedge reset_n)if(!reset_n)beep <= 1'd0;else if(freq_cnt > duty_data)beep <= 1'd1;else beep <= 1'd0;endmodule

(3)仿真文件代码;

`timescale 1ns / 1psmodule beep_tb;reg clk;reg reset_n;wire beep;beep beep_inst(.clk(clk),.reset_n(reset_n),.beep(beep));defparam beep_inst.MCNT_Time = 25'd24_999_9;defparam beep_inst.Do        = 20'd1908    ;defparam beep_inst.Re        = 20'd1700    ;defparam beep_inst.Mi        = 20'd1515    ;defparam beep_inst.Fa        = 20'd1432    ;defparam beep_inst.So        = 20'd1275    ;defparam beep_inst.La        = 20'd1136    ;defparam beep_inst.Si        = 20'd1012    ;initial clk = 1'b1;always #10 clk = ~clk;initial beginreset_n = 1'b0;#15;reset_n = 1'b1;#50_000_000;$stop;endendmodule

(4)仿真波形:

(5)引脚绑定:

set_property IOSTANDARD LVCMOS33 [get_ports reset_n]
set_property IOSTANDARD LVCMOS33 [get_ports clk]
set_property IOSTANDARD LVCMOS33 [get_ports beep]
set_property PACKAGE_PIN N15 [get_ports reset_n]
set_property PACKAGE_PIN W19 [get_ports clk]
set_property PACKAGE_PIN M17 [get_ports beep]

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/869148.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

二阶线性微分方程

假设一个质量 m 连接在弹簧和阻尼器上&#xff0c;系统受到外力 F(t) 的作用。设 x(t) 为质量的位移&#xff0c;系统的运动方程可以用牛顿第二定律表示为&#xff1a; 这是一个典型的二阶线性非齐次微分方程&#xff1a;其中&#xff1a; m 是质量&#xff08;Fma&#xff09…

蓝桥杯备赛攻略(怒刷5个月拿省一)

十五届蓝桥杯结束&#xff0c;up也在这次比赛中获得了不错的成绩&#xff0c;为了帮助大家在25年蓝桥杯上获得好的成绩&#xff0c;我将根据今年的经验写一份蓝桥杯的备赛攻略&#xff0c;希望能帮到大家。 参赛准备 蓝桥杯算法赛必须指定一个编程语言赛道报名&#xff0c;也就…

Access系统开发必备技巧:轻松调整应用程序标题,提升用户体验!

Hi~ 大家好久不见呀&#xff01; 一直忙&#xff0c;但不知道在忙啥&#xff0c;好多事情都落下了&#xff0c;ERP的文章最近也没有时间更新&#xff0c;接下去我还在考虑弄个直播&#xff0c;不知道大家有没有什么想了解的&#xff0c;大家给我留言&#xff0c;直播的时候给…

vue学习day02-Vue指令-v-html、v-show与v-if、v-else与v-else-if、v-on、v-bind、v-for、v-model

6、Vue指令 指令&#xff1a;带有v-前缀的特殊标签属性 &#xff08;1&#xff09;v-html 作用&#xff1a;设置元素的innerHTML 语法&#xff1a;v-html“表达式” 示例&#xff1a; 提供一个地址&#xff0c;这里是百度的地址&#xff0c;通过v-html渲染 结果&#xff…

怎么将图片旋转30度?旋转图片的几种方法推荐

怎么将图片旋转30度&#xff1f;在创作过程中&#xff0c;我们常常需要处理图片的镜像效果&#xff0c;确保其视觉效果和构图都达到最佳状态。镜像效果的合理运用不仅可以解决视觉单调的问题&#xff0c;还能在艺术作品中吸引观者的注意力。此外&#xff0c;镜像可以有效地调整…

大数据之Hadoop平台的搭建

实验环境 三台虚拟机 master slave1 slave2 服务器集群单节点&#xff0c;机器最低配置&#xff1a;双核 CPU、8GB 内存、100G 硬盘运行环境CentOS 7.4服务和组件服务和组件根据实验需求安装 1实验过程 1.1实验任务一&#xff1a;配置 Linux 系统基础环境 1.1.1步骤一&a…

Cesium版本升级webgl问题,glsl代码关键字修改

简介 Cesium 从1.102.0 开始&#xff0c;Cesium 默认使用 WebGL2 上下文。一些webgl特效代码在webgl1中支持&#xff0c;但是在版本升级后&#xff0c;运行会报各种glsl代码错误。现在有两种解决方案。详细办法描述如下所示。 1、修改配置使用WebGL1 地球初始化配置如下&…

wordpress外贸建站公司案例英文模板

Indirect Trade WP外贸网站模板 WordPress Indirect Trade外贸网站模板&#xff0c;建外贸独立站用wordpress模板&#xff0c;快速搭建十分便捷。 衣物清洁wordpress独立站模板 洗衣粉、洗衣液、衣物柔顺剂、干洗剂、衣领净、洗衣皂等衣物清洁wordpress独立站模板。 家具wordpr…

可以拖拽的富文本编辑器(VueDragResize,quill-editor)

该功能实现一个帮助文档的展示和编辑功能&#xff0c;默认进去只能查看帮助文档的内容&#xff0c;点击编辑可以进行富文本编辑器的编辑功能。 出现的问题1.如何隐藏富文本编辑的工具栏并且禁止编辑 //隐藏工具栏this.toolbar this.$refs.myTextEditor.quill.getModule(toolb…

【算法】代码随想录之数组(更新中)

文章目录 前言 一、二分查找法&#xff08;LeetCode--704&#xff09; 二、移除元素&#xff08;LeetCode--27&#xff09; 前言 跟随代码随想录&#xff0c;学习数组相关的算法题目&#xff0c;记录学习过程中的tips。 一、二分查找法&#xff08;LeetCode--704&#xff0…

Spring系统学习 - AOP之基于注解的AOP和XML的AOP

上一篇我们围绕了AOP中代理模式的使用&#xff0c;这篇我们将主要围绕AOP的相关术语介绍&#xff0c;以及重点围绕基于注解的AOP进行相关知识的概述和使用说明。 AOP的相关术语 切面&#xff08;Aspect&#xff09;&#xff1a;切面是一个模块化的横切关注点&#xff0c;它包含…

ASP.NET MVC Lock锁的测试

思路&#xff1a;我们让后台Thread.Sleep一段时间&#xff0c;来模拟一个耗时操作&#xff0c;而这个时间可以由前台提供。 我们开启两个或以上的页面&#xff0c;第一个耗时5秒(提交5000)&#xff0c;第二个耗时1秒(提交1000)。 期望的测试结果&#xff1a; 不加Lock锁&…

192.168.1.1路由器管理系统使用教程

节选自&#xff1a;192.168.1.1路由器管理系统-厂商有哪些-如何使用-无法登录原因-苏州稳联 什么是 192.168.1.1 路由器管理系统&#xff1f; 192.168.1.1 是大多数家庭路由器的默认 IP 地址&#xff0c;用于访问路由器的管理控制台。通过这个管理系统&#xff0c;用户可以配…

【多媒体】Java实现MP4和MP3音视频播放器【JavaFX】【更多功能的播放器】【音视频播放】

在Java中播放视频可以使用多种方案&#xff0c;最常见的是通过Swing组件JFrame和JLabel来嵌入JMF(Java Media Framework)或Xuggler。不过&#xff0c;JMF已经不再被推荐使用&#xff0c;而Xuggler是基于DirectX的&#xff0c;不适用于跨平台。而且上述方案都需要使用第三方库。…

websockt初始化,创建一个webSocket示例

写文思路&#xff1a; 以下主要从几个方面着手写websocket相关&#xff0c;包括以下&#xff1a;什么是webSocket&#xff0c;webSocket的优点和劣势&#xff0c;webSocket工作原理&#xff0c;webSocket握手示例&#xff0c;如何使用webSocket(使用webSocket的一个示例)&#…

2024中国大学专业排名:生态、地理、草业、林学、资环

生态学、林学、地理科学、草业科学、农业资源与环境、大气科学、农学、地球化学、水土保持与荒漠化防治、自然地理与资源环境、地理信息科学、应用气象学共12个专业。 一、生态学 二、林学 三、地理科学 四、草业科学 五、农业资源与环境 六、大气科学 七、农学 八、地球化学 九…

【《无主之地3》风格角色渲染在Unity URP下的实现_角色渲染(第四篇) 】

文章目录 概要描边问题外秒变分叉解决办法1:测试效果如下:外秒变分叉解决办法2:URP管线下PBR渲染源码关键词解释:完整shader代码如下:URP管线下二次元皮肤渲染源码URP管线下二次元头发渲染源码简要介绍文章的目的、主要内容和读者将获得的知识。 概要 提示:《无主之地3》…

希喂、鲜朗和牧野奇迹主食冻干怎么样?第一次喂冻干哪款更好

我是个宠物医生&#xff0c;每天很长时间都在跟猫猫狗狗打交道&#xff0c;送到店里来的猫猫状态几乎是一眼就能看出来&#xff0c;肥胖、肝损伤真是现在大部分家养猫正面临的&#xff0c;靠送医治疗只能减缓无法根治&#xff0c;根本在于铲屎官的喂养方式。 从业这几年&#…

SuperMap GIS基础产品FAQ集锦(20240709)

一、SuperMap iDesktopX 问题1&#xff1a;请问针对iDesktopX地质体建模功能的数据组织格式相关问题请教哪位同事? 11.1.1 【解决办法】“地质体构建”功能可依据多个地质点数据集实现对地质体的构建&#xff0c;构建地质体中点图层的顺序对应实际地层由高到低。可参考官方博…