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

正文內(nèi)容

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

2024-07-24 20:07 本頁面
 

【文章內(nèi)容簡介】 圖311 電路圖4 系統(tǒng)軟件設(shè)計 本軟件設(shè)計關(guān)鍵是要實現(xiàn)一種由單片機控制的簡單音樂發(fā)生器,它由16個音節(jié)組成的的鍵盤,用戶可以根據(jù)樂譜在鍵盤上進行演奏,音樂發(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ā)音。一首音樂是由許多不同的音符組成的,而每個音符對應著不同的頻率,這樣就可以利用不同頻率的組合,加以與拍數(shù)對應的延時,構(gòu)成音樂。若要構(gòu)成音樂,光有音調(diào)是不夠的,還需要節(jié)拍,讓音樂具有旋律(固定的律動),而且可以調(diào)節(jié)各個音的快滿度?!肮?jié)拍”,即Beat,簡單說就是打拍子,就像我們聽音樂不自主的隨之拍手或跺腳。節(jié)拍實際上就是音持續(xù)時間的長短,在單片機系統(tǒng)中可以用延時來實現(xiàn),如果1/,只要知道1/4拍的延時時間,其余的節(jié)拍延時時間就是它的陪數(shù)。如果單片機要自己播放音樂,那么必須在程序設(shè)計中考慮到節(jié)拍的設(shè)置,由于本例實現(xiàn)的音樂發(fā)生器是由用戶通過鍵盤輸入彈奏樂曲的,所以節(jié)拍由用戶掌握,不由程序控制。對于不同的曲調(diào)我們也可以用單片機的另外一個定時/計數(shù)器來完成。 軟件程序設(shè)計 主程序流程圖NY 開始 定時器初始化 開啟外部中斷 主程序 循環(huán)檢測按鍵 LED燈指示播放聲音 數(shù)碼管顯示 圖41 主程序框圖 當接上電源,按下電源開關(guān)后,程序進行初始化設(shè)置,對鍵盤進行掃描,根據(jù)掃描的結(jié)果,由揚聲器發(fā)出對應的音調(diào)。如果遇到音樂播放時,就自動播放音樂,并通過LED燈指示節(jié)拍。當檢測到外部中斷時,停止正在執(zhí)行的任務,前去執(zhí)行中斷程序,待中斷完成后返回。:LED燈、數(shù)碼管、低音DOK11鍵按下LED燈、數(shù)碼管、低音REK12鍵按下LED燈、數(shù)碼管、低音MIK13鍵按下LED燈、數(shù)碼管、低音FAK14鍵按下LED燈、數(shù)碼管、低音SOK21鍵按下LED燈、數(shù)碼管、低音LAK22鍵按下LED燈、數(shù)碼管、低音SIK23鍵按下LED燈、數(shù)碼管、高音DOK24鍵按下LED燈、數(shù)碼管、高音DOK31鍵按下K32鍵按下LED燈、數(shù)碼管、高音SILED燈、數(shù)碼管、高音LAK33鍵按下LED燈、數(shù)碼管、高音SOK34鍵按下LED燈、數(shù)碼管、高音FAK41鍵按下LED燈、數(shù)碼管、高音MIK42鍵按下LED燈、數(shù)碼管、高音REK43鍵按下LED燈、數(shù)碼管、高音DOK44鍵按下 圖42 鍵盤掃描框圖 include includedefine unint unsigned intdefine unchar unsigned charvoid 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, 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 yanshi_tone[]={ 1,0,2,0,3,0,4,0,5,0,6,0,7,0,8,0, 8,0,7,0,6,0,5,0,4,0,3,0,2,0,1,0}。/*****自動演示節(jié)拍表*****/unsigned char code yanshi_beat[]={ 48,1,48,1,48,1,48,1,48,1,48,1,48,1,
點擊復制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1