参照艾米电子的程序进行改写的

//date : 2014,5,4 

module for_beep (
clock ,
reset ,
out_beep
);
input clock ,reset ;
output reg out_beep ; reg [:] state ;
reg [:] clk1 ;
reg [:] cnt0 ;
reg [:] delay_cnt1; parameter du = ,
re = ,
mi = ,
fa = ,
so = ,
la = ,
xi = ,
do1 = ; always @ (posedge clock or negedge reset )
begin
if (!reset )
begin
clk1 <= 'd0 ;
state <= 'd0 ;
cnt0 <= 'd0 ;
delay_cnt1 <= 'd0 ;
out_beep <= 'd0 ;
end
else if(clk1 == 'd8)
begin
case (state)
'd0 : begin
delay_cnt1 <= delay_cnt1 + 'd1;
if(delay_cnt1 == 'h1ff_ffff)
state <= 'd1 ; if(cnt0 != du)
cnt0 <= cnt0 + 'd1 ;
else
begin
cnt0 <= 'd0 ;
out_beep <= ~out_beep ;
end
end
'd1 : begin
delay_cnt1 <= delay_cnt1 + 'd1;
if(delay_cnt1 == 'h1ff_ffff)
state <= 'd2 ; if(cnt0 != re)
cnt0 <= cnt0 + 'd1 ;
else
begin
cnt0 <= 'd0 ;
out_beep <= ~out_beep ;
end
end
'd2 : begin
delay_cnt1 <= delay_cnt1 + 'd1;
if(delay_cnt1 == 'h1ff_ffff)
state <= 'd3 ; if(cnt0 != mi)
cnt0 <= cnt0 + 'd1 ;
else
begin
cnt0 <= 'd0 ;
out_beep <= ~out_beep ;
end
end
'd3 : begin
delay_cnt1 <= delay_cnt1 + 'd1;
if(delay_cnt1 == 'h1ff_ffff)
state <= 'd4 ; if(cnt0 != fa)
cnt0 <= cnt0 + 'd1 ;
else
begin
cnt0 <= 'd0 ;
out_beep <= ~out_beep ;
end
end
'd4 : begin
delay_cnt1 <= delay_cnt1 + 'd1;
if(delay_cnt1 == 'h1ff_ffff)
state <= 'd5 ; if(cnt0 != so)
cnt0 <= cnt0 + 'd1 ;
else
begin
cnt0 <= 'd0 ;
out_beep <= ~out_beep ;
end
end
'd5 : begin
delay_cnt1 <= delay_cnt1 + 'd1;
if(delay_cnt1 == 'h1ff_ffff)
state <= 'd6 ; if(cnt0 != la)
cnt0 <= cnt0 + 'd1 ;
else
begin
cnt0 <= 'd0 ;
out_beep <= ~out_beep ;
end
end
'd6 : begin
delay_cnt1 <= delay_cnt1 + 'd1;
if(delay_cnt1 == 'h1ff_ffff)
state <= 'd7 ; if(cnt0 != xi)
cnt0 <= cnt0 + 'd1 ;
else
begin
cnt0 <= 'd0 ;
out_beep <= ~out_beep ;
end
end
'd7 : begin
delay_cnt1 <= delay_cnt1 + 'd1;
if(delay_cnt1 == 'h1ff_ffff)
state <= 'd0 ; if(cnt0 != do1)
cnt0 <= cnt0 + 'd1 ;
else
begin
cnt0 <= 'd0 ;
out_beep <= ~out_beep ;
end
end endcase
end
else if(clk1 < 'd9 ) clk1 <= clk1 + 4'd1 ;
else clk1 <= 'd0 ;
end endmodule

beep的控制程序的更多相关文章

  1. 【python】调用机器喇叭发出蜂鸣声(Beep)

    ##coding:utf-8 import winsound winsound.Beep(600,6000) #其中600表示声音大小,1000表示发生时长,1000为1秒

  2. Smart210学习记录----beep linux字符设备驱动

    今天搞定了beep linux字符设备驱动,心里还是很开心的,哈哈...但在完成的过程中却遇到了一个非常棘手的问题,花费了我大量的时间,,,, 还是把问题描述一下吧,好像这个问题很普遍的,网上许多解决 ...

  3. [irving] C# Windows Beep 调用声音文件

    方法一:Console.Beep(); 方法二:可以用Console.WriteLine("/a");来代替Beep(). MSDN:http://msdn.microsoft.c ...

  4. 重新开始学习javase_控制程序流程

    @学习thinking in java 二.控制程序流程 负数使用 Java 运算符:运算符以一个或多个自变量为基础,可生成一个新值.自变量采用与原始方法调用不同的一种形式,但效果是相同的.根据以前写 ...

  5. C++中发声函数Beep详解

    By zhcs 以前,我听过一个神犇用C++函数做的音乐,当时的心里就十分激动:哇,好厉害啊,好神啊. 这次,我终于通过自己无助的盲目的摸索.研究,写出了这篇文章(此时我的内心是鸡冻的233) 下面是 ...

  6. 【技能大赛笔记01】Zigbee点对点按键控制程序开发

    [技能大赛笔记01]Zigbee点对点按键控制程序开发 --2017年"物联网物联网技术应用与维护"任务五题1(中职组) 1.题目要求 2.工程文件 在比赛中,提供了一个基于Bas ...

  7. Beep函数实现硬件蜂鸣声

    #include <Windows.h> #include <tchar.h> int WINAPI _tWinMain(HINSTANCE hInstance, HINSTA ...

  8. DX9 DirectX鼠标控制程序 代码

    代码实例1: // @time: 2012.3.26 // @author: jadeshu // des: DirectX鼠标控制程序 #include <Windows.h> #inc ...

  9. DX9 DirectX键盘控制程序 代码

    // @time: 2012.3.26 // @author: jadeshu // des: DirectX键盘控制程序 #include <Windows.h> #include &l ...

随机推荐

  1. ubuntu vim终端编辑命令

    一. VIM高亮 进入vim后,在普通模式下输入如下命令,开启php代码高亮显示   :syntax enable   :source $VIMRUNTIME/syntax/php.vim   二. ...

  2. 斯坦福 IOS讲义 课件总结 二

    1,OC里面传参数个数不同,可以是两个完全不同的方法.如 - (void)addCard:(Card *)card atTop:(BOOL)atTop; - (void)addCard:(Card * ...

  3. 利用反馈字段给帝国cms添加留言板功能(图文教程)

    帝国cms的插件中提供信息反馈字段,很多人却不会用.这里谢寒教大家如何来给自己的帝国cms网站添加留言板功能 1.找到添加地址 2.添加字段 3.你可以在字段中添加多种字段类型(有文本域,单行文本框, ...

  4. Xvfb+YSlow+ShowSlow搭建前端性能测试框架 - 前端技术 | TaoBaoUED

    Xvfb+YSlow+ShowSlow搭建前端性能测试框架 - 前端技术 | TaoBaoUED Xvfb+YSlow+ShowSlow搭建前端性能测试框架 作者:黑三 | 时间:2010-07-07 ...

  5. vs c++配置opencv(1)

    环境: vs2013 opencv2.4.13 准备工作: 1.安装opencv. opencv各版本间存在API差异,opencv提供相应版本的vc文件,在其安装目录 ..opencv\build\ ...

  6. 关于Unix时间戳

    如何在不同编程语言中获取现在的Unix时间戳(Unix timestamp)? Java time JavaScript Math.round(new Date().getTime()/1000)ge ...

  7. Python之美[从菜鸟到高手]--一步一步动手给Python写扩展(异常处理和引用计数)

    我们将继续一步一步动手给Python写扩展,通过上一篇我们学习了如何写扩展,本篇将介绍一些高级话题,如异常,引用计数问题等.强烈建议先看上一篇,Python之美[从菜鸟到高手]--一步一步动手给Pyt ...

  8. C#利用委托跨线程更新UI数据

    转:http://www.2cto.com/kf/201206/136587.html 在使用C#的过程中,难免会用到多线程,而用多线程之后,线程如何与界面交互则是一个非常头疼的问题.其实不仅仅是界面 ...

  9. Opencv 完美配置攻略 2014 (Win8.1 + Opencv 2.4.8 + VS 2013)下

    前面说了一些在OpenCV在VS2013下的配置的过程,下面说一下其中的个别的知识点,了解一下这样配置的一点点更细节的过程.其实配置项目属性的时候,有两种方式: 一.通过项目属性管理器配置项目属性表 ...

  10. /etc/group文件详解

    Linux /etc/group文件与/etc/passwd和/etc/shadow文件都是有关于系统管理员对用户和用户组管理时相关的文件.linux /etc/group文件是有关于系统管理员对用户 ...