2023年全國(guó)碩士研究生考試考研英語(yǔ)一試題真題(含答案詳解+作文范文)_第1頁(yè)
已閱讀1頁(yè),還剩21頁(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)介

1、<p>  基于51單片機(jī)簡(jiǎn)易電子琴設(shè)計(jì)</p><p><b>  摘 要</b></p><p>  隨著社會(huì)的發(fā)展進(jìn)步,音樂(lè)逐漸成為我們生活中很重要的一部分,有人曾說(shuō)喜歡音樂(lè)的人不會(huì)向惡。我們都會(huì)抽空欣賞世界名曲,作為對(duì)精神的洗禮。本論文設(shè)計(jì)一個(gè)基于單片機(jī)的簡(jiǎn)易電子琴。我們對(duì)于電子琴如何實(shí)現(xiàn)其功能,如音色選擇、聲音強(qiáng)弱控制、節(jié)拍器、自動(dòng)放音功能等等也

2、很好奇。</p><p>  電子琴是現(xiàn)代電子科技與音樂(lè)結(jié)合的產(chǎn)物,是一種新型的鍵盤(pán)樂(lè)器。它在現(xiàn)代音樂(lè)扮演著重要的角色,單片機(jī)具有強(qiáng)大的控制功能和靈活的編程實(shí)現(xiàn)特性,它已經(jīng)溶入現(xiàn)代人們的生活中,成為不可替代的一部分。本文的主要內(nèi)容是用AT89S51單片機(jī)為核心控制元件,設(shè)計(jì)一個(gè)電子琴。以單片機(jī)作為主控核心,與鍵盤(pán)、揚(yáng)聲器等模塊組成核心主控制模塊,在主控模塊上設(shè)有16個(gè)按鍵和揚(yáng)聲器。本系統(tǒng)運(yùn)行穩(wěn)定,其優(yōu)點(diǎn)是硬件電路

3、簡(jiǎn)單,軟件功能完善,控制系統(tǒng)可靠,性價(jià)比較高等,具有一定的實(shí)用和參考價(jià)值。</p><p>  在電子行業(yè)高速發(fā)展的今天,單片機(jī)已經(jīng)廣泛的應(yīng)用到了各個(gè)行業(yè)之中,其中也就包括了我所設(shè)計(jì)的娛樂(lè)項(xiàng)目,隨意的彈奏音樂(lè)并且伴著燈光的閃爍,這就是我所以利用89C51單片機(jī)所設(shè)計(jì)的聲光電子琴,聲光電子琴的設(shè)計(jì)理念完全是利用89c51單片機(jī)的功能的研究和理解以及延伸拓展。以下我會(huì)詳細(xì)介紹電路的設(shè)計(jì)和程序的編制過(guò)程。</p&

4、gt;<p>  關(guān)鍵詞:89c51單片機(jī) 電路 程序 </p><p><b>  目 錄</b></p><p><b>  目 錄II</b></p><p>  第一章 緒論- 1 -</p><p>  1.1 課題背景- 1 -</p><

5、p>  1.2 設(shè)計(jì)依據(jù)- 1 -</p><p>  第二章 系統(tǒng)方案設(shè)計(jì)及主控芯片介紹- 2 -</p><p>  2.1 系統(tǒng)基本設(shè)計(jì)思路- 2 -</p><p>  2.2 單元電路方案論證- 2 -</p><p>  2.2.1 控制器模塊- 2 -</p><p>  2.2.2 發(fā)聲

6、模塊- 2 -</p><p>  2.2.3 編程軟件模塊- 3 -</p><p>  2.2.4 最終方案- 3 -</p><p>  2.3 AT89C51單片機(jī)- 4 -</p><p>  第三章 硬件電路設(shè)計(jì)- 5 -</p><p>  3.1 最小系統(tǒng)設(shè)計(jì)- 5 -</p>

7、<p>  3.2 時(shí)鐘電路- 5 -</p><p>  3.3 復(fù)位電路- 6 -</p><p>  3.4 按鍵控制模塊- 6 -</p><p>  3.5 播放模塊- 7 -</p><p>  第四章 程序流程- 7 -</p><p>  4.1 程序流程圖- 7 -</p

8、><p>  4.2 重點(diǎn)程序分析- 8 -</p><p>  4.2.1 音階程序- 8 -</p><p>  結(jié) 論- 8 -</p><p>  參考文獻(xiàn)- 9 -</p><p>  致 謝- 10 -</p><p>  附錄 1 主要源程序- 11 -</p&g

9、t;<p>  附錄 2 原理圖- 18 -</p><p>  附錄 3 PCB板圖- 19 -</p><p>  附錄 4 實(shí)物圖- 20 -</p><p><b>  第一章 緒論</b></p><p><b>  1.1 課題背景</b></p>&l

