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

下載本文檔

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

文檔簡介

1、基于at89s52單片機(jī)的電子琴設(shè)計(jì)【摘要】 微型電子琴的設(shè)計(jì)以at89s52單片機(jī)作為系統(tǒng)的核心控制部分,通過制作硬件電路和軟件的設(shè)計(jì)編寫,然后進(jìn)行軟硬件的調(diào)試運(yùn)行,最終達(dá)到設(shè)計(jì)電路的樂器演奏、點(diǎn)歌、存儲(chǔ)及顯示功能。設(shè)計(jì)中應(yīng)用中斷系統(tǒng)和定時(shí)/計(jì)數(shù)原理控制演奏器發(fā)聲,對(duì)音樂發(fā)生所必須確定的音符和節(jié)拍分別用程序語言實(shí)現(xiàn)??梢杂盟鼇韽椬嗪筒シ艠非L攸c(diǎn)是設(shè)計(jì)思路簡單、清晰,成本低。 【關(guān)鍵字】 單片機(jī) 音樂發(fā)生器 at89s52at89s52 microcontroller-based flower design【abstract】: the design takes 89s52 scm as t

2、he core of systems control section . in order to achieve the effect of the circuit that performancing the musical instrument, requesting a song, the function of the memory and demonstration, we can carry on software and hardwares debugging through manufacturing hardware circuit and compiling the sof

3、twares design . the design applies the principle of the interruption system and fixed time/the counting to performance sound production, and according to the program language to realize the separation of the note and time at the same time. we can use it to play with the broadcast music. and the best

4、 advantage is this design is simply and clear .【key words】: scm music generator at89s52目 錄1.前言11.1系統(tǒng)開發(fā)背景11.2 系統(tǒng)開發(fā)意義11.3 設(shè)計(jì)目標(biāo)12.方案論證12.1 控制模塊選擇方案12.2按鍵選擇方案13.系統(tǒng)硬件設(shè)計(jì)及說明23.1系統(tǒng)組成及總體框圖23.2元件簡介23.2.1 at89s5223.2.2 lm38633.2.3 led數(shù)碼管53.3音頻功放電路63.4顯示電路74.系統(tǒng)軟件設(shè)計(jì)74.1 音樂相關(guān)知識(shí)74.2如何用單片機(jī)實(shí)現(xiàn)音樂的節(jié)拍74.3如何用單片機(jī)產(chǎn)生音頻脈沖74.

5、4系統(tǒng)總體功能流程圖85.系統(tǒng)調(diào)試115.1硬件調(diào)試115.2 軟件調(diào)試116.結(jié)論117.參考文獻(xiàn)11附錄1:元器件清單12附錄2:主要電路原理圖 13附錄3:程序131 前言1.1 系統(tǒng)開發(fā)背景隨著電子科技的飛速發(fā)展,電子技術(shù)正在逐漸改善著人們的學(xué)習(xí)、生活、工作,因此開發(fā)本系統(tǒng)希望能夠給人們多帶來一點(diǎn)生活上的樂趣。基于當(dāng)前市場上的玩具市場需求量大,其中電子琴就是一個(gè)很好的應(yīng)用方面。單片機(jī)技術(shù)使我們可以利用軟硬件實(shí)現(xiàn)電子琴的功能,從而實(shí)現(xiàn)電子琴的微型化,可以用作玩具琴、音樂轉(zhuǎn)盤以及音樂童車等等。并且可以進(jìn)行一定的功能擴(kuò)展。鑒于傳統(tǒng)電子琴可以用鍵盤上的“1”到“a”鍵演奏從低so到高do等11

6、個(gè)音,從而可以用來彈奏喜歡的樂曲。該設(shè)計(jì)將十一個(gè)琴鍵改成16個(gè),使電子琴的功能更加完美。不但可以實(shí)現(xiàn)對(duì)樂曲的演奏,同時(shí)還具有存儲(chǔ)音樂、播放歌曲以及顯示按鍵的功能。使該設(shè)計(jì)功能更加完善。1.2 系統(tǒng)開發(fā)意義該設(shè)計(jì)具有以下優(yōu)點(diǎn):可以隨意彈奏想要表達(dá)的音樂;比傳統(tǒng)電子琴功能更完善制作簡單,成本低1.3 設(shè)計(jì)目標(biāo)由于本設(shè)計(jì)主要用于人們娛樂方面,因此在設(shè)計(jì)上盡量使其安全以及簡單易操作。其次,在這次設(shè)計(jì)可行性上進(jìn)行分析如下:1、經(jīng)濟(jì)可行性:所謂經(jīng)濟(jì)可行性,即在這次設(shè)計(jì)上需要投入資金的多少,由于畢業(yè)設(shè)計(jì)是沒有項(xiàng)目資金,沒有開發(fā)經(jīng)費(fèi),因此在經(jīng)濟(jì)上必須能夠承受,比較理想化的項(xiàng)目對(duì)于我們畢業(yè)設(shè)計(jì)來說是不可行的。通

