版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
Liaoning開(kāi)放實(shí)驗(yàn)室項(xiàng)目研究論文題目:基于單片機(jī)的電子琴電路設(shè)計(jì)學(xué)院:物理與電子技術(shù)學(xué)院專業(yè):電子信息工程班級(jí)序號(hào):學(xué)號(hào):學(xué)生姓名:指導(dǎo)教師:2011年12月PAGE16基于單片機(jī)的電子琴電路設(shè)計(jì)學(xué)生:指導(dǎo)教師:物理與電子技術(shù)學(xué)院電子信息工程專業(yè)2009級(jí)摘要:電子琴是現(xiàn)代電子科技與音樂(lè)結(jié)合的產(chǎn)物,是一種新型的鍵盤(pán)樂(lè)器。它在現(xiàn)代音樂(lè)扮演著重要的角色,單片機(jī)具有強(qiáng)大的控制功能和靈活的編程實(shí)現(xiàn)特性,它已經(jīng)溶入現(xiàn)代人們的生活中,成為不可替代的一部分。本文的主要內(nèi)容是用AT89c51單片機(jī)為核心控制元件,設(shè)計(jì)一個(gè)電子琴。以單片機(jī)作為主控核心,與鍵盤(pán)、揚(yáng)聲器等模塊組成核心主控制模塊,在主控模塊上設(shè)有16個(gè)按鍵和揚(yáng)聲器。本系統(tǒng)運(yùn)行穩(wěn)定,其優(yōu)點(diǎn)是硬件電路簡(jiǎn)單,軟件功能完善,控制系統(tǒng)可靠,性價(jià)比較高等,具有一定的實(shí)用和參考價(jià)值。關(guān)鍵詞:電子琴;AT89C51;編程;可控前言隨著大規(guī)模集成電路的出現(xiàn)和發(fā)展,芯片生產(chǎn)廠家把中央處理器CPU,隨機(jī)存取內(nèi)存RAM,只讀存儲(chǔ)器ROM,定時(shí)器/計(jì)數(shù)器以及I/O接口電路等主要計(jì)算機(jī)部件,集成在一塊集成電路芯片(硅片)上,形成芯片級(jí)計(jì)算機(jī),稱為單片微型計(jì)算機(jī),直譯為單片機(jī)。單片機(jī)雖只是一個(gè)芯片,但從組成和功能上看,它已具有了微機(jī)系統(tǒng)的含義,又稱微型處理部件MCU(MicroControllerUnit),單片機(jī)商品名稱為微控制器單元。雖然單片機(jī)出現(xiàn)的歷史并不長(zhǎng),但發(fā)展十分迅猛,在集成度、功能、速度、可靠性、應(yīng)用領(lǐng)域等全方位向更高水平發(fā)展。目前單片機(jī)已用于工業(yè)控制、機(jī)電一體化設(shè)備、儀器儀表、信號(hào)處理、現(xiàn)代兵器、交通能源、商用設(shè)備、醫(yī)療設(shè)備及家用電器等各個(gè)領(lǐng)域,隨著單片機(jī)性能的不斷提高,它的應(yīng)用將會(huì)更加廣泛。單片機(jī)技術(shù)發(fā)展非???,所以目前的產(chǎn)品都致力于在功能全面、技術(shù)先進(jìn)、操作簡(jiǎn)便、安全可靠、價(jià)格合理等方面進(jìn)行仔細(xì)研究,精心設(shè)計(jì);及時(shí)掌握最新的單片機(jī)技術(shù),在條件允許的情況下,盡可能地利用最新的單片機(jī)技術(shù)來(lái)研制其應(yīng)用系統(tǒng),再利用單片機(jī)體積小、價(jià)格低、功能強(qiáng)等特點(diǎn),以保證所設(shè)計(jì)的產(chǎn)品在未來(lái)的一段時(shí)間內(nèi)仍具生命力。在生活和生產(chǎn)的各個(gè)領(lǐng)域中,凡是有自動(dòng)控制要求的地方都會(huì)有單片機(jī)的身影出現(xiàn);從簡(jiǎn)單到復(fù)雜,從空中、地面到地下,凡是能想象到的地方幾乎都有使用單片機(jī)的需求?,F(xiàn)在,盡管單片機(jī)的應(yīng)用已經(jīng)很普遍了,但仍有許多可以用單片機(jī)控制而尚未實(shí)現(xiàn)的項(xiàng)目,因此,單片機(jī)的應(yīng)用大有可以想象和拓展的空間。單片機(jī)的應(yīng)用有利于產(chǎn)品的小型化、多功能化和智能化,有助于提高勞動(dòng)效率,減輕勞動(dòng)強(qiáng)度,提高產(chǎn)品質(zhì)量,改善勞動(dòng)環(huán)境,減少能源和材料消耗,保證安全等。但是,單片機(jī)應(yīng)用的意義絕不僅限于它的廣闊范圍以及所帶來(lái)的經(jīng)濟(jì)效益上,更重要的意義還在于:?jiǎn)纹瑱C(jī)的應(yīng)用正從根本上改變著傳統(tǒng)的控制系統(tǒng)設(shè)計(jì)思想和設(shè)計(jì)方法。從前必須由模擬電路或數(shù)字電路實(shí)現(xiàn)的大部分控制功能,現(xiàn)在已能使用單片機(jī)通過(guò)軟件(編程序)方法實(shí)現(xiàn)了。這種以軟件取代硬件并能提高系統(tǒng)性能的控制系統(tǒng)“軟化”技術(shù),稱之為微控制技術(shù)。微控制技術(shù)是一種全新的概念,是對(duì)傳統(tǒng)控制技術(shù)的一次革命。隨單片機(jī)應(yīng)用的推廣普及,微控制技術(shù)必將不斷發(fā)展、日益完善和更加充實(shí)。簡(jiǎn)易電子琴系統(tǒng)就是以單片機(jī)為主要元器件設(shè)計(jì)的一個(gè)簡(jiǎn)易電子琴,這只是單片機(jī)應(yīng)用的一個(gè)點(diǎn),由點(diǎn)及面,希望可以更好的了解和應(yīng)用單片機(jī)技術(shù)。之所以以單片機(jī)電子琴為選題,目的在于從日常生活能接觸到的細(xì)微處著手,通過(guò)理論與實(shí)踐的結(jié)合,更明確自己的所學(xué)所用,也在實(shí)踐中發(fā)現(xiàn)理論的不足,對(duì)目前日益廣泛應(yīng)用的單片機(jī)有了更加理性化和感性化的認(rèn)識(shí),使理論和實(shí)踐相得益彰。通過(guò)單片機(jī)電子琴這個(gè)選題,更深層次的了解了單片機(jī)技術(shù),以前只是有理論,實(shí)踐的機(jī)會(huì)不是很多,在作單片機(jī)電子琴這個(gè)選題的過(guò)程中,更加熟練的掌握了一些單片機(jī)芯片的應(yīng)用,也解決了很多以前理論和實(shí)踐脫節(jié)的問(wèn)題,可謂對(duì)單片機(jī)的認(rèn)識(shí)有了一個(gè)小的飛躍。1.總體方案1.1系統(tǒng)設(shè)計(jì)要求本系統(tǒng)分為兩個(gè)部分,一個(gè)是音樂(lè)播放,另一個(gè)就是電子琴?gòu)椬?。關(guān)于聲音的處理,使用單片機(jī)C語(yǔ)言,利用定時(shí)器來(lái)控制頻率,而每個(gè)音符的符號(hào)只是存在我自己定義的表中。具體要求如下:1.要求達(dá)到電子琴的基本功能,可以用彈奏出簡(jiǎn)單的樂(lè)曲。2.用鍵盤(pán)作出電子琴的按鍵,每鍵代表一個(gè)音符。3.各音符按一定的順序排列,必須符合電子琴的按鍵排列順序。4.固定音樂(lè)播放有按鍵控制:“播放”、“彈奏/停止”。5.彈奏電子琴時(shí)能播放出準(zhǔn)確的聲音,不彈奏時(shí)可以播放內(nèi)置音樂(lè)。1.2電子琴系統(tǒng)的組成單片機(jī)因體積小、功能強(qiáng)、價(jià)格低廉而得到廣泛應(yīng)用。AT89C51單片機(jī)設(shè)計(jì)微型電子琴的方法,僅需AT89C51最小系統(tǒng),擴(kuò)展一組矩陣鍵盤(pán),再接一組發(fā)光二極管用來(lái)指示電子琴的工作狀態(tài)。本系統(tǒng)分為兩個(gè)部分,一個(gè)是音樂(lè)另一個(gè)就是電子琴。音樂(lè)播放部分:樂(lè)音實(shí)際上是有固定周期的信號(hào)。本文介紹用AT89C51的兩個(gè)定時(shí)器(如T0,T1)控制,在P3.7腳上輸出方波周期信號(hào),產(chǎn)生樂(lè)音,通過(guò)矩陣鍵盤(pán)按鍵產(chǎn)生不同的音符,由此操作人員可以隨心所欲的彈奏自己所喜愛(ài)的樂(lè)曲,當(dāng)不想彈奏時(shí)通過(guò)按放歌鍵可以演奏事先存放在單片機(jī)中的幾首動(dòng)聽(tīng)的曲子供消遣。當(dāng)歌曲演奏完時(shí),通過(guò)按復(fù)位鍵便可回到初始狀態(tài),這樣就做出了一臺(tái)微型電子琴。由于一首音樂(lè)是許多不同的音階組成的,而每個(gè)音階對(duì)應(yīng)著不同的頻率,這樣我們就可以利用不同的頻率的組合,即可構(gòu)成我們所想要的音樂(lè)了,當(dāng)然對(duì)于單片機(jī)來(lái)產(chǎn)生不同的頻率非常方便,我們可以利用單片機(jī)的定時(shí)/計(jì)數(shù)器T0來(lái)產(chǎn)生這樣方波頻率信號(hào),因此,我們只要把一首歌曲的音階對(duì)應(yīng)頻率關(guān)系弄正確即可。樂(lè)曲中,每一音符對(duì)應(yīng)著確定的頻率,我們將每一音符的時(shí)間常數(shù)和其相應(yīng)的節(jié)拍常數(shù)作為一組,按順序?qū)?lè)曲中的所有常數(shù)排列成一個(gè)表,然后由查表程序依次取出,產(chǎn)生音符并控制節(jié)奏,就可以實(shí)現(xiàn)演奏效果。電子琴?gòu)椬嗖糠郑簩?shí)際上就是把每個(gè)按鍵所對(duì)應(yīng)的值經(jīng)過(guò)處理后發(fā)給單片機(jī),再在單片機(jī)內(nèi)把數(shù)字當(dāng)作指針指向所對(duì)應(yīng)的音符。1.3系統(tǒng)框圖該系統(tǒng)通過(guò)電子琴按鍵隨意鍵入所要表達(dá)的音符,作為電平送給主體電路,中央處理器通過(guò)識(shí)別,解碼輸出音符,在揚(yáng)聲器中發(fā)出有效的聲音。通過(guò)這樣可以不斷的彈奏音樂(lè)。嵌入式電路,按鍵電路,LED顯示電路和兩個(gè)功能鍵組成,通過(guò)功能鍵可以選擇播放音樂(lè)。其主要模塊由五個(gè)部分組成,具體關(guān)系如圖3-1所示:圖3-1帶存儲(chǔ)的電子琴框圖用P0口的高四位和P0口的低四位作4X4矩陣式按鍵的接口,用P2口作數(shù)碼管的接口,用P3.7作信號(hào)輸出口。2.硬件簡(jiǎn)介2.1AT89C512.1.1AT89C51簡(jiǎn)介AT89C51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲(chǔ)器(FPEROM—FlashProgrammableandErasableReadOnlyMemory)的低電壓,高性能CMOS8位微處理器,俗稱單片機(jī)。AT89C2051是一種帶2K字節(jié)閃爍可編程可擦除只讀存儲(chǔ)器的單片機(jī)。單片機(jī)的可擦除只讀存儲(chǔ)器可以反復(fù)擦除100次。該器件采用ATMEL高密度非易失存儲(chǔ)器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲(chǔ)器組合在單個(gè)芯片中,ATMEL的AT89C51是一種高效微控制器,AT89C2051是它的一種精簡(jiǎn)版本。AT89C單片機(jī)為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價(jià)廉的方案。外形及引腳排列如圖3-2所示。2.1.2主要的功能特性_與MCS-51兼容_4K字節(jié)可編程閃爍存儲(chǔ)器_壽命:1000寫(xiě)/擦循環(huán)_數(shù)據(jù)保留時(shí)間:10年_全靜態(tài)工作:0Hz-24MHz_三級(jí)程序存儲(chǔ)器鎖定_128_8位內(nèi)部RAM_32可編程I/O線_兩個(gè)16位定時(shí)器/計(jì)數(shù)器_5個(gè)中斷源_可編程串行通道_低功耗的閑置和掉電模式_片內(nèi)振蕩器和時(shí)鐘電路2.1.3管腳功能VCC:供電電壓。GND:接地。P0口:P0口為一個(gè)8位漏級(jí)開(kāi)路雙向I/O口,每腳可吸收8TTL門(mén)電流。當(dāng)P1口的管腳第一次寫(xiě)1時(shí),被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時(shí),P0口作為原碼輸入口,當(dāng)FIASH進(jìn)行校驗(yàn)時(shí),P0輸出原碼,此時(shí)P0外部必須被拉高。P1口:P1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門(mén)電流。P1口管腳寫(xiě)入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗(yàn)時(shí),P1口作為第八位地址接收。P2口:P2口為一個(gè)內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個(gè)TTL門(mén)電流,當(dāng)P2口被寫(xiě)“1”時(shí),其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時(shí),P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當(dāng)用于外部程序存儲(chǔ)器或16位地址外部數(shù)據(jù)存儲(chǔ)器進(jìn)行存取時(shí),P2口輸出地址的高八位。在給出地址“1P3口:P3口管腳是8個(gè)帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個(gè)TTL門(mén)電流。當(dāng)P3口寫(xiě)入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。P3口也可作為AT89C口管腳備選功能P3.0RXD(串行輸入口)P3.1TXD(串行輸出口)P3.2/INT0(外部中斷0)P3.3/INT1(外部中斷1)P3.4T0(記時(shí)器0外部輸入)P3.5T1(記時(shí)器1外部輸入)P3.6/WR(外部數(shù)據(jù)存儲(chǔ)器寫(xiě)選通)P3.7/RD(外部數(shù)據(jù)存儲(chǔ)器讀選通)P3口同時(shí)為閃爍編程和編程校驗(yàn)接收一些控制信號(hào)。RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持RST腳兩個(gè)機(jī)器周期的高電平時(shí)間。ALE/PROG:當(dāng)訪問(wèn)外部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時(shí),ALE端以不變的頻率周期輸出正脈沖信號(hào),此頻率為振蕩器頻率的1/6。因此它可用作對(duì)外部輸出的脈沖或用于定時(shí)目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過(guò)一個(gè)ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時(shí),ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無(wú)效。/PSEN:外部程序存儲(chǔ)器的選通信號(hào)。在由外部程序存儲(chǔ)器取指期間,每個(gè)機(jī)器周期兩次/PSEN有效。但在訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的/PSEN信號(hào)將不出現(xiàn)。/EA/VPP:當(dāng)/EA保持低電平時(shí),則在此期間外部程序存儲(chǔ)器(0000H-FFFFH),不管是否有內(nèi)部程序存儲(chǔ)器。注意加密方式1時(shí),/EA將內(nèi)部鎖定為RESET;當(dāng)/EA端保持高電平時(shí),此間內(nèi)部程序存儲(chǔ)器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。XTAL1:反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入。XTAL2:來(lái)自反向振蕩器的輸出。振蕩器特性:XTAL1和XTAL2分別為反向放大器的輸入和輸出。該反向放大器可以配置為片內(nèi)振蕩器。石晶振蕩和陶瓷振蕩均可采用。如采用外部時(shí)鐘源驅(qū)動(dòng)器件,XTAL2應(yīng)不接。有余輸入至內(nèi)部時(shí)鐘信號(hào)要通過(guò)一個(gè)二分頻觸發(fā)器,因此對(duì)外部時(shí)鐘信號(hào)的脈寬無(wú)任何要求,但必須保證脈沖的高低電平要求的寬度。2.1.4芯片擦除整個(gè)PEROM陣列和三個(gè)鎖定位的電擦除可通過(guò)正確的控制信號(hào)組合,并保持ALE管腳處于低電平10ms來(lái)完成。在芯片擦操作中,代碼陣列全被寫(xiě)“1”且在任何非空存儲(chǔ)字節(jié)被重復(fù)編程以前,該操作必須被執(zhí)行。此外,AT89C51設(shè)有穩(wěn)態(tài)邏輯,可以在低到零頻率的條件下靜態(tài)邏輯,支持兩種軟件可選的掉電模式。在閑置模式下,CPU停止工作。但RAM,定時(shí)器,計(jì)數(shù)器,串口和中斷系統(tǒng)仍在工作。在掉電模式下,保存RAM的內(nèi)容并且凍結(jié)振蕩器,禁止所用其他芯片功能,直到下一個(gè)硬件復(fù)位為止。2.2矩陣式鍵盤(pán)的識(shí)別和顯示2.2.1.在鍵盤(pán)中按鍵數(shù)量較多時(shí),為了減少I(mǎi)/O口的占用,通常將按鍵排列成矩陣形式。在矩陣式鍵盤(pán)中,每條水平線和垂直線在交叉處不直接連通,而是通過(guò)一個(gè)按鍵加以連接。這樣,一個(gè)端口(如P1口)就可以構(gòu)成4*4=16個(gè)按鍵,比之直接將端口線用于鍵盤(pán)多出了一倍,而且線數(shù)越多,區(qū)別越明顯,比如再多加一條線就可以構(gòu)成20鍵的鍵盤(pán),而直接用端口線則只能多出一鍵(9鍵)。由此可見(jiàn),在需要的鍵數(shù)比較多時(shí),采用矩陣法來(lái)做鍵盤(pán)是合理的。矩陣式結(jié)構(gòu)的鍵盤(pán)顯然比直接法要復(fù)雜一些,識(shí)別也要復(fù)雜一些,上圖中,列線通過(guò)電阻接正電源,并將行線所接的單片機(jī)的I/O口作為輸出端,而列線所接的I/O口則作為輸入。這樣,當(dāng)按鍵沒(méi)有按下時(shí),所有的輸出端都是高電平,代表無(wú)鍵按下。行線輸出是低電平,一旦有鍵按下,則輸入線就會(huì)被拉低,這樣,通過(guò)讀入輸入線的狀態(tài)就可得知是否有鍵按下了。具體的識(shí)別及編程方法如下所述。2.2.2.矩陣式鍵盤(pán)的按鍵識(shí)別方法確定矩陣式鍵盤(pán)上何鍵被按下介紹一種“行掃描法”。行掃描法行掃描法又稱為逐行(或列)掃描查詢法,是一種最常用的按鍵識(shí)別方法,如上圖所示鍵盤(pán),介紹過(guò)程如下。1、判斷鍵盤(pán)中有無(wú)鍵按下將全部行線Y0-Y3置低電平,然后檢測(cè)列線的狀態(tài)。只要有一列的電平為低,則表示鍵盤(pán)中有鍵被按下,而且閉合的鍵位于低電平線與4根行線相交叉的4個(gè)按鍵之中。若所有列線均為高電平,則鍵盤(pán)中無(wú)鍵按下。2、判斷閉合鍵所在的位置在確認(rèn)有鍵按下后,即可進(jìn)入確定具體閉合鍵的過(guò)程。其方法是:依次將行線置為低電平,即在置某根行線為低電平時(shí),其它線為高電平。在確定某根行線位置為低電平后,再逐行檢測(cè)各列線的電平狀態(tài)。若某列為低,則該列線與置為低電平的行線交叉處的按鍵就是閉合的按鍵。2.2.3(1)去抖動(dòng):每個(gè)按鍵在按下或松開(kāi)時(shí),都會(huì)產(chǎn)生短時(shí)間的抖動(dòng)。抖動(dòng)的持續(xù)時(shí)間與鍵的質(zhì)量相關(guān),一般為5—20mm。所謂抖動(dòng)是指在識(shí)別被按鍵是必須避開(kāi)抖動(dòng)狀態(tài),只有處在穩(wěn)定接通或穩(wěn)定斷開(kāi)狀態(tài)才能保證識(shí)別正確無(wú)誤。去抖問(wèn)題可通過(guò)軟件延時(shí)或硬件電路解決。(2)防串鍵:防串鍵是為了解決多個(gè)鍵同時(shí)按下或者前一按鍵沒(méi)有釋放又有新的按鍵按下時(shí)產(chǎn)生的問(wèn)題。常用的方法有雙鍵鎖定和N鍵輪回兩種方法。雙鍵鎖定,是當(dāng)有兩個(gè)或兩個(gè)以上的按鍵按下時(shí),只把最后釋放的鍵當(dāng)作有效鍵并產(chǎn)生相應(yīng)的鍵碼。N鍵輪回,是當(dāng)檢測(cè)到有多個(gè)鍵被按下時(shí),能根據(jù)發(fā)現(xiàn)它們的順序依次產(chǎn)生相應(yīng)鍵的鍵碼。(3)被按鍵識(shí)別:如何識(shí)別被按鍵是接口解決的主要問(wèn)題,一般可通過(guò)軟硬結(jié)合的方法完成。常用的方法有行掃描法和線反轉(zhuǎn)法兩種。行掃描法的基本思想是,由程序?qū)︽I盤(pán)逐行掃描,通過(guò)檢測(cè)到的列輸出狀態(tài)來(lái)確定閉合鍵,為此,需要設(shè)置入口、輸出口一個(gè),該方法在微機(jī)系統(tǒng)中被廣泛使用。線反轉(zhuǎn)法的基本思想是通過(guò)行列顛倒兩次掃描來(lái)識(shí)別閉合鍵,為此需要提供兩個(gè)可編程的雙向輸入/輸出端口。(4)鍵碼產(chǎn)生:為了從鍵的行列坐標(biāo)編碼得到反映鍵功能的鍵碼,一般在內(nèi)存區(qū)中建立一個(gè)鍵盤(pán)編碼表,通過(guò)查表獲得被按鍵的鍵碼。用AT89C51的并行口P0接4_4矩陣鍵盤(pán),以P0.0-P0.3作輸入線,以P0.4-P0.7作輸出線;在數(shù)碼管上顯示每個(gè)按鍵的“0-F”序號(hào)。2.3LED數(shù)碼管【數(shù)碼管的分類】數(shù)碼管按段數(shù)分為七段數(shù)碼管和八段數(shù)碼管,八段數(shù)碼管比七段數(shù)碼管多一個(gè)發(fā)光二極管單元(多一個(gè)小數(shù)點(diǎn)顯示);按能顯示多少個(gè)“8”可分為1位、2位、4位等等數(shù)碼管;按發(fā)光二極管單元連接方式分為共陽(yáng)極數(shù)碼管和共陰極數(shù)碼管。圖3-3為2位數(shù)碼管。共陽(yáng)數(shù)碼管是指將所有發(fā)光二極管的陽(yáng)極接到一起形成公共陽(yáng)極(COM)的數(shù)碼管。共陽(yáng)數(shù)碼管在應(yīng)用時(shí)應(yīng)將公共極COM接到+5V,當(dāng)某一字段發(fā)光二極管的陰極為低電平時(shí),相應(yīng)字段就點(diǎn)亮。當(dāng)某一字段的陰極為高電平時(shí),相應(yīng)字段就不亮。共陰數(shù)碼管是指將所有發(fā)光二極管的陰極接到一起形成公共陰極(COM)的數(shù)碼管。共陰數(shù)碼管在應(yīng)用時(shí)應(yīng)將公共極COM接到地線GND上,當(dāng)某一字段發(fā)光二極管的陽(yáng)極為高電平時(shí),相應(yīng)字段就點(diǎn)亮。當(dāng)某一字段的陽(yáng)極為低電平時(shí),相應(yīng)字段就不亮。【數(shù)碼管的驅(qū)動(dòng)方式】 數(shù)碼管要正常顯示,就要用驅(qū)動(dòng)電路來(lái)驅(qū)動(dòng)數(shù)碼管的各個(gè)段碼,從而顯示出我們要的數(shù)字,因此根據(jù)數(shù)碼管的驅(qū)動(dòng)方式的不同,可以分為靜態(tài)式和動(dòng)態(tài)式兩類。①靜態(tài)顯示驅(qū)動(dòng):靜態(tài)驅(qū)動(dòng)也稱直流驅(qū)動(dòng)。靜態(tài)驅(qū)動(dòng)是指每個(gè)數(shù)碼管的每一個(gè)段碼都由一個(gè)單片機(jī)的I/O端口進(jìn)行驅(qū)動(dòng),或者使用如BCD碼二-十進(jìn)制譯碼器譯碼進(jìn)行驅(qū)動(dòng)。靜態(tài)驅(qū)動(dòng)的優(yōu)點(diǎn)是編程簡(jiǎn)單,顯示亮度高,缺點(diǎn)是占用I/O端口多,如驅(qū)動(dòng)5個(gè)數(shù)碼管靜態(tài)顯示則需要5*8=40根I/O端口來(lái)驅(qū)動(dòng),要知道一個(gè)89S51單片機(jī)可用的I/O端口才32個(gè)呢:),實(shí)際應(yīng)用時(shí)必須增加譯碼驅(qū)動(dòng)器進(jìn)行驅(qū)動(dòng),增加了硬件電路的復(fù)雜性。②動(dòng)態(tài)顯示驅(qū)動(dòng):數(shù)碼管動(dòng)態(tài)顯示接口是單片機(jī)中應(yīng)用最為廣泛的一種顯示方式之一,動(dòng)態(tài)驅(qū)動(dòng)是將所有數(shù)碼管的8個(gè)顯示筆劃"a,b,c,d,e,f,g,dp"的同名端連在一起,另外為每個(gè)數(shù)碼管的公共極COM增加位選通控制電路,位選通由各自獨(dú)立的I/O線控制,當(dāng)單片機(jī)輸出字形碼時(shí),所有數(shù)碼管都接收到相同的字形碼,但究竟是那個(gè)數(shù)碼管會(huì)顯示出字形,取決于單片機(jī)對(duì)位選通COM端電路的控制,所以我們只要將需要顯示的數(shù)碼管的選通控制打開(kāi),該位就顯示出字形,沒(méi)有選通的數(shù)碼管就不會(huì)亮。通過(guò)分時(shí)輪流控制各個(gè)數(shù)碼管的的COM端,就使各個(gè)數(shù)碼管輪流受控顯示,這就是動(dòng)態(tài)驅(qū)動(dòng)。在輪流顯示過(guò)程中,每位數(shù)碼管的點(diǎn)亮?xí)r間為1~2ms,由于人的視覺(jué)暫留現(xiàn)象及發(fā)光二極管的余輝效應(yīng),盡管實(shí)際上各位數(shù)碼管并非同時(shí)點(diǎn)亮,但只要掃描的速度足夠快,給人的印象就是一組穩(wěn)定的顯示數(shù)據(jù),不會(huì)有閃爍感,動(dòng)態(tài)顯示的效果和靜態(tài)顯示是一樣的,能夠節(jié)省大量的I/O端口,而且功耗更低。2.4硬件設(shè)計(jì)圖圖中的矩陣鍵盤(pán),從上到下,從左到右,依次為鍵盤(pán)的0-15,在數(shù)碼管上顯示時(shí)順序?yàn)?-9和A-F,在按功能鍵時(shí),圖上的兩個(gè)指示燈會(huì)根據(jù)功能的不同實(shí)現(xiàn)亮/滅狀態(tài)的切換。在播放內(nèi)置音樂(lè)時(shí),指示燈在一定程度上能指示出曲目的音符。第四章軟件設(shè)計(jì)3.1整體程序處理流程圖圖4-1整體程序處理流程圖在電子琴開(kāi)始工作時(shí),系統(tǒng)默認(rèn)電子琴處于彈奏狀態(tài),歌曲選擇功能鍵的目的是賦予矩陣鍵盤(pán)第二功能,即對(duì)系統(tǒng)內(nèi)置的歌曲進(jìn)行選擇,在放歌時(shí)能且只能通過(guò)彈奏/停止鍵來(lái)結(jié)束放歌,選歌時(shí)必須先按下歌曲選擇功能鍵,在通過(guò)矩陣鍵盤(pán)來(lái)選擇和切換曲目。3.2I/O并行口直接驅(qū)動(dòng)LED顯示把“AT89C51”區(qū)域中的P2.0/A8-P2.7/A15端口用8芯排線連接到一位數(shù)碼管的a-h(huán)端口上;要求:P2.0/A8與a相連,P2.1/A9與b相連,P2.2/A10與c相連,表1字形碼表及對(duì)應(yīng)的音符10x3f低5SO90x7f中6LA20x06低6LAA0x6f中7SI30x5b低7SIb0x77高1DO40x4f中1DOC0x7c高2RE50x66中2RED0x39高3M60x6d中3ME0x5e高4FA70x7d中4FAF0x79高5SO80x07中5SO00x71高6LA在本設(shè)計(jì)中,數(shù)碼管的顯示通過(guò)P2=DSY_CODE[k]這句語(yǔ)言來(lái)查表并輸出,實(shí)現(xiàn)音符的顯示。3.3音樂(lè)播放設(shè)計(jì)一首音樂(lè)是許多不同的音階組成的,而每個(gè)音階對(duì)應(yīng)著不同的頻率,這樣我們就可以利用不同的頻率的組合,即可構(gòu)成我們所想要的音樂(lè)了,當(dāng)然對(duì)于單片機(jī)來(lái)產(chǎn)生不同的頻率非常方便,我們可以利用單片機(jī)的定時(shí)/計(jì)數(shù)器T0來(lái)產(chǎn)生這樣方波頻率信號(hào),因此,我們只要把一首歌曲的音階對(duì)應(yīng)頻率關(guān)系弄正確即可。若要產(chǎn)生音頻脈沖,只要算出某一音頻的周期(1/頻率),再將此周期除以2,即為半周期的時(shí)間。利用定時(shí)器計(jì)時(shí)半周期時(shí)間,每當(dāng)計(jì)時(shí)終止后就將P3.7反相,然后重復(fù)計(jì)時(shí)再反相。就可在P3.7引腳上得到此頻率的脈沖。利用AT89C51的內(nèi)部定時(shí)器使其工作計(jì)數(shù)器模式(MODE1)下,改變計(jì)數(shù)值TH0及TL0以產(chǎn)生不同頻率的方法產(chǎn)生不同音階,例如,頻率為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)、中音DO(523Hz)、高音DO(1046Hz)的計(jì)數(shù)值。T=65536-N=65536-fi_2_fr=65536-1000000/2/fr=65536-500000/fr低音DO的T=65536-500000/262=63628中音DO的T=65536-500000/523=64580高音DO的T=65536-500000/1046=65058單片機(jī)12MHZ晶振,高中低音符與計(jì)數(shù)T0相關(guān)的計(jì)數(shù)值如表4-1所示我們要為這個(gè)音符建立一個(gè)表格,單片機(jī)通過(guò)查表的方式來(lái)獲得相應(yīng)的數(shù)據(jù)uintcodetab[]={0,63628,63835,64021,64103,64260,64400,64524,64580,64684,64777,64820,64898,64968,65030,65058,65110,65157,65178,65217,65252,65283}音樂(lè)的音拍,一個(gè)節(jié)拍為單位(C調(diào))(如表4-2所示)表4-2曲調(diào)值表曲調(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對(duì)于不同的曲調(diào)我們也可以用單片機(jī)的另外一個(gè)定時(shí)/計(jì)數(shù)器來(lái)完成。在這個(gè)程序中用到了兩個(gè)定時(shí)/計(jì)數(shù)器來(lái)完成的。其中T0用來(lái)產(chǎn)生音符頻率,T1用來(lái)產(chǎn)生音拍。 圖4-3音頻播放流程圖3.5放歌子程序流程圖該程序?qū)崿F(xiàn)的是單首曲目循環(huán)播放,無(wú)法在程序內(nèi)部實(shí)現(xiàn)歌曲的切換。只能通過(guò)外部功能鍵來(lái)實(shí)現(xiàn)曲目及功能的切換,是該電子琴設(shè)計(jì)的一個(gè)缺憾。相信如果有更多的時(shí)間來(lái)進(jìn)行調(diào)試和設(shè)計(jì),這個(gè)設(shè)計(jì)會(huì)更加好。4.結(jié)論將程序?qū)階T89C51芯片,調(diào)試成功后,可任意彈奏自己想要的旋律。本課題通過(guò)制作電子琴,將幾個(gè)模塊很好的融合起來(lái),對(duì)使用單片機(jī)設(shè)計(jì)簡(jiǎn)易電子琴進(jìn)行了分析,并介紹了基于單片機(jī)電子琴統(tǒng)硬件組成。利用單片機(jī)產(chǎn)生不同頻率來(lái)獲得我們要求的音階,最終可隨意彈奏想要表達(dá)的音樂(lè)。說(shuō)明一首音樂(lè)是許多不同的音階組成的,而每個(gè)音階對(duì)應(yīng)著不同的頻率,這樣我們就可以利用不同的頻率的組合,即可構(gòu)成我們所想要的音樂(lè)了,于是我們可以利用單片機(jī)的定時(shí)/計(jì)數(shù)器T0來(lái)產(chǎn)生這樣方波頻率信號(hào),因此,我們只要把一首歌曲的音階對(duì)應(yīng)頻率關(guān)系弄正確即可,然后我們利用功放電路來(lái)將音樂(lè)聲音放大,同時(shí)通過(guò)顯示模塊來(lái)確知自己所彈的音符。通過(guò)這次課程設(shè)計(jì),我感覺(jué)收獲了很多:首先,通過(guò)實(shí)踐,加深對(duì)單片機(jī)系列知識(shí)及其系統(tǒng)的認(rèn)識(shí)。這個(gè)設(shè)計(jì)題目并不是新的,但從中能體現(xiàn)到一個(gè)系統(tǒng)開(kāi)發(fā)設(shè)計(jì)的過(guò)程,足于讓我們受益。第二,通過(guò)設(shè)計(jì)學(xué)習(xí)到了很多軟件的使用。本次設(shè)計(jì),軟件部分用到了protues進(jìn)行硬件設(shè)計(jì),用keil進(jìn)行程系編譯,用protel進(jìn)行制板。第三,提高了自己的動(dòng)手能力。動(dòng)手在一定程度上反映了一個(gè)人的能力,作為當(dāng)代大學(xué)生,社會(huì)要求的我們不是只能說(shuō)而不能做的人才;作為海大的一員,三能人才標(biāo)準(zhǔn)更讓我們清醒地認(rèn)識(shí)到,實(shí)際動(dòng)手能力無(wú)比重要。從這次實(shí)物制作中,我的動(dòng)手能力提高了。感謝學(xué)院給了我們這次實(shí)踐動(dòng)手的機(jī)會(huì),更感謝我們的周老師教育了我們單片機(jī)相關(guān)知識(shí)。本設(shè)計(jì)還可以擴(kuò)展其他功能,比如記憶功能,即可以存儲(chǔ)彈奏者所彈奏的音樂(lè)且保存,待彈奏完后播放給彈奏者聽(tīng)。還可以做得更加娛樂(lè)一點(diǎn),增加一些彩燈使彩燈隨著音調(diào)變化而產(chǎn)生不同的樣式。致謝能夠得以順利完成,是所有曾經(jīng)指導(dǎo)過(guò)我的老師,幫助過(guò)我的同學(xué),一直支持著我的家人對(duì)我的教誨、幫助和鼓勵(lì)的結(jié)果。我要在這里對(duì)他們表示深深的謝意!首先,要特別感謝我的指導(dǎo)老師——老師。老師在我畢
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 文明傳播責(zé)任狀
- 國(guó)防生教育培養(yǎng)協(xié)議模板
- 工程審計(jì)分包合同版
- 水泥磚供應(yīng)合同格式
- 婚禮攝影攝像服務(wù)合同
- 家電零售分銷(xiāo)合同
- 專業(yè)家政服務(wù)小時(shí)工合同
- 農(nóng)村養(yǎng)雞設(shè)備采購(gòu)合同
- 軟件合作開(kāi)發(fā)合同
- 混凝土構(gòu)件訂購(gòu)合同
- 北師版七年級(jí)數(shù)學(xué)上冊(cè)期末復(fù)習(xí)考點(diǎn) 清單04 基本平面圖形(12個(gè)考點(diǎn)梳理+題型解讀+提升訓(xùn)練)
- Pep小學(xué)英語(yǔ)六年級(jí)上冊(cè)教案-全冊(cè)
- 2024粵東西粵北地區(qū)教師全員輪訓(xùn)培訓(xùn)心得總結(jié)
- 服務(wù)類驗(yàn)收單
- MOOC 健身健美-北京林業(yè)大學(xué) 中國(guó)大學(xué)慕課答案
- 人生悟理-透過(guò)物理看人生智慧樹(shù)知到期末考試答案2024年
- 教育信息化2.0時(shí)代教師新技能進(jìn)階智慧樹(shù)知到期末考試答案2024年
- 國(guó)開(kāi)2023年春《理工英語(yǔ)3》機(jī)考網(wǎng)考期末復(fù)習(xí)資料參考答案
- 中國(guó)古建筑行業(yè)分析報(bào)告
- 蜂產(chǎn)品訂購(gòu)合同范本
- 建筑工程雜填土基坑邊坡支護(hù)方案及效果評(píng)價(jià)分析
評(píng)論
0/150
提交評(píng)論