当前位置:文档之家› 音乐演奏程序设计

音乐演奏程序设计

音乐演奏程序设计
音乐演奏程序设计

微机原理及接口技术

课程设计

题目音乐演奏小程序

学院自动化学院

专业电气工程及其自动化班级

姓名

指导教师

2014 年12 月28 日

课程设计任务书

学生姓名:专业班级:电气

指导教师:工作单位:自动化学院

题目: 音乐演奏小程序

初始条件:

音乐程序,按大写字母“A”,奏一首歌曲;按大写字母“B”;奏另一首歌曲,曲目自选。按Q退出程序。

要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)

(1)设计任务及要求分析

(2)方案比较及认证说明

(3)系统原理阐述

(4)硬件设计课题需要说明:硬件原理,电路图,采用器件的功能说明

(5)软件设计课题需要说明:软件思想,流程图,源程序及程序注释

(6)调试记录及结果分析

(7)总结

(8)参考资料

(9)附录:芯片资料或程序清单,软件演示屏幕拷贝图或硬件实物图

目录

音乐演奏小程序 (1)

1 总体要求与设计原理 (1)

1.1设计要求 (1)

1.2设计原理 (1)

2 方案设计 (1)

2.1 方案一 (2)

2.2方案二 (2)

2.3 方案三 (2)

2.4 方案选择 (2)

3 硬件电路 (2)

4 软件设计 (3)

4.1 音乐选择模块 (3)

4.2 频率产生模块 (3)

4.3 控制音符的演奏时间 (4)

4.4 音乐乐谱编程 (5)

4.5屏幕显示设计 (7)

4.6 程序流程图 (9)

5 程序调试及运行结果 (10)

6 小结与体会 (12)

参考文献 (13)

附录1 程序源代码 (14)

附录2 芯片资料 (18)

音乐演奏小程序

1 总体要求与设计原理

1.1设计要求

本文主要编写一段音乐程序,该程序可以进行如下操作:按大写字母“A”,奏一首歌曲;按大写字母“B”;奏另一首歌曲,曲目自选,可重复操作。按Q退出程序。

1.2设计原理

在本次课程设计中大家利用课上所学的各种知识,对自己的课程设计题目进行设计。我所要设计的题目是音乐程序设计。看到大多数同学选择了8253定时器,为了与同学区分开来,我在设计的过程选择利用计数器/定时器8254芯片和可编程并行接口8255A芯片,完成2个开关选择歌曲,能用扬声器播放歌曲。

首先我们利用定时器产生各种频率的声音,如“DO”“RE”“ME”

然后将各个单音连接起来就组成了一首简单的曲子或者旋律,旋律及拍数可以按音乐简谱而定。

对8255芯片PA0和PA6口的置0和1来选择歌曲。其次实现唱歌功能即实现歌曲的节拍通过调用延时子程序控制音符发音的长短,实现连续发声把[SI]是否为0作为循环的条件在每一次扬声器发出一个相应音符之后做无条件转移,从而使扬声器连续发声。

2 方案设计

音乐的实现主要是对乐谱中的单音符按照一定的音符频率表转化为计数器

的计数频率以及喇叭发声的控制时间,通过计数产生相应的控制动作。由此可以有三种方案比较和选择。

2.1 方案一

音乐程序设计可以实现至少两首歌的可选择播放。对于歌曲的播放我们采用的是计数器/定时器8254芯片,而对于选择哪首歌播放则是利用可编程并行接口8255A芯片来实现的。基于8254定时计数接口芯片的工作原理,本次课设实现了音乐演奏系统程序设计。当运行程序时,扬声器便发出优美的音乐。首先要解决发声并发出相应音符声音的问题,由8254计数器0在初始化时用来产生一定频率的方波来使扬声器发声,再根据不同音符对应的频率写入计数初值发出相应的音符声。对8255芯片PA0和PA1口的置0和1来控制扬声器的开关。其次实现唱歌功能即实现歌曲的节拍通过调用延时子程序控制音符发音的长短,实现连续发声把[SI]是否为0作为循环的条件在每一次扬声器发出一个相应音符之后做无条件转移,从而使扬声器连续发声。

2.2方案二

通过编程使用软件来实现计数和喇叭发声的时间设置,控制8255A并行I/O 接口驱动喇叭发声。CPU每执行一条指令需要耗费一定的时间,这样可以通过循环的方式设置好循环次数,实现软件计数,然后输出相应的高低电平,驱动喇叭发出对应频率和节拍的声音。

2.3 方案三

利用硬件实现频率计数和延时时间的控制,利用8253-5定时/计数器芯片和8255A并行I/O接口芯片。使8253的一个通道工作在“方波发生器”模式,实

端口实现发声时间的计数控制。这样可以精现对频率的计数;利用8255A的PB

3

确的控制时间,减少CPU的开支。

2.4 方案选择

考虑到我们微机课主要学习了8255A芯片,而我通过查找资料了解到8254的工作原理,,经过再三思索后,我决定放弃选用比较熟悉的8253定时器,转而利用8254定时器和8255A实现本课设要求的功能。因此我最终选择了方案一。

3 硬件电路

硬件连接图如图3所示。

图3 电路连接图

4 软件设计

4.1 音乐选择模块

对8255芯片PA0和PA6口的置0和1来选择歌曲。其次实现唱歌功能即实现歌曲的节拍通过调用延时子程序控制音符发音的长短,实现连续发声把[SI]是否为0作为循环的条件在每一次扬声器发出一个相应音符之后做无条件转移,从而使扬声器连续发声。

4.2 频率产生模块

所有音乐都是由各个不同频率的音阶和其延续时间的长短来实现的。不同的音乐是由各个音阶按某种排列各自播放一定时间形成的,将各音乐音阶和其延续时间存在数据段中,然后根据不同按键值选择不同的音阶和时间表,再使用计数

器产生该音阶频率。而我们学过的有计数器可以产生各种频率,所以我们主要采用计数器8254产生各音符,用8255并行接口来控制,达到播放音乐的功能。

所有音乐都是由各个不同频率的音阶和其延续时间的长短来实现的。不同的音乐是由各个音阶按某种排列各自播放一定时间形成的,将各音乐音阶和其延续时间存在数据段中,然后根据不同按键值选择不同的音阶和时间表,再使用计数器产生该音阶频率。

CPU通过对定时器的通道0进行编程,使其I/O寄存器接收一个控制声音频率的16位计数值。以产生特殊的音响。当定时器接收的计数值为533H时,能产生896Hz的声音,因此产生其他频率的计数值就可算出来:

533Hz×896÷频率=1234DC÷频率

在送出频率计数值之前,还要给方式寄存器送一个方式值,该数决定对哪一个通道编程,采用什么模式,送入通道的计数值是一字节还是两字节,是二进制码还是BCD码。其位组合的格式如下:

产生指定频率声音的程序段如下:

PLAY: MOV DX,0FH

MOV AX , 4240H

DIV WORD PTR [SI]

MOV DX , MY8254_COUNT0

OUT DX , AL

MOV AL , AH

OUT DX , AL

4.3 控制音符的演奏时间

控制音符的演奏时间,是设计音乐程序的关键问题。最直观的方法是按照按照乐谱为每一个音符规定一个演奏时间,但是利用这种方法是调试程序特别困难。特别是在遇到一首不熟悉的歌曲时,初期很难确定每一个音符的演唱时间,而调

试程序的时候费时费力,效果很差,下面,我么么向读者推荐一个记号的方法,即没一个音符规定一个“单位时间”。

单位时间*N=音符的演唱时间

其中N为调试参数,一首歌只有一个调试参数。设计程序时用EQU伪指令定义调试参数,初值先行估计,调试时再修改它。