10、t;p>  單片機(jī)因其體積小,功能強(qiáng),價(jià)格低廉而得到廣泛應(yīng)用,同時(shí)隨著我國(guó)經(jīng)濟(jì)的飛速發(fā)展,單片機(jī)在越來(lái)越多的領(lǐng)域得到了廣泛的應(yīng)用,現(xiàn)在國(guó)內(nèi)的單片機(jī)多用于電話,玩具和LCD等產(chǎn)品,預(yù)計(jì)在未來(lái),利用單片機(jī)發(fā)明的產(chǎn)品會(huì)越來(lái)越多,作為一名應(yīng)用電子的應(yīng)屆畢業(yè)生來(lái)說(shuō),理解和掌握單片機(jī)的工作原理和使用技巧是必備的技能,基于這種考慮,我這次畢業(yè)設(shè)計(jì)的題目為簡(jiǎn)易電子琴。</p><p>  我所設(shè)計(jì)的該產(chǎn)品時(shí)根據(jù)自身的興趣和

11、愛(ài)好所設(shè)計(jì)的,通過(guò)對(duì)傳統(tǒng)電子琴的認(rèn)識(shí)和了解,知道了傳統(tǒng)的電子琴是利用單片機(jī)的匯編語(yǔ)言的編程來(lái)實(shí)現(xiàn)的,而且功能單一,只能彈奏而不能隨意的播放音樂(lè),我所設(shè)計(jì)的產(chǎn)品是基于對(duì)89c51單片機(jī)的深入理解對(duì)傳統(tǒng)電子琴的小小的改革和創(chuàng)新,并且以簡(jiǎn)單的C語(yǔ)言程序替代了復(fù)雜的匯編語(yǔ)言程序,聲和光是新電子琴的主題,我相信在聲光電子琴的不斷革新達(dá)到人們所需娛樂(lè)設(shè)備的標(biāo)準(zhǔn)的時(shí)候,電子琴會(huì)被投入到批量生產(chǎn)之中。單片微型計(jì)算機(jī)室大規(guī)模集成電路技術(shù)發(fā)展的產(chǎn)物,屬于第

12、四代電子計(jì)算機(jī)它具有高性能、高速度、體積小、價(jià)格低廉、穩(wěn)定可靠、應(yīng)用廣泛的特點(diǎn)。他的應(yīng)用必定導(dǎo)致傳統(tǒng)的控制技術(shù)從根本上發(fā)生變革。因此,單片機(jī)的開(kāi)發(fā)應(yīng)用已成為高科技和工程領(lǐng)域的一項(xiàng)重大課題。</p><p><b>  1.2 設(shè)計(jì)依據(jù)</b></p><p>  電子琴是現(xiàn)代電子科技與音樂(lè)結(jié)合的產(chǎn)物,是一種新型的鍵盤(pán)樂(lè)器。它在現(xiàn)代音樂(lè)扮演重要的角色,單片機(jī)具有強(qiáng)大的控

13、制功能和靈活的編程實(shí)現(xiàn)特性,它已經(jīng)溶入現(xiàn)代人們的生活中,成為不可替代的一部分。本文的主要內(nèi)容是用AT89S52單片機(jī)為核心控制元件,設(shè)計(jì)一個(gè)電子琴。以單片機(jī)作為主控核心,與鍵盤(pán)揚(yáng)聲器等模塊組成核心主控制模塊,在主控模塊上設(shè)有8個(gè)按鍵,和一個(gè)復(fù)位按鍵。</p><p>  主要對(duì)使用單片機(jī)設(shè)計(jì)簡(jiǎn)易電子琴進(jìn)行了分析,并介紹了基于單片機(jī)電子琴硬件的組成。利用單片機(jī)產(chǎn)生不同頻率來(lái)獲得我們要求的音階,最終可隨意彈奏要表達(dá)的

14、音符。并且分別從原理圖,主要芯片,個(gè)模塊原理及各莫奎的程序的調(diào)試來(lái)詳細(xì)闡述。</p><p>  一首音樂(lè)是許多不同的音階組成的,而每個(gè)音階對(duì)應(yīng)著不同的頻率,這樣我們就可以利用不同的頻率的組合,構(gòu)成我們想演奏的那首曲目。當(dāng)然對(duì)于單片機(jī)來(lái)產(chǎn)生不同的頻率非常方便,我們可以利用單片機(jī)的定時(shí)/計(jì)數(shù)器T0來(lái)產(chǎn)生這樣的方波頻率信號(hào),因此,我們只要把一首歌曲的音階對(duì)應(yīng)頻率關(guān)系編寫(xiě)正確就可以達(dá)到我們想要的曲目。</p>

15、;<p>  第二章 系統(tǒng)方案設(shè)計(jì)及主控芯片介紹</p><p>  2.1 系統(tǒng)基本設(shè)計(jì)思路</p><p>  此設(shè)計(jì)是在LED小燈上顯示燈光的變換,揚(yáng)聲器播放彈奏的曲子。電路包括:鍵盤(pán)、單片機(jī)及LED顯示電路,聲音電路。</p><p>  2.1.1 各部分說(shuō)明</p><p> ?。?)鍵盤(pán)用于彈奏音樂(lè),八個(gè)按鍵8種音

16、符。</p><p> ?。?)單片機(jī)通過(guò)輸出各種電脈沖信號(hào)驅(qū)動(dòng)控制各部分正常工作。</p><p>  (3)單片機(jī)發(fā)送的信號(hào)分別經(jīng)過(guò)LED顯示電路通過(guò)譯碼最終在LED小燈和聲音電路通過(guò)揚(yáng)聲器顯示出來(lái)。</p><p>  2.1.1系統(tǒng)工作過(guò)程</p><p>  單片機(jī)要產(chǎn)生音頻脈沖,主要處理過(guò)程是在CPU中完成的,CPU會(huì)隨時(shí)對(duì)音符輸

