沈阳单片机开发网——帮您精确掌握电子器件的使用细节
51 单片机播放音乐
以下为 单片机播放音乐简谱的函数库:
说明
曲谱存贮格式 音高,音长,音高,音长末
尾表示结束 !"##$
音高由三位数字组成:
个位是表示 %&这七个音符;
十位是表示音符所在的音区'低音,('中音,)'高音;
百位表示这个音符是否要升半音'不升,'升半音。
音长最多由三位数字组成:
个位表示音符的时值,其对应关系是: *数值 $***(*)*+**,*
几分音符**(*+*-*,*)(*,+音符.(/;
十位表示音符的演奏效果 '($'普通,'连音,('顿音;
百位是符点位'无符点,'有符点。
调用演奏子程序的格式:
01 乐曲名调号升降八度演奏速度$
*乐曲名 要播放的乐曲指针结尾以 $结束
*调号 '$是指乐曲升多少个半音演奏
*升降八度 ')$降八度(不升不降)升八度
*演奏速度 '($值越大速度越快
2334567089:3;3<=>!4!53?!<4@33
2A334567089:3;3<=>!4!53?!<4@33
21
2A4:4@=354BC((定义晶振频率 (;D
2A45673409B=+定义普通音符演奏的长度分率每 + 分音符间隔
E#F"!5.0(/,定义输出管脚
# ?@EG(H .
(,((&&(C+))))+C),C)C(++++,,+C+
原始频率表
4@EG&H.(+&C%& 在频率表中的位置
8#@EG&H.(+-,)(,+
43@"3@;43@"3@8音符定时器初值暂存
43@"3@;43@"3@8音长定时器初值暂存
I!#14 I$
F"!5.