7、過分析后,無論是在器件價(jià)格或是常見度上均是可行的。2、技術(shù)可行性:技術(shù)可行性主要是分析技術(shù)條件上是否能夠順利開展并完成開發(fā)工作,硬件、軟件能否滿足設(shè)計(jì)者的需要等。通過分析各種軟件環(huán)境,硬件仿真環(huán)境等均已經(jīng)具備。綜上所述,本系統(tǒng)設(shè)計(jì)目標(biāo)已經(jīng)明確,在經(jīng)濟(jì)與技術(shù)上均可行,因此本系統(tǒng)的開發(fā)是完全可行的。2 方案論證2.1 控制模塊選擇方案方案一:用可控硅制作電子琴。將220v交流電經(jīng)變壓器降壓,再經(jīng)過整流、濾波,獲得+13.5v直流電壓。將單向可控硅scr和電阻、電容組成馳張振蕩器電路。但該設(shè)計(jì)方案制作成本高且復(fù)雜。方案二: 采用at89c51單片機(jī)進(jìn)行控制,由于at89c51不具備isp功能,因此a

8、tmel公司已經(jīng)停產(chǎn)在市面上已經(jīng)不常見,況且其rom只有4k在系統(tǒng)將來升級(jí)方面沒有潛力。方案三:采用at89s52單片機(jī)進(jìn)行控制,由于其性價(jià)比高,完全滿足了本作品智能化的要求,它的內(nèi)部程序存儲(chǔ)空間達(dá)到8k,使軟件設(shè)計(jì)有足夠的內(nèi)部使用空間并且方便日后系統(tǒng)升級(jí),使用方便,抗干擾性能提高。 鑒于上述對(duì)比與分析,本設(shè)計(jì)采用方案三 2.2 按鍵選擇方案傳統(tǒng)電子琴可以用鍵盤上的“1”到“a”鍵演奏從低so到高do等11音。該設(shè)計(jì)有20個(gè)按鈕矩陣,設(shè)計(jì)成16個(gè)音,可以實(shí)現(xiàn)音階在低音4-高音5之間。比傳統(tǒng)音階范圍大,彈奏效果好。3 系統(tǒng)硬件設(shè)計(jì)及說明3.1系統(tǒng)組成及總體框圖硬件設(shè)計(jì)的任務(wù)是根據(jù)總體設(shè)計(jì)要求,在

9、選擇的機(jī)型的基礎(chǔ)上,具體確定系統(tǒng)中所要使用的元器件,設(shè)計(jì)出系統(tǒng)的原理框圖、電路原理圖。該設(shè)計(jì)要實(shí)現(xiàn)一種由單片機(jī)控制的電子琴,單片機(jī)工作于12mhz時(shí)鐘頻率,使用其定時(shí)/計(jì)數(shù)器t0,工作模式為1,改變計(jì)數(shù)值th0和tl0可以產(chǎn)生不同頻率的脈沖信號(hào)。該設(shè)計(jì)具有11個(gè)音節(jié)的鍵盤,用戶可以根據(jù)樂譜在鍵盤上進(jìn)行演奏,音樂發(fā)生器會(huì)根據(jù)用戶的彈奏,通過揚(yáng)聲器將音樂播放出來。由于本例實(shí)現(xiàn)的音樂發(fā)生器是由用戶通過鍵盤輸入彈奏樂曲的,所以節(jié)拍由用戶掌握,不由程序控制。用單片機(jī)產(chǎn)生的音頻脈沖直接驅(qū)動(dòng)揚(yáng)聲器并不能產(chǎn)生所要實(shí)現(xiàn)的音樂,因?yàn)樗鼪]有足夠的驅(qū)動(dòng)能力,這就需要音頻功率放大電路。本例使用國家半導(dǎo)體公司的低壓音頻功

