文档库 最新最全的文档下载
当前位置:文档库 › FPGA课程设计报告--简易电子琴的设计[1].doc

FPGA课程设计报告--简易电子琴的设计[1].doc

FPGA课程设计报告--简易电子琴的设计[1].doc
FPGA课程设计报告--简易电子琴的设计[1].doc

西安邮电大学

FPGA课程设计报告

题目:简易电子琴设计及FPGA功能验证

院系:

专业班级:

学生姓名: XX

导师姓名: XX

起止时间: 2012、6、18至2012、6、29

一、课程设计任务:

本设计一个简易电子琴,具体功能如下:

1、具有手动弹奏和自动播放功能;

2、以按键或开关作为电子琴的琴键,输出7个音节的音阶;

3、可以自动播放曲目至少两首。

二、课程设计目的:

1、培养综合运用知识和独立开展实践创新的能力;

2、深入学习Verilog HDL,了解其编程环境;

3、学会运用Modelsim和Quartus II等编程仿真软件;

4、将硬件语言编程与硬件实物功能演示相结合,加深理解Verilog HDL的学习;

三、使用环境:

1、软件:Modelsim和Quartus II等编程仿真软件;

2、硬件:FPGA开发板。

四、课程设计详细方案及功能验证:

1、总体实现方案:

1、简易电子琴的设计通过软硬件结合实现,硬件系统包括主控器芯片、9个按键、LED、蜂鸣器等,软件资源包括编写Verilog HDL程序的应用软件Modelsim和仿真软件Quartus II。电子琴有按键代替琴键的弹奏功能和自动播放功能。

2、整个程序总共分5个模块:主模块,按键模块,曲目1模块,曲目2模块,曲目3模块。

整个方案总共用了9个按键(key1~key9),按键key1~key7作为琴键,通过这七个按键键入不同的音阶。主模块中key8、key9两个按键用于选择是自动播放还是弹奏曲目,令mm=(key8、key9),用mm值的不同选择调用不同模块。如果mm=00,则程序调用按键模块;如果mm=01,则调用曲目1模块,播放曲目1;如果mm=10,则调用曲目2模块,播放曲目2;如果mm11,则调用曲目3模块,播放曲目3。

本次设计的框图:

2、输入输出信号描述:

3、顶层划分:

key1.key2.key3.key4.key5.key6.key7.key8.key9

4、主要模块:

主模块:

功能描述:是四个子模块的核心,通过主模块分别调用四个不同的子模块。

按键模块:

功能描述:通过按键key1~key7键入不同的7个音阶,频率不同则蜂鸣器发音就不同;通过mm=(key8、key9)的值选择调用不同曲目模块。

曲目模块:

功能描述:不同的曲目模块输出不同的曲调,根据高低音对应的频率不同输出不同曲调的曲目。在50MHZ的情况下对主时钟分频得到6MHZ的频率,得到在6MHZ下对应的音阶及其对应频率,以及分频数,通过计数分频数,来对不同频率的声音进行输出,实验箱原始时钟为50MHz,分频后变成不同的频率输出,通过蜂鸣器输出不同频率的声音。音乐的节拍通过分频变为4Hz,作为1/4拍,即每个单位时长0.25s。

信号名称输入/ 输出源功能描述

inclk Input Pin 系统时钟50MHz

Key(8~9) Input Pin 选择曲目

Beep3 Output Pin 输出曲目

5、功能仿真:

1、综合:

2、总体电路图:

3、所有输入输出信号:

4、管脚分配:

输入信号:一个时钟信号,9个按键;

输出信号:一个数码管输出,一个蜂鸣器输出音调。

5、时序仿真:

仿真结果;设置输入信号key1~key7为高电平,此时设置key8~key9=01,即mm=01,在数码管应该显示1,在仿真结束后,如图示数码管为11111001,即为1,outclk为蜂鸣器的输出,如图示也正确,所以本设计经过仿真证明正确可行。

6、硬件测试结果:

在时序验证后下载,通过硬件测试,实验达到预期效果,当mm(key8~key9)=00时,通过key1~key7这7个按键的键入蜂鸣器可以发出do~xi的七个音阶的音,即表示了电子琴的弹奏功能;当mm=01时,播放了第一首歌;mm=10时,播放了第二首歌;mm=11时,播放第三首歌。通过硬件的测试,所有的设计目标均实现。7、对结果和结论的问题讨论:

实验过程中,蜂鸣器发音时好时坏,有时比较低沉,有时却比较尖锐,这可能是对主系统分频不精确导致的结果,当对主系统时钟不同分频时,结果都不同,最终在多次试验下,得到在6M时钟频率下效果最为理想。

8、音阶及其对应频率(时钟频率为50MHz分为6MHz)

五、心得体会:

在这次课程设计之前,其实做过了单片机关于蜂鸣器方面的实验,上手起来还是很快的,开始时,先按照老师的要求,写规范,确定实现方案,然后在逐一细化,一步一步按照要求去完成整个设计。本次设计要用quartusII软件,由于之前对此软件不是太熟悉所以导致了一些错误和问题的发生,所以这次课程设计中认真学习了quartusII软件的具体使用步骤和操作流程,对所有可能出现的问题进行逐一攻破。通过这次实验,我不但熟悉了quartusII软件,也了解了开发的最基本流程和方法,也进一步加深了对Verilog编程语言的理解,最重要的是锻炼了我独立思考和分析的逻辑能力,通过从顶向下的设计方法,一步步实现,然后将整个设计串套起来,是我对设计的流程以及编程有了很大的提高。

通过此次硬件课程设计,使我越来越认识到一点,编程对项目实现有着至关重要的作用,我们在硬件开发的过程中必须重视编程,将编程看作是完善开发的不可缺少的一部分。在一次次的反复设计、论证和测试中,不仅提高了逻辑分析能力、全面分析问题的能力,还提升了发现问题、解决问题的能力。虽然设计过程比较繁琐,大大小小也出现了许多问题,但这却磨练了我的意志。通过各方面的学习,使我的知识面进一步拓宽了。同时,通过本次课程设计,使我也发现了自己的不足,例如:逻辑分析能力不突出,编程能力不足,解决问题的能力不足,使我认识到在以后的学习中在这些方面要多努力,加以改进,提升自我能力。我相信通过这次课程设计的学习,对我以后有着十分重要的影响和作用。

module dianziqin(inclk,outclk,key1,key2,key3,key4,key5,key6,key7,key8,key9,num); input inclk;

input key1,key2,key3,key4,key5,key6,key7,key8,key9;

output outclk;

output[7:0]num;

reg [7:0] num;

reg outclk,clk_6M;

reg [3:0]c;

wire out1,out2,out3,out4;

wire[8:0] key;

reg [1:0]mm;

assign key = {key1,key2,key3,key4,key5,key6,key7,key8,key9}; //由按键拼键为变量key

//调用子调块

digital_piano m1(

.inclk(inclk),

.key1(key1),

.key2(key2),

.key3(key3),

.key4(key4),

.key5(key5),

.key6(key6),

.key7(key7),

.beep4(out4)

);

bell m2(

.inclk(inclk),

.beep1(out1)

);

.inclk(inclk),

.beep2(out2)

);

bell3 m4(

.inclk(inclk),

.beep3(out3)

);