如何确定每个音符的演奏时间呢?我们知道,音符的节奏分为一拍、半拍、1/4拍、1/8拍等等。如果在一首歌曲中,音符演奏的时间最短为1/8拍,我们就规定一拍音符的单位时间为8,半拍音符的单位时间为4,1/4拍音符的单位时间为2,1/8拍音符的单位时间为1。以“友谊地久天长”这首歌为例,最短音符为1/8拍,我们就定义一个单位时间为8。

所示,途中第一行是一段曲谱,第3行是相应音符的单位时间,编程时,首先将一个音符的频率转化成计数初值写入2号计数器,然后将音符的单位时间乘以调试参数N,在调用延时子程序,就可以控制音符的演奏时间了,调试时,只需改变调试参数N即可。

4.4 音乐乐谱编程

当运行程序时,扬声器便发出优美的音乐。首先要解决发声并发出相应音符声音的问题,由8254计数器0在初始化时用来产生一定频率的方波来使扬声器发声,再根据不同音符对应的频率写入计数初值发出相应的音符声。音符频率表示见表1所示,编程产生各种音符的频率时可参照此表。

音符频率表1 (单位:赫兹)

音符频率表2

音符频率表3

4.5屏幕显示设计

程序运行时,屏幕显示第一界面如下:

Music Player

--------------------------------

PLEASE SELECT A MUSIC

--------------------------------

A Mother’s kiss(妈妈的吻)

B Friendship forever(友谊天长地久)

Q EXIT

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 选择A、B分别演奏相应的音乐,选择Q键结束程序运行。

当输入别的按键信号时,显示出错提示信息,界面如下:

ERROR! IMPUT A B or Q

PLEASE INPUT AGAIN!

Music Player

---------------------

PLEASE SELECT A MUSIC

A Mother’s kiss(妈妈的吻)

B Friendship forever(友谊天长地久)

Q EXIT

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

按照提示信息重新输入正确字符即可。

上述提示信息在数据段定义,类型为字节型。首先调用BIOS中断的10H号功能设置文本模式。程序如下:

MOV AH,00H ;BIOS 10子功能

MOV AL,02H ;80*25彩色文本模式

INT 10H ;BIOS 10功能调用

然后调用背景清屏子程序使文本屏幕清空,为输入信息作准备,清屏子程序如下:

CLR PROC NEAR

MOV BH,0 ;第0页

MOV BL,00011010B ;字符属性,蓝底绿字不闪烁

MOV DX,0000H ;0行0列

MOV AL,' ' ;输出的字符

MOV CX,80*25 ;循环次数

MOV AH,02H ;BIOS 10H子功能调用,置光标位置

INT 10H

MOV AH,09H ;BIOS 10H子功能调用,输出字符

INT 10H

RET

CLR ENDP

最后输出提示语字符。输出提示语字符时,需要多次使用一段相同的输出代码,将该代码定义为宏,可以避免多次重复书写相同的代码。不定义为子程序是为了避免多次调用使执行速度减慢。相应宏定义语句为:

SHOW MACRO b

LEA DX, b ;将相应字符段的偏移地址装入DX

MOV AH, 9 ;DOS 21H号中断9子功能输出多字符

INT 21H

ENDM

则相应的字符提示信息输出代码为:

CALL CLR

show INFO1

show INFO2

show INFO3

show INFO4

show MUSLIST

4.6 程序流程图

主程序流程图如图4.1。

图4.1

5 程序调试及运行结果

程序编写完成后在MF2KP集成软件环境中运行,刚开始编译时,出现了很多

的变量未定义的错误,经过反复检查,将拼写错误的地方一一改正。于是重新调试程序,终于发现时调用BIOS 10H号中断0子功能中AL设置的文本模式设置错误,其中AL的值不能大于3。修改后将AL值改为02H后,该错误得以解决。

随后发现在按照提示正确输入时,可以演奏音乐,但是当输入错误的字符时,发现屏幕并不显示错误提示语,经过多次检查和调试,发现是没有清屏程序重新设置文本显示模式,加上该段代码后程序运行正常。解决完程序中的问题后,按提示语输入相应的字符命令,可以播放相应的歌曲或是退出,输入错误时会出现错误提示语句。基本能实现要求的功能。

图5.1音乐播放A

图5.2音乐播放B

图5.3按Q退出

6 小结与体会

通过这次课程设计使我更加体会到了理论与实际相结合的重要性,只有理论知识是远远不够的,在实践中可能会遇到各种各样的问题,不多经历就无法感

受到这一点。要在实践中提高自己的动手能力和解决问题的能力,从而学以致用。

在这次课程设计中,把以前学的支离破碎的指令代码相互的功能结合起来,使它们共同组成一个具有一定功能的小程序,这样大大提高了对于汇编语言的功能的认识,同时也极大地提高了我的兴趣。

本文编写的音乐演奏程序可以满足设计要求,能够播放音乐,并且能够有屏幕显示,极大地方便了人机交互。

一周的微机原理及接口技术课程设计,音乐程序设计系统从无到有,这个过程使我感触很多,当然也获益匪浅。我们计本专业的学生对微机原理硬件知道了解太少,对其中有些具体的知识点了解很肤浅,在整整一星期的实验过程中我们可以学到很多很多的的东西,不仅巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过对音乐程序设计的汇编实现,对硬件特别是8254、8255并行口的原理和实现都有了很深的了解。更加深了对汇编语言的使用.

以前接触的那些程序都是很短、很基础的,但是在课程设计中碰到的那些需要很多代码才能完成的任务。所以在编写程序之前必须有一个完整清晰的思路设计好各个模块所实现的功能。

其次,以前对于编程工具的使用还处于一知半解的状态上,但是经过一段上机的实践,对于怎么去排错、查错,怎么去看每一步的运行结果,怎么去了解每个寄存器的内容以确保程序的正确性上都有了很大程度的提高。

参考文献

[1] 王爽.《汇编语言(第2版)》.北京:清华大学出版社,2008

[2] 李伯成《微型计算机原理及应用》西安电子科技大学

[3] 微机原理及应用实验指导书

[4] 周明德《微型计算机系统原理及应用(第四版)》清华大学出版社

[5] 潘峰《微型计算机原理与汇编语言》电子工业出版社

[6] 周明德.《微型计算机系统原理及应用(第4版)》.北京:清华大学出版社,2005

[7] 陈章龙、陈泽文.《IBM-PC机软硬件接口及实验》.北京:人民邮电出版社,1993

[8] 沈美明、温冬蝉.《IBM-PC汇编语言程序设计(第2版)》.北京:清华大学出版社,2001

[9] 周佩玲、彭虎、傅中谦.《微机原理与接口技术》.北京:电子工业出版社,2005

附录1 程序源代码

IOY3 EQU 06C0H ; 端口定义

IOY1 EQU 0640H

MY8254_COUNT0 EQU IOY3+00H ;8254计数器0端口地址

MY8254_COUNT1 EQU IOY3+02H ;8254计数器1端口地址

MY8254_COUNT2 EQU IOY3+04H ;8254计数器2端口地址

MY8254_MODE EQU IOY3+06H ;8254控制寄存器端口地址

MY8255_A EQU IOY1+00H ;8255输入输出0端口地址

MY8255_B EQU IOY1+02H ;8255输入输出1端口地址

MY8255_C EQU IOY1+04H ;8255输入输出2端口地址

MY8255_MODE EQU IOY1+06H ;8255控制寄存器端口地址

STACK1 SEGMENT STACK

DW 256 DUP(?)

STACK1 ENDS

DATA SEGMENT

FREQ_LIST DW 371,495,495,495,624,556,495,556,624 ;频率表 DW 495,495,624,742,833,833,833,742,624

DW 624,495,556,495,556,624,495,416,416,371

DW 495,833,742,624,624,495,556,495,556,833

DW 742,624,624,742,833,990,742,624,624,495