10、率放大器lm386來實(shí)現(xiàn)音頻功放電路。 按鍵音頻功放電路單片機(jī)at89s52揚(yáng)聲器led顯示電路圖3-1 系統(tǒng)結(jié)構(gòu)圖3.2元件簡介3.2.1 at89s52 功能特性:at89s52是一種低功耗、高性能cmos8位微控制器,具有 8k 在系統(tǒng)可編程flash 存儲(chǔ)器。使用atmel 公司高密度非 易失性存儲(chǔ)器技術(shù)制造,與工業(yè)80c51 產(chǎn)品指令和引腳完 全兼容。片上flash允許程序存儲(chǔ)器在系統(tǒng)可編程,亦適于 常規(guī)編程器。在單芯片上,擁有靈巧的8 位cpu 和在系統(tǒng) 可編程flash,使得at89s52為眾多嵌入式控制應(yīng)用系統(tǒng)提 供高靈活、超有效的解決方案。 at89s52具有以下標(biāo)準(zhǔn)功能:

11、8k字節(jié)flash,256字節(jié)ram, 32 位i/o 口線,看門狗定時(shí)器,2 個(gè)數(shù)據(jù)指針,三個(gè)16 位 定時(shí)器/計(jì)數(shù)器,一個(gè)6向量2級(jí)中斷結(jié)構(gòu),全雙工串行口, 片內(nèi)晶振及時(shí)鐘電路。另外,at89s52 可降至0hz 靜態(tài)邏 輯操作,支持2種軟件可選擇節(jié)電模式??臻e模式下,cpu 停止工作,允許ram、定時(shí)器/計(jì)數(shù)器、串口、中斷繼續(xù)工作。掉電保護(hù)方式下,ram內(nèi)容被保存,振蕩器被凍結(jié),單片機(jī)一切工作停止,直到下一個(gè)中斷或硬件復(fù)位為止。8 位微控制器 8k 字節(jié)在系統(tǒng)可編程 flash at89s52。主要性能:與mcs-51單片機(jī)產(chǎn)品兼容、8k字節(jié)在系統(tǒng)可編程flash存儲(chǔ)器、1000次擦寫周

12、期、全靜態(tài)操作:0hz33hz、三級(jí)加密程序存儲(chǔ)器、32個(gè)可編程i/o口線、三個(gè)16位定時(shí)器/計(jì)數(shù)器八個(gè)中斷源、全雙工uart串行通道、低功耗空閑和掉電模式、掉電后中斷可喚醒、看門狗定時(shí)器、雙數(shù)據(jù)指針、掉電標(biāo)識(shí)符。3.2.2 lm386lm386是美國國家半導(dǎo)體公司生產(chǎn)的音頻功率放大 器,主要應(yīng)用于低電壓消費(fèi)類產(chǎn)品。為使外圍元件最少,電壓增益內(nèi)置為20。但在1腳和8腳之間增加一只外接電阻和電容,便可將電壓增益調(diào)為任意值,直至 200。輸入端以地位參考,同時(shí)輸出端被自動(dòng)偏置到電源電壓的一半,在6v電源電壓下,它的靜態(tài)功耗僅為24mw,使得lm386特別適用于電池供電的場合。lm386是一種音頻集

13、成功放,具有自身功耗低、電壓增益可調(diào)整、電源電壓范圍大、外接元件少和總諧波失真小等優(yōu)點(diǎn),廣泛應(yīng)用于錄音機(jī)和收音機(jī)之中。lm386的封裝形式有塑封8引線雙列直插式和貼片式。圖3-2 lm386的封裝形式特性(features)靜態(tài)功耗低,約為4ma,可用于電池供電。 工作電壓范圍寬,4-12v or 5-18v。 外圍元件少。 電壓增益可調(diào),20-200。 低失真度。其典型應(yīng)用電路如下: 圖3-3 放大器增益=20(最少器件)圖3-4 放大器增益=50 圖3-5 低頻提升放大器3.2.3 led數(shù)碼管本次畢業(yè)設(shè)計(jì)的顯示電路采用led數(shù)碼管顯示,led(light-emitting diode)是

