八音盒设计课程设计说明书.docx

上传人:b****6 文档编号:2774884 上传时间:2022-11-15 格式:DOCX 页数:41 大小:630.06KB
下载 相关 举报
八音盒设计课程设计说明书.docx_第1页
第1页 / 共41页
八音盒设计课程设计说明书.docx_第2页
第2页 / 共41页
八音盒设计课程设计说明书.docx_第3页
第3页 / 共41页
八音盒设计课程设计说明书.docx_第4页
第4页 / 共41页
八音盒设计课程设计说明书.docx_第5页
第5页 / 共41页
点击查看更多>>
下载资源
资源描述

八音盒设计课程设计说明书.docx

《八音盒设计课程设计说明书.docx》由会员分享,可在线阅读,更多相关《八音盒设计课程设计说明书.docx(41页珍藏版)》请在冰豆网上搜索。

八音盒设计课程设计说明书.docx

八音盒设计课程设计说明书

1概述

设计一个八音盒,以扬声器作为发声装置,用16个LED小灯作为显示装置,以4x4键盘作为功能按键,八音盒中预存4首不同节拍的乐曲,用户可以选择播放模式。

播放时在单色LED显示器上显示出所播曲目的编号和曲目名称,16个小灯随着音乐节拍变化而变化。

1.1组员分工

张磊:

软件编程

于海彬:

软件编程,显示模块

彭彬:

曲目乐谱编码,曲目播放模块以及实验报告

代涛:

硬件焊接,以及实验报告

1.2操作说明

键1:

播放曲目1

键2:

播放曲目2

键3:

播放曲目3

键4:

播放曲目4

键0:

暂停/恢复播放

键5:

终止播放

键6:

随机播放

2设计方案

2.2系统功能

播放分两种模式:

随机播放和选择播放。

随机播放从4首预存曲目中随机选出一首曲目播放,选择播放模式由用户指定要播放的曲目。

播放时可以暂停播放或终止播放。

按下暂停/恢复键可暂停或恢复播放,按下终止键可以终止播放。

播放时在单色LED显示器上显示出所播曲目的编号和曲目名称。

播放时16个小灯随着音乐节拍变化而变化,小灯的具体亮灭模式自行设定。

2.2设计思路

首先确定4x4键盘的扫描程序,然后编写发声程序,将歌曲录入尝试播放,确定各按键功能,编写数码管程序显示歌曲名称,利用寄存器外拓接口,控制小灯随频率变化亮灭。

2.3键盘的识别

键盘的确定功能,就是判断键盘中的那一个键按下,确定所在行列位置。

通常采用逐行(或逐列)扫描查询识别。

具体过程是:

依次轮流是列线中的一列输出低电平,其它三位为高电平,再在相应的顺次读行输出口的电平状态,如某行为低电平,则该行与置为低电平的列线相交叉处的按键即为闭合的按键,对应的在单片机内部进行调用播放歌的序号。

按键去抖动,通常采用软件延时的方法:

在第一次检测到有键按下时,执行一段延时10ms的子程序后,再确认电平是否仍保持闭合状态电平,如果保持闭合状态电平,则确认真正有键按下,进行相应处理工作,消除了抖动的影响。

2.4音乐盒显示部分

七段LED数码管构成“日”字形,还有一只发光二极管作为小数点。

因此,这种七段数码管又可称为八段数码管。

通过8个发光段的不同组合,可以显示0—9和A—F等十六个数字字母,从而可以实现十六进制整数和小数的显示。

LED数码管显示器可以分为共阴极和共阳极两种接法。

(1)共阴极结构:

如果所有的发光二极管的阴极接在一起,称之为共阴极结构,则数码管显示段输入高电平有效,当某段输入高电平该段便发光;使用时管子的上下端正中间的两个或者一个(内部公共端已经接在一起)接线端接低电平,其它的每段显示如上图所示,每段数码管都要加一个限流电阻为510欧。

(2)共阳极结构:

如果所有的发光二极管的阳极接在一起,称之为共阳极结构,则数码管显示段输入低电平有效,当某段输入低电平该段便发光;使用时管子的上下端正中间的两个或者一个(内部公共端已经接在一起)接线端接高电平,其它的每段显示如上图所示每一段数码管同理也要加一个限流510欧的电阻。

需要显示时送入用不同电平组合代表的数据至数码管。

这种装入数码管中显示字形的数据称为字形码,又称段选码。