always@(posedge inclk)

begin

if(c<4'd8)

c<=c+4'd1;

else

begin

c <= 4'd0;

clk_6M <= ~clk_6M;

end

end

always @(posedge clk_6M) //在时钟的上升沿检测是否有按键按下begin

if(key == 9'b111111110)

mm <= 2'b01;

else if(key==9'b111111101)

mm <= 2'b10;

else if(key==9'b111111100)

mm <= 2'b11;

else mm <= 2'b00;

end

always@(mm)

begin

case(mm)

2'b01:num<=8'b11111001;

2'b10:num<=8'b10100100;

2'b11:num<=8'b10110000;

default:num<=8'b11000000;

endcase

end

always @(mm) //按键响应

begin

if(mm == 2'b01)

outclk <= out1;

else if(mm == 2'b10)

outclk <= out2;

else if(mm == 2'b11)

outclk <= out3;

else outclk <= out4;

end

endmodule

//digital_piano子模块

module digital_piano(inclk,key1,key2,key3,key4,key5,key6,key7,beep4); input inclk,key1,key2,key3,key4,key5,key6,key7;

output beep4;

wire [6:0] key_code;

reg [3:0] c;

reg clk_6M;

reg beep_r;

reg [15:0] count;

reg [15:0] count_end;

parameter Do = 7'b1111110,

re = 7'b1111101,

mi = 7'b1111011,

fa = 7'b1110111,

so = 7'b1101111,

la = 7'b1011111,

si = 7'b0111111;

assign key_code = {key7,key6,key5,key4,key3,key2,key1};

assign beep4 = beep_r; //输出音乐

always@(posedge inclk)

begin

if(c<4'd8)

c<=c+4'd1;

else

begin

c <= 4'd0;

clk_6M <= ~clk_6M;

end

end

always@(posedge clk_6M) //分频模块,得出乐谱begin

count <= count + 16'd1; //计数器加1

if(count == count_end)

begin

count <=16'd0; //计数器清零

beep_r <= !beep_r;

end

end

always@(posedge clk_6M) //状态机,根据按键状态,选择不同的音符输出

begin

case(key_code)

Do: count_end <= 16'd11450;

re: count_end <= 16'd10204;

mi: count_end <= 16'd09090;

fa: count_end <= 16'd08571;

so: count_end <= 16'd07802;

la: count_end <= 16'd06802;

si: count_end <= 16'd06060;

default:count_end <= 16'd0;

endcase

end

endmodule

//bell子模块《两只老虎》

module bell(inclk,beep1);

input inclk; //系统时钟

output beep1; //蜂鸣器输出端

reg [3:0]high,med,low;

reg [15:0]origin;

reg beep_r; //寄存器

reg [7:0]state;

reg [15:0]count;

assign beep1=beep_r; //输出音乐

//时钟频率6MHz

reg clk_6MHz;

reg [2:0] cnt1;

always@(posedge inclk)

begin

if(cnt1<3'd8)

cnt1<=cnt1+3'b1;

else

begin

cnt1<=3'b0;

clk_6MHz<=~clk_6MHz;

end

end

//时钟频率4MHz

reg clk_4Hz;

reg [24:0] cnt2;

always@(posedge inclk)

begin

if(cnt2<25'd1*******)//

cnt2<=cnt2+25'b1;

else

begin

cnt2<=25'b0;

clk_4Hz<=~clk_4Hz;

end

end

always @(posedge clk_6MHz)

begin

count <= count + 1'b1; //计数器加1 if(count == origin)

begin

count <= 16'h0; //计数器清零

beep_r <= !beep_r; //输出取反end

end

always@(posedge clk_4Hz)

begin

case({high,med,low})

12'b000000010000:origin=11466;//mid1

12'b000000100000:origin=10216;//mid2

12'b000000110000:origin=9101; //mid3

12'b000001000000:origin=8590; //mid4

12'b000001010000:origin=7653; //mid5

12'b000001100000:origin=6818; //mid6

12'b000000000101:origin=14447;//low5

endcase

end

always @(posedge clk_4Hz) //歌曲<> begin

if(state ==63) state = 0;//计时,以实现循环演奏

else

state = state + 1;

case(state)

0,1:

{high,med,low}=12'b000000010000;//mid1

2,3:

{high,med,low}=12'b000000100000;//mid2

4,5:

{high,med,low}=12'b000000110000;//mid3

6,7:

{high,med,low}=12'b000000010000;//mid1

8,9:

{high,med,low}=12'b000000010000;//mid1

10,11:

{high,med,low}=12'b000000100000;//mid2

12,13:

{high,med,low}=12'b000000110000;//mid3

14,15:

{high,med,low}=12'b000000010000;//mid1

16,17:

{high,med,low}=12'b000000110000;//mid3

18,19:

{high,med,low}=12'b000001000000;//mid4

20,21,22,23:

{high,med,low}=12'b000001010000;//mid5

24,25:

{high,med,low}=12'b000000110000;//mid3

26,27:

{high,med,low}=12'b000001000000;//mid4

28,29,30,31:

{high,med,low}=12'b000001010000;//mid5

32:

{high,med,low}=12'b000001010000;//mid5

33:

{high,med,low}=12'b000001100000;//mid6

34:

{high,med,low}=12'b000001010000;//mid5

35:

{high,med,low}=12'b000001000000;//mid4

36,37:

{high,med,low}=12'b000000110000;//mid3

38,39:

{high,med,low}=12'b000000010000;//mid1

40:

{high,med,low}=12'b000001010000;//mid5

41:

{high,med,low}=12'b000001100000;//mid6

42:

{high,med,low}=12'b000001010000;//mid5

43:

{high,med,low}=12'b000001000000;//mid4

44,45:

{high,med,low}=12'b000000110000;//mid3

46,47:

{high,med,low}=12'b000000010000;//mid1

48,49:

{high,med,low}=12'b000000100000;//mid2

50,51:

{high,med,low}=12'b000000000101;//low5

52,53,54,55:

{high,med,low}=12'b000000010000;//mid1

56,56:

{high,med,low}=12'b000000100000;//mid2

57,58:

{high,med,low}=12'b000000000101;//low5

59,60,61,62,63:

{high,med,low}=12'b000000010000;//mid1

default : {high,med,low}=12'bx;

endcase

end

endmodule

//bell2子模块《康定情歌》

module bell2 (inclk,beep2);

input inclk; //系统时钟

output beep2; //蜂鸣器输出端reg [3:0]high,med,low;

reg [15:0]origin;

reg beep_r; //寄存器

reg [7:0]state;

reg [15:0]count;

assign beep2=beep_r; //输出音乐

//时钟频率6MHz

reg clk_6MHz;

reg [2:0] cnt1;

always@(posedge inclk)

begin

if(cnt1<3'd8) //8

cnt1<=cnt1+3'b1;

else

begin

cnt1<=3'b0;

clk_6MHz<=~clk_6MHz;

end

end

//时钟频率4MHz

reg clk_4Hz;

reg [24:0] cnt2;

always@(posedge inclk)

begin

if(cnt2<25'd1*******)//13000000

cnt2<=cnt2+25'b1;

else

begin

cnt2<=25'b0;

clk_4Hz<=~clk_4Hz;

end

end

always @(posedge clk_6MHz)

begin

count <= count + 1'b1; //计数器加1 if(count == origin)

begin

count <= 16'h0; //计数器清零

beep_r <= !beep_r; //输出取反end

end

always@(posedge clk_4Hz)

begin

case({high,med,low})

'b000000000001:origin=22900; //低1

'b000000000010:origin=20408; //低2

'b000000000011:origin=18181; //低3

'b000000000101:origin=15267; //低5

'b000000000110:origin=13605; //低6

'b000000000111:origin=11472; //中1

'b000000100000:origin=10216; //中2

'b000000110000:origin=9101; //中3

'b000001010000:origin=7653; //中5

'b000001100000:origin=6818; //中6

'b000100000000:origin=5733; //高1

'b001000000000:origin=5108; //高2

'b001100000000:origin=4551; //高3

endcase

end

always @(posedge clk_4Hz)

begin

if(state ==103)

state = 0;

else

state = state + 1; //《康定情歌》case(state)

fpga数字钟课程设计报告

f p g a数字钟课程设计报告 Prepared on 24 November 2020

课程设计报告 设计题目:基于FPGA的数字钟设计 班级:电子信息工程1301 姓名:王一丁 指导教师:李世平 设计时间:2016年1月 摘要 EDA(Electronic Design Automation)电子设计自动化,是以大规模可编程器件为设计载体,以硬件描述语言为系统逻辑描述的主要表达方式,通过相关的软件,自动完成软件方式设计得电子系统到硬件系统,最终形成集成电子系统或专用集成芯片。本次课程设计利用Quartus II 为设计软件,VHDL为硬件描述语言,结合所学知识设计一个多功能时钟,具有显示年、月、日、时、分、秒显示,计时,整点报时,设定时间等功能。利用硬件描述语言VHDL 对设计系统的各个子模块进行逻辑描述,采用模块化的思想完成顶层模块的设计,通过软件编译、逻辑化简、逻辑综合优化、逻辑仿真、最终完成本次课程设计的任务。 关键词:EDA VHDL语言数字钟 目录 摘要 1 课程设计目的 2 课程设计内容及要求

设计任务 设计要求 3 VHDL程序设计 方案论证 系统结构框图 设计思路与方法 状态控制模块 时分秒模块 年月日模块 显示模块 扬声器与闹钟模块 RTL整体电路 4 系统仿真与分析 5 课程设计总结,包括.收获、体会和建议 6 参考文献 1 课程设计目的 (1)通过设计数字钟熟练掌握EDA软件(QUARTUS II)的使用方法,熟练进行设计、编译,为以后实际工程问题打下设计基础。 (2)熟悉VHDL 硬件描述语言,提升分析、寻找和排除电子设计中常见故障的能力。 (3)通过课程设计,锻炼书写有理论根据的、实事求是的、文理通顺的课程设计报告。

简易电子琴课程设计报告

摘要 电子琴是现代电子科技与音乐结合的产物,是一种新型的键盘乐器,它在音奏中已成为不可缺少的一部分。本文主要介绍运用555定时器制作简易电子琴的设计方法。该方法利用555定时器构成多谐振荡器,通过按键控制不同的RC组合应用多谐振荡器产生不同频率八个基本音阶的脉冲信号波,然后连到扬声器上,即可发出八音阶的音乐。在该设计中,利用了555定时器构成的多谐振荡器产生各音阶不同频率的脉冲,不仅仅使其频率调节更加方便,而且发出的声音稳定、饱满。 前言 (1) 第一章设计内容及要求 (2) 1.1 设计的基本原理 (2) 1.2 设计要求 (2) 第二章系统组成及工作原理 (3) 2.1 系统组成 (3) 2.1.1 按键模块 (3) 2.1.2音调发生模块 (3) 2.1.3音响模块 (4) 2.2 工作原理 (4) 2.2.1 NE555多谐振荡器 (5) 2.2.2 LM386集成功率放大器 (7) 第三章方案比较 (8) 3.1 方案一 (8) 3.2 方案二 (9) 3.3方案三 (10) 3.4方案分析与比较 (11) 第四章参数计算、器件选择 (12) 4.1 参数计算 (12) 4.2 器件选择 (12) 第五章系统调试及测试结果分析 (14) 5.1 系统调试 (18) 关键词:简易电子琴,555定时器,多谐振荡器,八个基本音阶 目录

5.2 硬件调试···················································19 2 5.3 测试结果与分析 (19) 前言 随着当代科学设计的发展,电子产品在人们的日常生活中占据着越来越多重要的地位。电子琴作为其中的一个典型代表,引领着许多孩子进入音乐的殿堂。因此,我们选择了简易电子琴这个题目来制作,因为它不仅能过提高实际动手能力,还与实际生活有着紧密的联系。 模拟电子技术基本教程是一门实践性很强的课程,而此次课程设计依据的理论基础是模拟电子技术基本教程,其主要目的是通过本课程的培养,启发学生的创造性思维,进一步探究书本知识。本课程设计是设计出一个电子产品,先焊接好,再进行检验。 在电子课程设计的过程中,系统的概念十分重要,熟悉从系统的层次分析问题、解决问题的方式。基本方法除了实验课中要求掌握的功能测试、故障排除等各种一般方法以外、要特别注重使用“电路拼装”的方法。课程设计的一般步骤如下:(1)、选择一个课题;(2)、查阅有关资料;(3)、进行可行论证;(4)、通过设计方案的比较,定出最优的设计方案;(5)、分解为多个模块;(6)、分别设计各个功能模块电路,并完成调试;(7)、组装成完整的数字系统;(8)、编写设计、安装、调试报告。 1 第一章设计原理及要求 1.1 设计的原理 555定时器是一种中规模集成电路,外形为双列直插8脚结构,体积小,使用起来方便。只要在外部配上几个适当的阻容元件,就可以构成施密特触发器、单稳态触发器及多谐振荡器等脉冲信号产生与变换电路。它在波形的产生与变换、测量与控制、定时电路、家用电器、电子玩具、电子乐器等方面有广泛的应用。 5.4 误差分析 (19) 实验小结及心得体会 (20) 结论······························································21 参考 文献·························································22 附录一····························································23 附录二···························································· 24 3

FPGA设计的报告课程设计

FPGA课程设计 实 验 报 告

实验一:设计一个可控的100进制可逆计数器 一、实验要求 用DE2-115开发板下载。 (1)计数器的时钟输入信号周期为200ns。 (2)以十进制形式显示。 (3)有一个复位端clr和两个控制端plus和minus,在这些控制信号的作用 clr plus minus 功能 0 ××复位为0 1 1 0 递增计数 1 0 1 递减计数 1 1 1 暂停计数 二、关键词 可控制、可逆、100进制、复位、暂停、递增、递减 三、内容摘要 module updown_count(qout,reset,clk,plus,minus); output[7:0] qout;/*定义一个8位的输出,其目的是 低四位和高四位分别表示计数器的个位和十位。*/ input clk,plus,minus,reset;//定义四个输入,时钟,加计数,减计数和清零 reg[7:0] qout;//qout的数据类型为寄存器型 always @(posedge clk)//当clk上升沿到来时执行一遍下列程序 begin if(!reset) qout<=0;//当reset为低电平时,计数器执行清零功能,否则跳过else begin case({minus,plus})//case语句模块,包含加,减和暂停四个模块 2'b10: if (qout[3:0]==0)//判断个位是否为零,若不为零,跳到个位减一begin qout[3:0]<=9;//给个位赋值 if(qout[7:4]==0) qout[7:4]<=9;//判断十位是否为零,并且给十位赋值 else qout[7:4]<=qout[7:4]-1;//由于个位赋9,相当于向十位借一,因而十位减一end else qout[3:0]<=qout[3:0]-1;//个位减一 /*这一部分是减计数模块,其思路是:首先判断个位是否为零,若为零,则执行后面的程序,个位直接赋9,并且十位减一;否则个位减一*/ 2'b01: if (qout[3:0]==9)//判断个位是否为9,否则跳到个位加一begin

数电课程设计--简易电子琴

目录 1 设计任务 (1) 1.1 基本任务 (1) 1.2 扩展任务 (1) 2 设计方案原理 (1) 3 单元电路的设计 (2) 3.1 多谐振荡器 (2) 3.2 琴键开关 (3) 3.3 扩音器(喇叭) (4) 3.4 器件选择 (4) 4 电路图的绘制 (5) 5 电路的仿真及调试 (6) 6 体会 (6) 参考文献 (8)

1设计任务 电子琴是一种很简单的电子产品,目前市场上所售的电子琴多为基于单片机所设计的。本次课设要求利用数电知识,设计一个能奏出八个音阶的电子琴。虽然没有基于单片机的电子琴那么多的功能,但是电子琴的基本功能是可以满足的。 本次设计的主要内容为:根据数电课程所学内容,结合其他相关课程知识,设计一个简易电子琴,以加深对单片机知识的理解,锻炼实践动手能力。 本次设计的任务为: 1.1基本任务 ①具备8个按键,能够分别较准确地弹奏出1?1八个音符。 ②选择电路方案,完成对确定方案电路的设计。计算电路元件参 数与元件选择、并画出总体电路原理图,阐述基本原理。用 Proteus或MULTISIM软件完成仿真,并按规定格式写出课程设计 报告书。 1.2扩展任务 ①能够弹奏出至少21个音符(三个音阶)。 ②能够较便捷地完成音阶的升降。(按一个开关实现升8度,按另一个开关实现降 8度) 2设计方案原理 本方案为利用555多谐振荡器能输出脉冲信号的特性,通过改变振荡器外接电阻的阻值来改变振荡器输出脉冲的频率,驱动喇叭发出各种音阶。电子琴所用琴键即为改变电阻阻值的开关,通过改变阻值使输出与琴键音阶相对应。

原理框图如下: 图1原理框图 3单元电路的设计 3.1多谐振荡器 利用多谐振荡器产生周期脉冲电路图如下图所示 图2 多谐振荡器电路实现 图中引脚功能: 1脚:GND或Vss)外接电源负端VSS或接地,一般情况下接地。 2脚:TR低触发端。 3脚:OUT(或Vo)输出端。 4脚:Rd是直接清零端。当R端接低电平,则时基电路不工作,此时不论TR、TH 处于何电平,时基电路输出为“ o”,该端不用时应接高电平。 5脚:CO或VC)为控制电压端。若此端外接电压,则可改变内部两个比较器的

简易电子琴课程设计

课程设计任务书学生姓名:专业班级: 指导教师:工作单位:信息工程学院 题目: 简易电子琴电路的设计仿真与实现 初始条件: 可选元件:集成运算放大器LM324、电阻、电位器、电容若干,直流电源,或自备元器件。 可用仪器:示波器,万用表,直流稳压源,函数发生器 要求完成的主要任务: (1)设计任务 根据要求,完成对简易电子琴电路的仿真设计、装配与调试,鼓励自制稳压电源。 (2)设计要求 ①设计一简易电子琴电路,按下不同琴键即改变RC值,能发出C调的八个基本音阶,采用运算放大 ②选择电路方案,完成对确定方案电路的设计。 ③利用Proteus或Multisim仿真设计电路原理图,确定电路元件参数、掌握电路工作原理并仿真实现系 统功能。 ④安装调试并按规范要求格式完成课程设计报告书。 ⑤选做:利用仿真软件的PCB设计功能进行PCB设计。 时间安排: 1、前半周,完成仿真设计调试;并制作实物。 2、后半周,硬件调试,撰写、提交课程设计报告,进行验收和答辩。 指导教师签名:年月日 系主任(或责任教师)签名:年月日

目录 1.模电课设概述 (1) 1.1设计背景 (1) 1.2设计目的及意义 (1) 1.3开发环境proteus简介 (1) 2.电路原理 (3) 2.1 RC桥式振荡电路及频率选择 (3) 2.2振荡条件 (4) 3.总体方案设计 (5) 3.1实验电路设计思路 (5) 3.2设计电路图 (6) 3.3实验参数选择 (6) 4.仿真曲线及结果分析 (7) 4.1仿真操作过程及曲线 (7) 4.2仿真结果分析 (14) 5.实物制作及仿真、实物的差异 (15) 5.1实物制作过程和调试过程 (15) 5.2 仿真、实物的差异 (16) 6.心得体会 (17) 7.元件清单 (18) 8.参考文献 (19)

电子琴课程设计

摘要 随着电子技术的发展,电子技术正在逐渐改善着人们的学习、生活、工作,电子技术与音乐的结合正在不断加深。因此开发本系统希望能够给人们多带来一点生活上的乐趣。电子琴是现代电子科技与音乐结合的产物,是一种新型的键盘乐器。本文的主要内容是用AT89C51单片机为核心控制元件,设计一个电子琴。以单片机作为主控核心,与键盘、扬声器等模块组成核心主控制模块,在主控模块上设有16个按键和扬声器。本系统运行稳定,其优点是硬件电路简单,软件功能完善,控制系统可靠,性价比较高等,具有一定的实用和参考价值。 关键词:AT89C51,矩阵键盘,LED显示管,扬声器。

目录 摘要..............................................................................................................................I 目录.............................................................................................................................II 1 引言. (1) 1.1 研究背景及意义 (1) 1.2 研究现状和发展趋势 (1) 2 硬件设计 (2) 2.1 总体设计方案 (2) 2.2 电子琴组成原件的概述 (2) 3 软件设计 (4) 3.1 keil软件的任务 (4) 3.2 proteus的界面实现 (6) 4 系统调试与实验 (7) 4.1 程序调试 (7) 4.2 硬件调试 (7) 5 总结 (8) 参考文献 (9)

FPGA课程设计报告

F P G A 课 程 设 计 报 告 学部:信息科学与技术学部 专业:通信工程 班级:10级1班 学号:100103011125 姓名:万洁 指导老师:祝宏 合作伙伴:张紫君 2012.12.13

一.《任务书》: 实验一100进制的可逆计数器(11——12周)实验二交通灯控制系统(15周) 实验三多功能数字钟系统(14-15周)二.实验书写格式: 一:题目要求 二:程序代码 三:操作步骤及运行结果截图 四:心得体会 三.实验附录: 一:老师提供的资源 二:关于实验所用EP4CE115F29板的简介

实验一100进制的可逆计数器 一、设计一个可控的100进制可逆计数器,要求用实验箱下载。 (1)计数器的时钟输入信号周期为200ns。 (2)以十进制形式显示。 (3)有一个复位端clr和两个控制端plus和minus,在这些控制信号的作用下,计数器具有复位、增或减计数、暂停功能。 clr plus minus 功能 0 ××复位为0 1 1 0 递增计数 1 0 1 递减计数 1 1 1 暂停计数 二、程序如下: module keni100(CLR,CLK,PLUS,MINUS,OUT); //100进制的可逆计数器 input CLR,PLUS,MINUS,CLK; output [7:0]OUT; reg [7:0]OUT; always@(posedge CLK) begin if(!CLR) //如果CLR为零,输出为零;反之,运行else程序 OUT[7:0]<=0; else

begin if(PLUS==0 && MINUS==1) //100进制的递减计数 begin if (OUT[3:0]==0) begin OUT[3:0]<=9; if (OUT[7:4]==0) OUT[7:4]<=9; else OUT[7:4]<=OUT[7:4]-1; end else OUT[3:0]<=OUT[3:0]-1; end if(PLUS==1 && MINUS==0) //100进制的递增计数 begin if (OUT[3:0]==9) begin OUT[3:0]<=0; if (OUT[7:4]==9) OUT[7:4]<=0; else OUT[7:4]<=OUT[7:4]+1; end else OUT[3:0]<=OUT[3:0]+1; end if(PLUS==1 && MINUS==1) OUT<=OUT; //若PLUS和MINUS都为1,暂停计数 if(PLUS==0 && MINUS==0) OUT<=0; //若都为零,输出为零end end endmodule 三、运行程序 1、在quarters II9.1输入程序 打开quarters II界面,点击file→New,在出现的对话框,如图1.1所示,选择Text File,点击OK.

简易电子琴课程设计

课程设计任务书 学生姓名:专业班级: 指导教师:工作单位:信息工程学院 题目: 简易电子琴电路的设计仿真与实现 初始条件: 可选元件:集成运算放大器LM324、电阻、电位器、电容若干,直流电源,或自备元器件。 可用仪器:示波器,万用表,直流稳压源,函数发生器 要求完成的主要任务: (1)设计任务 根据要求,完成对简易电子琴电路的仿真设计、装配与调试,鼓励自制稳压电源。 (2)设计要求 ①设计一简易电子琴电路,按下不同琴键即改变RC值,能发出C调的八个基本音阶,采 用运算放大器构成振荡电路,用集成功放电路输出。已知八个基本音阶在C调时所对 ②选择电路方案,完成对确定方案电路的设计。 ③利用Proteus或Multisim仿真设计电路原理图,确定电路元件参数、掌握电路工作原 理并仿真实现系统功能。 ④安装调试并按规范要求格式完成课程设计报告书。 ⑤选做:利用仿真软件的PCB设计功能进行PCB设计。 时间安排: 1、前半周,完成仿真设计调试;并制作实物。 2、后半周,硬件调试,撰写、提交课程设计报告,进行验收和答辩。 指导教师签名:年月日 系主任(或责任教师)签名:年月日

目录 1.模电课设概述 (1) 1.1设计背景 (1) 1.2设计目的及意义 (1) 1.3开发环境proteus简介 (1) 2.电路原理 (3) 2.1 RC桥式振荡电路及频率选择 (3) 2.2振荡条件 (4) 3.总体方案设计 (5) 3.1实验电路设计思路 (5) 3.2设计电路图 (6) 3.3实验参数选择 (6) 4.仿真曲线及结果分析 (7) 4.1仿真操作过程及曲线 (7) 4.2仿真结果分析 (14) 5.实物制作及仿真、实物的差异 (15) 5.1实物制作过程和调试过程 (15) 5.2 仿真、实物的差异 (16) 6.心得体会 (17) 7.元件清单 (18) 8.参考文献 (19)

课程设计简易电子琴

课程设计 课程名称 题目名称 专业班级 学生姓名 学号 指导教师 二○--年月日

目录 1 设计任务书 (1) 2 电路总体设计 (2) 3 各部分电路设计 (3) 3.1 R、C选频网络电路的设计 (3) 3.2 波形产生电路 (4) 4 Multisim仿真与数据分析 (7) 5总结 (9) 6致谢 (10) 参考文献 (11) 附录A 总原理图 (12) 附录B 系统元器件清单 (13)

1 设计任务书 设计目的 (1)熟悉数字电子技术课程设计的方法和思想 (2)熟悉仿真软件Multisim使用 (3)进一步理解555多谐振荡器在设计过程中的使用 (4)熟悉555多谐振荡器的应用 (5)熟悉简易电子琴的设计方法和过程 设计思路 (1)先查询简易电子琴的七个音(各包括低、中、高三个音)的频率 (2)再设置充电电阻和固定电容,根据公式算出每个音阶对应电阻的阻值,从而确定R C选频网络电路。 (3)用多谐振荡器产生矩形脉冲驱动蜂鸣器发出不同声音 (4)用仿真软件中的虚拟仪器示波器和频率计测量每一个音阶的波形和频率。

2 电路总体设计 本电路主要是由RC选频网络电路和555定时器构成的多谐振荡器组成。因为设计要实现电子琴dou、ruai、mi、fa、suo、la、si七个音的发声。而每一个音都对应一个频率和电阻,所以通过设计不同的电阻和电容组成R、C选频电路。每一个频率经过多谐振荡器都会产生一个矩形脉冲。因为是在仿真软件中无法实现电子琴发声,采用示波器测量矩形波形和用频率计测量每一个选频网络中对应的每一个频率,再和实际数据相比较来判定发出的声音是否准确。该电路实现了dou、ruai、mi、fa、suo、la、si(各包括低、中、高三个音)的发声仿真。实现了简易电子琴的设计。电路整体框图如下: 图2.1 基本方框图 该电路具有原理简单、容易制作、调试方便等特点。能实现二十一种频率的方波且能驱动喇叭C调的二十一个音阶。其中,稳压电源可以由电脑提供。

FPGA课程设计题目

1、彩灯控制器设计 内容及要求: 设计一个彩灯控制器,具体设计要求如下: (1)要有多种花型变化(至少设计5种),led至少16路 (2)多种花型可以自动变化 (3)彩灯变换的快慢节拍可以选择 (4)具有清零开关 (5)完成全部流程:设计规范文档、模块设计、代码输入、仿真、下载验证等,最后就课程设计本身提交一篇课程设计报告。 2、数字秒表设计 内容及要求: 设计一用于体育比赛的数字秒表,具体设计要求如下: (1)6位数码管显示,其中两位显示min,四位显示see,显示分辨率为0.01 s。 (2)秒表的最大计时值为59min59.99see。 (3)设置秒表的复位/启动键,按一下该键启动计时,再按即清0。依此循环。 (4)设置秒表的暂行/继续键。启动后按一下暂行,再按继续。依此循环。 (5)完成全部流程:设计规范文档、模块设计、代码输入、仿真、下载验证等,最后就课程设计本身提交一篇课程设计报告。 3、交通信号控制系统设计 内容及要求: 设计一个十字路口交通控制系统,具体设计要求如下: (1)东西(用A表示)、南北(用B表示)方向均有绿灯、黄灯、红灯指示,其持续时间分别是40秒、5秒和45秒, 交通灯运行的切换示意图和时序图分别如图1、图2所示。 (2)系统设有时钟,以倒计时方式显示每一路允许通行的时间。 (3)当东西或南北两路中任一路出现特殊情况时,系统可由交警手动控制立即进入特殊运行状态,即红灯全亮,时钟停止计时,东西、南北两路所有车辆停止通行;当特殊运行状态结束后,系统恢复工作,继续正常运行。 图1 交通灯运行切换示意图

B红 CP A绿 A黄 A红 B黄 B绿 5S 5S 图2 交通灯时序图 (4)完成全部流程:设计规范文档、模块设计、代码输入、仿真、下载验证等,最后就课程设计本身提交一篇课程设计报告。 4、简易密码锁设计 内容及要求 设计一个4位串行数字锁。 (1)开锁代码为4位二进制,当输入代码的位数与锁内给定的密码一致,且按规定程序开锁时,方可开锁,并点亮一个指示灯。否则进入“错误”状态,并发出报警信号。 (2)锁内的密码可调,且预置方便,保密性好。 (3)串行数字锁的报警由点亮一个灯,直到按下复位开关,报警才停下。此时,数字锁又自动等待下一个开锁状态。 (4)完成全部流程:设计规范文档、模块设计、代码输入、仿真、下载验证等,最后就课程设计本身提交一篇课程设计报告。 5、出租车计价器设计 内容及要求 (1)设一个出租车自动计费器,计费包括起步价、行驶计费和等待计费三个部分,用4个数码管显示出金额数目,最大值为999.9元,最小计价单位为0.1元。行驶里程在3公里范围内且等待时间未超过三分钟时按起步价8元计费;行驶里程超过三公里后按每公里2元收费;等待时间超过三分钟后按每分钟1元收费。等待时间用两个数码管显示,最大值为59分钟。 总费用=起步价+(里程-3km )*里程单价+(等待时间-3)*等候单价 (2)能够实现的功能: 显示汽车行驶里程:用四位数字显示,单位为km 。 计程范围为0~99km ,计程分辨率为1km 。 显示等候时间:用两位数字显示分钟,单位为min 。计时范围为0~59min ,计时分辨率为1min 。

简易电子琴电路课程设计(模拟电路)

逗你玩 课程设计报告 课程名称:模拟电子技术课程设计 专业班级:电子信息工程(2)班 学生学号: 0705110931 学生姓名:夏柳 所属院部:信息技术学院 指导教师:王雪 20 08 ——20 09 学年第 2 学期

《模拟电子技术》课程设计报告 --------简易电子琴的制作 简易电子琴电路 摘要: 本课程设计以制作一个简易电子琴为最终结果,主要以硬件测试为主。首先进行电路分析,设计电路图,其次考虑所有可能出现的问题,完善电路图,再选择合适的器件,最后按照电路图线路搭试,调试测试,直至达到理想的目标。当然在这之前对焊点等要事先查阅资料,了解手工焊接技术;查阅有关4100芯片,741芯片的功能等参数,还有测试其芯片是否好坏的电路和方法;同时还要了解RC振荡电路,与其产生振荡的条件跟原理,选择稳幅电路,理解其稳幅的原理;当然还要计算八个音阶的产生的频率,再根据RC振荡电路计算电阻值,以便选择合适的电阻,这些都是课前准备。测试电子琴我们要一步一步的,首先是振荡电路的线路测试,其次选频电路的测试,功放电路的测试,最后再是总体测试,尽量消除噪音,使音质能够很清晰。这样电子琴我们就做好了。 关键图:

电子琴的主干图

第一部分:课前准备 1.1芯片性能指标 1.2手工焊接技术 1.3元件制作工艺 第二部分:设计方案及选定 2.1八个音阶的频率 2.2振荡电路的选择与设计 2.3八个电阻的选择 2.4稳幅方式的选择 2.5功率放大电路的设计 第三部分:简易电子琴电路的检测与误差分析 3.1芯片测试 3.2振荡电路测试 3.3电子琴的测试 第四部分:元器件清单 第五部分:心得体会 第六部分:参考文献

模电课程设计简易电子琴的设计

1. 模电课设概述 现在的电子琴一般使用PCM或AWM采样音源。所谓采样就是录制乐器的声音,将其数字化后存入ROM里,然后按下键时CPU回放该音。甚至有一些高级编曲键盘可以使用外置采样(比如Tyros 3的硬盘音色)。现代电子琴并非“模仿”乐器音色。它使用的就是真实乐器音色。当然,现在力度触感在电子琴里是必备的。而且现代电子琴还加上了老式电子琴的滤波器,振荡器,包络线控制来制造和编辑音色。甚至也带上了老式电子琴的FM 合成机构。 本次课程设计主要是通过对电子琴主体部分的电路进行模仿设计,按下不同琴键改变RC值,发出C调的八个基本音阶,采用运算放大器构成振荡电路,用集成功放电路输出音调,从而达到电子琴固有的基本功能。 2. Proteus软件简介 Proteus软件是由英国LabCenter Electronics公司开发的EDA工具软件,由ISIS和ARES两个软件构成,其中ISIS是一款便捷的电子系统仿真平台软件,ARES是一款高级的布线编辑器,它集成了高级原理布线图、混合模式SPICE电路仿真、PCB设计以及自动布线来实现一个完整的电子设计。它是目前最好的仿真单片机及外围器件的工具。虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。 Proteus软件的模拟仿真直接兼容厂商的SPICE模型,采用了扩充的SPICE3F5电路仿真模型,能够记录基于图表的频率特性、直流电的传输特性、参数的扫描、噪声的分析、傅里叶分析等,具有超过8000种的电路仿真模型。 Proteus软件支持许多通用的微控制器,如PIC、AVR、HC11以及8051;包含强大的调试工具,可对寄存器、存储器实时监测;具有断点调试功能及单步调试功能;具有对显示器、按钮、键盘等外设进行交互可视化仿真的功能。此外,Proteus可对IAR C-SPY、KEIL 等开发工具的源程序进行调试。 此外,在Proteus中配置了各种虚拟仪器,如示波器、逻辑分析仪、频率计,便于测量和记录仿真的波形、数据。 3. 简易电子琴基本原理 3.1 音乐产生原理 由于一首音乐是许多不同的音阶组成的,而每个音阶对应着不同的频率,这样我

单片机课程设计 简易电子琴设计

单片机课程 设计 课程设计名称 专学学 指 级 名 号 师导 课程设计时间

需求分析 1.1课题背景 随着社会的发展进步,音乐逐渐成为我们生活中很重要的一部分,有人曾说喜欢音乐的人不会向恶。我们都会抽空欣赏世界名曲,作为对精神的洗礼。本论 文设计一个基于单片机的简易电子琴。电子琴是现代电子科技与音乐结合的产物,是一种新型的键盘乐器。它在现代音乐扮演着重要的角色,单片机具有强大的控制功能和灵活的编程实现特性,它已经溶入现代人们的生活中,成为不可替代的一部分。电子科技也在不断的前进,电子技术正在以不同的方式改变着我们 的生活,电子琴设计也是希望给人们带来一些生活的乐趣。电子琴可以应用在很多方面,比 如一些简易的玩具上或手机上。 单片机技术使我们可以利用软硬件实 现电子琴的功能,从而实现电子琴的微型化。 本文主要对使用单片机设计简易电子琴进行了分析,并介绍了基于单片机电子琴统硬件组成。利用单片机产生不同频率来获得我们要求的音阶,最终可随意弹奏想要表达的音乐。并且本文分别从原理图,主要芯片,各模块原理及各模块的程序的调试来详细阐述。 1.2课题设计的任务与主要内容 本文的主要内容是用AT89C51单片机为核心控制元件,设计一个简单的电子琴。以单片机作为主控核心,与键盘、扬声器等模块组成核心主控制模块,在主 控模块上设有1 6个按键和扬声器。定时器按设置的定时参数产生中断,由于定 时参数不同,就会发出不同频率的脉冲,不同频率的脉冲经喇叭驱动电路放大滤波后,就会发出不同音调。 先根据要求设计硬件电路和编写相应的程序,然后进行仿真调试,最后细心 焊接硬件电路图,将程序烤入芯片中,最终达到设计目的。本系统运行稳定,其优点是硬件电路简单,软件功能完善,控制系统可靠,性价比较高等,具有一定的实用和参考价值。

基于FPGA的简易电子琴设计

课程设计任务书

开题报告

皖西学院本科毕业论文(设计)中期检查表

简易电子琴的设计 学生姓名:王春指导老师:郑大腾 摘要 本系统是采用EDA技术设计的一个简易的八音符电子琴,该系统基于计算机中时钟分频器的原理,采用自顶向下的设计方法来实现,它可以通过按键输入来控制音响。多功能电子琴的设计是在原有普通电子琴的基础上进行扩充的一个设计。该电子琴的设计大体可以由三个模块构成,分别是电子琴发声模块、存储器模块和选择控制模块。用超高速硬件描述语言VHDL编程可以实现各个模块的功能。不仅能实现弹琴和演奏的功能,它还能实现“复读”的功能,就是可以存储任意一段音乐,并且可以即时的播放出来。系统实现是用硬件描述语言VHDL 按照模块化方式进行设计,然后进行编程、时序仿真、总体整合。本系统的功能比较齐全,有一定的现实使用的价值。本文中介绍了电子琴系统的整体的设计,并基于超高速硬件描述语言VHDL在相关的芯片上编程实现的。 关键字 电子琴;EDA;VHDL;音调发生;现场可编程逻辑器件FPGA;超高速硬件描述语言VHDL;电子琴系统; Abstract This system is designed using EDA technology a simple eight-note keyboard, the system clock divider based on the principle of the computer, using top-down design methodology to implement, it can be controlled through the key input audio. Multi-function keyboard is designed to be an ordinary keyboard in the original expansion on the basis of a design. The design of the keyboard in general consists of three modules, namely the keyboard sound

FPGA课程设计报告--简易电子琴的设计

邮电大学 FPGA课程设计报告 题目:简易电子琴设计及FPGA功能验证 院系: 专业班级: 学生:XX 导师:XX 起止时间:2012、6、18至2012、6、29

一、课程设计任务: 本设计一个简易电子琴,具体功能如下: 1、具有手动弹奏和自动播放功能; 2、以按键或开关作为电子琴的琴键,输出7个音节的音阶; 3、可以自动播放曲目至少两首。 二、课程设计目的: 1、培养综合运用知识和独立开展实践创新的能力; 2、深入学习Verilog HDL,了解其编程环境; 3、学会运用Modelsim和Quartus II等编程仿真软件; 4、将硬件语言编程与硬件实物功能演示相结合,加深理解Verilog HDL的学习; 三、使用环境: 1、软件:Modelsim和Quartus II等编程仿真软件; 2、硬件:FPGA开发板。 四、课程设计详细方案及功能验证: 1、总体实现方案: 1、简易电子琴的设计通过软硬件结合实现,硬件系统包括主控器芯片、9个按键、LED、蜂鸣器等,软件资源包括编写Verilog HDL程序的应用软件Modelsim和仿真软件Quartus II。电子琴有按键代替琴键的弹奏功能和自动播放功能。 2、整个程序总共分5个模块:主模块,按键模块,曲目1模块,曲目2模块,

曲目3模块。 整个方案总共用了9个按键(key1~key9),按键key1~key7作为琴键,通过这七个按键键入不同的音阶。主模块中key8、key9两个按键用于选择是自动播放还是弹奏曲目,令mm=(key8、key9),用mm值的不同选择调用不同模块。如果mm=00,则程序调用按键模块;如果mm=01,则调用曲目1模块,播放曲目1;如果mm=10,则调用曲目2模块,播放曲目2;如果mm11,则调用曲目3模块,播放曲目3。 本次设计的框图:

简易电子琴课程设计报告超详细

广州大学机械与电气工程学院 电子信息工程系 课 程 设 计 报 告 课程名称:电子技术课程设计 设计题目:简易电子琴 专业班级:电子信息工程 2 班 设计者:苏伟强 学号: 51 06 指导教师:秦剑彭绍湖

设计所在学期: 2016~2017学年第 2 学期 设计所在时间: 2014年7月6日-12日 地点: 电子信息实验楼314 315 目录 一课程设计题目 (3) 1 题目分析理解 二设计任务及要求 (3) 1 要求 2 任务安排 3 进度安排 三电路设计 (4) 1 方案论证 2 单元电路设计与数据分析 文氏桥正弦波震荡电路 LM386组成的功率放大电路 3 确认理论参数 四电路仿真............................................................................. (13)

1 multisim仿真图 2 仿真结果 3 误差分析及总结 五元器件的选择......................................................................... .. (19) 1 元件分析 1 元件清单 六 PCB设计......................................................................... ..................................................错误!未定义书签。0 1 原理图设计 2 选择封装 3 生成PCB 七制作与调试......................................................................... (22) 1 电路板的热转印,焊接元器件 2 故障排除并且接通电源 3 调试过程 4 数据记录和分析 八试验中遇到的问题 (25) 1 仿真过程遇到的问题 2 制作PCB遇到的问题 3 电路调试的时候遇到的问题 九心得体会 (26) 十参考文献............................................................................. . (27)

基于51单片机的电子琴设计课程设计

目录 前言 (2) 第1章基于51单片机的电子琴设计 (3) 1.1 电子琴的设计要求 (3) 1.2 电子琴设计所用设备及软件 (3) 1.3 总体设计方案 (3) 第2章系统硬件设计 (5) 2.1 琴键控制电路 (5) 2.2 音频功放电路 (6) 2.3 时钟-复位电路 (6) 2.4 LED显示电路 (6) 2.5 整体电路 (6) 第3章电子琴系统软件设计 (7) 3.1 系统硬件接口定义 (7) 3.2 主函数 (8) 3.2.1 主函数程序 (8) 3.3 按键扫描及LED显示函数 (9) 3.3.1 键盘去抖及LED显示子程序 (10) 3.4 中断函数 (11) 3.4.1 中断程序 (12) 第4章电子琴和调试 (12) 4.1 调试工具 (12) 4.2 调试结果 (13) 4.3 电子琴设计中的问题及解决方法 (14) 第5章电子琴设计总结 (15) 参考文献 (16) 附录 (17)

前言 音乐教育是学校美育的主要途径和最重要内容,它在陶冶情操、提高素养、开发智力,特别是在培养学生创新精神和实践能力方面发挥着独特的作用。近年来,我国音乐教育在理论与实践上都取得了有目共睹的成绩,探索并形成了具有中国特色的、较为完整的音乐教育教学体系。但我国音乐教育的改革力度离素质教育发展的要求还存在一定距离。如今,电子琴作为电子时代的新产物以其独特的功能和巨大的兼容性被人们广泛的接受和推崇。而在课堂教学方面,它拥有其它乐器无法比拟的两个瞬间:瞬间多元素思维的特殊的弹奏方法;瞬间多声部(包括多音色)展示的乐队音响效果的特点。结合电子琴自身强大的功能及独特的优点来进行音乐教育的实施,这样就应该大力推广电子琴进入音乐教室,让电子琴教学在音乐教育中发挥巨大的作用。现代乐器中,电子琴是高新科技在音乐领域的一个代表,体现了人类电子技术和艺术的完美结合。电子琴自动伴奏的稳定性、准确性,以及鲜明的强弱规律、随人设置的速度要求,都更便于人们由易到难、深入浅出的准确掌握歌曲节奏和乐曲风格,对其节奏的稳定性和准确性训练能起到非常大的作用。电子琴所包含的巨量的音乐信息和强大的音乐表现力可以帮助音乐教学更好地贯彻和落实素质教育,更有效地提高人们的音乐素质和能力。目前,市场上的电子琴可谓琳琅满目,功能也是越来越完备。以单片机作为主控核心,设计并制作的电子琴系统运行稳定,其优点是硬件电路简单、软件功能完善、控制系统可靠、性价比较高等,具有一定的实用与参考价值。这就为电子琴的普及提供了方便。 二、电子琴设计要求本设计主要是用AT89C51单片机为核心控制元件,设计一台电子琴。以单片机作为主控核心,与键盘、扬声器等模块组成核心主控制模块,在主控模块上设有7个按键和1个复位按键。本系统主要是完成2大功能:音乐自动播放、电子琴弹奏。关于声音的处理,使用单片机C语言,利用定时器来控制频率,而每个音符的符号只是存在自定义的表中。

FPGA课程设计报告--简易电子琴的设计[1].doc

西安邮电大学 FPGA课程设计报告 题目:简易电子琴设计及FPGA功能验证 院系: 专业班级: 学生姓名: XX 导师姓名: XX 起止时间: 2012、6、18至2012、6、29

一、课程设计任务: 本设计一个简易电子琴,具体功能如下: 1、具有手动弹奏和自动播放功能; 2、以按键或开关作为电子琴的琴键,输出7个音节的音阶; 3、可以自动播放曲目至少两首。 二、课程设计目的: 1、培养综合运用知识和独立开展实践创新的能力; 2、深入学习Verilog HDL,了解其编程环境; 3、学会运用Modelsim和Quartus II等编程仿真软件; 4、将硬件语言编程与硬件实物功能演示相结合,加深理解Verilog HDL的学习; 三、使用环境: 1、软件:Modelsim和Quartus II等编程仿真软件; 2、硬件:FPGA开发板。 四、课程设计详细方案及功能验证: 1、总体实现方案: 1、简易电子琴的设计通过软硬件结合实现,硬件系统包括主控器芯片、9个按键、LED、蜂鸣器等,软件资源包括编写Verilog HDL程序的应用软件Modelsim和仿真软件Quartus II。电子琴有按键代替琴键的弹奏功能和自动播放功能。 2、整个程序总共分5个模块:主模块,按键模块,曲目1模块,曲目2模块,曲目3模块。 整个方案总共用了9个按键(key1~key9),按键key1~key7作为琴键,通过这七个按键键入不同的音阶。主模块中key8、key9两个按键用于选择是自动播放还是弹奏曲目,令mm=(key8、key9),用mm值的不同选择调用不同模块。如果mm=00,则程序调用按键模块;如果mm=01,则调用曲目1模块,播放曲目1;如果mm=10,则调用曲目2模块,播放曲目2;如果mm11,则调用曲目3模块,播放曲目3。 本次设计的框图:

单片机电子琴单片机课程设计

郑州科技学院 单片机课程设计 题目:基于51单片的声光电子琴设计 学生姓名:苏梦强 专业班级:电子科学与技术 学号:201131074 院系:电气工程学院 指导教师:饶美丽 完成时间:2015年1月9日 目录 一、设计任务与要求............ 错误!未定义书签。 1.1 设计任务 0 1.2 设计要求 0 1.3 设计意义 0 二、方案总体设计 (1) 2.1 方案对比 (1) 2.2总体设计 (3) 2.3 总体方案工作原理 (3)

三、软件设计 (4) 3.1 系统流程 (4) 3.2延时源代码 (5) 3.3 发音源代码 (5) 3.3单个按键源代码 (5) 3.4所有程序代码 (6) 四、系统仿真与调试........... 错误!未定义书签。 4.1 仿真软件简介 (8) 4.2软件调试 (9)

4.3 使用说明 (10) 五、设计总结 (10) 附录1:总体电路原理图 (12) 附录2:元器件清单 (14)

一、设计任务与要求 1.1 设计任务 实现电子琴发声控制系统;要求电路实现如下功能: 利用蜂鸣器作为发声部件,两个数码管作为显示部件,设置10个按键,实现高音、中音、低音的1、2、3、4、5、6、7的发音。并在存储一首歌曲的内容,可以实现自动播放。 说明:单片机的工作时钟频率为11.0592MHz。 1.2 设计要求 设计一个带有复位电路,晶振时钟,能显示音调字符的8键电子琴。 1.3 设计意义 该设计具有以下优点: 1)可以方便得知播放的音符和音调; 2)比传统电子琴功能更完善; 3)制作简单,成本低

二、方案总体设计 本次课程设计的课题是基于51单片机的电子琴的设计,所要达到的要求如下: 1)利用蜂鸣器作为发声部件。 2)一个数码管作为显示部件。 3)设置8个按键,实现高音、中音、低音的1、2、3、4、5、6、7、8的发音。 本次设计主要是要通过软硬件的配合实现电子琴的上述功能,操作人员可以通过按下键盘上任意一个键来发出相应的音符。 2.1 方案对比 AT89C51具有高速度、低电压、低功耗、且可靠性和成本都比较低的特点。因此本次课程设计采用AT89C51单片机作为整个电路核心控制器件。对于本控制系统使用一片AT89C51系列的单片机,不需要外扩展存储器,就能实现显示、预制状态、动态调节的功能,因而整体结构简单。 设计电路时运用89C51系列单片机的接口来实现各种输入、输出功能。P2.7待定部分口用作输出口,向发声电路输出信号;P1口和P0口共同实现一个键盘的功能。 方案一:采用单个的逻辑器件组合 我们知道计数器8253可以产生任意频率的方波频率信号,因此,我们只要把一首歌曲的音阶对应频率与计数器的频率对应起来就可通过计数器产生音乐了。根据本实验要求,采用8279将键扫描得到的键值通过查表得到相应的8253的频率值,将从

相关文档
相关文档 最新文档