14、一種外加電壓從而渡過電流并發(fā)出可見光的器件。led是屬于電流控制器件,使用時(shí)必須加限流電阻。led有單個(gè)led和八段led之分,也有共陰和共陽兩種。常用的七段顯示器的結(jié)構(gòu)如圖下圖所示。發(fā)光二極管的陽極連在一起的稱為共陽極顯示器(如圖b所示),陰極連在一起的稱為共陰極顯示器(如圖c所示)。1位顯示器由八個(gè)發(fā)光二極管組成,其中七個(gè)發(fā)光二極管ag控制七個(gè)筆畫(段)的亮或暗,另一個(gè)控制一個(gè)小數(shù)點(diǎn)的亮和暗,這種筆畫式的七段顯示器能顯示的字符較少,字符的開頭有些失真,但控制簡單,使用方便。此外,要畫出電路圖,首先還要搞清楚他的引腳圖的分布,在了解了正確的引腳圖后才能進(jìn)行正確的字型段碼編碼。才能顯示出正確的

15、數(shù)字來。(a)外形 (b)共陽極 (c)共陰極 圖3-6 數(shù)碼管引腳圖3-7數(shù)碼管引腳接線圖3.3音頻功放電路在一定頻率范圍內(nèi)的振動(dòng)能夠產(chǎn)生樂音,但是用單片機(jī)產(chǎn)生的音頻脈沖直接驅(qū)動(dòng)揚(yáng)聲器并不能產(chǎn)生所要實(shí)現(xiàn)的音樂,因?yàn)樗鼪]有足夠的驅(qū)動(dòng)能力,這就需要音頻功率放大電路。lm386功放最大的特點(diǎn)是低功耗,高增益,增益最高可達(dá)200。lm386電源電壓4-12v,音頻功率0.5w。lm386音響功放是由nsc制造的,它的電源電壓范圍非常寬,最高可使用到15v,消耗靜態(tài)電流為4ma,當(dāng)電源電壓為12v時(shí),在8歐姆的負(fù)載情況下,可提供幾百mw的功率。它的典型輸入阻抗為50k。本例使用國家半導(dǎo)體公司的低壓音頻

16、功率放大器lm386來實(shí)現(xiàn)音頻功放電路。其電路以及各參數(shù)如下圖 圖3-8 lm386電路圖及各參數(shù)圖3-9 lm386應(yīng)用圖3.4顯示電路本次畢業(yè)設(shè)計(jì)的顯示電路采用led數(shù)碼管顯示,由于 led是屬于電流控制器件,使用時(shí)必須加限流電阻。因?yàn)樵谶@次的設(shè)計(jì)中只用了一個(gè)數(shù)碼管所以比較簡單不予詳細(xì)描述。4 系統(tǒng)軟件設(shè)計(jì) 本軟件設(shè)計(jì)關(guān)鍵是要實(shí)現(xiàn)一種由單片機(jī)控制的簡單音樂發(fā)生器,它由16個(gè)音節(jié)組成的的鍵盤,用戶可以根據(jù)樂譜在鍵盤上進(jìn)行演奏,音樂發(fā)生器會(huì)根據(jù)用戶的彈奏,通過揚(yáng)聲器將音樂播放出來。 4.1 音樂相關(guān)知識(shí)樂音聽起來有的高,有的低,這就叫音高,音高是由發(fā)音物體振動(dòng)頻率的高低決定的,頻率高聲音就高,

17、頻率低聲音就低,不同音商的樂音是用c、d、e、f、g、a、b表示的,這7個(gè)字母就是樂音的音名,它們一般依次唱成do、re、mi、fa、so、la、si,這是唱曲時(shí)樂音的發(fā)音,所以叫唱名。音持續(xù)時(shí)間的長短即時(shí)值,一般用拍數(shù)表示,休止符表示暫停發(fā)音。一首音樂是由許多不同的音符組成的,而每個(gè)音符對(duì)應(yīng)著不同的頻率,這樣就可以利用不同頻率的組合,加以與拍數(shù)對(duì)應(yīng)的延時(shí),構(gòu)成音樂。4.2如何用單片機(jī)實(shí)現(xiàn)音樂的節(jié)拍 除了音符以外,節(jié)拍也是音樂的關(guān)鍵組成部分。 節(jié)拍實(shí)際上就是音持續(xù)時(shí)間的長短,在單片機(jī)系統(tǒng)中可以用延時(shí)來實(shí)現(xiàn),如果1/4拍的延時(shí)是0.4秒,則1拍的延時(shí)是1.6秒,只要知道1/4拍的延時(shí)時(shí)間,其余的