DW 556,495,556,624,495,416,416,371,495,0

TIME_LIST DB 4, 6, 2, 4, 4, 6, 2, 4, 4 ;时间表 DB 6, 2, 4, 4, 12, 1, 3, 6, 2

DB 4, 4, 6, 2, 4, 4, 6, 2, 4, 4

DB 12, 4, 6, 2, 4, 4, 6, 2, 4, 4

DB 6, 2, 4, 4, 12, 4, 6, 2, 4, 4 DB 6, 2, 4, 4, 6, 2, 4, 4, 12

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~妈妈的吻

FREQ_LIST1 DW 393,330,393,330,393,330,262,294,350,330,294,393 DW 393,330,393,330,393,330,262,294,350,330,294,262

DW 294,294,350,350,330,262,393,294,350,330,294,393

DW 393,330,393,330,393,330,262,294,350,330,294,262,0 TIME_LIST1 DB 2,2,2,2,2,2,4,2,2,2,2,8

DB 2,2,2,2,2,2,4,2,2,2,2,8

DB 2,2,2,2,2,2,4,2,2,2,2,8

DB 2,2,2,2,2,2,4,2,2,2,2,8

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~友谊天长地久

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA

START: MOV AX,DATA

MOV DS,AX

MOV DX,MY8254_MODE

;ASSUME CS:CODE,DS:DATA

;初始化8254工作方式

MOV AL,36H ;定时器0、方式3

OUT DX,AL

MOV DX, MY8255_MODE ;初始化8255

MOV AL, 90H ;A口输入,B口输出

OUT DX, AL

XIE: MOV DX, MY8255_A

IN AL, DX

MOV DX, MY8255_B

OUT DX, AL

CALL DALLY

CMP AL,01H

JZ BEGIN

JMP BEGIN1

BEGIN: MOV SI,OFFSET FREQ_LIST ;装入频率表起始地址

MOV DI,OFFSET TIME_LIST ;装入时间表起始地址

JMP PLAY

BEGIN1: MOV SI,OFFSET FREQ_LIST1 ;装入频率表起始地址

MOV DI,OFFSET TIME_LIST1

PLAY: MOV DX,0FH ;输入时钟为1MHz,1M = 0F4240H MOV AX,4240H

DIV WORD PTR [SI] ;取出频率值计算计数初值,0F4240H / 输出频率

MOV DX,MY8254_COUNT0

OUT DX,AL ;装入计数初值

MOV AL,AH

OUT DX,AL

MOV DL,[DI] ;取出演奏相对时间,调用延时子程序

CALL DALLY

ADD SI,2

INC DI

CMP WORD PTR [SI],0 ;判断是否到曲末?

JE XIE

JMP PLAY

DALLY PROC ;延时子程序

D0: MOV CX,0010H

D1: MOV BX,0FF0H

D2: DEC BX

JNZ D2

LOOP D1

DEC DL

JNZ D0

RET

音乐演奏程序设计

音乐演奏 1 总体要求与分析 1.1设计要求 本文主要编写一段音乐程序,该程序可以进行如下操作:按大写字母“A”,奏一首歌曲;按大写字母“B”;奏另一首歌曲,曲目自选,可重复操作。按Q 退出程序。 1.2设计思路分析 在IBM-PC/XT机中都带有8253-5定时/计数器,IBM-PC/AT中带有8254定时/计数器,这两种芯片功能十分类似。本文通过对8253-5定时/计数器芯片的操作实现音乐演奏。该声音接口通过汇编语言对8253-5的端口直接进行操作,可以不必要过多的使用BIOS的调用和DOS的调用。 计数器芯片有3个通道,各自具有专用功能。通道0时系统的始终节拍计时器,通道1专用于产生动态RAM的定时刷新信号,通道2用来控制计算机的扬声器的声音频率。该音乐演奏主要用到通道2的功能,使通道2工作在“方波发生器”方式,产生相应频率的音调送至喇叭驱动电路,使喇叭发出不同音调的声音。使用8255A的PB0控制通道2的计数,PB1控制通道2的输出对扬声器产生控制的时间。 人机交互包括屏幕显示提示语以及人工输入相应参数,主要应用到BIOS的10H号中断调用以及DOS的21H号中断调用。BIOS的10H号中断调用用于显示器驱动,设置显示模式和光标位置;DOS的21H号中断调用用于单字符输入以及多字符输出显示。 音乐演奏实现的一个主要步骤是乐谱编程。通过相应的频率表将乐谱中对应的音符转化为计数器的计数初值,节奏通过延时程序转化为对喇叭发音时间的控制,从而实现音符和节拍的数字化。

2 方案设计 音乐的实现主要是对乐谱中的单音符按照一定的音符频率表转化为计数器的计数频率以及喇叭发声的控制时间,通过计数产生相应的控制动作。由此可以有两种方案比较和选择。 2.1 方案一 通过编程使用软件来实现计数和喇叭发声的时间设置,控制8255A并行I/O 接口驱动喇叭发声。CPU每执行一条指令需要耗费一定的时间,这样可以通过循环的方式设置好循环次数,实现软件计数,然后输出相应的高低电平,驱动喇叭发出对应频率和节拍的声音。 利用软件编程方式实现该功能的优点是可以减少硬件开支,便于调试和问题的查找。缺点是CPU开支太大,利用率不高,而且时间不够精准。 2.2 方案二 利用硬件实现频率计数和延时时间的控制,利用8253-5定时/计数器芯片和8255A并行I/O接口芯片。使8253的一个通道工作在“方波发生器”模式,实现对频率的计数;利用8255A的PB3端口实现发声时间的计数控制。这样可以精确的控制时间,减少CPU的开支。 该方案的优点是控制精度提高,同时也减少CPU的开支。缺点是硬件开销比较多。 2.3 方案选择 本文要实现的功能所需要的硬件电路并不是太复杂,一般的IBM-PC/XT/AT 机家族都带有相应的硬件电路。在提高精度与简易程度的比较下,决定采用方案二,这样可以大大提高时间控制精度,同时减少软件程序的复杂度。

乐曲硬件演奏电路设计

湖南人文科技学院 课程设计报告 课程名称:VHDL语言与EDA课程设计 设计题目:乐曲硬件演奏电路设计 系别:通信与控制工程系 专业:电子信息工程 班级:08电信二班 学生姓名: 王世伟朱彩虹 学号:08409249 08409231 起止日期:2011年06月13日~20年06月26日 指导教师:姚毅成继中

教研室主任:侯海良

摘要 乐曲演奏广泛用于自动答录装置、手机铃声、集团电话、及智能仪器仪表设备。实现方法有许多种,随着FPGA集成度的提高,价格下降,EDA设计工具更新换代,功能日益普及与流行,使这种方案的应用越来越多。如今的数字逻辑设计者面临日益缩短的上市时间的压力,不得不进行上万门的设计,同时设计者不允许以牺牲硅的效率达到保持结构的独特性。使用现今的EDA软件工具来应付这些问题,并不是一件简单的事情。FPGA预装了很多已构造好的参数化库单元LPM 器件。通过引入支持LPM的EDA软件工具,设计者可以设计出结构独立而且硅片的使用效率非常高的产品。 本课设在EDA开发平台上利用VHDL语言设计数控分频器电路,利用数控分频的原理设计乐曲硬件演奏电路,并定制LPM-ROM存储音乐数据,以“两只老虎”乐曲为例,将音乐数据存储到LPM-ROM,就达到了以纯硬件的手段来实现乐曲的演奏效果。只要修改LPM-ROM所存储的音乐数据,将其换成其他乐曲的音乐数据,再重新定制LPM-ROM,连接到程序中就可以实现其它乐曲的演奏。 关键词:FPGA;EDA;VHDL;音乐

