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

正文內(nèi)容

基于單片機的電子琴的設(shè)計_課程設(shè)計說明書(編輯修改稿)

2024-08-14 17:21 本頁面
 

【文章內(nèi)容簡介】 還是斷電后或者發(fā)生故障后都要復(fù)位。除了音符以外,節(jié)拍也是音樂的關(guān)鍵組成部分。 圖 310 復(fù)位電路 電路總體構(gòu)成 電路總體構(gòu)成圖 如下: 11 圖 311 電路圖 4 系統(tǒng)軟件設(shè)計 本軟件設(shè)計關(guān)鍵是要實現(xiàn)一種由單片機控制的簡單音樂發(fā)生器,它由 16 個音節(jié)組成的的鍵盤,用戶可以根據(jù)樂譜在 鍵盤上進(jìn)行演奏,音樂發(fā)生器會根據(jù)用戶的彈奏,通過揚聲器將音樂播放出來。并且可以自動播放音樂, LED 燈指示演奏。 音樂相關(guān)知識 樂 音聽起來有的高,這就叫音高,音高是由發(fā)音物體振動頻率的高低決定的,頻率高聲音就高,頻率低,聲音就低,不同音調(diào)的樂音是用 C、 D、 E、 F、 G、 A、B 表示的,這 7個字母就是樂音的音名,它們一般依次唱成 DO、 RE、 MI、 FA、 SO、LA、 SI,這是唱曲時樂音的發(fā)音,所以叫唱名。 音持續(xù)時間的長短即時值,一般用拍數(shù)表示,休止符表示暫停發(fā)音。 一首音樂是由許多不同的音符組成的,而每個音 符對應(yīng)著不同的頻率,這樣就可以利用不同頻率的組合,加以與拍數(shù)對應(yīng)的延時,構(gòu)成音樂。 若要構(gòu)成音樂,光有音調(diào)是不夠的,還需要節(jié)拍,讓音樂具有旋律(固定的律動),而且可以調(diào)節(jié)各個音的快滿度?!肮?jié)拍” ,即 Beat,簡單說就是打拍子,就像我們聽音樂不自主的隨之拍手或跺腳。節(jié)拍實際上就是音持續(xù)時間的長短,在單片機系統(tǒng)中可以用延時來實現(xiàn),如果 1/4 拍的延時是 秒,則 1 拍的延時是 秒,只要知道 1/4 拍的延時時間,其余的節(jié)拍延時時間就是它的陪數(shù)。如果單片機要自己播放音樂,那么必須在程序設(shè)計中考慮到節(jié)拍的設(shè)置,由于本 例實現(xiàn)的音樂發(fā)生器是由用戶通過鍵盤輸入彈奏樂曲的,所以節(jié)拍由用戶掌握,不由程序控制。對于不同的曲調(diào)我們也可以用單片機的另外一個定時 /計數(shù)器來完成。 軟件程序設(shè)計 主程序流程圖 12 圖 41 主程序框圖 當(dāng) 接上電源, 按下電源開關(guān)后, 程序進(jìn)行初始化設(shè)置, 對鍵盤進(jìn)行掃描 , 根據(jù)掃描的結(jié)果,由揚聲器發(fā)出對應(yīng)的音調(diào)。如果遇到音樂播放時,就自動播放音樂, 并通過 LED 燈指示節(jié)拍。當(dāng)檢測到外部中斷時,停止正在執(zhí)行的任務(wù),前去執(zhí)行中斷程序,待中斷完成后返回。 按鍵子程序流程圖如下所示: N Y 開始 定時器 初始化 開啟外部中斷 主程序 循環(huán)檢測按鍵 LED 燈指示 播放聲音 數(shù)碼管顯示 K11 鍵按下 K12 鍵按下 K13 鍵按下 LED 燈、數(shù)碼管、低音 DO LED 燈、數(shù)碼管、低音 RE LED 燈、數(shù)碼管、低音 MI 13 圖 42 鍵盤掃描框圖 K14 鍵按下 K21 鍵按下 K22 鍵按下 K23 鍵按下 K24 鍵 按下 K31 鍵按下 K32 鍵按下 K33 鍵按下 K34 鍵按下 K41 鍵按下 K42 鍵按下 K43 鍵按下 K44 鍵按下 LED 燈、數(shù)碼管、低音 FA LED 燈、數(shù)碼管、低音 SO LED 燈、數(shù)碼管、低音 LA LED 燈、數(shù)碼管、低音 SI LED 燈、數(shù)碼管、高音 DO LED 燈、數(shù)碼管、高音 DO LED 燈、數(shù)碼管、高音 SI LED 燈、數(shù)碼管、高音 LA LED 燈、數(shù)碼管、高音 SO LED 燈、數(shù)碼管、高音 FA LED 燈、數(shù)碼管、高音 MI LED 燈、數(shù)碼管、高音 RE LED 燈、數(shù)碼管、高音 DO 14 程序編寫 程序開頭以及參數(shù)定義 include include define unint unsigned int define unchar unsigned char void check_key()。 unsigned int tone1,tone2。 sbit SPEAKER= P3^5 。 //定義方波輸出口 sbit STAR = P3^3。 //KEY2 開啟自動播放 sbit Stop = P3^2。 //KEY1 關(guān)閉自動播放 unchar Key。 unchar Temp。 unchar code Table1[] = {0x61,0xDB,0xF3,0x67, 0xB7,0xBF,0xE1,0x60, 0x60,0xE0,0xBE,0xB6, 0x66,0xF2,0xDA,0x60,0x00}。 //數(shù)碼管 unchar code Table3[] = {0xFE,0xFC,0xF8,0xF0, 0xE0,0xC0,0x80,0x00, 0x00,0x01,0x03,0x07, 0x0F,0x1F,0x3F,0x7F}。 //LED 閃爍 unsigned char code yinfu[]= { 0xfb,0xe9, /*Do*/ 0xfc,0x5c, /*Re*/ 0xfc,0xc1, /*Mi*/ 0xfc,0xef, /*Fa*/ 0xfd,0x45, /*So*/ 0xfd,0x92, /*La*/ 0xfd,0xd0, /*Si*/ 0xfd,0xee, /*Do*/ 0x00,0x00 //音符間隔,只要間隔時間小于 65ms 時,用作拍子之間的短暫停頓 }。 /*****生日快樂歌音調(diào)表 *****/ unsigned char code shengri_tone[]= { 1,0,1,2,1,4,3,0, 1,0,1,2,1,5,4,0, 1,0,1,8,6,4,3,2,0, 15 7,0,7,6,4,5,4,0 //0 代表不發(fā)聲,即停頓;數(shù)字即為音 }。 /*****生日快樂歌節(jié)拍表 *****/ unsigned char code shengri_beat[]= { 24,1,24,48,48,48,72,5, 24,1,24,48,48,48,72,5, 24,1,24,48,48,48,48,72,5, 24,1,24,48,48,48,72,5 //節(jié)拍,即 tone 表各音調(diào)的延時 }。 /*****自動演示音調(diào)表 *****/ unsigned char code
點擊復(fù)制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1