單片機(jī)課程設(shè)計(jì)的報(bào)告-電子琴_第1頁(yè)
單片機(jī)課程設(shè)計(jì)的報(bào)告-電子琴_第2頁(yè)
單片機(jī)課程設(shè)計(jì)的報(bào)告-電子琴_第3頁(yè)
單片機(jī)課程設(shè)計(jì)的報(bào)告-電子琴_第4頁(yè)
單片機(jī)課程設(shè)計(jì)的報(bào)告-電子琴_第5頁(yè)
已閱讀5頁(yè),還剩6頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

...wd......wd......wd...可演奏的電子琴摘要:隨著社會(huì)的開展進(jìn)步,音樂(lè)逐漸成為我們生活中很重要的一局部,有人曾說(shuō)喜歡音樂(lè)的人不會(huì)向惡。我們都會(huì)抽空欣賞世界名曲,作為對(duì)精神的洗禮。本論文設(shè)計(jì)一個(gè)基于單片機(jī)的簡(jiǎn)易電子琴。電子琴是現(xiàn)代電子科技與音樂(lè)結(jié)合的產(chǎn)物,是一種新型的鍵盤樂(lè)器。它在現(xiàn)代音樂(lè)扮演著重要的角色,單片機(jī)具有強(qiáng)大的控制功能和靈活的編程實(shí)現(xiàn)特性,它已經(jīng)溶入現(xiàn)代人們的生活中,成為不可替代的一局部。本系統(tǒng)是以51系列單片機(jī)AT89C51為主控制器,附有矩陣鍵盤、LED顯示管、揚(yáng)聲器組成。系統(tǒng)完成顯示輸入信息、播放相應(yīng)音符等基本功能。本系統(tǒng)運(yùn)行穩(wěn)定,其優(yōu)點(diǎn)是硬件電路簡(jiǎn)單,軟件功能完善,控制系統(tǒng)可靠,性價(jià)比較高等,具有一定的實(shí)用和參考價(jià)值。關(guān)鍵詞:AT89C51,矩陣鍵盤,LED顯示管,揚(yáng)聲器。1引言1.1目的和意義單片微型計(jì)算機(jī)是大規(guī)模集成電路技術(shù)開展的產(chǎn)物,屬第四代電子計(jì)算機(jī),它具有高性能、高速度、體積小、價(jià)格低廉、穩(wěn)定可靠、應(yīng)用廣泛的特點(diǎn)。它的應(yīng)用必定導(dǎo)致傳統(tǒng)的控制技術(shù)從基本上發(fā)生變革。因此,單片機(jī)的開發(fā)應(yīng)用已成為高科技和工程領(lǐng)域的一項(xiàng)重大課題。電子琴是現(xiàn)代電子科技與音樂(lè)結(jié)合的產(chǎn)物,是一種新型的鍵盤樂(lè)器。它在現(xiàn)代音樂(lè)扮演著重要的角色,單片機(jī)具有強(qiáng)大的控制功能和靈活的編程實(shí)現(xiàn)特性,它已經(jīng)溶入現(xiàn)代人們的生活中,成為不可替代的一局部。本文的主要內(nèi)容是用AT89S51單片機(jī)為核心控制元件,設(shè)計(jì)一個(gè)電子琴。以單片機(jī)作為主控核心,與鍵盤、揚(yáng)聲器等模塊組成核心主控制模塊,在主控模塊上設(shè)有16個(gè)按鍵和揚(yáng)聲器。本文主要對(duì)使用單片機(jī)設(shè)計(jì)簡(jiǎn)易電子琴進(jìn)展了分析,并介紹了基于單片機(jī)電子琴統(tǒng)硬件組成。利用單片機(jī)產(chǎn)生不同頻率來(lái)獲得我們要求的音階,最終可隨意彈奏想要表達(dá)的音樂(lè)。并且本文分別從原理圖,主要芯片,各模塊原理及各模塊的程序的調(diào)試來(lái)詳細(xì)闡述。本系統(tǒng)是簡(jiǎn)易電子琴的設(shè)計(jì),按下鍵盤矩陣中的按鍵會(huì)使數(shù)碼管顯示當(dāng)前按鍵,揚(yáng)聲器播放器對(duì)應(yīng)的音符。通過(guò)設(shè)計(jì)本系統(tǒng)可了解單片機(jī)的基本功能。對(duì)單片機(jī)的了解有一個(gè)小的飛躍。1.2本系統(tǒng)主要研究?jī)?nèi)容本系統(tǒng)設(shè)計(jì)制作一個(gè)可演奏的電子琴。綜合應(yīng)用了兩項(xiàng)設(shè)計(jì)。〔1〕鍵盤矩陣識(shí)別。即矩陣掃描,顯示當(dāng)前按鍵。〔2〕不同頻率音符播放??梢酝ㄟ^(guò)按鍵控制16種發(fā)音。1.3主要芯片簡(jiǎn)介AT89S51是一個(gè)低功耗,高性能CMOS8位單片機(jī),片內(nèi)含4kBytesISP(In-systemprogrammable)的可反復(fù)擦寫1000次的Flash只讀程序存儲(chǔ)器,器件采用ATMEL公司的高密度、非易失性存儲(chǔ)技術(shù)制造,兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng)及80C51引腳構(gòu)造,芯片內(nèi)集成了通用8位中央處理器和ISPFlash存儲(chǔ)單元,功能強(qiáng)大的微型計(jì)算機(jī)的AT89S51可為許多嵌入式控制應(yīng)用系統(tǒng)提供高性價(jià)比的解決方案。

