基于單片機(jī)的簡(jiǎn)易電子琴電路設(shè)計(jì)_第1頁
基于單片機(jī)的簡(jiǎn)易電子琴電路設(shè)計(jì)_第2頁
基于單片機(jī)的簡(jiǎn)易電子琴電路設(shè)計(jì)_第3頁
基于單片機(jī)的簡(jiǎn)易電子琴電路設(shè)計(jì)_第4頁
基于單片機(jī)的簡(jiǎn)易電子琴電路設(shè)計(jì)_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

PAGE單片機(jī)課程設(shè)計(jì)任務(wù)書題目:基于單片機(jī)的簡(jiǎn)易電子琴電路設(shè)計(jì)初始條件:簡(jiǎn)易電子琴一般具有彈奏一個(gè)自然大調(diào)7聲音階的功能。本課程設(shè)計(jì),要求用AT89C51等系列芯片實(shí)現(xiàn)控制功能,利用按鍵實(shí)現(xiàn)音符和音調(diào)的輸入;兩位的數(shù)碼管進(jìn)行被操作的按鍵顯示;用LM386放大電路實(shí)現(xiàn)低音頻功率放大;最后用蜂鳴器進(jìn)行播放“送別”。要求完成的主要任務(wù):1.設(shè)計(jì)任務(wù)

根據(jù)已知條件,設(shè)計(jì)并制作一個(gè)簡(jiǎn)易電子琴。

2.設(shè)計(jì)要求

(1)基本要求:

①具備7個(gè)按鍵,能夠分別較準(zhǔn)確地彈奏出1~7八個(gè)音符。

②選擇電路方案,完成對(duì)確定方案電路的設(shè)計(jì)。計(jì)算電路元件參數(shù)與元件選擇、并畫出總體電路原理圖,闡述基本原理。用EWB或MULTISIM軟件完成仿真,之后制作出相應(yīng)實(shí)物,并按規(guī)定格式寫出課程設(shè)計(jì)報(bào)告書。(2)擴(kuò)展要求:(在完成基本要求的前提下,學(xué)有余力的同學(xué)可完成)

能夠彈奏出至少21個(gè)音符(三個(gè)音階)。

能夠較便捷地完成音階的升降。(用另外三個(gè)按鍵開關(guān)實(shí)現(xiàn)正常、升8度和降8度的切換)。時(shí)間安排:序號(hào)階段內(nèi)容所需時(shí)間(周)1方案選擇及電路設(shè)計(jì)假期進(jìn)行2制作、編程、調(diào)試13撰寫課程設(shè)計(jì)報(bào)告及答辯1合計(jì)2指導(dǎo)教師簽名:年月日