17、入信號(hào)進(jìn)行讀取數(shù)據(jù)的操作。在讀取了相應(yīng)的寄存器的值后,CPU將讀取的值進(jìn)行處理,再通過(guò)I/O口把音樂(lè)通過(guò)揚(yáng)聲器播放出來(lái)。</p><p>  2.2 單元電路方案論證</p><p>  根據(jù)設(shè)計(jì)要求,本系統(tǒng)主要由控制器模塊、顯示模塊和輸入模塊構(gòu)成。為較好的實(shí)現(xiàn)各模塊的功能,我們分別設(shè)計(jì)了以下幾種方案并分別進(jìn)行了論證。</p><p>  2.2.1 控制器模塊&l

18、t;/p><p>  方案1:采用凌陽(yáng)系列單片機(jī)為系統(tǒng)的控制器</p><p>  凌陽(yáng)系列單片機(jī)可以實(shí)現(xiàn)各種復(fù)雜的邏輯功能,模塊大,密度高,它將所有器件集成在一塊芯片上,減少了體積,提高了穩(wěn)定性。凌陽(yáng)系列單片機(jī)提高了系統(tǒng)的處理速度,適合作為大規(guī)模實(shí)時(shí)系統(tǒng)的控制核心。</p><p>  方案2:采用51系列作為系統(tǒng)控制器</p><p>  單

19、片機(jī)算術(shù)運(yùn)算功能強(qiáng),軟件編程靈活、自由度大,可用軟件編程實(shí)現(xiàn)各種算法和邏輯控制。由于其功耗低、體積較小、技術(shù)成熟和成本低等優(yōu)點(diǎn),在各個(gè)領(lǐng)域應(yīng)用廣泛。而且抗干擾性能好。</p><p>  因51單片機(jī)價(jià)格比凌陽(yáng)系列低得多,且本設(shè)計(jì)不需要很高的處理速度,從經(jīng)濟(jì)和方便使用角度考慮,本設(shè)計(jì)選擇了方案2。</p><p>  2.2.2 發(fā)聲模塊</p><p>  發(fā)聲模

20、塊是本設(shè)計(jì)的最主要的部分。</p><p>  基本方案:發(fā)生電路是這次設(shè)計(jì)電路中最重要的組成部分,他承載著把單片機(jī)所產(chǎn)生的聲音信號(hào)放大并輸出的重要作用,而我的設(shè)計(jì)中的發(fā)聲電路主要是由兩個(gè)CS9013組成。CS9013是一種小功率的放大管,屬于NPN型號(hào)三極管,而對(duì)三極管引腳的判斷有以下方法。</p><p>  1.判斷三極管的基極。對(duì)于NPN型號(hào)的三極管,用黑表筆接某一個(gè)電極,紅表筆分

21、別接另外兩個(gè)電極,若測(cè)量電阻值兩個(gè)都小,調(diào)換表筆后被測(cè)電阻值都較大,則可判斷第一次測(cè)量中黑表筆所接的是基極;如果測(cè)量值一大一小,相差很大,則第一次測(cè)量中黑表筆接的不是基極,應(yīng)該更換其他電極重測(cè)。</p><p>  2.測(cè)量三極管發(fā)射極e和集電極c。三極管基極確定后,通過(guò)交換表筆,兩次測(cè)量e,c極間的電阻,如果兩次測(cè)量結(jié)果不相等,其中測(cè)得電阻值較小的一次為紅表筆的是e極黑表筆接的是c極。對(duì)于PNP型號(hào)的三極管,方

22、法與NPN的相似,只是紅黑表筆的作用相反,在測(cè)量e,c極間電阻時(shí)要注意,由于三極管的V(BR)CEO很小,很容易將發(fā)射結(jié)擊穿。</p><p>  當(dāng)我們?nèi)龢O管的管腳判斷結(jié)束以后,我們就可以用兩個(gè)三極管構(gòu)成一個(gè)達(dá)林頓結(jié)構(gòu)。首先當(dāng)單片機(jī)P1.0口輸出一個(gè)高電平,由兩個(gè)三極管構(gòu)成的達(dá)林頓成能導(dǎo)通,導(dǎo)通后又能對(duì)電流又一定的放大作用,這樣傳到揚(yáng)聲器時(shí)信號(hào)能讓我們聽(tīng)的更清楚。</p><p>  2

23、.2.3 編程軟件模塊</p><p>  方案1:采用匯編語(yǔ)言編程</p><p>  匯編語(yǔ)言指令是用一些具有相應(yīng)含義的助憶符來(lái)表達(dá)的,所以,它要比機(jī)器語(yǔ)言容易掌握和運(yùn)用,但另一方面,它要直接使用CPU的資源,相對(duì)高級(jí)程序設(shè)計(jì)語(yǔ)言來(lái)說(shuō),它又顯得難掌握。</p><p>  方案2:采用C語(yǔ)言編程</p><p>  C語(yǔ)言與其他高級(jí)語(yǔ)言相