显示字符0—9和A—F与显示段选码的关系如下表所示。

通常显示段选码存放在程序存储器中的固定区域中,构成显示段选码表,当要显示某字符时,通过查表指令获取该字符所对应的段选码。

段选码表

显示字符

共阴极段码

共阳极段码

显示字符

共阴极段码

共阳极断码

0

3FH

C0H

8

7FH

80H

1

06H

F9H

9

6FH

90H

2

5BH

A4H

A

77H

88H

3

4FH

B0H

B

7CH

83H

4

66H

99H

G

39H

C6H

5

6DH

92H

D

5EH

A1H

6

7DH

82H

E

79H

86H

7

07H

F8H

F

71H

8EH

熄灭

00H

FFH

2.5硬件电路图

8254芯片:

8254芯片共有六种工作方式,分别对应与六种不同的用途。

2、方式0:

计数到0结束输出正跃变信号方式。

2、方式1:

硬件可重触发单稳方式。

3、方式2:

频率发生器方式。

4、方式3:

方波发生器。

5、方式4:

软件触发选通方式。

6、方式5:

硬件触发选通方式。

8255芯片:

8255有3个通道A、B、C与外设连接,每个通道又有8根线与外设连接,所以8255可以用24根线与外设连接,若进行开关量控制,则8255可同时控制24路开关。

各通道的引脚编号如下:

1、A口:

编号为PA0~PA7,用于8255向外设输入输出8位并行数据。

2、B口:

编号为PB0~PB7,用于8255向外设输入输出8位并行数据。

3、C口:

编号为PC0~PC7,用于8255向外设输入输出8位并行数据,当8255工作于应答I/O方式时,C口用于应答信号的通信。

4x4键盘:

 

扬声器模块:

74ls273:

3系统设计

3.1曲目编码

一般说来,单片机演奏音乐基本都是单音频率,它不包含相应幅度的谐波频率,也就是说不能像电子琴那样能奏出多种音色的声音。

因此单片机奏乐只需弄清楚两个概念即可,也就是“音调”和节拍表示一个音符唱多长的时间。

3.1.1音调的确定

不同音高的乐音是用C、D、E、F、G、A、B来表示,这7个字母就是音乐的音名,它们一般依次唱成DO、RE、MI、FA、SO、LA、SI,即唱成简谱的1、2、3、4、5、6、7,相当于汉字“多来米发梭拉西”的读音,这是唱曲时乐音的发音,所以叫“音调”,即Tone。

把C、D、E、F、G、A、B这一组音的距离分成12个等份,每一个等份叫一个“半音”。

两个音之间的距离有两个“半音”,就叫“全音”。

在钢琴等键盘乐器上,C–D、D–E、F–G、G–A、A–B两音之间隔着一个黑键,他们之间的距离就是全音;E–F、B–C两音之间没有黑键相隔,它们之间的距离就是半音。

通常唱成1、2、3、4、5、6、7的音叫自然音,那些在它们的左上角加上﹟号或者b号的叫变化音。

﹟叫升记号,表示把音在原来的基础上升高半音,b叫降记音,表示在原来的基础上降低半音。

音符与频率的对应关系表:

音符

1(低)

2(低)

3(低)

4(低)

5(低)

6(低)

7(低)

频率

131

147

165

175

196

220

274

音符

1(中)

2(中)

3(中)

4(中)

5(中)

6(中)

7(中)

1(高)

频率

262

294

330

349

392

440

494

523

3.1.2节拍的产生

节拍指强拍和弱拍的组合规律,具体是指在乐谱中每一小节的音符总长度,常见的1/4,2/4,3/4,4/4,3/8,6/8,7/8,9/8,12/8拍等等,每小节的长度是固定的。

一首乐曲的节拍是作曲时就固定的,不会改变。

一首乐曲可以是由若干种节拍相结合组成的。

音乐中的音符除了有高低之分外,当然还要表示长短之分。

这里引用一个基础的音乐术语----拍子。

拍子是表示音符长短的重要概念。

 

表示音乐的长短需要有一个相对固定的时间概念。

简谱里将音符分为全音符、二分音符、四分音符、十六分音符、三十二分音符等。

在这几个音符里面最重要的是四分音符,它是一个基本参照度量长度,即四分音符为一拍。

这里一拍的概念是一个相对时间度量单位。

一拍的长度没有限制,可以是1秒也可以市2秒或半秒。

