欢迎来到天天文库
浏览记录
ID:55929390
大小:103.11 KB
页数:20页
时间:2020-06-15
《单片机八音盒设计.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、黑龙江工业学院单片机综合实训报告院系:电气与信息工程系专业班级:电气工程及自动化本(三)姓名:陈强学号:04991303037指导教师:魏喜雯报告成绩:1、设计目的(1)加强对单片机和汇编语言的认识,充分掌握和理解设计各部分的工作原理、设计过程、芯片选择、模块化编程等多项知识。(2)用单片机模拟实现具体应用,使个人设计系统能够真正使用。(3)把原理和实践相结合,充分发挥个人和团体的合作能力,并在实践中得到锻炼。(4)提高利用已学知识分析和解决问题的能力。(5)利用AT89C51单片机结合内部定时器设计一个八音盒,按下单键可以演奏预先设置的歌曲旋律。2、
2、设计任务要求本设计利用AT89C51单片机结合内部定时器设计一个八音盒,按下单键可以演奏预先设置的歌曲旋律。本设计可以学习AT89C51定时器程设计,按键扫描及歌曲旋律简单直觉式输入法的设计方法。其基本功能为:(1)使用数码显示管来显示目前演奏的歌曲编号;(2)具有8个按键操作来选择演奏哪一首歌曲;(3)内建8首歌曲旋律,按下单键可以演奏歌曲。3、设计方案选取与论证(1)选用Keil软件和Protues软件,选用AT89C51单片机,它有4kB内部ROM,2个定时/计数器,5个中断源。(2)通过中断实现歌曲的播放和暂停。(3)通过定时实现LED闪烁和音
3、乐频率的变化。(4)通过按键实现歌曲的选择。3.1八音盒的发音原理一段音乐需要的是两个元素,一个是音调,另一个是音符。首先要了解对应的音调,音调主要由声音的频率决定,同时也与声音强度有关。对一定强度的纯音,音调随频率的升降而升降;对一定频率的纯音、低频纯音的音调随声强增加而下降,高频纯音的音调却随强度增加而上升。另外,音符的频率有所不同。基于上面的内容,这样就对发音的原理有了一些初步的了解。音符的发音主要靠不同的音频脉冲。利用单片机的内部定时器/计数器0,使其工作在模式1,定时中断,然后控制P3.7引脚的输出音乐。只要算出某一音频的周期(1/频率),然
4、后将此周期除以2,即为半周期的时间,利用定时器计时这个半周期时间,每当计时到后就将输出脉冲的I/O反相,然后重复计时此半周期时间再对I/O反相,就可在I/O脚上得到此频率的脉冲。3.2音符频率的产生3.2.1音符及定时器初始值:例如:中音1(do)的音频=523HZ,周期T=1/523s=1912。定时器/计数器0的定时时间为:T/2=1912/2=956。定时器956的计数值=定时时间/机器周期=956/1=956(时钟频率=12MHZ)。装入T0计数器初值为65536-956=64580。将64580装入T0寄存器中,启动T0工作后,每计数956次
5、时将产生溢出中断,进入中断服务时,每次对P3.0引脚的输出值进行取反,就可得到中音DO(523HZ)的音符音频。将51单片机内部定时器工作在计数器模式1下,改变计数初值TH0,TL0以产生不同的频率。下表2-1是C调各音符频率与计数初值T的对照表:表2-1C调各音符频率与计数初值T的对照表音符频率(Hz)/初值()音符频率(Hz)/初值()低1DO262/63627中1DO523/64580高1DO1042/65056低2RE294/63835中2RE589/64687高2RE1245/65134低3M330/64021中3M661/64780高3M1
6、318/65157低4FA350/64107中4FA700/64822高4FA1397/65178低5SO393/64264中5SO786/64900高5SO1568/65217低6LA441/64402中6LA882/64969高6LA1760/65252低7SI495/64526中7SI990/65031高7SI1967/652823.2.2音符、音符编码及定时器初始值:为了产生音符,必须求出音符低音5—高音5的计数初值。例如C调的低1DO的THTL=65536-50000/262=63627,中音DO的THTL=65536-500000/523=
7、64580,高音DO的THTL=65536-500000/1042=65056。为了方便写谱,对其进行简单的编码,在编程时,根据音符编码查找对应的计数初值。比如说音乐是C调的,那么出现低音的5SO,直接将代码写为1;出现低音6LA,直接写一个2的代码;出现低音7SI,直接写一个3代码。表2-2音符编码表音符音符编码音符音符编码不发音0低5SO1低6LA2低7SI3中1DO4中2RE5中3M6中4FA7中5SO8中6LA9中7SIA高1DOB高2REC高3MD高4FAE高5SOF高6LAG3.2.3节拍频率的产生、节拍的产生与编码:音乐中的节拍用延时时间
8、产生。例如,1拍=0.4s,1/4拍=0.1s,以此类推。假设1/4拍执行一次延时程序,则1/
此文档下载收益归作者所有