24、比,具有運(yùn)算符的豐富性、語(yǔ)法表述的靈活性、對(duì)軟硬件操作的兼容性、輸入輸出方式的新穎性等主要特征.深入分析研究這些特征,可以加深對(duì)C語(yǔ)言的認(rèn)識(shí);正確應(yīng)用這些特征,可以靈活高效地解決各種實(shí)際問(wèn)題.</p><p>  因?yàn)槲以诖髮W(xué)期間對(duì)匯編語(yǔ)言沒(méi)有深入的了解,而且在編程時(shí)一直用C語(yǔ)言,所以我選擇了方案2。</p><p>  2.2.4 最終方案</p><p>  經(jīng)

25、過(guò)反復(fù)論證,最終確定了如下方案:</p><p> ?。?)采用STC89C51單片機(jī)作為主控制器。</p><p> ?。?)采用達(dá)林頓效應(yīng)使音樂(lè)信號(hào)放大</p><p> ?。?)采用C語(yǔ)言編程</p><p>  2.3 AT89C51單片機(jī)</p><p>  AT89S51是一個(gè)低功耗,高性能CMOS 8位單

26、片機(jī),片內(nèi)含4k Bytes ISP(In-system programmable)的可反復(fù)擦寫(xiě)1000次的Flash只讀程序存儲(chǔ)器,器件采用ATMEL公司的高密度、非易失性存儲(chǔ)技術(shù)制造,兼容標(biāo)準(zhǔn)MCS -51指令系統(tǒng)及80C51引腳結(jié)構(gòu),芯片內(nèi)集成了通用8位中央處理器和ISP Flash存儲(chǔ)單元,功能強(qiáng)大的微型計(jì)算機(jī)的AT89S51可為許多嵌入式控制應(yīng)用系統(tǒng)提供高性價(jià)比的解決方案。    AT89S51具有如下特

27、點(diǎn):40個(gè)引腳,4k Bytes Flash片內(nèi)程序存儲(chǔ)器,128 bytes的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(RAM),32個(gè)外部雙向輸入/輸出(I/O)口,5個(gè)中斷優(yōu)先級(jí)2層中斷嵌套中斷,2個(gè)16位可編程定時(shí)計(jì)數(shù)器,2個(gè) 全雙工串行通信口,看門(mén)狗(WDT)電路,片內(nèi)時(shí)鐘振蕩器。         AT89S51引腳圖     此外,AT89S51設(shè)計(jì)和配置了振蕩頻率

28、可為0Hz并可通過(guò)軟件設(shè)置省電模式??臻e模式下,CPU暫停工作,而RAM定時(shí)計(jì)數(shù)器,串行口,外中斷 系統(tǒng)可繼續(xù)工作,掉電模式凍結(jié)振蕩器而保存RAM的數(shù)據(jù),停止芯片其它功能</p><p>  STC89C51是一種帶8K字節(jié)可編程可檫除只讀存儲(chǔ)器的低電壓、高性能COMOS8位微處理器,俗稱單片機(jī)。該器件采用ATMEL高密度非易失存儲(chǔ)器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。</p>

29、;<p>  單片機(jī)引腳圖如圖所示</p><p>  圖1 STC89C51單片機(jī)引腳圖</p><p>  第三章 硬件電路設(shè)計(jì)</p><p>  3.1 最小系統(tǒng)設(shè)計(jì)</p><p>  最小系統(tǒng)包括單片機(jī)及其所需的必要的電源、時(shí)鐘、復(fù)位等部件,能使單片機(jī)始終處于正常的運(yùn)行狀態(tài)。電源、時(shí)鐘等電路是使單片機(jī)能運(yùn)行的必備條件

30、,可以將最小系統(tǒng)作為應(yīng)用系統(tǒng)的核心部分,通過(guò)對(duì)其進(jìn)行存儲(chǔ)器擴(kuò)展、A/D擴(kuò)展等,使單片機(jī)完成較復(fù)雜的功能。</p><p><b>  3.2 時(shí)鐘電路</b></p><p>  STC89C51內(nèi)部有一個(gè)用于構(gòu)成振蕩器的高增益反相放大器,引腳RXD和TXD分別是此放大器的輸入端和輸出端。時(shí)鐘可以由內(nèi)部方式產(chǎn)生或外部方式產(chǎn)生。內(nèi)部時(shí)鐘在此不做詳細(xì)介紹。外部方式的時(shí)鐘電

31、路如圖3所示,RXD接地,TXD接外部振蕩器。對(duì)外部振蕩信號(hào)無(wú)特殊要求,只要求保證脈沖寬度,一般采用頻率在12MHz左右的方波信號(hào)。</p><p>  圖2 89c51內(nèi)部時(shí)鐘電路</p><p><b>  3.3 復(fù)位電路</b></p><p>  當(dāng)在89C51單片機(jī)的RST引腳引入高電平并保持2個(gè)機(jī)器周期時(shí),單片機(jī)內(nèi)部就執(zhí)行復(fù)位操作