基于單片機(jī)的簡(jiǎn)易電子琴控制系統(tǒng)設(shè)計(jì)摘要目的:本設(shè)計(jì)主要研究基于AT89C52單片機(jī)的簡(jiǎn)易電子琴設(shè)計(jì)。方法:它是以單片機(jī)作為主控核心,設(shè)置鍵盤、蜂鳴器等外圍器件;另外還用到一些簡(jiǎn)單器件如:兩位數(shù)碼管,和NPN型三極管及電阻等。利用按鍵實(shí)現(xiàn)音符和音調(diào)的輸入;兩位的數(shù)碼管進(jìn)行被操作的按鍵顯示;用NPN型三極管8550實(shí)現(xiàn)低音頻功率放大;最后用蜂鳴器進(jìn)行播放“送別”。結(jié)果:本設(shè)計(jì)硬件部分主要由最小系統(tǒng),按鍵系統(tǒng)模塊、數(shù)碼管顯示模塊和蜂鳴器模塊組成。其軟件部分主要有主程序模塊、定時(shí)中斷程序、定時(shí)計(jì)數(shù)程序、顯示程序。(1)最小系統(tǒng):它是單片機(jī)應(yīng)用系統(tǒng)的設(shè)計(jì)基礎(chǔ)。它包括單片機(jī)的選擇、時(shí)鐘系統(tǒng)設(shè)計(jì)、復(fù)位電路設(shè)計(jì)、簡(jiǎn)單的I/O口擴(kuò)展、掉電保護(hù)等。(2)按鍵系統(tǒng)模塊:本設(shè)計(jì)采用10個(gè)按鍵,其中7個(gè)按鍵用來顯示7個(gè)音調(diào),其它3個(gè)按鍵可以進(jìn)行高低中音的切換,并自動(dòng)播放已存歌曲。(3)數(shù)碼管顯示模塊:SM420562段選端接在單片機(jī)的P0口,兩個(gè)位選端分別接在P2^0和P2^1。(4)蜂鳴器模塊:此電子琴發(fā)音電路是通過三極管驅(qū)動(dòng)蜂鳴器發(fā)音,經(jīng)過上拉電阻提高驅(qū)動(dòng)能力。結(jié)論:本次設(shè)計(jì)首先對(duì)單片機(jī)設(shè)計(jì)簡(jiǎn)易電子琴仔細(xì)分析,接著制作硬件電路和編寫軟件的程序,最后進(jìn)行軟硬件的調(diào)試運(yùn)行。并且從原理圖,主要芯片,各模塊的原理和各個(gè)模塊的程序調(diào)試來闡述。利用單片機(jī)產(chǎn)生不同頻率來獲得我們要求的音階,實(shí)現(xiàn)高、中、低共21個(gè)音符的發(fā)音和顯示和音樂播放時(shí)的控制顯示,并且能自動(dòng)播放程序中編排的音樂。系統(tǒng)運(yùn)行穩(wěn)定,其優(yōu)點(diǎn)是硬件電路簡(jiǎn)單,軟件功能完善,控制系統(tǒng)可靠,性價(jià)比高等,具有一定的使用和參考價(jià)值。關(guān)鍵詞:?jiǎn)纹瑱C(jī)定時(shí)中斷蜂鳴器數(shù)碼管c語言編程3軟件程序設(shè)計(jì)3.1系統(tǒng)分析(1)系統(tǒng)軟件的組成①鍵盤掃描程序:檢測(cè)是否有按鍵按下,有按鍵按下則記錄按下鍵的鍵值,并跳轉(zhuǎn)至功能轉(zhuǎn)移程序;無按鍵按下,則返回鍵盤掃描程序繼續(xù)檢測(cè)。②功能轉(zhuǎn)移程序:對(duì)檢測(cè)到的按鍵值進(jìn)行判斷,是琴鍵則跳轉(zhuǎn)至琴鍵處理程序,是功能鍵則跳轉(zhuǎn)至相應(yīng)的功能程序,我們?cè)O(shè)計(jì)的功能程序有兩種,即音色調(diào)節(jié)功能和自動(dòng)播放樂曲的功能。③琴鍵處理程序:根據(jù)檢測(cè)到的按鍵值,查詢音調(diào)表,給計(jì)時(shí)器賦值,使發(fā)出相應(yīng)頻率的聲音。④自動(dòng)播放歌曲程序:檢測(cè)到按鍵按下的是自動(dòng)播放歌曲功能鍵后執(zhí)行該程序,電子琴會(huì)自動(dòng)播放事先已經(jīng)存放的歌曲,歌曲播放完畢之后自動(dòng)返回至鍵盤掃描程序,繼續(xù)等待是否有按鍵按。3.2參數(shù)計(jì)算(1)發(fā)音原理若要產(chǎn)生音頻脈沖,只要算出某一音頻的周期(1/頻率),再將此周期除以2,即為半周期的時(shí)間。利用定時(shí)器計(jì)時(shí)半周期時(shí)間,每當(dāng)計(jì)時(shí)終止后就將P1.0反相,然后重復(fù)計(jì)時(shí)再反相。就可在P1.0引腳上得到此頻率的脈沖。利用AT89C51的內(nèi)部定時(shí)器使其工作計(jì)數(shù)器模式(MODE1)下,改變計(jì)數(shù)值TH0及TL0以產(chǎn)生不同頻率的方法產(chǎn)生不同音階。(2)計(jì)算舉例例如,頻率為523Hz,其周期T=1/523=1912μs,因此只要令計(jì)數(shù)器計(jì)時(shí)956μs/1μs=956,每計(jì)數(shù)956次時(shí)將I/O反相,就可得到中音DO(523Hz)。計(jì)數(shù)脈沖值與頻率的關(guān)系式是:N=fi÷2÷fr,式中,N是計(jì)數(shù)值;fi是機(jī)器頻率(晶體振蕩器為12MHz時(shí),其頻率為1MHz);fr是想要產(chǎn)生的頻率。其計(jì)數(shù)初值T的求法如下:T=65536-N=65536-fi÷2÷fr例如:設(shè)K=65536,fi=1MHz,求中音DO(261Hz)。T=65536-N=65536-fi÷2÷fr=65536-1000000÷2÷fr=65536-500000/fr,中音DO的T=65536-500000/523=64580。(3)計(jì)算結(jié)果(1)單片機(jī)12MHZ晶振,中音符與計(jì)數(shù)T0相關(guān)的計(jì)數(shù)值如表所示:音符頻率(HZ)計(jì)數(shù)值(T值)音符頻率(HZ)計(jì)數(shù)值(T值)低1DO26263628#4FA#74064860#1DO#27763737中5SO78464898低2RE29463835#5SO#83194934#2RE#31163928中6LA88064968低3MI33064021#6LA#93264994低4FA34964103中7SI96865030#4FA#37064185低1DO104665058低SO39264260#1DO#110965085#5SO#41564331高2RE117565110低6LA44064400#2RE#124565134#6LA#46664463高3MI131865157低7SI49464524高4FA139765178中1DO52364580#4FA#149065198#1DO#55464633高5SO156865217中2RE58764633#5SO#166165235#2RE#62264884高6LA176065252中3MI65964732#6LA#186565268中4FA69864820高7SI196765283采用查表程序進(jìn)行查表時(shí),可以為這個(gè)音符建立一個(gè)表格,有助于單片機(jī)通過查表的方式來獲得相應(yīng)的數(shù)據(jù):低音0-19之間,中音在20-39之間,高音在40-59之間。用單片機(jī)播放音樂,或者彈奏電子琴,實(shí)際上是按照特定的頻率,輸出一連串的方波。為了輸出合適的方波,首先應(yīng)該知道音符與頻率的關(guān)系。(2)音調(diào)數(shù)據(jù)表

