FPGA学习笔记之蜂鸣器实现两只老虎

一、目标要求

使用verilog语言编程实现在FPGA开发板的蜂鸣器歌唱“两只老虎”

二、如何产生不同的声音

通过给无源蜂鸣器不同频率的PWM方波信号从而实现不同的音调音符。

1、“两只老虎”乐普

2、各音符对应的频率和周期

三、代码实现思路

首先我们需要一个计数器(cnt_time)来实现对音符的驱动(因为对乐谱不懂哈,所以在本次项目中,博主以250ms唱一个音符)。其次我们需要一个计数器来计算当前时间唱到了哪个音符(cnt_num)以实现当前音符和PWM方波信号的匹配,从而使蜂鸣器能够在正确的时间发出正确的声音,最后我们需要一个计数器(cnt_frq)对各音符对应的PWM方波信号进行计算。具体代码实现如下:

//实现简单的两只老虎
module beep_pwm (
    input           clk     ,
    input           rst_n   ,
    output  reg     beep   
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值