FPGA设计一个乐曲自动演奏控制器Word文件下载.docx

上传人:b****4 文档编号:7593287 上传时间:2023-05-08 格式:DOCX 页数:8 大小:181.24KB
下载 相关 举报
FPGA设计一个乐曲自动演奏控制器Word文件下载.docx_第1页
第1页 / 共8页
FPGA设计一个乐曲自动演奏控制器Word文件下载.docx_第2页
第2页 / 共8页
FPGA设计一个乐曲自动演奏控制器Word文件下载.docx_第3页
第3页 / 共8页
FPGA设计一个乐曲自动演奏控制器Word文件下载.docx_第4页
第4页 / 共8页
FPGA设计一个乐曲自动演奏控制器Word文件下载.docx_第5页
第5页 / 共8页
FPGA设计一个乐曲自动演奏控制器Word文件下载.docx_第6页
第6页 / 共8页
FPGA设计一个乐曲自动演奏控制器Word文件下载.docx_第7页
第7页 / 共8页
FPGA设计一个乐曲自动演奏控制器Word文件下载.docx_第8页
第8页 / 共8页
亲,该文档总共8页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

FPGA设计一个乐曲自动演奏控制器Word文件下载.docx

《FPGA设计一个乐曲自动演奏控制器Word文件下载.docx》由会员分享,可在线阅读,更多相关《FPGA设计一个乐曲自动演奏控制器Word文件下载.docx(8页珍藏版)》请在冰点文库上搜索。

FPGA设计一个乐曲自动演奏控制器Word文件下载.docx

N为乐谱。

由于芯片存储容量太小,源程序只加入乐谱的一部分音符)

《友谊天长地久》乐谱

05|1.113|2.123|1.135|6.6|5.331|2.123|1.665|1.6|5.331|2.126|5.335|6.1|5.331|2.123|1.665|1.0¶

简谱中的音名与频率的关系

音名

频率/Hz

分频数

低音5

392

16’d5102

低音6

440

16’d4545

中音1

523.5

16’d3821

中音2

587.3

16’d3373

中音3

659.3

16’d3033

中音5

784

16’d2551

高音5

880

16’d2273

高音6

1760

16’d1913

二、硬件设计(电路图、原器件清单)

实物元件清单:

印刷电路板一个;

电阻(10KΩ的10个,200Ω的8个,1KΩ的14个,50Ω的1个);

三极管3个;

发光二极管(红黄绿各三个);

蜂鸣器1个;

8段显示器2个;

按键4个;

4M晶振1个;

电容(104的6个,10μ的1个);

电源线1个;

芯片底座1个;

电路图:

功率放大显示部分:

核心控制部分:

三、软件设计(流程图、源程序)

流程图

一个完整的EDA设计流程既是自顶向下设计方法的具体实施途径,也是EDA工具软件本身的组成结构。

其大致的设计流程包括:

设计输入、综合、适配、时序仿真和功能仿真、编程下载、硬件测试的步骤。

对于目前流行的EDA工具软件,图1-1的设计流程具有一般性[3]。

图1-1应用FPGA/CPLD的EDA开发设计流程框图

各部分源程序及说明

modulesong(clk,beep);

//模块名称song

//I/O口说明

inputclk;

//系统时钟4MHz

outputbeep;

//蜂鸣器输出端

//内部寄存器

regbeep_r;

//寄存器

reg[3:

0]state;

//乐谱状态机

reg[15:

0]count,count_end;

reg[17:

0]count1;

//参数--分频系数

parameterL_5=16'

d5102,//低音5

L_6=16'

d4545,//低音6

M_1=16'

d3821,//中音1

M_2=16'

d3405,//中音2

M_3=16'

d3033,//中音3

M_5=16'

d2551,//中音5

M_6=16'

d2273,//中音6

H_1=16'

h1913;

//高音6

parameterTIME=1000000;

//控制每个音的长短(250ms)

assignbeep=beep_r;

//输出音乐

//上升沿脉冲计数

always@(posedgeclk)

begin

count<

=count+1'

b1;

//计数器加1

if(count==count_end)

begin

=16'

h0;

//计数器取0

beep_r<

=!

beep_r;

//输出取反

end

end

if(count1<

TIME)

count1=count1+1'

else

count1=18'

d0;

if(state==4'

d15)

state=4'

state=state+1'

case(state)

4'

d0,4'

d1:

count_end=L_5;

d2,4'

d3,4'

d4,4'

d5,4'

d6,4'

d7,4'

d8:

count_end=M_1;

d9,4'

d10:

count_end=M_3;

d11,4'

d12,4'

d13,4'

d14:

count_end=M_2;

d15:

default:

count_end=16'

hffff;

endcase

Endmodule

引脚锁定方法

信号

引脚

beep

Pin-12

clk

Pin-43

 

四、设计总结

经过我们一组人的共同努力,我们的课程设计完成。

在此期间,我们收获颇丰。

首先这是既制作收音机后的又一次焊接印刷电路板的机会,利于提高我们的对器件的辨别、理解能力,还有自己的动手能力。

焊好电路板后,我觉得挺麻烦的就是程序的调试。

刚开始的调试是在实验室的试验箱上,一切运行正常,但转到我们需要用的芯片上就不能出现我们想要的结果。

后来又查资料,了解到芯片的时钟的频率不同,然后我们就开始转换频率再计算,同时把原来的程序根据要求的频率进行修改,但还是不能显示出流畅的音乐。

最后,当我们想放弃这个设计换其他程序设计的时候,我们想起可能是蜂鸣器本身的问题。

然后,我们找到以前制作收音机的喇叭,接上后效果还是挺明显的,听到音乐的那一刻确实挺有成功感。

其次,也是对EDA这门课的深入理解与应用。

如果说刚开始我还不知道EDA是干嘛的,但现在我可以说写一下简单的程序,看懂一些复杂的程序,然后就是提高了对QuartusⅡ操作能力。

当然,通过这次课程设计,还是发现自己的很多不足。

由于当初EDA课程学得不是太好,导致刚开始操作时经常会遇到或大或小的问题,而且这次做的设计我觉得是老师要求里的比较简单的一个,还花费了这么长时间,也说明自己的能力不是太好。

事实证明:

要想真正掌握这门课还需要再花费一些精力。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2