曲調(diào)值DELAY曲調(diào)值DELAY調(diào)4/4125ms調(diào)4/462ms調(diào)3/4187ms調(diào)3/494ms調(diào)2/4250ms調(diào)2/4125ms上表中的頻率數(shù)值,有些過多,去掉不常用的黑鍵頻率,只是把白鍵對(duì)應(yīng)的數(shù)據(jù)存放在單片機(jī)中,即可滿足絕大部分的應(yīng)用需求。

定義音調(diào)數(shù)據(jù)表的程序如下:DW63628,63835,64021,64103,64260,64400,6452464580,低音區(qū):1234567

DW64580,64671,64777,64820,64898,64968,6503065058中音區(qū):1234567

DW65058,65110,65157,65178,65217,65252,6528365312高音區(qū):1234567把這個(gè)數(shù)據(jù)表,放在程序中,需要播音的時(shí)候,就從表中取出一個(gè)數(shù)據(jù)送到定時(shí)器,當(dāng)定時(shí)器溢出中斷的時(shí)候,再對(duì)輸出引腳取反,那么,在揚(yáng)聲器中,即可聽到上表中頻率的聲音。3.3程序設(shè)計(jì)(1)判斷音階(高中低音)子程序在軟件設(shè)計(jì)中采用yinjie代表音階,如下所示音階Yinjie值高2中1低0初始化狀態(tài)為中音(yinjie=1),電路中設(shè)計(jì)高、低兩個(gè)音階鍵。上電后,若無按鍵按下,則為中音模式。若音階鍵被按下,則如下流程圖所示,初始化后進(jìn)行按鍵掃描,在高音鍵按下,若初始yinjie不為2,則另yinjie=2,進(jìn)入高音工作模式,若初始yinjie為2,則對(duì)yinjie進(jìn)行初始化,即另yinjie=1,重新進(jìn)入進(jìn)入中音工作模式,這樣即實(shí)現(xiàn)了高音鍵切換高、中音方式的轉(zhuǎn)換。同理,用低音鍵實(shí)現(xiàn)中、低音的切換。圖3-1判斷音階(高中低音)子程序(2)播放子程序(包括自動(dòng)播放存儲(chǔ)音樂和按鍵發(fā)音)本設(shè)計(jì)共兩種播放模式,包括自動(dòng)播放存儲(chǔ)音樂和按鍵發(fā)音。上電后,首先開中斷并設(shè)定定時(shí)器0為工作方式1,當(dāng)自動(dòng)播放鍵按下時(shí),進(jìn)入中斷,根據(jù)樂譜在定義的音頻數(shù)組中查找相應(yīng)音律,然后給定時(shí)器賦初值,即開始播放音樂。當(dāng)DO、RE、MI、FA、SO、LA、SI七種音符鍵按下時(shí),根據(jù)音階值(如3.3.1中高中低對(duì)應(yīng))和音符值在定義的音頻數(shù)組中查找相應(yīng)音律,然后給定時(shí)器賦初值,即按鍵發(fā)音。圖3-2播放子程序(3)由此可得系統(tǒng)總體功能流程圖圖3-3系統(tǒng)總功能流程圖4系統(tǒng)仿真與調(diào)試4.1硬件調(diào)試硬件調(diào)試主要是針對(duì)單片機(jī)部分進(jìn)行的調(diào)試。在上電之前,先確保電路中不存在斷路或短路情況,這一工作是整個(gè)調(diào)試工作的第一步,也是非常重要的一個(gè)步驟。在這部分調(diào)試中主要使用的工具是萬用表,用來完成檢測(cè)電路中是否存在斷路或者短路情況的任務(wù)。注意焊點(diǎn)之間,確保焊點(diǎn)沒有短接在一起,同時(shí)注意焊點(diǎn)的美觀,確保沒有開路以及短路的現(xiàn)象出現(xiàn)。在確保硬件電路正常且無異常情況(斷路或短路)的情況下方可上電調(diào)試,上電調(diào)試的目的是檢驗(yàn)電路是否接錯(cuò),同時(shí)還要檢驗(yàn)原理是否正確,在本次設(shè)計(jì)中,上電調(diào)試主要是檢測(cè)單片機(jī)控制部分、數(shù)碼管點(diǎn)亮部分、和音頻轉(zhuǎn)換電路硬件調(diào)試。(1)、數(shù)碼管LED電路調(diào)試:接通電源,隨機(jī)按下按鈕可以看到數(shù)碼管顯示數(shù)字。(2)、鍵盤單片機(jī)控制部分調(diào)試:上電后,隨機(jī)按動(dòng)鍵盤可以發(fā)現(xiàn)各個(gè)按鍵對(duì)應(yīng)的音正確。4.2軟件調(diào)試調(diào)試主要方法和技巧:通常一個(gè)調(diào)試程序應(yīng)該具備至少四種性能:跟蹤、斷點(diǎn)、查看變量、更改數(shù)值。整個(gè)程序是一個(gè)主程序調(diào)用各個(gè)子程序?qū)崿F(xiàn)功能的過程,要使主程序和整個(gè)程序都能平穩(wěn)運(yùn)行,各個(gè)模塊的子程序的正確與平穩(wěn)運(yùn)行必不可少,所以在軟件調(diào)試的最初階段就是把各個(gè)子程序模塊進(jìn)行分別調(diào)試。4.3仿真結(jié)果(任舉一例)圖4-1低音音符DO仿真圖4.4結(jié)果分析根據(jù)仿真結(jié)果可知,本次課程設(shè)計(jì)能夠準(zhǔn)確并徹底的完成設(shè)計(jì)要求。左側(cè)數(shù)碼管可以顯示a、b、c三種結(jié)果,分別代表低音、中音和高音。右側(cè)數(shù)碼管可以顯示1、2、3、4、5、6、7七個(gè)數(shù)字,分別代表DO、RE、MI、FA、SO、LA、SI七種音符。下面以4.3為例具體進(jìn)行分析:當(dāng)系統(tǒng)上電后,若按下低音鍵(如圖P3.6),,則選定工作方式為低音模式,圖中a即代表低音。P0口連接數(shù)碼管段選端,右側(cè)數(shù)碼管顯示的1即代表DO。兩位數(shù)碼管即代表低音DO。5總結(jié)與展望總體來說,此次單片機(jī)課程設(shè)計(jì)使我們收獲良多,雖然課程設(shè)計(jì)的過程中遇到了很多困難與問題,但我們最終還是完成了設(shè)計(jì)的任務(wù)及要求。具體來說可以分為以下幾點(diǎn):第一,不夠細(xì)心,不夠嚴(yán)謹(jǐn)(如因?yàn)榇中拇笠舛稿e(cuò)線);第二,因?qū)φn本理論的掌握度不夠?qū)е戮幊坛霈F(xiàn)錯(cuò)誤;第三,硬件方面,剛開始有的程序模塊不能實(shí)現(xiàn)預(yù)期的效果,對(duì)于有的硬件,在實(shí)物制作過程中焊了比較多的排線,同時(shí)對(duì)于整體各元器件的布局都有很高的要求。不過在向同學(xué)請(qǐng)教,各方面都有了不同程度的改善;第四,在做人方面,我認(rèn)識(shí)到,無論做什么事情,只要你足夠堅(jiān)強(qiáng),有足夠的毅力和決心,有足夠的挑戰(zhàn)困難的勇氣,就沒有什么辦不到的。這次課程設(shè)計(jì)中,經(jīng)過我們的努力,在仿真軟件和實(shí)物上都實(shí)現(xiàn)了高、中、低21個(gè)音符的發(fā)聲和音樂的自動(dòng)播放,使我們有了一定的成就感,也使我們進(jìn)一步熟悉和掌握了單片機(jī)的內(nèi)部結(jié)構(gòu)和工作原理,了解了單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)的基本方法和步驟,掌握了單片機(jī)仿真軟件Proteus的使用方法和鍵盤、顯示器在的單片機(jī)控制系統(tǒng)中的應(yīng)用,同時(shí)也掌握了撰寫課程設(shè)計(jì)報(bào)告的方法??傊ㄟ^這次課程設(shè)計(jì),我們都清楚明白了自己的能力有多深,想提高還得歸于多鍛煉,多動(dòng)手,多向別人學(xué)習(xí)。6參考文獻(xiàn)【1】余發(fā)山、王福忠.單片機(jī)原理及應(yīng)用技術(shù).中國礦業(yè)大學(xué)出版社.2008年6月第1版【2】楊凌霄.微型計(jì)算機(jī)原理與應(yīng)用,中國礦業(yè)大學(xué)出版社.2008年8月第一版【3】康華光.電子技術(shù)基礎(chǔ)(數(shù)字部分),高等教育出版社.第五版【4】徐志軍,伊廷輝等.EDA技術(shù)與PLD設(shè)計(jì)人民郵電出版社,2006年2月第1版【5】李朝青.單片機(jī)原理及接口技術(shù)[M].北京:北京航天航空大學(xué)出版色,2001.【6】胡漢才.單片機(jī)原理及其接口技術(shù)[M].北京:清華大學(xué)出版社,2004.附件1:源程序代碼#include<reg52.h>#definekeyportP1#defineucharunsignedchar#defineuintunsignedintucharhigh,low; //定時(shí)器預(yù)裝值的高8位和低8位sbitspeak=P3^0;sbitgao=P3^5;sbitdi=P3^6;sbitzdbf=P3^7;ucharyinjie=1;uchartime;ucharn=0;ucharbo=0;ucharcodefre[][2]={ 0x8c,0xf8, 0x5b,0xf9, 0x15,0xfa, 0x67,0xfa, 0x90,0xfb, 0xae,0xfb, 0x0c,0xfc,//低音 0x44,0xfc, 0xac,0xfc, 0x09,0xfd, 0x34,0xfd, 0x82,0xfd, 0xc2,0xfd, 0x06,0xfe,//中音 0x22,0xfe, 0x56,0xfe, 0x85,0xfe, 0x9a,0xfe, 0xc1,0xfe, 0xe4,0xfe, 0x03,0xff, //高音 };voiddelay(uint);voidITimer0(void);//定時(shí)器初始化voidkey(void);voiddtxs(int,int);voidsong(){TH0=high;TL0=low;TR0=1;delay(time*240);}voidyinyue(){ucharcodehls[]={5,2,2,3,2,1,5,2,1,1,3,4,6,2,2,1,3,2,5,2,4,5,2,2,1,2,1,2,2,1,3,2,2,2,2,1, 1,2,1,2,2,6,5,2,2,3,2,1,5,2,1,1,3,3,7,2,1,6,2,2,1,3,2,5,2,4,5,2,2,2,2,1,3,2,1,4,2,3,7,1,1,1,2,6,6,2,2,1,3,2,1,3,4,7,2,2,6,2,1,7,2,1,1,3,4,6,2,1, 7,2,1,1,3,1,6,2,1,6,2,1,5,2,1,3,2,1,1,2,1,2,2,6,5,2,2,3,2,1, 1,2,1,1,3,3,7,2,1,6,2,2,1,3,2,5,2,4,5,2,2,2,2,1,3,2,1,4,2,3,7,1,1,1,2,6 }; ucharm; n=0;while(n<174) { m=hls[n]+7*(hls[n+1]-1)-1; high=fre[m][1]; low=fre[m][0]; time=hls[n+2]; n=n+3; song(); }} voidmain(void){ ucharnum; ITimer0(); speak=0; while(1) { key(); switch(keyport) { case0xfe:num=1;break; case0xfd:num=2;break; case0xfb:num=3;break;case0xf7:num=4;break;case0xef:num=5;break;case0xdf:num=6;break;case0xbf:num=7;break;case0x7f:num=8;break;default:num=0;break; } if(num==0) { TR0=0; speak=0; } else { high=fre[7*yinjie+num-1][1]; low=fre[7*yinjie+num-1][0]; TR0=1; } dtxs(yinjie,num); }}voidITimer0(void){TMOD|=0x01;//使用模式1,16位定時(shí)器,使用"|"符號(hào)可以在使用多個(gè)定時(shí)器時(shí)不受影響EA=1;//總中斷打開ET0=1;//定時(shí)器中斷打開TR0=1;//定時(shí)器開關(guān)打開}voidTimer0_isr(void)interrupt1{TH0=high;TL0=low;speak=!speak;if(zdbf==0){ delay(100); if

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論