八音盒设计课程设计说明书.docx
- 文档编号:2774884
- 上传时间:2022-11-15
- 格式:DOCX
- 页数:41
- 大小:630.06KB
八音盒设计课程设计说明书.docx
《八音盒设计课程设计说明书.docx》由会员分享,可在线阅读,更多相关《八音盒设计课程设计说明书.docx(41页珍藏版)》请在冰豆网上搜索。
八音盒设计课程设计说明书
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
四分之一拍
三十二分音符
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
;;;;;;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 八音盒 设计 课程设计 说明书