这首歌是吴金黛的森林狂想曲,喜欢可以去听听

module   song(clk,beep); //模块名称song
input      clk;                 //系统时钟50MHz
output  beep;                   //蜂鸣器输出端
reg     beep_r;             //寄存器
reg[7:0] state;             //乐谱状态机
reg[16:0]count,count_end;
reg[23:0]count1;
//乐谱参数:D=F/2K  (D:参数,F:时钟频率,K:音高频率)
parameter   L_3 = 17'd75850,  //低音3L_5 = 17'd63776,  //低音5L_6 = 17'd56818,    //低音6L_7 = 17'd50618, //低音7M_1 = 17'd47774, //中音1M_2 = 17'd42568, //中音2M_3 = 17'd37919, //中音3M_5 = 17'd31888, //中音5M_6 = 17'd28409, //中音6H_1 = 17'd23889; //高音1
parameter   TIME = 12000000;   //控制每一个音的长短(250ms)
assign beep = beep_r;          //输出音乐
always@(posedge clk) begincount <= count + 1'b1;     //计数器加1if(count == count_end) begin   count <= 17'h0;            //计数器清零beep_r <= !beep_r;       //输出取反end
end//曲谱 产生分频的系数并描述出曲谱
always @(posedge clk) beginif(count1 < TIME)             //一个节拍250mScount1 = count1 + 1'b1;else begincount1 = 24'd0;if(state == 8'd63)state = 8'd0;elsestate = state + 1'b1;case(state)8'd0:count_end = L_6;  8'd1:count_end=M_1;8'd2:count_end=M_3;8'D3:count_end=M_5;8'D4,8'D5:count_end=M_3;8'D6:count_end=M_3;8'D7:count_end=M_2;8'D8,8'D9:count_end=M_3;8'D10:count_end=M_3;8'D11:count_end=M_2;8'D12,8'D13:count_end=M_3;8'D14:count_end=L_6;8'D15:count_end=L_7;8'D16:count_end=M_1;8'D17:count_end=M_3;8'D18:count_end=M_2;8'D19:count_end=M_1;8'D20,8'D21:count_end=L_6;8'D22,8'D23:count_end=L_5;8'D24,8'D25,8'D26,8'D27,8'D28,8'D29,8'D30,8'D31:count_end=L_3;8'd32:count_end = L_6;  8'd33:count_end=M_1;8'd34:count_end=M_3;8'D35:count_end=M_5;8'D36,8'D37:count_end=M_3;8'D38:count_end=M_3;8'D39:count_end=M_2;8'D40,8'D41:count_end=M_3;8'D42:count_end=M_3;8'D43:count_end=M_2;8'D44,8'D45:count_end=M_3;8'D46:count_end=L_6;8'D47:count_end=L_7;8'D48:count_end=M_1;8'D49:count_end=M_3;8'D50:count_end=M_2;8'D51:count_end=M_1;8'D52,8'D53:count_end=L_6;8'D54,8'D55:count_end=L_5;8'D56,8'D57,8'D58,8'D59,8'D60,8'D61:count_end=L_6;8'D62:count_end=L_6;8'D63:count_end=L_7;default: count_end = 16'h0;endcaseend
end
endmodule