假如一拍是一秒的长度,那么二拍就是两秒;一拍定为半秒的话,两拍就是一秒的长度。

一旦这个基础的一拍定下来,那么比一拍长或短的符号就相对容易了。

 

 用一条横线“—”在四分音符的右面或下面来标注,以此来定义该音符的长短。

下面列出了常用音符和它们的长度标记:

音符名称

写 法

时 值

全音符

5 — — —

四拍

二分音符

5 —

二拍

四分音符

一拍

八分音符

5

半拍

十六分音符

5

四分之一拍

三十二分音符

5

八分之一拍

横线有标注在音符后面的,也有记在音符下面的,横线标记的位置不同,被标记的音符的时值也不同。

从表中可以发现一个规律,就是:

要使音符时值延长,在四分音符右边加横线“—”,这时的横线叫延时线、延时线越多,音持续的时间(时值)越长。

相反,音符下面的横线越多,则该音符时间越短。

3.2程序模块流程图

3.2.1主程序

随机播放从4首预存曲目中随机选出一首曲目播放,选择播放模式由用户指定要播放的曲目。

播放时可以暂停播放或终止播放。

按下暂停/恢复键可暂停或恢复播放,按下终止键可以终止播放。

播放时在单色LED显示器上显示出所播曲目的编号和曲目名称。

3.2.2随机数模块

赋值一个标志变量,设定一个让其加一的循环程序,加到五重置为一,用以产生一到四的随机数。

 

随机数流程图:

3.2.3扫描键盘

将8255A的C口高四位设为输入连接行信号,低四位设为输出,由于本设计8个按键足够,所以仅C0,C1接收第一、二列信号。

扫描时先将第一列输入低电平,扫描行信号是否有低电平判断键是否按下,再将第二列输入低电平,判断第二列按键。

形成键特征值,去抖动,根据键特征值判断程序的跳转。

扫描键盘流程图:

3.2.4播放模块

在扫描键盘之后呢,则根据按键执行播放程序,随机播放或者选择播放都根据按键确定。

随机播放流程图:

 

选择播放流程图:

 

播放曲目流程图:

3.2.5显示模块

在播放的同时,用LED显示播放曲目的编号和名称。

具体实现是先给LED送位选,然后指针查表,再送段选,指针移位,这样就能实现了。

显示模块流程图:

3.3硬件连线

●第五片8255芯片接线:

C口高四位接P3~P0,低二位接Q1~Q0,其中C口低四位的前两位用于接扬声器(PC3,PC2)

●74ls273接口:

两片都用B口作为输入PA7为接左边小灯273的CP的接口;PA6为接右边小灯273的PC口WR接口都接高电平(+5V电源)

4总结

本次课程设计我们小组经过共同努力终于顺利完成了设计要求,我们成功地设计了一简单音乐播放器,实现了通过按键播放多首音乐,数码管显示播放歌曲的信息,小灯随着美妙的乐曲而闪烁,效果良好。

硬件设计和软件设计都符合设计要求,调试结果符合任务要求,达到了预期的目标。

通过这次课程设计我们都学到了许多东西,更加明白团结、合作的重要意义,这对即将走上社会的我们来说是最好的收获。

温故而知新,可以为师矣!

知识需要温习,这次的课程设计对我们来说是检验更是提高,我们相信我们在以后的学习生活中会做的更好。

参考文献

[1]、黄勤,计算机硬件技术基础[M],重庆大学出版社,2002年9月

[2]、黄勤,计算机硬件技术基础实验教程[M],重庆大学出版社,2002年3月

 

附录一:

1程序清单

.486

;第五片8255芯片端口地址,接线:

C口高四位接P3~P0,低四位接Q3~Q0,其中C口第四位的前两位用于接扬声器(PC3,PC2)

PORTAEQU300H

PORTBEQU304H

PORTCEQU308H

CTRLEQU30CH

TIME2EQU348H

CTRL1EQU34CH

;;;;;8个按键特征值;;;;;

K0EQU0EEH;暂停与恢复

K1EQU0EDH;

K2EQU0EBH

K3EQU0E7H

K4EQU0DEH

K5EQU0DDH;终止按键

K6EQU0DBH

K7EQU0D7H

CODESEGMENTUSE16

ASSUMECS:

CODE

ORG1000H

;;;;;;

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

当前位置:首页 > 工作范文 > 行政公文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1