18、節(jié)拍延時(shí)時(shí)間就是它的陪數(shù)。如果單片機(jī)要自己播放音樂,那么必須在程序設(shè)計(jì)中考慮到節(jié)拍的設(shè)置,由于本例實(shí)現(xiàn)的音樂發(fā)生器是由用戶通過鍵盤輸入彈奏樂曲的,所以節(jié)拍由用戶掌握,不由程序控制。對(duì)于不同的曲調(diào)我們也可以用單片機(jī)的另外一個(gè)定時(shí)/計(jì)數(shù)器來完成。音樂的音拍,一個(gè)節(jié)拍為單位(c調(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 表4-1 音樂節(jié)拍表4.3如何用單片機(jī)產(chǎn)生音頻脈沖了解音樂的一些基本知識(shí)后可知,產(chǎn)生不同頻率的音頻脈沖即能產(chǎn)生音樂,對(duì)于單片機(jī)而言,產(chǎn)生不同頻率有脈沖非常方便,可以利

19、用它的定時(shí)/計(jì)數(shù)器來產(chǎn)生這樣的方波頻率信號(hào),因此,需要弄清楚音樂中的音符和對(duì)應(yīng)的頻率,以及單片機(jī)定時(shí)計(jì)數(shù)的關(guān)系。在本實(shí)驗(yàn)中,單片機(jī)工作于12mhz時(shí)鐘頻率,使用其定時(shí)/計(jì)數(shù)器t0,工作模式為1,改變計(jì)數(shù)值th0和tl0可以產(chǎn)生不同頻率的脈沖信號(hào),在此情況下,c調(diào)的各音符頻率與計(jì)數(shù)值t的對(duì)照如下表:音符頻率(hz)計(jì)數(shù)值(t值)音符頻率(hz)計(jì)數(shù)值(t值)低1do26263628#4fa#74064860#1do#27763737中5so78464898低2re29463835#5so#83194934#2re#31163928中6la88064968低3mi33064021#6la#9326

20、4994低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#6

21、la#186565268中4fa69864820高7si196765283 表4-2 音符頻率與計(jì)數(shù)值t的對(duì)照表t的值決定了th0和tl0的值,其關(guān)系為:th0=t/256,tl0=t%2564.4系統(tǒng)總體功能流程圖該程序設(shè)計(jì)思路比較清晰既從開始到聲明變量與函數(shù)再到讀取按鈕開關(guān),判斷是否按下,然后就是一個(gè)一個(gè)按鈕的動(dòng)作。其主程序框圖如下: 定時(shí)器初始化數(shù)碼管顯示0循環(huán)檢測按鍵 圖4-1 主程序框圖按鍵子程序流程圖如下:key1鍵按下key2鍵按下key3鍵按下key4鍵按下ke51鍵按下key6鍵按下key7鍵按下數(shù)碼管顯示0,并播放do的中音數(shù)碼管顯示1,并播放re的中音數(shù)碼管顯示2,并播放

22、mi的中音key8鍵按下數(shù)碼管顯示3,并播放fa的中音數(shù)碼管顯示4,并播放so的中音數(shù)碼管顯示5,并播放la的中音數(shù)碼管顯示6,并播放si的中音數(shù)碼管顯示7,并播放do的高階中音key9鍵按下key10鍵按下key11鍵按下key12鍵按下key13鍵按下key14鍵按下key15鍵按下數(shù)碼管顯示8并播放do的高音數(shù)碼管顯示9并播放re的高音數(shù)碼管顯示10,并播放mi的高音key16鍵按下數(shù)碼管顯示11,并播放fa的高音數(shù)碼管顯示12,并播放so的高音數(shù)碼管顯示13,并播放la的高音數(shù)碼管顯示14,并播放si的高音數(shù)碼管顯示15,并播放do的高階高音5 系統(tǒng)調(diào)試電路調(diào)試是整個(gè)系統(tǒng)功能否實(shí)現(xiàn)的關(guān)

23、鍵步驟,我們將整個(gè)調(diào)試過程分為三大部分:硬件調(diào)試、軟件調(diào)試和綜合調(diào)試。5.1硬件調(diào)試硬件調(diào)試主要是針對(duì)單片機(jī)部分進(jìn)行調(diào)試。在上電前,先確保電路中不在斷路或短路情況,這一工作是整個(gè)調(diào)試工作的第一步,也是非常重要的一個(gè)步驟。在這部分調(diào)試中主要使用的工具是萬用表,用來完成檢測電路中是否存在斷路或者短路情況等。注意焊點(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)試主要鍵盤單片機(jī)控制部分、數(shù)碼管點(diǎn)亮部分、和音頻轉(zhuǎn)換電路硬件調(diào)試。1

24、、數(shù)碼管led電路調(diào)試:接通電源,隨機(jī)按下按鈕可以看到數(shù)碼管顯示數(shù)字。2、鍵盤單片機(jī)控制部分調(diào)試:上電后,隨機(jī)按動(dòng)鍵盤可以發(fā)現(xiàn)各個(gè)按鍵對(duì)應(yīng)的音正確。5.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)試。6 調(diào)試結(jié)論通過各方面努力,本次畢業(yè)設(shè)計(jì)任務(wù)完成,系統(tǒng)部分功能已實(shí)現(xiàn)??梢噪S意演奏一首喜歡的曲子,并可以顯示在數(shù)碼管上?;具_(dá)到預(yù)定的效果。畢業(yè)設(shè)計(jì)是本科學(xué)習(xí)階

25、段一次非常難得的理論與實(shí)踐相結(jié)合的機(jī)會(huì),通過這次比較系統(tǒng)的項(xiàng)目設(shè)計(jì)提高了我運(yùn)用所學(xué)的專業(yè)基礎(chǔ)知識(shí)來解決面臨實(shí)際問題的能力,同時(shí)也提高了我查閱各種文獻(xiàn)資料、設(shè)計(jì)手冊、設(shè)計(jì)規(guī)范以及軟件編程的水平。7 參考文獻(xiàn)【1】譚會(huì)生,張昌凡.eda技術(shù)及應(yīng)用(第二版)m.西安電子科技大學(xué)出版社,2001年9月第1版【2】徐志軍,王金明,伊廷輝等. eda技術(shù)與pld設(shè)計(jì)m.人民郵電出版社, 2006年2月第1版【3】趙鑫,蔣亮,齊兆群等.數(shù)字電路設(shè)計(jì)m.北京機(jī)械工業(yè)出版社,2005年6月第一版.【4】蘇家健、曹柏榮、汪志鋒.單片機(jī)原理及應(yīng)用技術(shù)m.高等教育出版社【5】美ashish wilfred meeta

26、 gupta kartik bhatnagar著,劉永明,賀民譯. php專業(yè)項(xiàng)目實(shí)例開發(fā)j. 水利水電出版社,2003【6】于海生. 微型計(jì)算機(jī)控制技術(shù)選編m.清華大學(xué)出版社,1999.【7】李朝青. 單片機(jī)原理及接口技術(shù)m. 北京:北京航天航空大學(xué)出版色,2001.【8】胡漢才. 單片機(jī)原理及其接口技術(shù)m. 北京:清華大學(xué)出版社,2004.致謝本文介紹的應(yīng)用于單片機(jī)系統(tǒng)在電子琴這一領(lǐng)域的應(yīng)用,具有硬件電路簡單、成本低廉、編程方便、通信可靠性高的特點(diǎn)。為期三個(gè)月的畢業(yè)設(shè)計(jì)結(jié)束了,關(guān)于本次畢業(yè)設(shè)計(jì),感受頗多。本論文是在我的導(dǎo)師王宇松的親切關(guān)懷和悉心指導(dǎo)下完成從課題的選擇到項(xiàng)目的最終完成,王老師

27、都始終給予我細(xì)心的指導(dǎo)和不懈的支持。在此向王老師致以誠摯的謝意和崇高的敬意。附錄1:元器件清單共陰數(shù)碼管 一只揚(yáng)聲器 一只按鍵 17只鉭電容: 0.1f 五只晶振: 11.0592m 一只 瓷片電容: 20pf 二只 電解電容: 10uf 三只 47uf 一只 電阻 10k 四只排阻: 1k 一只數(shù)碼管: led 一只集成塊: lm386 一只at89c52 一只附錄2:主要電路原理圖: 附錄3:程序清單#includereg52.hunsigned int code tab= 64021,64103,64260,64400, 64524,64580,64684,64777, 64820,64

28、898,64968,65030, 65058,65110,65157,65178;sbit p10=p10;unsigned char sth0;unsigned char stl0;void delay(void) unsigned char i; for(i=300;i0;i- ); unsigned char getkey(void) unsigned char scancode,tmpcode; if(p2&0xf0)=0xf0) return(0) ; scancode=0xfe; while(scancode&0x10)!=0) p2=scancode; if(p2&0xf0)!=