目录 设计要求 (1) 1、方案论证与对比 (1) 1.1方案一 (1) 1.2方案二 (1) 1.3综合对比 (1) 2 乐曲演奏电路原理 (2) 2.1 音乐演奏电路原理 (2) 2.2 音符频率的获得 (2) 2.3 乐曲节奏的控制 (3) 2.4 乐谱发生器 (3) 2.5 乐曲演奏电路原理框图 (3) 3音乐硬件演奏电路的设计实现 (4) 3.1 地址发生器模块 (4) 3.1.1 地址发生器的VHDL设计 (4) 3.2 分频预置数模块 (6) 3.2.1 分频预置数模块的VHDL设计 (6) 3.3 数控分频模块 (8) 3.3.1 数控分频模块的VHDL设计 (8) 3.4 music模块 (10) 3.4.1 音符数据文件 (10) 3.5.2 LPM-ROM定制 (12) 3.6 顶层文件 (14) 4 时序仿真及下载调试过程 (16) 4.1 时序仿真图 (16) 4.2 引脚锁定以及下载 (17) 4.3调试过程及结果 (17) 5扩大乐曲硬件演奏电路的通用性 (18) 5.1 完善分频预置数模块的功能 (18) 设计总结与心得体会 (21) 参考文献 (22)

音乐特色课程设置

音乐特色课程设置 一、音乐艺术特色课程设置的必要性 1、培养音乐艺术人才,为高等艺术院校输送人才,也为学生拓宽考试渠道,开辟升学路子的需要。高等院校招收音乐艺术专业的特长学生,必须加试考查音乐艺术特长。音乐特色课程的设置,保证了音乐艺术教育的实施,使之严格按照要求科学地进行训练,提高音乐素质,提高专业水平。 2、建设音乐艺术特色学校的需要。建设音乐特色学校,培养特长生,实现特色教育,就必须落实到课程上。有了设置科学的课程,才能保证特色学校的顺利有效的进行。 3、弘扬民族文化,推广民歌艺术的需要。 音乐艺术特色课程的设置,确保民歌艺术特色教育的实施,为培养音乐艺术人才提供保证,为弘扬民族文化做贡献。早在2005年国务院办公厅就明确指出:“通过社会教育和学校教育,使非物质文化遗产代表作的传承后继有人”,由此看出,国家对学校教育提出了明确要求。有条件的学校创建音乐艺术特色学校,设置音乐艺术特色课程,将音乐特色课程设置纳入教学科研工作中、就能在教学和科研体系中建立音乐学习、传播、研究和创新的架构与平台,发挥学校教学、科研的职能和优势就能积极实施民族优秀文化的广泛传承、深入研究和不断创新。 二、音乐特色课程的资源开发利用。 (一)、结合学校特色,大力开发校园音乐资源。 校本课程开发与创建特色学校是相辅相成的。学校要真正办出自己的特色,就必须在课程开发上下功夫,要有体现音乐特色的课程设置。音乐校本课程的开发实际上就是在构建学校自身的特色,而课程的编制反过来也应根据学校自己的性质、需要、特点和条件进行。开展特色教育,要遵循“合格+特色”的学生培养模式。合格就是按照高考要求,培养高等院校音乐艺术类招生合格的人才。特色,就是要培养学生在音乐专业中有特长,有一门强项。根据音乐高考纲要,开设相应的试唱课、器乐课、乐理课,利用校园橱窗、黑板报、广播、校园电视,展示音乐专业班学生的演出,举行音乐会,开展各种音乐比赛,如校园歌手大奖赛、革命歌曲大奖赛。促进校园音乐资源的利用,培养学生音乐专业特长。 (二)、结合学生实际,挖掘学生自身资源 学生的学习渠道是多方面的,他们联系着一个庞大的社会资源。学生的学习经验来自他们的家庭生活,来自他们与其他孩子的游戏与交往,来自他们与社区环境、及文化的体验与影响,他们往往会把这些渠道获得的知识带到课堂上,通过合作学习把教材、教师、学生三方面的资源整合在一起,增大教育的信息量,丰富教学容。这些经验与经历,都是教学中宝贵的资源。教师应针对不同特点,善于挖掘学生的智慧和学习性,为教学所用,使教学更生动更有效的开展。学生家庭中往往也有不少音乐课堂教学中可利用的资源。另外,学生的生活是丰富多彩的,音乐是情感的艺术,音乐对人的影响力是巨大的,它能直接而强烈的影响人的情感,触及人心灵深处。音乐特色课程课程可以结合学生的实际生活进行教育。(三)、结合地方特色,收集当地民间娱乐活动民歌民谣等资源 校外课程资源是学校课程资源开发的重要组成部分。优秀的特色的地方资源作为开发校本课程的素材,既可以激发学生对家乡的自豪感,也能促进学生学习的主动性、创造性。1.民歌民谣 《十送红军》《采红菱》《回娘家》等这些民歌歌谣都是非常喜爱的歌曲,当地也有许多群众喜爱的,广泛流传的民歌民谣,教师可选取比较短小、精悍、易唱易记、积极向上的民歌编辑进教材,学生学起来一定非常有兴趣。 2.民间娱乐活动

乐器演奏电路设计-vhdl

重庆交通大学计算机与信息学院设计性实验报告 班级:通信工程专业 07 级 2 班 姓名(学号): 实验项目名称:乐器演奏电路设计 实验项目性质:设计性 实验所属课程: VHDL 实验室(中心): 指导教师:徐雯娟 实验完成时间: 2009 年 12 月 13 日

一、实验目的 1,了解普通扬声器的工作原理; 2,了解QuartusII4.1中提供了宏功能元件库mega_lpm。 3,使用LPM_ROM参数化存储模块。 二、实验内容及要求 要求能够演奏出《友谊地久天长》的曲调或可另选一段较完整的曲调。 (扩展要求:能够从数码管上显示出当前曲调的简谱和频率) 三、实验原理 1,音符的频率: 可以由上图中的U3获得,这是一个数控分频器。由其clk 端输入一具有较高频率(这里是12MHz)的信号,通过U3分频后由SPKOUT输出,U3对clk 输入信号的分频比由11位预置数Tone[10..0]决定。SPKOUT的输出频率将决定每一音符的音调,这样,分频计数器的预置值Tone[10..0]与SPKOUT 的输出频率,就有了对应关系。

2,音符的持续时间: 须根据乐曲的速度及每个音符的节拍数来确定,图中模块U2的功能首先是为U3提供决定所发音符的分频预置数,而此数在U3输入口停留的时间即为此音符的节拍值。模块U2是乐曲简谱码对应的分频预置数查表电路,其中设置了乐曲全部音符所对应的分频预置数(一共8个),每一音符的停留时间由音乐节拍和音调发生器模块U1的clk的输入频率决定(如为4Hz),这8个值的输出由对应于U2的3位输入值Index[2..0]确定。3,乐谱的存储: 在U1中设置了一个7位二进制计数器(计数最大值为65),作为音符数据ROM 的地址发生器。这个计数器的计数频率若选为4Hz,即每一计数值的停留时间为0.25秒,恰为当全音符设为1秒时,四四拍的4分音符持续时间。随着U1中的计数器按4Hz的时钟速率作加法计数时,即随地址值递增时,音符数据ROM 中的音符数据将从ROM中通过ToneIndex[2..0]端口输向U2模块,乐曲就开始连续自然地演奏起来了。 四、实验仪器、材料 1,2MHZ和4HZ的信号源 2,ACEX1K EP1K30TC144—1芯片 3,扬声器 五、方案设计(设计性实验需要,综合性实验无该项) 1,音符的产生: 音符的产生是利用数控分频器模块SPKEAR对输入的时钟信号CLK400KHZ进行分频,预置数为TONE[10..0],然后分频得出频率为CLK/2*(2048- TONE[10..0]),通过控制输入预置数TONE[10..0]来达到不同的输出频率,以达到控制扬声器发出不同的声音。 例如:当设置预置数TONE[10..0]为1538时,输出SPKEAR频率为396,为低音5。 2,频率的分频: 由于实验给定信号源为12MHZ,不满足数控分频器模块SPKEAR对输入时钟信号的要求,遂其进行30分频(PULSE30),产生0.4MHZ的时钟信号。 3,预置数的产生:

