这个需要自己把乐谱转换为十六进制数据: 相关知识:1. 要产生音频脉冲,只要算出某一音频的周期(1/频率),然后将此周期除 以 2,即为半周期的时间。利用定时器计时这个半周期时间,每当计时到后就将 输出脉冲的 I/O 反相,然后重复计时此半周期时间再对 I/O 反相,就可在 I/O 脚 上得到此频率的脉冲。2.利用 8051 的内部定时器使其工作在计数器模式 MODE1 下,改变计数值 TH0 及 TL0 以产生不同频率的方法。3. 例如频率为 523Hz,其周期 T=1/523=1912us,因此只要令计数器计时 956us/1us=956,在每计数 956 次时将 I/O 反相,就可得到中音 DO ( 523Hz )。计数脉冲值与频率的关系公式如下:N=Fi:2Tr N:计数值;Fi:内部计时一次为 1us,故其频率为 12MHz ;Fr:要产生的频率;4. 其计数值的求法如下:T=65536-N=65536-Fi: 2Tr例如:设 K=65536 , F=1=Fi=1MHz ,求低音 DO (261MHz )、中 音 DO ( 523MHz )、高音 DO ( 1046MHz )的计数值。T=65536-N=65536-Fi: 2Tr=65536-1 : 2Tr=65536-50/Fr低音 DO 的 T=65536-50/262=63627中音 DO 的 T=65536-50/523=64580高音 DO 的 T=65536-50/1047=650595. C 调各音符频率与计数值 T 的对比表如下:表 1C 调各音符频率与计数值 T 的对比表 音符低 1DO 频率(Hz )简谱码(T 值)音符频率(Hz )简谱码(T 值)262 63628 #4FA# 740 64860#1DO# 277 63731 中 5SO 784 64898低 2RE#2RE# 294 63835 #5SO# 831 64934311 63928 中 6LA 880 64968低 3M 330 64021 #6 932 64994低 4FA 349 64103 中 7SI 988 65030#4FA# 370 64185 高 1DO 1046 65058低 5SO 392 64260 #1DO# 1109 65085#5SO# 415 64331 高 2RE 1175 65110低 6LA 440 644 #2RE# 1245 65134#6 466 64463 高 3M 1318 65157低 7SI 494 64524 高 4FA 1397 65178中 1DO 523 64580 #4FA# 1480 65198#1DO# 554 64633 高 5SO 1568 65217中 2RE 587 64684 #5SO# 1661 65235#2RE# 622 64732 高 6LA 1760 65252中 3M 659 64777 #6 1865 65268中 4FA 698 64820 高 1967 65283表 2 节拍与节拍码对比节拍码节拍数节拍码节拍数1 1/4 拍 1 1/8 拍2 2/4 拍 2 1/4 拍3 3/4 拍 3 3/8 拍4 1 拍 4 1/2 拍5 1 又 1 /4 拍 5 5/8 拍6...