29、0xf0) tmpcode=(p2&0xf0)|0x0f; return(scancode)+(tmpcode); else scancode=(scancode1)|0x01; void time0_int(void) interrupt 1 using 0 th0=sth0; tl0=stl0; p10=p10;void main() unsigned char key, k; tmod=0x01; et0=1; ea=1; while(1) p2=0xf0; if(p2&0xf0)!=0xf0) delay();if(p2&0xf0)!=0xf0) key=getkey(); switc

30、h(key) case 0x11: k=0;p3=0xc0;break; case 0x21: k=1;p3=0xf9;break; case 0x41: k=2;p3=0xa4;break; case 0x81: k=3;p3=0xb0;break; case 0x12: k=4;p3=0x99;break; case 0x22: k=5;p3=0x92;break; case 0x42: k=6;p3=0x82;break; case 0x82: k=7;p3=0xf8;break; case 0x14: k=8;p3=0x80;break; case 0x24: k=9;p3=0x90;

31、break; case 0x44: k=10;p3=0x88;break; case 0x84: k=11;p3=0x83;break; case 0x18: k=12;p3=0xc6;break; case 0x28: k=13;p3=0xa1;break; case 0x48: k=14;p3=0x86;break; case 0x88: k=15;p3=0x8e;break; default: p3=0xc7; break; p10=p10; sth0=tabk/256; stl0=tabk%256; tr0=1; p2=0xf0; while(p2&0xf0)!=0xf0) p2=0x