AT89S51具有如下特點(diǎn):40個(gè)引腳〔引腳圖如圖1-2所示〕,4kBytesFlash片內(nèi)程序存儲(chǔ)器,128bytes的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器〔RAM〕,32個(gè)外部雙向輸入/輸出〔I/O〕口,5個(gè)中斷優(yōu)先級(jí)2層中斷嵌套中斷,2個(gè)16位可編程定時(shí)計(jì)數(shù)器,2個(gè)全雙工串行通信口,看門狗〔WDT〕電路,片內(nèi)時(shí)鐘振蕩器。此外,AT89S51設(shè)計(jì)和配置了振蕩頻率可為0Hz并可通過(guò)軟件設(shè)置省電模式??臻e模式下,CPU暫停工作,而RAM定時(shí)計(jì)數(shù)器,串行口,外中斷系統(tǒng)可繼續(xù)工作,掉電模式凍結(jié)振蕩器而保存RAM的數(shù)據(jù),停頓芯片其它功能直至外中斷激活或硬件復(fù)位。同時(shí)該芯片還具有PDIP、TQFP和PLCC等三種封裝形式,以適應(yīng)不同產(chǎn)品的需求。2系統(tǒng)分析2.1系統(tǒng)組成本系統(tǒng)只要以51單片機(jī)為主控核心,與矩陣鍵盤、揚(yáng)聲器、LED顯示管模塊一起組合而成。具體如下:2.2系統(tǒng)工作原理本系統(tǒng)掃描鍵盤矩陣、顯示按鍵、揚(yáng)聲器發(fā)出對(duì)應(yīng)音符。4X4行列式鍵盤識(shí)別及顯示原理如下:組成鍵盤的按鍵有機(jī)械式、電容式、導(dǎo)電橡膠式、薄膜式多種,但不管什么形式,其作用都是一個(gè)使電路接通與斷開的開關(guān)。目前微機(jī)系統(tǒng)中使用的鍵盤按其功能不同,通??煞譃榫幋a鍵盤和非編碼鍵盤兩種基本類型。

編碼鍵盤:鍵盤本身帶有實(shí)現(xiàn)接口主要功能所需的硬件電路。不僅能自動(dòng)檢測(cè)被按下的鍵,并完成去抖動(dòng)、防串鍵等功能,而且能提供與被按鍵功能對(duì)應(yīng)的鍵碼〔如ASCII碼〕送往CPU。所以,編碼鍵盤接口簡(jiǎn)單、使用方便。但由于硬件電路較復(fù)雜,因而價(jià)格較貴。

非編碼鍵盤:鍵盤只簡(jiǎn)單地提供按鍵開關(guān)的行列矩陣。有關(guān)按鍵的識(shí)別、鍵碼確實(shí)定與輸入、去抖動(dòng)等功能均由軟件完成。目前微機(jī)系統(tǒng)中,一般為了降低成本大多數(shù)采用非編碼鍵盤。

鍵盤接口必須具有去抖動(dòng)、防串鍵、按鍵識(shí)別和鍵碼產(chǎn)生4個(gè)基本功能。

