ImageVerifierCode 换一换
格式:DOCX , 页数:14 ,大小:177.31KB ,
资源ID:11545118      下载积分:10 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/11545118.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(音乐发生器.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

音乐发生器.docx

1、音乐发生器目录一、需求分析 11. 1 课程设计题目 11. 2 课程设计任务和要求 11. 3 课程设计环境 11. 4 实验资源配置 1二、概要设计 22. 1 设计内容 22. 2 电路原理框图 22. 3 实验元件清单 22. 4 音乐乐曲的音高和节拍 3三、详细设计 43. 1 硬件设计 43.1.1 可编程定时/计数器8253 43.1.2可编程并行接口8255 53.1.3功放器件LM386 63.1.4实验电路搭建 73. 2 软件设计 83.2.1程序流程图 83.2.2参考程序清单 9四、测试与操作说明 124. 1测试与操作 124. 2操作 13五、课程设计总结与体会

2、13六、致谢 13一、需求分析1. 1 课程设计题目本课程设计题目为:音乐发生器设计1. 2 课程设计任务和要求 设计与制作一个音乐发生器要求:1能演奏一首完整的歌曲,同组成员歌曲不得相同;2在演奏歌曲时,同时伴有彩灯(LED)闪烁;3能演奏3首以上歌曲,并采用界面对话框形式来选择演奏的歌曲。任务:1进行音乐发生器硬件电路设计,画出电路原理图、PCB图或元器件布线图;2安装或焊接元器件;3进行音乐发生器程序设计(采用ASM或CPP语言);4系统联调,提交符合上述二种以上要求的系统设计。1. 3 课程设计环境 1.PC兼容机 2Windows 操作系统3MFID多功能微机实验平台(含PCI总线驱

3、动板)或多功能实训平台4MF2KI集成开发环境 5面包板或外设功能模块板6安装或焊接工具1. 4 实验资源配置1.电源:机内供电;2.I/O端口地址:8255A的4个端口地址分配为,PA口300H,PB301H,PC302H,控制口303H;8253的4个端口地址分配为,T0304H,T1305H,T2306H,命令口307H。4DIP地址开关全部为ON。3.元器件:外设功能模块中包含74LS245,74LS08,功放级LM386A,LED 8个,排阻1个,电阻和电容若干以及喇叭SPK。4.软件资源:MF集成开发环境与工具软件(Windows2000/98版)。二、概要设计2. 1 设计内容利

4、用开发实验平台和自制的音乐发生器模块板进行硬件连接,利用MF集成开发环境进行音乐发生器控制程序设计,调试,直至听到正常的乐曲。当控制程序执行时便开始演奏歌曲,并于屏幕上显示歌曲名称。另外歌曲演奏的过程中LED跟随闪亮,歌曲结束或者按任意键停止演奏,退出程序执行。2. 2 电路原理框图2. 3 实验元件清单序号元器件名称型号数量1芯片(1)74LS451(2)74LS1381(3)82551(4)82531(5)LM 3861(5)74ls0812发光二极管583排阻8*150n14电阻(1)10k3(2)4.7K2101/8W5电容470uf 20v 2 6嗽叭0.58n17导线1扎2. 4

5、音乐乐曲的音高和节拍音高是指每个音符发声的高低,即音符的频率。节拍是指每个音符发声的长短,即音符持续的时间,也就是延时。音符 1 2 3 4 5 6 7 1 2 3 4 5 6 7 频率 131 147 165 175 196 220 247 262 294 330 349 392 440 494 523表2.41 音符-频率对照表表2.42 音符-延时对照表音符全音符二分音符四分音符八分音符时间1760ms880ms440ms220ms倍数321684三、详细设计3. 1 硬件设计3.1.1 可编程定时/计数器8253 8253用来实现将频率信号送进喇叭SPK而发声。8253是可编程的定时/

6、计数器,它是24脚双列直插式芯片,+5V电源供电,每个芯片内部有3个独立的计数器(计数通道),每个计数器都有自己的时钟输入CLK、技术输出OUT和门控制信号GATE。通过编程选择计数器和设置工作方式,计数器既可作计数器用,也可作定时器用,故称定时/计数器,记作T/C。其引脚分布图见下图: 在实验中设置一个数组,用以存储要演奏的乐曲的频率段,程序运行时,边读取频率边计算送入8253的计数初值,接下来就可以将8253输出端OUT形成的频率段送入扬声器中来发出各种频率声音。对于延时控制,将采用软件中设置延时数组来实现。3.1.2可编程并行接口8255实验中要跟踪乐曲演奏情况,这里我们借助于8255A

7、数据口的传送数据的功能实时将LED闪亮的信息送入LED。8255A是可编程并行接口,它具有两个8位(A口和B口)和两个4位(C口高/低4位)。C口作为数据口输入输出时,是4位一起行动,A口和B口只作输入/输出的数据口用,它们是8位一起行动。它是一个单+5V电源供电,40个引脚的双列直插 式组件,其外部引线如图所示设计中采用的是8255A 芯片PB口的8位来传输的。接着连接到74LS245芯片,借助74LS245将音乐信息发至8个LED(LED上还需要接限流电阻)。3.1.3功放器件LM386在电子电路中,信号得到放大后最终是要以一定功率大小输出给负载,因此输出级往往由功率放大电路组成,它给负载

8、提供足够大的信号功率。如图3.1.31所示。本实验中的功放任务由LM386A来完成,其连接如图3.1.32所示。LM386A是一种设计用于低压应用的电路。增益内部设定为20以保持外部元件最少,但是在管脚1和管脚8之间增加外部电阻和电容可使增益提高,可高到200。3.1.4实验电路搭建图3.1.4 音乐发生器电路图按照电路图用电线连接所有元器件。布局原则:a、元器件在面包板上均匀分布;b、按从左到右的顺序依次布局输入、输出部分的元器件;c、使所用到的连接电线最少;d、地线和电源线分别接至面包板的上下边缘,电路中的接地和接电源部分皆由面包板边缘处接出。3. 2 软件设计3.2.1程序流程图3.2.

9、2参考程序清单#include /getvect(); setvect();#include /kbhit();#include /exit(0);#include /printf();#ifdef _cplusplus#define _CPPARGS .#else#define _CPPARGS#endifshort int nFreq3100= /美酒加咖啡 196,165,196,220,262,294,330,392,392,440, 330,294,262,330,294,294,330,392,330,294, 262,220,262,196,220,262,220,196,165

10、,196, 220,262,196,196,165,196,220,262,294,330, 294,262,294,330,294,330,392,440,392,330, 294,262,294,294,330,392,330,294,262,220, 196,220,262,294,330,392,294,196,330,294, 262,262,294,330,392,294,196,330,294,262,0 , /一分钱 392,523,440,523,392,330,392,294,330,392, 330,392,440,523,392,440,392,330,392,262,

11、 330,294,330,294,262,294,330,440,392,330, 392,440,392,523,440,392,330,392,294,392, 294,330,294,262,0 , /婚礼进行曲,频率为原来1/2 392,523,523, 523, 392,587,494, 523, 392,523,698, 698,659,587, 523,494,523, 587, 392,523,523, 523, 266,587,494, 523, 392,523,659, 784,659,523, 494,587,659, 523, 698,659,587, 440,440,

12、 440,494,523, 587, 698,659,587, 440,440, 440,494,523, 523,0 ;short int nTimeDelay3100= /美酒加咖啡延时,这里的8表示一拍 12,4,4,4,4,4,32,8,4,4, 4,4,4,4,32,12,4,8,8,4, 4,2,2,4,16,8,4,4,4,4, 4,4,32,8,4,4,8,8,4,2, 2,4,4,16,4,4,4,4,4,4, 4,4,32,12,4,8,8,4,4,4, 4,16,4,4,4,4,4,4,4,4, 32,4,4,4,4,4,4,4,4,32 , /一分钱 8,8,4,4,8

13、,4,4,4,4,16, 4,4,4,4,4,4,4,4,4,8, 4,16,4,4,4,4,16,4,4, 4,4,16,4,4,4,4,4,4,8, 4,4,4,4,16 , /婚礼进行曲延时 8,6,2, 12, 8,6,2, 12, 8,4,4, 8,4,2, 8,6,2, 12, 8,6,2, 12, 8,6,2, 12, 8,6,2, 8,6,2, 8,6,2, 12, 8,4,4, 8,8, 8,6,2, 12, 8,4,4, 8,8, 8,6,2, 16 ;const unsigned long CLK = 1193180; / 声明时钟频率const unsigned cha

14、r INTR = 0X1C; / 声明中断号short int *pFreq; / 声明音频指针short int *pTimeDelay; / 声明延时指针void interrupt (*oldhandler)(_CPPARGS);void interrupt handler(_CPPARGS) (*pTimeDelay) - ; / 延时点数减一 oldhandler(); / 调用原例程int Playing(void);void main(void) printf(now play music!n); printf(strike ESC to exitn); Playing();in

15、t Playing(void) oldhandler = getvect(INTR); / 保存原中断向量 setvect(INTR, handler); / 装载新中断向量 outportb( 0x303, 0x90); / 初始化8255 outportb( 0x303, 0x0c); / 置pc6=0 禁止8253通道2的gate引脚 outportb( 0x303, 0x00); / 置pc0=0 禁止74LS08 outportb( 0x307, 0xb6); / 初始化8253 /这里默认播放第一首,可以调整下标换 pFreq = nFreq0; / 取歌曲的第一个音频 pTime

16、Delay = nTimeDelay0; / 取歌曲的第一个时延 while ( *pFreq & !kbhit() outportb( 0x306, (unsigned char)(CLK / *pFreq % 256); / 先送低字节(CLK/*pFreq为要减的次数) outportb( 0x306, (unsigned char)(CLK / *pFreq / 256); / 再送高字节 / 以上置8253通道2 的计数初值 outportb( 0x303, 0x01); / outportb( 0x303, 0x0d); / 结果是扬声器打开开扬声器 while ( *pTimeD

17、elay); /等待延时到 outportb( 0x303, 0x0c); / outportb( 0x303, 0x00); / pFreq+; / 获取下一个音频 pTimeDelay+; / 获取下一个延时 / 歌曲结束或按了任意键 outportb( 0x303, 0x0c); outportb( 0x303, 0x00); / 再次关闭扬声器 setvect(INTR,oldhandler); / 恢复原中断向量 return 0;四、测试与操作说明4. 1测试与操作1.准备元器件;2.按照自己设计得到的电路图连线;3.打开软件平台MF2KI内的音乐发生器运转程序(事先设计好的);4.观察是否得到预期效果。4. 2操作1.分析算法,画流程图;2.设计编写程序;3.通过测试,观察是否成功。最后,将硬件连接和软件编程结合起来测试五、课程设计总结与体会六、致谢

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

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