用verilog 蜂鸣器的演奏乐曲相关推荐

  1. 一个演奏乐曲的趣味小程序

    今年4月24日,是我国发射第一颗人造地球卫星--"东方红1号",50周年的纪念日.读了许多纪念文章,耳边仿佛就响起"东方红"的乐曲.忽然想起多年前写过一个演奏乐 ...

  2. 51单片机在无源蜂鸣器上循环演奏低音“DO、RE、MI、FA、SO、LA、SI”这7个音调。

    题目:在无源蜂鸣器上循环演奏低音"DO.RE.MI.FA.SO.LA.SI"这7个音调. 音调表: 编程思路: mian.c #include <reg52.h> #i ...

  3. 详解树莓派Model B+控制蜂鸣器演奏乐曲

    步进电机以及无源蜂鸣器这些都需要脉冲信号才能够驱动,这里将用GPIO的PWM接口驱动无源蜂鸣器弹奏乐曲,本文基于树莓派Mode B+,其他版本树莓派实现时需参照相关资料进行修改! 1 预备知识 1.1 ...

  4. 无源蜂鸣器启动演奏曲子(理解)

    #include "pitches.h" //调用头文件(所有的曲调在里边) int melody[] = {NOTE_C4, NOTE_G3, NOTE_G3, NOTE_A3, ...

  5. MSP430学习笔记5-利用蜂鸣器演奏音乐

    这个小程序仍然是定时器的运用,比较简单,具体的地方都在注释中注明了,参考注释. /********************************************* 程序功能:MCU控制蜂鸣器 ...

  6. EDA(Quartus II)——乐曲硬件演奏电路设计

    设计目的: 学习设计硬件乐曲演奏电路以及相关的控制电路. 设计原理一: 组成乐曲的每个音符的发音频率值及其持续的时间是乐曲能连续演奏所需要的两个基本要素,问题是如何来获取这两个要素所对应的数值以及通过 ...

  7. 基于VHDL的具有自动乐曲演奏功能的电子琴设计

    具有自动乐曲演奏功能的电子琴设计 先给出设计结果视频链接:    具有自动乐曲演奏功能的电子琴-视频实录 优酷:具有自动乐曲演奏功能的电子琴-视频实录        再给出完整文档和工程代码链接: 基 ...

  8. 实验九:按键控制无源蜂鸣器演奏《生日快乐》

    OK,今天周末,感觉想写一个blog 同时,我觉得只是一个简单的小实验,好像效果并不好,就做得稍微复杂了一些 功能: 按键按下:蜂鸣器开始演奏<生日快乐> 按键再按下:蜂鸣器停止 再按下又 ...

  9. 51单片机实例学习二 按键中断识别、定时器、利用定时器产生乐曲、数摸转换 ADC0804和DAC0832

    六.按键中断识别 [实验任务] 采用中断技术,每按一下按键,计数器加1,并用LED显示出来. [硬件电路] 注意:我们只用4位数码管中的两位. 注意:a接P0.0;b接P0.1;c接P0.3-- 注意 ...

最新文章

  1. 【中文】Joomla1.7扩展介绍之Kunena(强大的论坛)
  2. delphi精品项目源码_项目是如何死掉的?太过真实!
  3. 【JS】实时监控页面,input框数值自动求和
  4. Linux: .bash_profile 与 .bashrc 的区别
  5. 函数式编程4-高阶函数
  6. 聊聊区块链,虽然我不挖矿!
  7. DateTimeFormat注解
  8. 【ArcGIS|空间分析】志愿者分配管理区域内共享单车(全国大学生GIS技能大赛试题)
  9. mysql中sql添加表字段_SQL如何添加字段
  10. 2021-6-26 激光的工业应用
  11. 微软官网下载win10系统
  12. 本田智能驾驶功能介绍-TSR/CTM/MVC360
  13. kali攻击wifi、破解wifi详细教程(仅供学习使用)
  14. GC5958三相无刷(BLDC)无感正弦波电机驱动芯片 替代APX9358
  15. Spring环绕通知Around
  16. 有一个强大又好看的,赛过Typora,阿里开发的语雀编辑器
  17. java打包exe实例(使用javapackager)
  18. wps2013抢先版下如何删除轻办公
  19. U盘linux安装技巧
  20. 记录一下黑窗打pak的指令

热门文章

  1. 5、passcode
  2. Hoofball(B题)
  3. GEEer成长日记十二:Modis_LST地表温度产品时间序列分析
  4. java jnlp 运行_JNLP文件如何能成功安装运行?
  5. 日语基础学习 Day 08
  6. Java 标准输入输出流(System.in,System.out)使用
  7. 磊科路由器dns服务器老要修复,路由器DNS劫持的解决方法
  8. dell笔记本外接显示器_戴尔笔记本怎么连接外接显示器?
  9. 出入库管理系统-精致版
  10. 什么是java代理?