32、f0;tr0=0;;4首歌#include sbit y1=p10;sbit y2=p11;sbit y3=p12;sbit y4=p13;sbit spk=p37;static unsigned char bdata statereg;sbit m=statereg0;unsigned char code * data song;unsigned int data j;unsigned char data i;unsigned char data k;unsigned char data l;unsigned char data p11;unsigned char data p33;void

33、 delay(void);unsigned char code yin30=0xff,0xff,0xfb,0x90,0xfc,0x0c,0xfc,0x44,0xfc,0xac,0xfd,0x09,0xfd,0x34,0xfd,0x82,0xfd,0xc8,0xfe,0x06,0xfe,0x22,0xfa,0x15,0xfb,0x04,0xfa,0x67,0xfe,0x85;unsigned char code song197=0x34,0x32,0x32,0x34,0x42,0x51, 0x62,0x52,0x42,0x32,0x34,0x04, 0x74,0x74,0x62,0x62,0x6

34、4, 0x3c,0x04, 0x64,0x62,0x52,0x42,0x32,0x34, 0x33,0x31,0x32,0x72,0x76,0x72, 0x83,0x81,0x82,0x82,0x82,0x74,0x72, 0x7c,0x04, 0x63,0x61,0x62,0x62,0x64,0x72,0x82, 0x72,0x74,0x72,0x62,0x52,0x42,0x32, 0x42,0x44,0x42,0x42,0x52,0x62,0x52, 0x5c,0x04, 0x64,0x62,0x62,0x64,0x72,0x82, 0x72,0x74,0x72,0x62,0x52,0x

35、42,0x32, 0x42,0x46,0x53,0x41,0x42,0x32, 0x3c,0x04, 0x44,0x48,0x02,0x32, 0x3f, 0x44,0x48,0x02,0x32, 0x3f, 0x34,0x0c, 0xff;unsigned char code song246=0x12,0x52,0x52,0x52,0x56,0x42, 0x32,0x42,0x32,0x22,0x18, 0x82,0x82,0x82,0x82,0x86,0x72, 0xb2,0x72,0x72,0x62,0x58, 0x52,0x82,0x82,0x72,0x56,0x42, 0x32,0x

36、42,0x32,0x22,0x16,0xb2, 0xb2,0x32,0x32,0x22,0x16,0x52, 0x42,0x32,0x22,0xc2,0x88, 0xff;unsigned char code song3131=0x52,0x42, 0x58,0x02,0x42,0x52,0x42, 0x38,0x04,0x12,0x32, 0x44,0x42,0x52,0x42,0x32,0x12,0x12, 0xc8,0x04,0x52,0x42, 0x58,0x02,0x42,0x52,0x42, 0x38,0x04,0x12,0x32, 0x44,0x42,0x52,0x42,0x32,0x12,0x32, 0x48,0x04,0x52,0x42, 0x58,0x02,0x42,0x52,0x4

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論