音乐演奏程序设计

课程设计任务书 学生姓名:王琨专业班级:自动化1105班 指导教师:向馗工作单位:自动化学院 题目: 音乐演奏程序设计 要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求) 1.使用汇编语言设计一个在计算机上运行的音乐演奏程序。 2.屏幕显示钢琴图像。 3.实现以下附加功能:按“D”键,加快播放速度,按“E”键,降低播放速度。 4. 按"X"鍵,退出。 5.撰写课程设计说明书。内容包括:摘要、目录、正文、参考文献、附录(程序清单)。正文部分包括:设计任务及要求、方案比较及论证、软件设计说明(软件思想,流程,源程序设计及说明等)、程序调试说明和结果分析、课程设计收获及心得体会。 时间安排: 12月30日-----12月31日查阅资料及方案设计 1月2日-----1月3日编程 1月6日调试程序 1月7日-----1月8日撰写课程设计报告 指导教师签名:年月日 系主任(或责任教师)签名:年月日

摘要 汇编语言(Assembly Language)是面向机器的程序设计语言。在汇编语言中,用助记符(Memoni)代替机器指令的操作码,用地址符号(Symbol)或标号(Label)代替指令或操作数的地址,如此就增强了程序的可读性并且降低了编写难度,象这样符号化的程序设计语言就是汇编语言,因此亦称为符号语言。使用汇编语言编写的程序,机器不能直接识别,还要由汇编程序或者叫汇编语言编译器转换成机器指令。因为用汇编语言设计的程序最终被转换成机器指令,故能够保持机器语言的一致性,直接、简捷,并能像机器指令一样访问、控制计算机的各种硬件设备,如磁盘、存储器、CPU、I/O端口等。使用汇编语言,可以访问所有能够被访问的软、硬件资源。 使用的编译软件是masm for windows ,MASM是微软公司开发的汇编开发环境,拥有可视化的开发界面,使开发人员不必再使用DOS环境进行汇编的开发,编译速度快,支持80x86汇编以及Win32asm,是Windows下开发汇编的利器。它与Windows平台的磨合程度非常好,但是在其他平台上就有所限制,使用MASM 的开发人员必须在Windows下进行开发。 关键词:汇编语言、MASM、DOS环境

乐曲硬件演奏电路设计-verilog

EDA技术及创新实践(设计报告) 题目:乐曲硬件演奏电路设计 姓名:漩涡鸣人 学院:数理与信息工程学院 专业:电子科学与技术 班级:112 学号:1886****20 指导教师:汤大智 2014年6 月

一、设计目的及要求 实验目的: 1、理解音乐演奏的原理及分频器的原理与使用。 2、了解怎样控制音调的高低变化和音长,从而完成乐曲的自动循环演奏。 3、培养自主学习、正确分析和解决问题的能力。 要求:利用分频器设计硬件乐曲演奏电路;能通过数码管显示动态效果;通过一个开关实现两首乐曲的切换;在音乐播放的同时,会有led流水灯的闪烁。 二、设计原理 乐曲演奏的原理是这样的:组成乐曲的每个音符的频率值(音调)及其持续的时间(音长)是乐曲能连续演奏所需的两个基本数据,因此只要控制输出到扬声器的激励信号频率的高低和持续的时间,就可以使扬声器发出连续的乐曲声。 图1、顶层模块图 其中,乐谱产生电路用来控制音乐的音调和音长。控制音调通过设置计数器的预置数来实现,预置不同的数值可以使计数器产生不同频率的信号,从而产生

不同的音调。控制音长是通过控制计数器预置数的停留时间来实现的,预置数停留的时间越长,则该音符演奏的时间越长。每个音符的演奏时间都是0.25s的整数倍,对于节拍较长的音符,如2分音符,在记谱时将该音名连续记录两次即可。 1、音调的控制 频率的高低决定了音调的高低。音乐的十二平均率规定:每两个8度音(如简谱中的中音1与高音1)之间的频率相差一倍。在两个8度音之间,又可分为12个半音,每两个半音的频率比为12√2。另外,音名A(简谱中的低音6)的频率为440Hz,音名B到C之间、E到F之间为半音,其余为全音[4]。由此可以计算出简谱中从低音1至高音1之间每个音名对应的频率,如表2所示: 表2简谱中的音名与频率的关系 所有不同频率的信号都是从同一个基准频率分频得到的。由于音阶频率多为非整数,而分频系数又不能为小数,故必须将计算得到的分频数四舍五入取整。若基准频率过低,则由于分频比太小,四舍五入取整后的误差较大;若基准频率

音乐程序课程设计520

微机原理课程设计设计题目:音乐演奏程序设计 学生贾高强 班级 09(秋)大专电子学号 指导教师王文珍 理工大学

课程设计任务书 学生指导教师 班级职称 一、课程设计题目 音乐演奏程序设计 二、主要设计参数及技术指标 本程序应用了BIOS中断功能的字符显示和乐曲演奏程序。并利用计算机控制发声原理,在计算机中有一个可编程时间间隔定时器,它能根据程序提供的记数值和工作模式,产生各种形状和各种频率的记数定时脉冲,提供给系统各个部分使用。该乐曲点播程序曲一个主程序和4个子程序组成。其中前三个子程序为乐曲演奏子程序,接着是发声程序和清屏子程序,最后是一个回车换行程序。 利用计算机控制发声的原理,可以编写演奏乐曲的程序。PC机上的大多数都是由主板上的8255(或8255A)可编程序外围接口芯片(PPI)管理的。PPI包括三个8位寄存器,两个用于输入功能,一个用于输出功能。输入寄存器分配的I/O端口号60H和62,输出寄存器分配的I/O端口号位61H。由PPI输出寄存器的0或1两位来控制扬声器的驱动方式 三、课程设计容及工作量 (一)设计计算说明书一份0.8-1.0万字

(二)、图纸部分 1、程序流程图 A0一 2音乐演奏程序设计电路图 A0一(选做) 四.课程设计的基本要求 能按时独立完成毕业设计规定的全部容,方案选择正确,论据充分,对设计中的主要问题分析深入,解决合理,有独立见解,能很好运用所学理论和提供的资料解决设计中的问题,能独立查阅和正确引用中外文参考资料,说明书文字通顺、清楚、选用数据论证合理、计算准确,图面整洁。 五、进程安排 课程设计进度检查表

乐曲硬件演奏电路设计

江西理工大学应用科学学院 SOPC/EDA综合课程设计报告 设计题目:硬件音乐演奏电路 设计者:徐达健 学号:08040108131 班级:测控081 指导老师:王忠锋 完成时间:2011年01月07日 设计报告综合测试总评 格式(10)内容 (40) 图表 (10) 答辩 (20) 平时 (20)

目录 一:设计原理 (3) 二:总体框图 (5) 三:选择器件 (7) 四:功能模块: (8) 1:NoteTabs模块(程序仿真图) (8) 2:ToneTaba模块(程序仿真图) (11) 3:Speakera模块(程序仿真图) (12) 五:总体设计电路图 (16) 1.顶层设计的电路原理图(Songer模块) (16) 2.Songer模块的程序 (16) 3.Songer顶层文件的仿真图形 (17) 4、锁定引脚 (17) 5、下载验证 (18) 六:结束语 (19)