32、(若該引腳持續(xù)保持高電平,單片機(jī)就處于循環(huán)復(fù)位狀態(tài))。</p><p>  復(fù)位電路通常采用上電自動(dòng)復(fù)位和按鈕復(fù)位兩種方式。</p><p>  最簡(jiǎn)單的上電自動(dòng)復(fù)位電路中上電自動(dòng)復(fù)位是通過(guò)外部復(fù)位電路的電容充放電來(lái)實(shí)現(xiàn)的。只要Vcc的上升時(shí)間不超過(guò)1ms,就可以實(shí)現(xiàn)自動(dòng)上電復(fù)位。</p><p>  除了上電復(fù)位外,有時(shí)還需要按鍵手動(dòng)復(fù)位。本設(shè)計(jì)就是用的按鍵手動(dòng)復(fù)

33、位。按鍵手動(dòng)復(fù)位有電平方式和脈沖方式兩種。其中電平復(fù)位是通過(guò)RST(9)端與電源Vcc接通而實(shí)現(xiàn)的。按鍵手動(dòng)復(fù)位電路見(jiàn)圖4。時(shí)鐘頻率用11.0592MHZ時(shí)C取10uF,R取10kΩ。</p><p>  圖3 89C51 復(fù)位電路</p><p>  3.4 按鍵控制模塊</p><p>  電子琴設(shè)有11個(gè)按鍵,其中8個(gè)作為音符輸入。8個(gè)按鍵分別代表8個(gè)音符,包

34、括中音段的全部音符,通過(guò)軟硬件設(shè)計(jì)。另外3個(gè)分別是控制復(fù)位、流水燈的轉(zhuǎn)換、自動(dòng)播放音樂(lè)。</p><p><b>  如下圖:</b></p><p><b>  3.5 播放模塊</b></p><p>  播放模塊是由2個(gè)三極管構(gòu)成,三級(jí)管將信號(hào)放大,然后傳輸?shù)嚼龋人鼛缀醪淮嬖谠肼?,音響效果較好。</p&g

35、t;<p><b>  下圖是該模塊電路:</b></p><p><b>  第四章 程序流程</b></p><p><b>  4.1 程序流程圖</b></p><p>  該設(shè)計(jì)方案是通過(guò)按鍵隨意按下所要表達(dá)的音符,作為電平送給主體電路,中央處理器通過(guò)識(shí)別,解碼輸出音符,在揚(yáng)聲

36、器中發(fā)出有效的聲音。通過(guò)這樣可以不斷的彈奏我們想要的音符或者是音調(diào),電路由復(fù)位電路,指示燈電路,和功能按鍵電路組成,通過(guò)功能鍵可以選擇播放音樂(lè)或者彈奏音節(jié),硬件主要有下面幾個(gè)部分組成。</p><p>  4.2 重點(diǎn)程序分析</p><p>  4.2.1 音階程序</p><p>  uchar code yinfu[]={0xfb,0xe9, //D

37、o</p><p>  0xfc,0x5c, //Re</p><p>  0xfc,0xc1, //Mi</p><p>  0xfc,0xef, //Fa</p><p>  0xfd,0x45, //So</p><p>  0xfd,0x92, //La<

38、/p><p>  0xfd,0xd0, //Si</p><p>  0xfd,0xee, //Do#</p><p>  0x00,0x00, //間隔</p><p><b>  4.2.2 </b></p><p><b>  結(jié) 論</b>&l

39、t;/p><p>  通過(guò)對(duì)自己在大學(xué)兩年時(shí)間里所學(xué)的知識(shí)的回顧,并充分發(fā)揮對(duì)所學(xué)知識(shí)的理解和對(duì)畢業(yè)設(shè)計(jì)的思考及書(shū)面表達(dá)能力,最終完成了本設(shè)計(jì)。這為自己今后進(jìn)一步深化學(xué)習(xí),積累了一定寶貴的經(jīng)驗(yàn)。撰寫(xiě)論文的過(guò)程也是專(zhuān)業(yè)知識(shí)的學(xué)習(xí)過(guò)程,它使我運(yùn)用已有的專(zhuān)業(yè)基礎(chǔ)知識(shí),對(duì)其進(jìn)行設(shè)計(jì),分析和解決一個(gè)理論問(wèn)題或?qū)嶋H問(wèn)題,把知識(shí)轉(zhuǎn)化為能力的實(shí)際訓(xùn)練。培養(yǎng)了我運(yùn)用所學(xué)知識(shí)解決實(shí)際問(wèn)題的能力。將以調(diào)試好的程序燒進(jìn)AT89S51芯片,再

40、放到電路板中,按下按鍵就可以發(fā)出相應(yīng)的音。本次試驗(yàn)通過(guò)制作電子琴,將幾個(gè)模塊換呢好的融合起來(lái),對(duì)使用單片機(jī)設(shè)計(jì)簡(jiǎn)易電子琴進(jìn)行了分析,并接受了基于單片機(jī)電子期硬件組成。利用單片機(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),因此,我

41、們只要把一首歌曲的音階對(duì)應(yīng)頻率關(guān)系弄正確即可,然后我們利用功放電路來(lái)將音樂(lè)聲音放大,同時(shí)同股溝顯示模塊來(lái)確知自己所彈的音符。</p><p>  通過(guò)這次實(shí)訓(xùn)設(shè)計(jì),我感覺(jué)收獲了很多:通過(guò)這次的單片機(jī)實(shí)訓(xùn),我加深了對(duì)單片機(jī)系列知識(shí)及其系統(tǒng)的認(rèn)識(shí)。這個(gè)設(shè)計(jì)題目并不怎么新穎,但從中體現(xiàn)到了個(gè)系統(tǒng)開(kāi)發(fā)設(shè)計(jì)的過(guò)程,足以讓我們受益匪淺。</p><p>  在這次的實(shí)訓(xùn)中,讓我更進(jìn)一步的提高了動(dòng)手能力

