freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內容

基于atmega16單片機的音樂播放器設計(編輯修改稿)

2024-11-28 08:21 本頁面
 

【文章內容簡介】 蕩頻率的高低、振蕩器工作的穩(wěn)定性、起振的難易程序及溫度穩(wěn)定性。如果使用石英晶體,我們推薦電容使用 30PF? 10PF,而 如果使用陶瓷振蕩器建議選擇 40PF? 10PF。用戶也可以采用外部時鐘。采用外部時鐘的電路如圖示。這種情況下,外部時鐘脈沖接到 XTAL1 端,即內部時鐘發(fā)生器的輸入端, XTAL2 則懸空。由于外部時鐘信號是通過一個 2 分頻觸發(fā)器后作為內部時鐘信號的,所以對外部時鐘信號的占空比沒有特殊要求,但最小高電平持續(xù)時間和最大的低電平持續(xù)時間應符合產品技術條件的要求。振蕩器電路圖如下: 圖 單片機內部、外部振蕩電路 硬件電路圖及功能 總體硬件電路實現功能如下 ,如圖 所示 1) 電路中用 PB0、 PB PB2 控制 按鍵。 2) PA0~PA7 控制 LED。 3) PD5 控制蜂鳴器。 4) 電路為 12MHZ 晶振頻率工作,起振電路中 C C2 均為 30PF。 圖 硬件電路圖 4 軟件設計 在本 程序 中 設置了兩個標志 —— count1 和 count2,分別初始化為 1 和 0。按鍵 1 使得count1 在 1和 2之間切換,按鍵 2使得 count2 在 1~4之間切換。程序檢測 count1 的值, count1等于 1 時播放第一首歌曲,等于 2 時播放第二首。另一方面根據 count2 的值來切換 LED 的花樣。 count1 和 count2 的值是互斥的,設置 count1 等于 2 時, count2 同時設置為 0;設置 count2 等于 1~4 時, count1 也同時設置為 0。 音調、節(jié)拍以及編碼的確定方法 一般說來,單片機演奏音樂基本都是單音頻率,它不包含相應幅度的諧波頻率,也就是說不能像電子琴那樣能奏出多種音色的聲音。因此單片機奏樂只需弄清楚兩個概念即可,也就是“音調”和節(jié)拍表示一個音符唱多長的時間。 音調的確定 高音 DO 的頻率( 1046Hz)剛好是中音 DO 的頻率( 523Hz)的一倍,中音 DO 的頻率( 523Hz)剛好是低音 DO 頻率( 266 Hz)的一倍;同樣的,高 音 RE 的頻率( 1175Hz)剛好是中音 RE 的頻率( 587Hz)的一倍,中音 RE 的頻率( 587Hz)剛好是低音 RE 頻率( 294 Hz)的一倍。 1)要產生音頻脈沖,只要算出某一音頻的周期( 1/頻率),然后將此周期除以 2,即為半周期的時間。利用定時器計時這半個周期時間,每當計時到后就將輸出脈沖的 I/O 反相,然后重復計時此半周期時間再對 I/O 反相,就可在 I/O 腳上得到此頻率的脈沖。 2)利用 ATmega16 的內部定時器使其工作在計數器模式 MODE1 下,改變計數值 TH0及 TL0 以產生不同頻率的方法。 此外結束 符和休止符可以分別用代碼 00H 和 FFH 來表示,若查表結果為 00H,則表示曲子終了;若查表結果為 FFH,則產生相應的停頓效果。 3)例如頻率為 523Hz,其周期 T=1/523=1912us,因此只要令計數器計時 956us/1us=956,在每次技術 956 次時將 I/O 反相,就可得到中音 DO( 523Hz)。 計數脈沖值與頻率的關系公式如下: N=Fi? 2? Fr N:計算值; Fi:內部計時一次為 1us,故其頻率為 1MHz; 4) 其計數值的求法如下: T=65536N=65536Fi? 2? Fr 5) C 調 各音符頻率與計數值 T 的對照表如表 所示。 表 C 調各音符頻率與計數值 T 的對照表 低音 頻率 T 參數 中音 頻率 T 參數 高音 頻率 T 參數 Do 262 1908 229 Do 523 956 115 Do 1046 57 57 Do﹟ 277 1805 217 Do﹟ 554 903 108 Do﹟ 1109 54 54 Re 294 1701 204 Re 587 852 102 Re 1175 51 51 Re﹟ 311 1608 193 Re﹟ 622 804 97 Re﹟ 1245 48 48 Mi 330 1515 182 Mi 659 759 91 Mi 1318 45 45 Fa 349 1433 172 Fa 698 716 86 Fa 1397 43 43 Fa﹟ 370 1351 162 Fa﹟ 740 676 81 Fa﹟ 1480 41 41 So 392 1276 153 So 784 638 77 So 1568 38 38 So﹟ 415 1205 145 So﹟ 831 602 72 So﹟ 1661 36 36 La 440 1136 136 La 880 568 68 La 1760 34 34 La﹟ 464 1078 129 La﹟ 932 536 64 La﹟ 1865 32 32 Si 494 1012 121 Si 988 506 61 Si 1976 30 30 節(jié)拍的確定 一首音樂是由許多不同的音符組成的,而每個音符對應著不同頻率,這樣就可以利用不同的頻率的組合,加以與拍數對應的延時,構成音樂。了解音樂的一些基礎知識,我們可知產生不同頻率的音頻脈沖即能產生音樂。對于單片機來說,產生不同頻率的脈沖是非常 方便的,利用單片機的定時 /計數器來產生這樣的方波頻率信號。因此,需要弄清楚音樂中的音符和對應的頻率,以及單片機定時計數的關系。 表 節(jié)拍與節(jié)拍碼對照 節(jié)拍碼 節(jié)拍數 節(jié)拍碼 節(jié)拍數 1 1/4 拍 1 1/8 拍 2 2/4 拍 2 1/4 拍 3 3/4 拍 3 3/8 拍 4 1 拍 4 2/1 拍 5 1 又 1/4 拍 5 5/8 拍 6 1 又 1/2 拍 6 3/4 拍 8 2 拍 8 1 拍 A 2 又 1/2 拍 A 1 又 1/4 拍 C 3 拍 C 1 又 1/2 拍 F 3 又 3/4 拍 每個音符使用 1 個字節(jié),字節(jié) 的高 4 位代表音符的高低,低 4 位代表音符的節(jié)拍,圖 為節(jié)拍碼的對照。如果 1 拍為 秒, 1/4 拍實 秒,只要設定延遲時間就可求得節(jié)拍的時間。假設 1/4 拍為 1DELAY,則 1 拍應為 4DELAY,以此類推。所以只要求得 1/4 拍的DELAY 時間,其余的節(jié)拍就是它的倍數,如圖 為 1/4 和 1/8 節(jié)拍的時間設定。 編碼 do re mi fa so la si 分別編碼為 1~7,重音 do 編為 8,重音 re 編為 9,停頓編為 0。播放長度以十六分音符為單位(在本程序中為 165ms),一拍即四分音符等于 4 個十六分音符,編為 4,其它的播放時間以此類推。音調作為編碼的高 4 位,而播放時間作為低 4 位,如此音調和節(jié)拍就構成了一個編碼。以 0xff 作為曲譜的結束標志。 舉例 1:音調 do,發(fā)音長度為兩拍,即二分音符,將其編碼為 0x18。 舉例 2:音調 re
點擊復制文檔內容
公司管理相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1