七:心得体会 (20) 八:参考文献 (21) 一、设计原理 1.音乐演奏电路原理 这种频率的振荡可以用不同音符的代码所控制,从而分出不同频率的振荡,它采用编程方式将各种音符的代码预先存的计算机的内存中,利用软件和一定硬件电路配合将存放的乐曲代码有节地进行演奏,产生电子音乐。乐曲中每个音符的发生频率及其持续时间是乐曲能够连续演奏的两个关键因素。 图1.1 音乐演奏电路原理图

2.音符频率的获得 多本文中选取750KHz的基准频率。由于现有的高频时钟脉冲信号的频率为12MHz,故需先对其进行16分频,才能获得750KHz的基准频率。对基准频率分频后的输出信号是一些脉宽极窄的尖脉冲信号(占空比=1/分频系数)。为提高输出信号的驱动能力,以使扬声器有足够的功率发音,需要再通过一个分频器将原来的分频器的输出脉冲均衡为对称方波(占空比=1/2),但这时的频率将是原来的1/2。表1中各音符的分频系数就是从750KHz 的基准频率二分频得到的375KHz频率基础上计算得到的。 由于最大分频系数是1274,故分频器采用11位二进制计数器能满足要求,乐曲中的休止符,只要将分频系数设为0,即初始值=2048-1=2047,此时扬声器不会发声。3.乐曲节奏的控制 本文中的梁祝乐曲,最小的节拍为1/4拍,若将1拍的时间定为1秒,则只需要提供一个4Hz的时钟频率即可产生1/4拍的时长(0.25秒),对于其它占用时间较长的节拍(必为1/4拍的整数倍)则只需要将该音符连续输出相应的次数即可。 计数时钟信号作为输出音符快慢的控制信号,时钟快时输出节拍速度就快,演奏的速度也就快,时钟慢时输出节拍的速度就慢,演奏的速度自然降低。 4.乐谱发生器 本文将乐谱中的音符数据存储在NoteTABS中,如“梁祝”乐曲中的第一个音符为“3”,此音在逻辑中停留了4个时钟节拍,即1秒的时间,相应地,音符“3”就要在NoteTABS 中连续的四个地址上都存储。当一个4Hz的时钟来时,相应地存入NoteTABS中一个音符数据。

音乐演奏程序设计

信息与电气工程学院 电子信息工程CDIO一级项目(2013/2014学年第一学期) 题目:音乐演奏程序设计 专业班级:xxxxxxxxxxxxxxxxx 学生姓名:xxxxxxx 学号:xxxxxxxxx 指导教师:xxxxxxx 设计周数: 设计成绩: 2013年12月28日

1、项目设计目的 1.1掌握接口电路的应用和设计技术。 1.2掌握汇编语言的设计思路。 1.3掌握8086的控制流程,以及8255和8253芯片的功能。 1.4用汇编程序完成键控音乐播放器,用8253定时器来产生声音。 1.5使学生能够较全面地巩固和应用课堂中所学的基本理论和程序设计方法,能够较熟练地完成汇编语言程序的设计和调试。 2、项目设计正文 2.1设计内容 要求完成一个音乐程序,即通过按下键盘上某个按键就可以按预先设定的程序播放音乐或者终止程序。比如:按大写字母“1”,唱乐曲“沂蒙山小调”;按大写字母“2”,唱乐曲“生日快乐”按大写字母“3”,唱乐曲“棉花糖”;按"4"键,退出。并且可以重复操作。 2.2总体设计思路 在IBM-PC/XT机中都带有8253-5定时/计数器,IBM-PC/AT中带有8254定时/计数器,这两种芯片功能十分类似。本文通过对8253-5定时/计数器芯片的操作实现音乐演奏。该声音接口通过汇编语言对8253-5的端口直接进行操作,可以不必要过多的使用BIOS的调用和DOS的调用。 计数器芯片有3个通道,各自具有专用功能。通道0时系统的始终节拍计时器,通道1专用于产生动态RAM的定时刷新信号,通道2用来控制计算机的扬声器的声音频率。该音乐演奏主要用到通道2的功能,使通道2工作在“方波发生器”方式,产生相应频率的音调送至喇叭驱动电路,使喇叭发出不同音调的声 音。使用8255A的PB 0控制通道2的计数,PB 1 控制通道2的输出对扬声器产生控制的时间。 人机交互包括屏幕显示提示语以及人工输入相应参数,主要应用到BIOS的10H号中断调用以及DOS 的21H号中断调用。BIOS的10H号中断调用用于显示器驱动,设置显示模式和光标位置;DOS的21H号中断调用用于单字符输入以及多字符输出显示。 音乐演奏实现的一个主要步骤是乐谱编程。通过相应的频率表将乐谱中对应的音符转化为计数器的计数初值,节奏通过延时程序转化为对喇叭发音时间的控制,从而实现音符和节拍的数字化。 2.3流程图 2.3.1主程序流程图

电子琴实验报告乐曲硬件演奏电路设计本科论文

