复位键和蜂鸣器测试设计Verilog代码VIVADO ARTIX-7开发板

名称:复位键和蜂鸣器测试设计Verilog代码VIVADO  ARTIX-7开发板

软件:VIVADO

语言:Verilog

代码功能:

复位键和蜂鸣器测试

对时钟做分频,产生1Hz的分频信号控制蜂鸣器发声;按复位键完成复位,蜂鸣器停止


FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com

本代码已在ARTIX-7开发板验证,ARTIX-7开发板如下,其他开发板可以修改管脚适配:ARTIX-7开发板.png


设计文档:

3.复位键和蜂鸣器测试用例说明.docx

1简介

本代码介绍使用计数器产生一个频率1Hz、占空比50%的脉冲信号,并将整个脉冲信号作为蜂鸣器输入,从而驱动蜂鸣器产生嘀嘀声

2实验原理

蜂鸣器的原理很简单,就是通过不同的频率脉冲产生不同的声音。

3程序设计

//时钟计数,对100MHz的时钟进行100000000计数,即1秒钟重复计数

always @(posedge sys_clk_i)

begin

   if(clk_cnt > 32'd100000000)

   begin

         clk_cnt <= 32'b0;

   end

   else

   begin

         clk_cnt <= clk_cnt + 1'b1;

   end

end

//蜂鸣器输出,当计数器大于50000000,即0.5ms时产生高电平脉冲,小于等于则产生低电平脉冲

always @(posedge sys_clk_i)

begin

   if(clk_cnt > 32'd50000000)

   begin

         fm_out <= 1'b1;

   end

   else

   begin

         fm_out <= 1'b0;

   end

end

4.实验现象

    将目录“... \at7_prj_03\at7_prj\at7_prj.runs\impl_1”文件夹下的 at7_prj.bit 文件下载到开发板上,则蜂鸣器发出1Hz的嘀嘀声。


部分代码展示:

`timescale 1ns / 1ps
//////////////////////////////////////////////////////////////////////////////////
// Company: 
// Engineer: 
// 
// Create Date: 2019/04/13 17:54:08
// Design Name: 
// Module Name: at7_prj
// Project Name: 
// Target Devices: 
// Tool Versions: 
// Description: 
// 
// Dependencies: 
// 
// Revision:
// Revision 0.01 - File Created
// Additional Comments:
// 
//////////////////////////////////////////////////////////////////////////////////
module at7_prj(
input sys_clk_i,//外部输入100MHz时钟信号
input ext_rst_n,//外部输入复位信号,低电平有效
output reg   fm_out  //蜂鸣器输出
);
reg  [31:0] clk_cnt;
//时钟计数
always @(posedge sys_clk_i) 
begin
    if(clk_cnt > 32'd100000000)
    begin
          clk_cnt <= 32'b0;
    end

代码文件(付费下载):



1、代码文件需要付费后才可见。
2、支付问题请联系微信公众号客服。
3、优质Verilog/VHDL代码资源,所见即所得。
Verilog/VHDL资源下载 » 复位键和蜂鸣器测试设计Verilog代码VIVADO ARTIX-7开发板

注册为本站会员,充值100得150,详情咨询客服

目前为止共有 *** 位优秀的会员加入! 立刻加入会员