51单片机播放音乐简谱的函数库

51单片机播放音乐简谱的函数库

ID:40526718

大小:74.50 KB

页数:16页

时间:2019-08-04

51单片机播放音乐简谱的函数库_第1页
51单片机播放音乐简谱的函数库_第2页
51单片机播放音乐简谱的函数库_第3页
51单片机播放音乐简谱的函数库_第4页
51单片机播放音乐简谱的函数库_第5页
资源描述:

《51单片机播放音乐简谱的函数库》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、51单片机播放音乐简谱的函数库作者:PLC来源:单片机学习网 2006-10-2151单片机播放音乐简谱的函数库:/**************************************************************************           SOUNDPLAYFOR51MCU                 COPYRIGHT(c)  2005BYJJJ.                        -- ALLRIGHTSRESERVED --  

2、 FileName:      SoundPlay.h  Author:         JiangJianJun  Created:        2005/5/16  Modified:  NO  Revision:  1.0 *******************************************************************************//*说明**************************************************

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

4、数值(n): 

5、0

6、1

7、2

8、3

9、4

10、5

11、6   

12、 

13、几分音符:

14、1

15、2

16、4

17、8

18、16

19、32

20、64  音符=2^n   十位表示音符的演奏效果(0-2): 0-普通,1-连音,2-顿音   百位是符点位:0-无符点,1-有符点 调用演奏子程序的格式   Play(乐曲名,调号,升降八度,演奏速度); 

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

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

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

24、演奏速度(1-12000): 值越大速度越快;

25、***************************************************************************/#ifndef__SOUNDPLAY_H_REVISION_FIRST__#define__SOUNDPLAY_H_REVISION_FIRST__#include//**************************************************************************#defineSYSTEM_OS

26、C  11059200//12000000 //定义晶振频率12000000HZ#defineSOUND_SPACE 4/5  //定义普通音符演奏的长度分率,//每4分音符间隔sbit   BeepIO   =   P2^6;  //定义输出管脚unsignedint codeFreTab[12] ={262,277,294,311,330,349,369,392,415,440,466,494};//原始频率表unsignedcharcodeSignTab[7] ={0,2,4,5,7,9,

27、11};         //1~7在频率表中的位置unsignedcharcodeLengthTab[7]={1,2,4,8,16,32,64};      unsignedcharSound_Temp_TH0,Sound_Temp_TL0; //音符定时器初值暂存unsignedcharSound_Temp_TH1,Sound_Temp_TL1; //音长定时器初值暂存//************************************************************

28、**************voidInitialSound(void){ BeepIO=1; Sound_Temp_TH1=(65535-(1/1200)*SYSTEM_OSC)/256; //计算TL1应装入的初值 (10ms的初装值) Sound_Temp_TL1=(65535-(1/1200)*SYSTEM_OSC)%6; //计算TH1应装入的初值 TH1=Sound_Temp_TH1; TL1=Sound_Temp_TL1; TMOD 

29、=0x11; ET0   =1; ET1   

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

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

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