〔1〕去抖動(dòng):每個(gè)按鍵在按下或松開時(shí),都會(huì)產(chǎn)生短時(shí)間的抖動(dòng)。抖動(dòng)的持續(xù)時(shí)間與鍵的質(zhì)量相關(guān),一般為5—20mm。所謂抖動(dòng)是指在識(shí)別被按鍵是必須避開抖動(dòng)狀態(tài),只有處在穩(wěn)定接通或穩(wěn)定斷開狀態(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盤逐行掃描,通過(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ū)中建設(shè)一個(gè)鍵盤編碼表,通過(guò)查表獲得被按鍵的鍵碼。用AT89S51的并行口P1接4×4矩陣鍵盤,以P1.0-P1.3作輸入線,以P1.4-P1.7作輸出線;在數(shù)碼管上顯示每個(gè)按鍵的“0-F〞序號(hào)??傮w電路具體原理如下:3系統(tǒng)硬件設(shè)計(jì)3.1系統(tǒng)硬件總體設(shè)計(jì)本系統(tǒng)由鍵盤矩陣、LED顯示管、揚(yáng)聲器這幾個(gè)局部組成,LED顯示管顯示當(dāng)前按鍵,揚(yáng)聲器發(fā)出對(duì)應(yīng)音符。硬件總體設(shè)計(jì)圖如下:3.2子系統(tǒng)〔模塊〕一LED顯示模塊如圖2-2所示,利用AT89S51單片機(jī)的P0端口的P0.0-P0.7連接到一個(gè)七段數(shù)碼管的a-h(huán)的筆段上,數(shù)碼管的公共端接電源。矩陣掃描顯示當(dāng)前按鍵模塊如下:3.3子系統(tǒng)〔模塊〕二矩陣掃描揚(yáng)聲器發(fā)出對(duì)應(yīng)音符模塊如下:3.4子系統(tǒng)〔模塊〕三矩陣鍵盤模塊圖如下:4系統(tǒng)軟件設(shè)計(jì)4.1系統(tǒng)軟件總體設(shè)計(jì)本系統(tǒng)的軟件流程圖如下:4.2子系統(tǒng)一七段LED顯示器內(nèi)部由七個(gè)條形發(fā)光二極管和一個(gè)小圓點(diǎn)發(fā)光二極管組成,根據(jù)各管的極管的接線形式,可分成共陰極型和共陽(yáng)極型。LED數(shù)碼管的g~a七個(gè)發(fā)光二極管因加正電壓而發(fā)亮,因加零電壓而不以發(fā)亮,不同亮暗的組合就能形成不同的字形,這種組合稱之為字形碼。本系統(tǒng)按鍵顯示模塊軟件流程圖如下:4.3子系統(tǒng)二一首音樂(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)系正確即可。利用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)系式(如式2-1所示)是:

N=fi÷2÷fr

2-1式中,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=63627

中音DO的T=65536-500000/523=64580

