*****===低音部分
低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
關於C 中呼叫Beep
在c 編寫程式時,想在彈出提示視窗時beep 一下,發現竟然沒有beep 功能。在網上查了一下,發現確實如此。fcl中對多煤體的支援非常的弱。解決方法一 可以呼叫win32的api system.runtime.interopservices.dllimport user32.dll public ...
C 中發聲函式Beep詳解
by zhcs 首先我們來beep的函式原型 bool beep dword dwfreq dword dwduration 引數說明 beep 523,400 do beep 578,400 re beep 659,400 mi beep do,400 beep re,400 beep mi,40...
關於c 中庫函式說明
對陣列進行排序,在c 中有庫函式幫我們實現,這們就不需要我們自己來程式設計進行排序了。一 為什麼要用c 標準庫里的排序函式 sort 函式是c 一種排序方法之一,學會了這種方法也打消我學習c 以來使用的氣泡排序和選擇排序所帶來的執行效率不高的問題!因為它使用的排序方法是類似於快排的方法,時間複雜度為...