[c++]关于c++中的beep函数的说明
========低音部分
低1DO:262
#1DO#:277
低2RE:294
#2RE#:311
低3MI:330
低4FA:349
#4FA#:370
低5SO:392
#5SO#:415
低6LA:440
#6LA#:466
低7SI:494
========中音部分=低音X2
中1DO:523 956us FC44;
#1DO#:554 902us
中2RE:578 865us FC9F;
#2RE#:622 803us
中3MI:659 759us FD09;
中4FA:698 716us FD34
#4FA#:740
中5SO:784 638us FD82
#5SO#:831
中6LA:880 568us FDC8
#6LA#:932
中7SI:988 506us FE06
========高音部分=中音X2
高1DO:1046
#1DO#:1109
高2RE:1175
#2RE#:1245
高3MI:1318
高4FA:1480
#4FA#:1480
高5SO:1568
#5SO#:1661
高6LA:1760
#6LA#:1865
高7SI:1976
“#”表示半音,用于上升或下降半个音
2。频率的产生
利用定时器来控制IO口的高低变化实现
周期=1/频率
半周期中断产生IO口电平
定时时间常数按照单片机的方式计算
3。音乐节拍的产生
每个音符用1个字节,字节的高4位代表音符的高低,低4位代表
音符的节拍,如果 1节拍是0.4秒,则1/4拍就是0.1秒。
其他节拍为1/4拍的整数倍。
4。节拍与节拍码对照表
节拍 节拍数 节拍数
1 1/4 1/8
2 2/4 2/8
3 3/4 3/8
4 1 1/2
5 5/4 5/8
6 6/4 6/8
8 2 1
A 10/4 5/4
C 3 12/8
F 15/4
曲调 1/4拍的延迟时间 1/8拍的延迟时间
4/4 125ms 62ms
3/4 187ms 94ms
2/4 250ms 125ms