蜂鸣器音乐工具.docx

蜂鸣器音乐工具.docx

ID:62027959

大小:68.83 KB

页数:9页

时间:2021-04-15

蜂鸣器音乐工具.docx_第1页
蜂鸣器音乐工具.docx_第2页
蜂鸣器音乐工具.docx_第3页
蜂鸣器音乐工具.docx_第4页
蜂鸣器音乐工具.docx_第5页
资源描述:

《蜂鸣器音乐工具.docx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、51单片机蜂鸣器音乐简谱转换工具-输入简谱就能自动生成音乐程序的工具MusicEncode  2013-12-0714:29:35

2、  分类:51单片机编程

3、  标签:

4、举报

5、字号大中小 订阅相信您在作蜂鸣器发声实验时肯定为复杂的频率与音调之间的转换而伤脑筋,这里向大家介绍一款工具可以大大简化转换操作,只需要输入简谱就能自动生成音乐播放程序代码。以下此程序的主界面:程序范例可以点主界面上的“关于”按钮后就能找到,但是代码也不全,需要加入对音乐程序的调用代码,其它范例里也写的很清楚了,只需要调用Play函数

6、就行了,其调用格式如下:Play(乐曲名,调号,升降八度,演奏速度);经过实践,此函数的的后三个参数分别设为0,2和350时演奏出的音乐比较符合“原味”,下面给出本站的入门型51实验板结合此工具作的音乐程序://51单片机播放音乐库文件/**************************************************************************SOUNDPLAYFOR51MCUCOPYRIGHT(c)2005BYJJJ.--ALLRIGHTSRESERVED--Fi

7、leName:SoundPlay.hAuthor:JiangJianJunCreated:2005/5/16Modified:NORevision:1.0*******************************************************************************//*说明**************************************************************************曲谱存贮格式unsignedcharco

8、deMusicName{音高,音长,音高,音长....,0,0};末尾:0,0表示结束(Important)音高由三位数字组成:个位是表示1~7这七个音符十位是表示音符所在的音区:1-低音,2-中音,3-高音;百位表示这个音符是否要升半音:0-不升,1-升半音。音长最多由三位数字组成:个位表示音符的时值,其对应关系是:

9、数值(n):

10、0

11、1

12、2

13、3

14、4

15、5

16、6

17、几分音符:

18、1

19、2

20、4

21、8

22、16

23、32

24、64音符=2^n十位表示音符的演奏效果(0-2):0-普通,1-连音,2-顿音百位是符点位:0-无符点,1

25、-有符点调用演奏子程序的格式Play(乐曲名,调号,升降八度,演奏速度);

26、乐曲名:要播放的乐曲指针,结尾以(0,0)结束;

27、调号(0-11):是指乐曲升多少个半音演奏;

28、升降八度(1-3):1:降八度,2:不升不降,3:升八度;

29、演奏速度(1-12000):值越大速度越快;***************************************************************************/#ifndef__SOUNDPLAY_H_REVISION_FIRST__#def

30、ine__SOUNDPLAY_H_REVISION_FIRST__#include//**************************************************************************#defineSYSTEM_OSC11059200//12000000//定义晶振频率12000000HZ#defineSOUND_SPACE4/5//定义普通音符演奏的长度分率,//每4分音符间隔sbitBeepIO=P3^5;//定义输出管脚unsign

31、edintcodeFreTab[12]={262,277,294,311,330,349,369,392,415,440,466,494};//原始频率表unsignedcharcodeSignTab[7]={0,2,4,5,7,9,11};//1~7在频率表中的位置unsignedcharcodeLengthTab[7]={1,2,4,8,16,32,64};unsignedcharSound_Temp_TH0,Sound_Temp_TL0;//音符定时器初值暂存unsignedcharSound_Te

32、mp_TH1,Sound_Temp_TL1;//音长定时器初值暂存//**************************************************************************voidInitialSound(void){BeepIO=1;Sound_Temp_TH1=(65535-(1/1200)*SYSTEM_OSC)/256;//计算TL1应装入的初值(10ms的初装值)Soun

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。