42、,也重新復(fù)習(xí)了一次單片機(jī)的程序編程能力,在這期間,讓我更加深刻了體會(huì)到了匯編程序的思路,加強(qiáng)了對(duì)編程能力的理解和對(duì)相應(yīng)資料的查閱。</p><p><b>  參考文獻(xiàn)</b></p><p>  [1] 白熾貴編著.單片機(jī)C語(yǔ)言案例教程.北京:電子工業(yè)出版社,2011.1</p><p>  [2] 周良權(quán)主編.模擬電子技術(shù)基礎(chǔ).北京:高等教

43、育出版社,2005.6 </p><p>  [3] 卜錫濱主編.數(shù)字電子技術(shù).北京:中國(guó)水利水電出版社,2011.1 </p><p>  [4] 李華.單片機(jī)C語(yǔ)言編程[M].北京:北京航空航天大學(xué)出版社,2005.8.1</p><p>  [5] 徐愛(ài)鈞.單片機(jī)原理實(shí)用教程--基于Protrues虛擬仿真[M].北京:電子工業(yè)出版社.2009.1

44、 </p><p>  [6] 李萍.AT89S51單片機(jī)、原理、開(kāi)發(fā)與應(yīng)用實(shí)例[M].北京:中國(guó)電力出版社.2008.7</p><p>  [7] 張曄,王玉民等.單片機(jī)應(yīng)用技術(shù)[M].北京:高等教育出版社.2006.3</p><p>  [8] 付家才等.單片機(jī)控制工程實(shí)踐技術(shù)[M].北京:化學(xué)工業(yè)出版社.2004.5</p>&l

45、t;p>  [9] 及力主編.電子CAD基于protel 99 SE.北京: 北京郵電大學(xué)出版社,2008</p><p>  [10]徐紅升主編.電工基礎(chǔ)及實(shí)訓(xùn).北京:清華大學(xué)出版社,2009.5</p><p><b>  致 謝</b></p><p>  三年的讀書(shū)生活在這個(gè)季節(jié)即將劃上一個(gè)句號(hào),而于我的人生卻只是一個(gè)逗號(hào),我將

46、面對(duì)又一次征程的開(kāi)始。三年的求學(xué)生涯在師長(zhǎng)、親友的大力支持下,走得辛苦卻也收獲滿囊,在論文即將付梓之際,思緒萬(wàn)千,心情久久不能平靜。 偉人、名人為我所崇拜,可是我更急切地要把我的敬意和贊美獻(xiàn)給一位平凡的人,我的導(dǎo)師。我不是您最出色的學(xué)生,而您卻是我最尊敬的李敏艷老師。您治學(xué)嚴(yán)謹(jǐn),學(xué)識(shí)淵博,思想深邃,視野雄闊,為我營(yíng)造了一種良好的精神氛圍。授人以魚(yú)不如授人以漁,置身其間,耳濡目染,潛移默化,使我不僅接受了全新的思想觀念,樹(shù)立了宏偉的學(xué)術(shù)目

47、標(biāo),領(lǐng)會(huì)了基本的思考方式,從論文題目的選定到論文寫(xiě)作的指導(dǎo),經(jīng)由您悉心的點(diǎn)撥,再經(jīng)思考后的領(lǐng)悟,常常讓我有“山重水復(fù)疑無(wú)路,柳暗花明又一村”。</p><p>  感謝我的爸爸媽媽?zhuān)傻弥X草,言樹(shù)之背,養(yǎng)育之恩,無(wú)以回報(bào),你們永遠(yuǎn)健康快樂(lè)是我最大的心愿。在論文即將完成之際,我的心情無(wú)法平靜,從開(kāi)始進(jìn)入課題到論文的順利完成,有多少可敬的師長(zhǎng)、同學(xué)、朋友給了我無(wú)言的幫助,在這里請(qǐng)接受我誠(chéng)摯謝意!</p>

48、<p>  同時(shí)也感謝學(xué)院為我提供良好的做畢業(yè)設(shè)計(jì)的環(huán)境。</p><p>  最后再一次感謝所有在畢業(yè)設(shè)計(jì)中曾經(jīng)幫助過(guò)我的良師益友和同學(xué),以及在設(shè)計(jì)中被我引用或參考的論著的作者。</p><p>  附錄 1 主要源程序</p><p>  sfr P4=0xe8;//定義P4組I0口</p><p>  #include<

49、;reg51.h></p><p>  #define uint unsigned int</p><p>  #define uchar unsigned char</p><p>  sbit speaker=P1^4;//喇叭接30腳</p><p>  sbit key1=P1^0;//流水燈按鍵(暫時(shí))</p>

50、<p>  sbit key2=P1^1;//播放音樂(lè)按鍵(暫定)</p><p>  uchar a,b,num1,s1num,n1,n2;</p><p>  char num;//定義num為可以負(fù)數(shù)</p><p>  uchar code yinfu[]={0xfb,0xe9, //Do</p><p>  0x

