(数电实验报告)电子琴设计 Verilog

您所在的位置:网站首页 音符设计数字 (数电实验报告)电子琴设计 Verilog

(数电实验报告)电子琴设计 Verilog

2024-07-17 00:28| 来源: 网络整理| 查看: 265

实验名称 电子琴设计—任务1

1.设计思路 预置分频比

音名 分频系数(3Mhz) 中音 高音 1 11468 5736 2 10215 5111 3 9102 4552 4 8591 4289 5 7653 3827 6 6818 3409 7 6073 3037 理论频率对照表

音名 频率(Hz) 中音 高音 1 261.63 523.25 2 293.66 587.33 3 329.63 659.26 4 349.23 698.46 5 392.00 784.00 6 440.00 880.00 7 493.88 987.77

由“十二平均率”的规定,计算得到中音1到高音1每个音名名对应的频率如右表。以上12种频率的信号都可以由一个基准频率分频得到。由于分频系数不能为小数,故必须将分频系数取整(这必然会产生误差),所以基准频率大小的会影响误差的大小。基准频率过小,取整后的误差过大,所以基准频率应该要大。 但是过大的基准频率,导致分频系数也会很大。所以,综合考虑两方面的因素,我们选择6Mhz的基准频率(实验箱上的CLK0可以直接提供)。表中的分频比是由6Mhz二分频得到的3Mhz的基础上计算得到的。然后根据输入的不同,将预置的分频比送入分频器中,就可以得到对应频率的音符。 通过八段数码管显示高中音的音名(高音有小数点,中音没有,以此来区分)。 2.程序代码

//顶层文件 module lyj_3501_7(clk_in,clr,key,clk_out,clk_out_1,seg,codeout); //输入 input [13:0]key;//14个琴键输入 input clk_in;//时钟为6Mhz input clr;//复位信号 //输出 output reg clk_out;//分频器信号输出 output clk_out_1;//与clk_out一致 output [7:0] codeout;//八段数码管 output seg;//数码管位选选信号 //内部变量 reg [13:0]divider;//分屏系数 reg [13:0]cnt;//计数器 reg flag; assign clk_out_1=clk_out;//与clk_out一致 always@(posedge clk_in or posedge clr) begin if(clr)//异步复位,高电平有效 begin flag


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3