武夷学院实验报告 课程名称:逻辑设计与FPGA 项目名称: 乐曲硬件演奏电路设计 ______________ 姓名: 专业:微电子学 班级:14微电子 学号:04实验日期 、 实验预习部分: 1. 实验目的: 学习利用数控分频器设计硬件乐曲演奏电路。 2. 实验原理: 综合利用数控分频器、LPM ROMPLL 等单元电路设计硬件乐曲演奏电路。系统框图如图 1 所示由三个模块组成,分别为 NOTETABSTONETABASPEAKERA NOTETAB 模块(把教材图9-4中的CNT138T 和MUSIC 模块合在一起即为此模块)类似于弹 琴人的手指;TONETAB 模块类似于琴键;SPEAKER 类似于琴弦或音调发生器。 音符的频率由SPEAKER 模块(与教材图9-4中的SPKEF 模块对应)获得,这是一个数控分 频器。由其CLK 端输入一具有较高频率(12MHZ 的信号,通过SPEAKER 分频后由SPKOU 输出。 SPEAKER 对CLK 输入信号的分频比由11位预置数TONE[10..0]决定。SPKOU 的输出频率将决定 每一音符的音调,这样,分频计数器的预置值 TONE[10..0]与SPKOU 的输出频率就有了对应关 系。例如在TONETAB 模块(与教材图9-4中的F_COD 模块对应)中若取 TONE[10..0] = 1036, 图1硬件乐曲演奏电路结构框图 i.;E-Z

将发出音符“ 3”音的信号频率。

实验预习成绩(百分制)____________________ 实验指导教师签字:_________________________

课程设计-数字音乐盒

单片机课程设计-数字音乐盒 课程设计要求:1.利用I/O口产生一定频率的方波,驱动蜂鸣器,发出不同的音调,从而演奏乐曲(最少三首乐曲,每首不少于30秒)2.采用LCD显示信息 3.开机时有英文欢迎提示字符,播放时显示歌曲序号(或名称) 4.可通过功能键选择乐曲,暂停,播放。 5.选作内容:显示乐曲播放时间或剩余时间 硬件电路:本设计中用到了89C51单片机,4*4键盘,蜂鸣器,16*2 LCD,七段 显示数码管LED。 原理说明:当键盘有键按下时,判断键值,启动计数器T0,产生一定频率的脉冲,驱动蜂鸣器,放出乐曲。同时启动定时器T1,显示乐曲播放的时间,并动LCD,显示歌曲号及播放时间。也可在LED显示歌曲号。 (1)硬件电路中用P1.0~P1.7控制按键,其中P1.0~P1.3扫描行,P1.4~P1.7扫描列。 (2)用P0.0~P0.7,P2.0~P2.7控制LED,其中P0.0~P0.7控制七段码a,b,c,d,e,f,g,用P2.0~P2.7为数码管位选信号。 (3)用,P2.0~P2.2作为LCD的RS,R/W,E的控制信号。用P0.0~P0.7作为LCD的D0~D7的控制信号。 (4)用P3.7口控制蜂鸣器。 (5)电路为12MHZ晶振频率工作,起振电路中C1,C2均为30pf。

电路图: 【试验时请仔细阅读后文说明!此图仅为我站制作,并不代表原作者意愿;若您制作成功,望在网络推广。】实验控制流程图如下:

S BIT P2.0 ;定义液晶显示端口标号 RW BIT P2.1 E BIT P2.2 ;******************************************** L50MS EQU 60H L1MS EQU 61H L250MS EQU 62H SEC EQU 65H MIN EQU 64H HOU EQU 63H ;******************************************* org 0000h ljmp main ORG 000BH LJMP TT0 ORG 001BH LJMP T1INT org 1000h main: ;-----------------------;液晶初始化 MOV SP,#70H MOV P0,#01H ;清屏 CALL ENABLE MOV P0,#38H ;8位,2行显示

EDA乐曲硬件演奏电路设计 课程设计

摘要 乐曲演奏广泛用于自动答录装置、手机铃声、集团电话、及智能仪器仪表设备。实现方法有许多种,随着FPGA集成度的提高,价格下降,EDA设计工具更新换代,功能日益普及与流行,使这种方案的应用越来越多。如今的数字逻辑设计者面临日益缩短的上市时间的压力,不得不进行上万门的设计,同时设计者不允许以牺牲硅的效率达到保持结构的独特性。使用现今的EDA软件工具来应付这些问题,并不是一件简单的事情。FPGA预装了很多已构造好的参数化库单元LPM 器件。通过引入支持LPM的EDA软件工具,设计者可以设计出结构独立而且硅片的使用效率非常高的产品。 本课设在EDA开发平台上利用VHDL语言设计数控分频器电路,利用数控分频的原理设计乐曲硬件演奏电路,并定制LPM-ROM存储音乐数据,以“两只老虎”乐曲为例,将音乐数据存储到LPM-ROM,就达到了以纯硬件的手段来实现乐曲的演奏效果。只要修改LPM-ROM所存储的音乐数据,将其换成其他乐曲的音乐数据,再重新定制LPM-ROM,连接到程序中就可以实现其它乐曲的演奏。 关键词:FPGA;EDA;VHDL;音乐

目录 设计要求 (1) 1、方案论证与对比 (1) 1.1方案一 (1) 1.2方案二 (1) 1.3综合对比 (1) 2 乐曲演奏电路原理 (2) 2.1 音乐演奏电路原理 (2) 2.2 音符频率的获得 (2) 2.3 乐曲节奏的控制 (3) 2.4 乐谱发生器 (3) 2.5 乐曲演奏电路原理框图 (3) 3音乐硬件演奏电路的设计实现 (4) 3.1 地址发生器模块 (4) 3.1.1 地址发生器的VHDL设计 (4) 3.2 分频预置数模块 (6) 3.2.1 分频预置数模块的VHDL设计 (6) 3.3 数控分频模块 (8) 3.3.1 数控分频模块的VHDL设计 (8) 3.4 music模块 (10) 3.4.1 音符数据文件 (10) 3.5.2 LPM-ROM定制 (12) 3.6 顶层文件 (14) 4 时序仿真及下载调试过程 (16) 4.1 时序仿真图 (16) 4.2 引脚锁定以及下载 (17) 4.3调试过程及结果 (17) 5扩大乐曲硬件演奏电路的通用性 (18) 5.1 完善分频预置数模块的功能 (18) 设计总结与心得体会 (21) 参考文献 (22)

基于单片机音乐演奏系统设计毕业设计

摘要 如今,单片机控制音乐播放的例子不胜枚举,音乐演奏系统也广泛的应用,而利用单片机存储音乐,控制播放,弹奏乐曲更为广泛。它有功能多﹑价格优﹑外围电路简单的特点,不仅很受音乐爱好者及音乐芯片制造商的热衷,而且是一般家庭都能承受得了的经济投入范围之内。利用单片机发声键盘操作直观简单。对于初学者来说,是很容易弹奏的。本设计为基于单片机的音乐演奏系统,设计出一种不仅要使单片机可以播放音乐关键在于还有能够弹奏自己想弹奏的音乐。 本文设计出一种基于STC89C52的简单音乐演奏系统,利用单片机技术、LM386音频功放芯片、4x4键盘、SPEAKER、以及74HC595和LED数码管实现原理图设计到电路板设计开发,并用C51高级语言进行键盘识别程序设计和音频脉冲输出程序的设计。最终能够实现乐曲演奏和自动播放音乐,并且可以通过LED数码管显示音符和音调的高低。 关键词:STC89C52;音频脉冲;键盘识别;播放音乐

Abstract At present, the examples of microcontroller control music playback is too numerous to enumerate, at the same time,the music performance system is also widely used, make the best use of microcontroller which can store music, control playback, playing music.The advantage of the music performance system contains multiple functions,excellent price,simple peripheral circuit.The features of the music performance system not only popular with music lovers and music chip manufacturers, but also accepted by general family for it price.The keyboard operation is simple under the use of microcontroller.It is easy for beginner to play. The design of music performance system based on microcontroller, it can not only play music but also play the music which we want to. This paper designs a simple music system which is based on STC89C52 which make full use of microcontroller technology, the LM386 audio amplifier chip, 4x4 keyboard, SPEAKER, 74HC595 and LED digital tube.It realizes from schematic design to circuit board design and development, and use C language accomplish keyboard identify program design and audio pulse output program design. Finally the design realizes the music play and auto play music,it can display the high or low of notes and tone through the LED digital tube . Key words: STC89C52; audio pulse; keyboard; play the music

乐曲演奏电路

成绩 指导教师: 日期: 《EDA技术与VHDL语言设计》 课程设计 题目: EDA技术及其应用 ——乐曲演奏电路 姓名:陈 院系:电子信息工程学系 专业:电子信息工程 班级:电信092 学号: 910706220 指导教师:余尤好 2011年12 月

EDA 技术及其应用 ——乐曲演奏电路 陈 (电子信息工程学系 指导教师:余尤好) 摘要:利用EDA 技术对乐曲演奏电路进行仿真,设计者在EDA 软件平台上,用硬件描述语言HDL 完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作.EDA 是电子设计自动化(Electronic Design Automation )的缩写,在20世纪90年代初从计算机辅助设计(CAD )、计算机辅助制造(CAM )、计算机辅助测试(CAT )和计算机辅助工程(CAE )的概念发展而来的。 关键词:EDA 技术 仿真 乐曲演奏 一、概述 1.1设计目的及要求 本实验课程的目的,旨在通过上机实验,使学生加深理解EDA 技术的基本方法,帮助和培养学生建立利用原理图和硬件描述语言进行电路设计的基本方法和利用EDA 工具软件(MAX+plus Ⅱ或Quartus7.2)设计简单数字电子系统的能力,为以后从事有关数字电子系统方面的设计和研究开发工作打下基础。 为使演奏能循环进行,需另外设置一个时长计数器,当乐曲演奏完成时,保证能自动从头开始演奏。 1.2实验前预习 每次实验前,学生须仔细阅读本实验指导书的相关内容,明确实验目的和实验内容;明确实验原理与步骤;复习与实验内容有关的理论知识;预习仪器设备的使用方法、操作规程及注意事项。 1.3设计环境 计算机 MAX+plusII10.2 二、设计过程及原理 2.1乐曲演奏的原理 组成乐曲的每个音符的频率值(音调)及其持续的时间(音长)是乐曲能连续演奏所需的两个基本数据,因此只要控制输出到扬声器的激励信号的频率高低和持续时间,就可以使扬声器发出连续的乐曲声。首先来看怎样控制音调的高低变化。如下图1是乐曲演奏电路的原理框图,其中,乐谱产生的电路用来控制音乐的音调和音长。控制音调通过设置计数器的预置数来实现,预置不同的数值就可以使计数器产生不同频率的信号,从而产生不同的音调。控制音长是通过控制计数器预置数的停留时间来实现的,预置数停留的时间越长,则该音符演奏的时间越长。每个音符的演奏时间都是0.25s 的整数倍,对于节拍长的音符,如2分音符,在记谱时将该音名连续记录两次即可。 6MHz 扬声器 4Hz 数码管 图1 乐曲演奏电路原理框图 反馈预置计数器 2分频器 曲谱产生 音符显示

音乐盒课程设计报告

音乐盒课程设计报告 XXXXXXXXXXXXX 一、项目概述: 随着社会的发展进步,许多人性化的电子产品被用在人们的日常生活中,而单片机被广泛运用到人们长期接触的事物上,比如银行交易窗口的滚动字幕,还有各种彩灯的控制,手机、计算机、机器人等各行各业中。基于AT89C52单片机的数字音乐盒就是这类产品,它不仅给人们带来了快乐,而且提高了人们的生活质量。 二、项目要求: 基于AT89C52单片机的数字音乐盒的设计要求如下: (1)用AT89C2单片机的I/O端口产生一定频率的方波,驱动蜂鸣器,发出不同的音调,从而演奏乐曲。 (2)共有10首乐曲,每首乐曲都有相应的按键控制,并且有开关键、暂停键、上一曲以及下一曲的控制键。 (3)LCD液晶显示歌曲的序号、播放时间、开机时显示英文欢迎提示字符。 三、知识要点: (一)、AT89C2芯片资料: 1)功能说明: 1、兼容MCS51指令系统。 2、8k可反复擦写(大于1000次)Flash ROM。 3、2KB的E2PROM程序存储器,可擦写10万次 4、32个双向I/O口。 5、256x8bit内部RAM。 5、3个16位可编程定时/计数器中断。 6、时钟频率12MHz。 7、1个可编程UART串行通道。 8、2个外部中断源,共9个中断源,6个中断矢量。 9、2个读写中断口线,3级加密位。 10、低功耗空闲和掉电模式,软件设置睡眠和唤醒功能。 11、有PDIP、PQFP、TQFP及PLCC等几种封装形式,以适应不同产品的需求。 2)引脚说明:

