1 / 5
文档名称:

音乐盒-开题报告书.doc

格式:doc   大小:33KB   页数:5页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

音乐盒-开题报告书.doc

上传人:2823029757 2022/1/26 文件大小:33 KB

下载得到文件列表

音乐盒-开题报告书.doc

文档介绍

文档介绍:-
. z
毕业设计
开题报告
专 业: 应用电子
姓 名:
相应频率的声音呢?一般说来,常采用的方法就是通过单片机的定时器定时中断,将单片机上对应蜂鸣器的I/O口来回取反,或者说来回清零,置位,从而让蜂鸣器发出声音,为了让单片机发出不同频率的声音,我们只需将定时器予置不同的定时值就可实现。则怎样确定一个频率所对应的定时器的定时值呢?以标准音高A为例:
-
. z
A的频率f = 440 Hz,其对应的周期为:
T = 1/ f = 1/440 =2272μs
t
T
图7 频率表
由上图可知,单片机上对应蜂鸣器的I/O口来回取反的时间应为:
t = T/2 = 2272/2 = 1136μs
这个时间t也就是单片机上定时器应有的中断触发时间。一般情况下,单片机奏乐时定时器为工作方式1,它以振荡器的十二分频信号为计数脉冲。设振荡器频率为f0,
则定时器的予置初值由下式来确定:
t = 12 *〔TALL – THL〕/ f0,式中TALL = 216 = 65536,THL为定时器待确定的计数初值。因此定时器的上下计数器的初值为:
TH = THL / 256 = (TALL–t* f0/12) / 256TL = THL % 256 = (TALL–t* f0/12) %256
将t=1136μs代入上面两式〔注意:计算时应将时间和频率的单位换算一致〕,即可求出标准音高A在单片机晶振频率f0=12Mhz,定时器在工作方式1下的定时器上下计数器的予置初值为 :
TH440Hz = (65536 – 1136 * 12/12) /256 = FBH
TL440Hz = (65536 – 1136 * 12/12)%256 = 90H
根据上面的求解方法,我们就可求出其他音调相应的计数器的予置初值。
说明************************************************************************
曲谱存贮格式 unsigned char code Musiame{音高,音长,音高,音长...., 0,0}; 末尾:0,0 表示完毕(Important)
音高由三位数字组成:
个位是表示 1~7 这七个音符
十位是表示音符所在的音区:1-低音,2-中音,3-高音;
百位表示这个音符是否要升半音: 0-不升,1-升半音。
音长最多由三位数字组成:
-
. z
个位表示音符的时值,其对应关系是:
|数值(n): |0 |1 |2 |3 | 4 | 5 | 6
|几分音符: |1 |2 |4 |8 |16 |32 |64 音符=2^n
十位表示音符的演奏效果(0-2)