高音DO的T=65536-500000/1046=65059本系統(tǒng)按鍵發(fā)出對(duì)應(yīng)音符模塊軟件流程圖如下:5系統(tǒng)使用說(shuō)明5.1系統(tǒng)安裝及配置說(shuō)明5.1.1 系統(tǒng)運(yùn)行環(huán)境WINDOWSXPPROTEUS7.1SP2Keiluv 系統(tǒng)安裝及配置安裝Protues和keiluVsision3。5.2系統(tǒng)操作說(shuō)明〔1〕Keil下編譯,產(chǎn)生目標(biāo)HEX文件,Proteus下ProgrammeFiles選擇產(chǎn)生的HEX文件,點(diǎn)擊運(yùn)行開場(chǎng)模擬?!?〕開啟本系統(tǒng),數(shù)碼管顯示“-〞?!?〕按任意鍵盤,數(shù)碼管顯示所按下的鍵盤數(shù),揚(yáng)聲器發(fā)出相應(yīng)的音符。6結(jié)論通過(guò)這次課程設(shè)計(jì),我學(xué)到了不少課本上沒(méi)有的知識(shí),也鍛煉了自己的動(dòng)手能力,將以前學(xué)過(guò)的零散的知識(shí)串到一起。經(jīng)過(guò)我長(zhǎng)時(shí)間的設(shè)計(jì)及調(diào)試,本系統(tǒng)基本能實(shí)現(xiàn)按下鍵盤矩陣中的按鍵會(huì)使數(shù)碼管顯示當(dāng)前按鍵,揚(yáng)聲器播放對(duì)應(yīng)的音符。但由于仿真系統(tǒng)原因,本設(shè)計(jì)音頻效果不是很好。缺乏之處有:1.可彈奏的音符數(shù)較少,只能在一定范圍內(nèi)滿足用戶需要??赏ㄟ^(guò)改進(jìn)鍵盤識(shí)別模塊和發(fā)生模塊來(lái)增加其復(fù)雜度2.音量不可調(diào)。我的綜合設(shè)計(jì)主要涉及硬件和軟件兩方面的內(nèi)容,通過(guò)這些我的硬件和軟件開發(fā)能力都獲得了提高。首先硬件方面,基本了解了電子產(chǎn)品的開發(fā)流程和所要做的工作?;菊莆樟薖rotel99SE原理圖的方法,并設(shè)計(jì)了一個(gè)單片機(jī)最小系統(tǒng)。通過(guò)開發(fā)板的設(shè)計(jì)和硬件搭建的過(guò)程,使我對(duì)51系單片機(jī)的接口有了更深層次的理解,熟悉了一些單片機(jī)常用的外圍電路引腳和連接方法,如LED數(shù)碼管,鍵盤等。并且我學(xué)會(huì)了分析問(wèn)題解決問(wèn)題的能力,加深了對(duì)所學(xué)理論知識(shí)的理解和運(yùn)用。我的動(dòng)手能力得到了很大的提高,創(chuàng)新意識(shí)得到了鍛煉。參考文獻(xiàn)[1]彭偉.單片機(jī)C語(yǔ)言程序設(shè)計(jì)實(shí)訓(xùn)100例.電子工業(yè)出版社.2009年[2]吳運(yùn)昌.模擬電子線路根基.廣州:華南理工大學(xué)出版社,2004年[3]閻石.?dāng)?shù)字電子技術(shù)根基.北京:高等教育出版社,1997年[4]張曉麗等.?dāng)?shù)據(jù)構(gòu)造與算法.北京:機(jī)械工業(yè)出版社,2002年[5]馬忠梅等.ARM&Linux嵌入式系統(tǒng)教程.北京:北京航空航天大學(xué)出版社,2004年[6]李建忠.單片機(jī)原理及應(yīng)用.西安:西安電子科技大學(xué),2002年[7]韓志軍等.單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)[M].機(jī)械工業(yè)出版社,2004[8]周潤(rùn)景等.Proteus在MCS-51&ARM7系統(tǒng)中的應(yīng)用百例[M].電子工業(yè)出版社,2006[9]馬忠梅等.單片機(jī)的C語(yǔ)言應(yīng)用程序設(shè)計(jì)[M].北京航空航天大學(xué)出版社,2006[10]劉樹中,孫書膺,王春平.單片機(jī)和液晶顯示驅(qū)動(dòng)器串行接口的實(shí)現(xiàn)[J].微計(jì)算機(jī)信息,2007附錄本系統(tǒng)總體代碼如下:#include<reg51.h>#defineucharunsignedchar#defineuintunsignedintucharcodeDSY_Table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e,0xBF};uintcodeTone_Delay_Table[]={64021,64103,64260,64400,64524,64580,64684,64777,64820,64898,64968,65030,65058,65110,65157,65178};sbitBEEP=P3^0;ucharKeyNo;voidDelayMS(ucharx){ uchari; while(x--)for(i=0;i<120;i++);}voidKeys_Scan(){ ucharTmp,k; P1=0x0F; DelayMS(2); Tmp=P1^0x0F; switch(Tmp) { case1:k=0;break; case2:k=1;break; case4:k=2;break; case8:k=3;break; default:return; } P1=0xF0; DelayMS(2); Tmp=(P1>>4)^0x0F; switch(Tmp) { case1:k+=0;break; case2:k+=4;break; case4:k+=8;break; case8:k+=12;break; default:return; } KeyNo=k;}voidplay_Tone()interrupt1{ TH0=Tone_Delay_Table[KeyNo]/256; TL0=Tone_Delay_Table[KeyNo]%256; BEEP=~BEEP;}voidmain(){ P0=0xBF; TMOD=0x01; IE=0x82; while(1) { P1=0xF0; if(P1!=0xF0) { Keys_Scan(); P0=DSY_Table[KeyNo]; TR0=1; } else { TR0=0; } DelayMS(2); }}目錄摘要11引言21.1目的和意義21.2本系統(tǒng)主要研究?jī)?nèi)容21.3主要芯片簡(jiǎn)介32系統(tǒng)分析32.1系統(tǒng)組成32.2系統(tǒng)工作原理33系統(tǒng)硬件設(shè)計(jì)53.1系統(tǒng)硬件總體設(shè)計(jì)53.2子系統(tǒng)〔模塊〕一63.3子系統(tǒng)〔模塊〕二64系統(tǒng)軟件設(shè)計(jì)64.1系統(tǒng)軟件總體設(shè)計(jì)64.2子系統(tǒng)一74.3子系統(tǒng)二85系統(tǒng)使用說(shuō)明95.1系統(tǒng)安裝及配置說(shuō)明95.1.1系統(tǒng)運(yùn)行環(huán)境95.1.2系統(tǒng)安裝及配置95.2系統(tǒng)操作說(shuō)明96結(jié)論10參考文獻(xiàn)11附錄12#include<reg51.h>#defineucharunsignedchar#defineuintunsignedintucharcodeDSY_Table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論