51、fc,0x5c, //Re</p><p>  0xfc,0xc1, //Mi</p><p>  0xfc,0xef, //Fa</p><p>  0xfd,0x45, //So</p><p>  0xfd,0x92, //La</p><p>  0xfd,0x

52、d0, //Si</p><p>  0xfd,0xee, //Do#</p><p>  0x00,0x00, //間隔</p><p><b>  };</b></p><p>  uchar code shengri_tone[]={ 1,0,1,2,1,4,3,0, //生

53、日快樂(lè)音調(diào)</p><p>  1,0,1,2,1,5,4,0,</p><p>  1,0,1,8,6,4,3,2,0,</p><p>  7,0,7,6,4,5,4,0 //0代表不發(fā)聲,即停頓;數(shù)字即為音調(diào)</p><p><b>  };</b></p><p>  ucha

54、r code shengri_beat[]={ 24,1,24,48,48,48,72,5,//節(jié)拍</p><p>  24,1,24,48,48,48,72,5,</p><p>  24,1,24,48,48,48,48,72,5,</p><p>  24,1,24,48,48,48,72,5 //節(jié)拍,即tone表各音調(diào)的延時(shí)</p>

55、<p><b>  };</b></p><p>  uchar code ledtable[]={0x7f,0xbf,0xdf,0xef, //取反</p><p>  0xf7,0xfb,0xfd,0xfe};//P0組口的發(fā)光二極管代碼(焊接過(guò)程可能會(huì)相反,具體更改)</p><p>  uchar code ledtabl

56、e2[]={0x7f,0xbf,0xdf,0xef, //取反</p><p>  0xf7,0xfb,0xfd,0xfe};//P2組口發(fā)光二極管代碼,相反!</p><p>  void check_key();//改為P3組為按鍵</p><p>  void keyscan();</p><p>  void turn();//順時(shí)針

57、流動(dòng)</p><p>  void back();</p><p>  void qianhou();</p><p>  void dangshuang();</p><p>  void delay(uint z);//延時(shí)函數(shù)聲明</p><p>  void delay1(void);//聲明第二個(gè)延時(shí)函數(shù)&l

58、t;/p><p>  void play1(void);//播放生日快樂(lè)</p><p>  void main()</p><p><b>  {</b></p><p>  s1num=0;//流水燈種類(lèi)標(biāo)志</p><p><b>  key1=1;</b></p&g

59、t;<p><b>  key2=1;</b></p><p>  TMOD=0x01;</p><p><b>  TH0=a;</b></p><p><b>  TL0=b;</b></p><p>  ET0=1;//打開(kāi)定時(shí)器,但是未允許中斷</p

60、><p><b>  TR0=1;</b></p><p><b>  while(1)</b></p><p><b>  {</b></p><p>  check_key();</p><p>  keyscan();</p><p

61、><b>  }</b></p><p><b>  }</b></p><p>  void time0() interrupt 1</p><p><b>  {</b></p><p><b>  TH0=a;</b></p>&

62、lt;p><b>  TL0=b;</b></p><p>  speaker=~speaker;</p><p><b>  }</b></p><p>  void check_key()</p><p><b>  {</b></p><p>

63、;  P3=0xff;//先賦給P2組口高電平</p><p>  switch(P3)//按下一個(gè)鍵相應(yīng)4個(gè)燈亮</p><p><b>  {</b></p><p>  case 0xfe:P0=0xee;P2=0x77;a=0xfb;b=0xe9;EA=1;break;//P0,P2組為發(fā)光二極管組</p><p&g

64、t;  case 0xfd:P0=0xdd;P2=0xbb;a=0xfc;b=0x5c;EA=1;break;//注意:EA不能改為T(mén)R0</p><p>  case 0xfb:P0=0xbb;P2=0xdd;a=0xfc;b=0xc1;EA=1;break;</p><p>  case 0xf7:P0=0x77;P2=0xee;a=0xfc;b=0xef;EA=1;break;<

65、;/p><p>  case 0xef:P0=0xee;P2=0x77;a=0xfd;b=0x45;EA=1;break;</p><p>  case 0xdf:P0=0xdd;P2=0xbb;a=0xfd;b=0x92;EA=1;break;</p><p>  case 0xbf:P0=0xbb;P2=0xdd;a=0xfd;b=0xd0;EA=1;break;&

66、lt;/p><p>  case 0x7f:P0=0x77;P2=0xee;a=0xfd;b=0xee;EA=1;break;</p><p>  default:EA=0;speaker=0;//P0=0xff;P2=0xff ; </p><p><b>  }</b></p><p><b>  }</

67、b></p><p>  void delay(uint z)</p><p><b>  {</b></p><p><b>  uint x,y;</b></p><p>  for(x=z;x>0;x--)</p><p>  for(y=110;y>

68、0;y--);</p><p><b>  }</b></p><p>  void keyscan()</p><p><b>  {</b></p><p>  if(key1==0)</p><p><b>  {</b></p>&

69、lt;p><b>  delay(5);</b></p><p>  if(key1==0)</p><p><b>  {</b></p><p><b>  s1num++;</b></p><p>  while(!key1);</p><p&g

70、t;  if(s1num==1)</p><p><b>  {</b></p><p><b>  turn();</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  if(

71、s1num==2)</p><p><b>  {</b></p><p><b>  back();</b></p><p><b>  }</b></p><p>  if(s1num==3)</p><p><b>  {</b&g

72、t;</p><p>  qianhou();</p><p><b>  }</b></p><p>  if(s1num==4)</p><p><b>  {</b></p><p>  dangshuang();</p><p><b&g

73、t;  }</b></p><p>  if(s1num==5)</p><p><b>  s1num=1;</b></p><p><b>  }</b></p><p>  if(key2==0)</p><p><b>  {</b>

74、</p><p><b>  delay(5);</b></p><p>  while(~key2);</p><p><b>  play1();</b></p><p><b>  }</b></p><p><b>  }</b&

75、gt;</p><p>  void delay1(void)//第二個(gè)延時(shí)函數(shù)</p><p><b>  {</b></p><p>  uchar n=15;</p><p>  while(n--)</p><p><b>  {</b></p><

76、;p><b>  uchar i;</b></p><p>  for(i=0;i<125;i++);</p><p><b>  }</b></p><p><b>  }</b></p><p>  void play1(void)//播放生日快樂(lè)</p&

77、gt;<p><b>  {</b></p><p>  uchar m=0;</p><p>  uchar s; </p><p>  uchar c=1;</p><p><b>  P0=0xaa;</b></p><p><b>  

78、P2=0x55;</b></p><p><b>  while(1)</b></p><p><b>  {</b></p><p><b>  EA=0;</b></p><p>  c=shengri_tone[m];

79、 //取音符</p><p>  s=shengri_beat[m]; //取節(jié)拍</p><p>  a=yinfu[2*c-2]; </p><p>  b=yinfu[2*c-1]; </p&g

80、t;<p><b>  EA=1;</b></p><p>  while(s--)</p><p><b>  {</b></p><p><b>  delay1();</b></p><p><b>  P0=~P0;</b></

81、p><p><b>  P2=~P2;</b></p><p><b>  }</b></p><p><b>  m++;</b></p><p>  if(m>=33) return; //數(shù)值是shengri相關(guān)表中的元素?cái)?shù)量

82、 </p><p><b>  } </b></p><p><b>  }</b></p><p>  /*以下為N種流水燈流動(dòng)花式*/</p><p>  void turn()//流水燈順時(shí)針走動(dòng)(5次)</p><p><b>  {</b&g

83、t;</p><p>  for(num1=0;num1<8;num1++)</p><p><b>  {</b></p><p>  for(num=0;num<8;num++)</p><p><b>  {</b></p><p>  P0=ledtabl

84、e[num];</p><p>  delay(30);//時(shí)間暫定</p><p><b>  }</b></p><p>  P0=0xff;//之后關(guān)閉P1組</p><p>  for(num=7;num>-1;num--)</p><p><b>  {</b>

85、;</p><p>  P2=ledtable2[num];</p><p>  delay(30);</p><p><b>  }</b></p><p>  P2=0xff;//之后關(guān)閉P2組</p><p><b>  }</b></p><p&g

86、t;<b>  }</b></p><p>  void back()//逆時(shí)針流動(dòng)</p><p><b>  {</b></p><p>  for(num1=0;num1<8;num1++)</p><p><b>  {</b></p><p&

87、gt;  for(num=0;num<8;num++)</p><p><b>  {</b></p><p>  P2=ledtable[num];</p><p>  delay(30);</p><p><b>  }</b></p><p><b> 

88、 P2=0xff;</b></p><p>  for(num=7;num>-1;num--)</p><p><b>  {</b></p><p>  P0=ledtable2[num];</p><p>  delay(30);</p><p><b>  }&l

89、t;/b></p><p><b>  P0=0xff;</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  void qianhou()//前后來(lái)回</p><p><b>  {

90、</b></p><p>  for(num1=0;num1<10;num1++)</p><p><b>  {</b></p><p>  for(num=0;num<8;num++)</p><p><b>  {</b></p><p>  P

91、0=ledtable[num];</p><p>  P2=ledtable2[num];</p><p>  delay(30);</p><p><b>  }</b></p><p><b>  P0=0xff;</b></p><p><b>  P2=0x

92、ff;</b></p><p>  for(num=7;num>-1;num--)</p><p><b>  {</b></p><p>  P0=ledtable[num];</p><p>  P2=ledtable2[num];</p><p>  delay(30);&

93、lt;/p><p><b>  }</b></p><p><b>  P0=0xff;</b></p><p><b>  P2=0xff;</b></p><p><b>  }</b></p><p><b>  }&l

94、t;/b></p><p>  void dangshuang()//單數(shù)雙數(shù)</p><p><b>  {</b></p><p>  for(num1=0;num1<15;num1++)</p><p><b>  {</b></p><p><b&g

95、t;  P0=0x55;</b></p><p><b>  P2=0xaa;</b></p><p>  delay(150);</p><p><b>  P0=0xaa;</b></p><p><b>  P2=0x55;</b></p>&l

96、t;p>  delay(150);</p><p>  } </p><p><b>  }</b></p><p><b>  附錄 2 原理圖</b></p><p>  附錄 3 PCB板圖</p><p><b>  附錄 4 實(shí)物

溫馨提示

  • 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ù)僅提供信息存儲(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)論