AT89C52是51系列单片机的一个型号,它是ATMEL公司生产的。AT89C52为40 脚双列直插封装的8 位通用微处理器,采用工业标准的C51内核,在内部功能及管脚排布上与通用的8xc52 相同,其主要用于会聚调整时的功能控制。功能包括对会聚主IC 内部寄存器、数据RAM及外部接口等功能部件的初始化,会聚调整控制,会聚测试图控制,红外遥控信号IR的接收解码及与主板CPU通信等。主要管脚有:XTAL1(19 脚)和XTAL2(18 脚)为振荡器输入输出端口,外接12MHz 晶振。RST/VPd(9 脚)为复位输入端口,外接电阻电容组成的复位电路。VCC(40 脚)和VSS(20 脚)为供电端口,分别接+5V电源的正负端。P0~ P3 为可编程通用I/O 脚,其功能用途由软件定义,在本设计中,P0 端口(32~39 脚)被定义为 N1 功能控制端口,分别与N1的相应功能管脚相连接,13 脚定义为IR输入端,10 脚和11脚定义为I2C总线控制端口,分别连接N1的SDAS(18脚)和SCLS(19脚)端口,12 脚、27 脚及28 脚定义为握手信号功能端口,连接主板CPU 的相应功能端,用于当前制式的检测及会聚调整状态进入的控制功能。 本项目使用到的单片机引脚说明: 1)20、40号引脚分别接地和+5V电源。 2)18、29号引脚分别接振荡器反相放大器的输出端和振荡器反相放大器的及内部时钟发生器的输入端。 3)9号引脚接RST复位电路。 3)单片机使能信号接31号引脚,接+5V。 4)17号引脚(P3.7)接蜂鸣器电路通过定时器控制P3.7引脚上方波的占空比可以实现驱动蜂鸣器,发出不同的音调的功能。 5)P1端口控制4×4矩阵键盘,其中P1.0~P1.3 进行列扫描,P1.4~P1.7进行行扫描。6)P0端口用于接液晶显示器的数据位,由于P0端口驱动能力小,需外接电源和上拉电阻,此项目中接1K的排阻。 (二)、LCD1602资料: 1)、LCD1602介绍: 1602液晶显示器也叫1602字符型液晶它是一种专门用来显示字母、数字、符号等的点阵型液晶模块它有若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符。每位之间有一个点距的间隔,每行之间也有也有间隔,起到了字符间距和行间距的作用,正因为如此所以他不能显示图形。 LCD1602是指显示的内容为16X2,即可以显示2行,每行16个字符液晶模块(显示字符和数字)。 1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A” 。 2)1602引脚说明:

音乐校本课程设计

音乐校本课程设计.doc 简要内容 主题 奏奏跳跳唱唱我心自由飞翔 音乐校本课程设计 浦东新区洋泾实验小学 一,设计背景 1 学生呼唤丰富多彩的艺术活动 音乐在孩子的人生发展中起着极其重要的作用,我们音乐教师的一言一行,一个小小的启发、 点拨往往会影响学生的一生。你在家听音乐了吗,除了听音乐还喜欢什么音乐活动?“跳舞、指 挥、敲节奏、唱卡拉OK,我经常看CCTV音乐台节目……”,成功的课堂教学会延伸到学生的 生活中,会让学生从小养成聆听的习惯,强化生活中处处有音乐的意识,久而久之,音乐丰富 了学生的生活,激发了学生对音乐的兴趣,他们会随着老师的指点去主动关心音乐各种信息, 从而为终身喜欢音乐打下扎实的基础。 校本课程开发音乐教育音乐感学生积极作用全面提高素质教育发展纲要校本化应试教育校本课程开发实践操作新课程 音乐校本课程部分设计思路 《玻璃中的音乐》 吴子力 这是生活之音的一个拓展,题材是玻璃,利用玻璃(主要是试管和玻璃杯),至少可以用三种方式发出声音:吹奏、敲击和摩擦,各

自又有不同的发音规律。而这些规律是老师在平时的生活中总结归纳的。课堂上以老师介绍展示和学生亲身做实验相结合,三个实验中,老师展示玻璃试管排箫实验,玻璃杯的实验请两位学生代表动手做,然后在老师展示讲解完摩擦高脚玻璃杯实验之后,全体学生一起动手操作,并排练出简单的曲子,每个实验完毕学生分别总结其发音规律。最后再来对真正玻璃乐器的欣赏。 在通过了几次公开课的实践之后,该构思成为了音乐校本课程的一节,放在生活之音后面,在对培养学生的创造力和思维能力方面起到很好的教学效果。 《广东地方舞蹈(3节)》 付康、吴子力 《龙舟饭》、《快乐的佛山陶公公》都是很能体现佛山独特岭南风情的地方舞蹈,该两个舞蹈都是在06年市中小学生艺术展演上面的得奖节目。 《快乐的佛山陶公公》体现了佛山的岭南陶瓷文化,这也是一个很有地方特色的话题。舞蹈由一群小学生表演,通过可爱的面部表情,夸张的造型,活泼的动作,营造出风趣幽默、富有童真的舞蹈场景,充分模仿出木偶的动作和佛山石湾陶瓷公仔的神韵,其中更加入舞台设计、画框、摄影等现代元素,使舞蹈更加引人注目。其伴奏音乐由带有广东音乐风格的乐曲改编而成。 《龙舟饭》是一种民间传统活动,指在端午节龙舟比赛过后庆祝

相关主题
文本预览
相关文档 最新文档