單片機(jī)電子琴畢業(yè)論文.doc
《單片機(jī)電子琴畢業(yè)論文.doc》由會(huì)員分享,可在線閱讀,更多相關(guān)《單片機(jī)電子琴畢業(yè)論文.doc(41頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。
1、單片機(jī)電子琴畢業(yè)論文單片機(jī)電子琴畢業(yè)論文題 目:單片機(jī)電子琴設(shè)計(jì) 專 業(yè):電子信息技術(shù)與科學(xué) 目 錄摘要1ABSTRACT2引言.31方案論證41.1原理圖41.2系統(tǒng)板硬件連線41.3主要芯片簡介51.3.1AT89S51簡介51.3.2 LM38661.3.3LED數(shù)碼管72實(shí)現(xiàn)過程82.1 4X4行列式鍵盤識(shí)別及顯示82.1.1硬件板上的系統(tǒng)連線設(shè)計(jì)92.1.2 程序設(shè)計(jì)內(nèi)容102.1.3 I/O并行口直接驅(qū)動(dòng)LED顯示112.2 音樂產(chǎn)生的方法122.2.1 原理122.2.2 程序框圖133.總結(jié)與展望143.1全文總結(jié)143.2研究展望.14結(jié)束語15參考文獻(xiàn)16致謝17個(gè)人簡歷.
2、18附錄19I摘 要隨著社會(huì)的發(fā)展進(jìn)步,音樂逐漸成為我們生活中很重要的一部分,有人曾說喜歡音樂的人不會(huì)向惡。我們都會(huì)抽空欣賞世界名曲,作為對精神的洗禮。本論文設(shè)計(jì)一個(gè)基于單片機(jī)的簡易電子琴。我們對于電子琴如何實(shí)現(xiàn)其功能,如音色選擇、聲音強(qiáng)弱控制、節(jié)拍器、自動(dòng)放音功能等等也很好奇。電子琴是現(xiàn)代電子科技與音樂結(jié)合的產(chǎn)物,是一種新型的鍵盤樂器。它在現(xiàn)代音樂扮演著重要的角色,單片機(jī)具有強(qiáng)大的控制功能和靈活的編程實(shí)現(xiàn)特性,它已經(jīng)溶入現(xiàn)代人們的生活中,成為不可替代的一部分。本文的主要內(nèi)容是用AT89S51單片機(jī)為核心控制元件,設(shè)計(jì)一個(gè)電子琴。以單片機(jī)作為主控核心,與鍵盤、揚(yáng)聲器等模塊組成核心主控制模塊,在
3、主控模塊上設(shè)有16個(gè)按鍵和揚(yáng)聲器。本系統(tǒng)運(yùn)行穩(wěn)定,其優(yōu)點(diǎn)是硬件電路簡單,軟件功能完善,控制系統(tǒng)可靠,性價(jià)比較高等,具有一定的實(shí)用和參考價(jià)值。關(guān)鍵詞:AT89S51單片機(jī) 音色 節(jié)拍器 自動(dòng)放音 ABSTRACTWith the development and progress of society, music has become an important part of life, it was said that people do not like the music to the evil. We will find time to enjoy the world music, as
4、 the baptism of the spirit. This thesis developed a simple microcontroller-based electronic key board.Electronic organ is a modern electronic music technology and the product is a new type of keyboard instruments. It modern music played an important role in single chip is a powerful control function
5、s and flexible programming characteristics, It has converged with modern peoples lives, become an irreplaceable part. The main content is AT89C51 control of the core components, Design of an electronic organ, single chip as a host to the core, with the keyboard, speakers and other core modules main
6、control module, in the main control module has 16 keys and speakers. Stability of the system, its advantages are simple hardware circuits, software functions, control system reliability, high cost performance and have certain practical and reference value.Key words : single chipMCU keyboard speaker
7、electronic organ引 言單片微型計(jì)算機(jī)是大規(guī)模集成電路技術(shù)發(fā)展的產(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)代電子科技與音樂結(jié)合的產(chǎn)物,是一種新型的鍵盤樂器。它在現(xiàn)代音樂扮演著重要的角色,單片機(jī)具有強(qiáng)大的控制功能和靈活的編程實(shí)現(xiàn)特性,它已經(jīng)溶入現(xiàn)代人們的生活中,成為不可替代的一部分。本文的主要內(nèi)容是用AT89S51單片機(jī)為核心控制元件,設(shè)計(jì)一個(gè)電子琴。以單片機(jī)作為主控核心,與鍵盤、揚(yáng)聲器等模塊組成核心主控制模塊,在
8、主控模塊上設(shè)有16個(gè)按鍵和揚(yáng)聲器。 本文主要對使用單片機(jī)設(shè)計(jì)簡易電子琴進(jìn)行了分析,并介紹了基于單片機(jī)電子琴統(tǒng)硬件組成。利用單片機(jī)產(chǎn)生不同頻率來獲得我們要求的音階,最終可隨意彈奏想要表達(dá)的音樂。并且本文分別從原理圖,主要芯片,各模塊原理及各模塊的程序的調(diào)試來詳細(xì)闡述。 一首音樂是許多不同的音階組成的,而每個(gè)音階對應(yīng)著不同的頻率,這樣我們就可以利用不同的頻率的組合,即可構(gòu)成我們所想要的音樂了,當(dāng)然對于單片機(jī)來產(chǎn)生不同的頻率非常方便,我們可以利用單片機(jī)的定時(shí)/計(jì)數(shù)器T0來產(chǎn)生這樣方波頻率信號(hào),因此,我們只要把一首歌曲的音階對應(yīng)頻率關(guān)系弄正確即可。1 方案論證1.1原理圖圖1-1 電子琴電路圖Figu
9、re1-1 Keyboard circuit diagram1.2系統(tǒng)板硬件連線 系統(tǒng)板硬件連線如圖1-1所示,發(fā)生模塊,鍵盤模塊,及LED顯示模塊連接如下1.把“單片機(jī)系統(tǒng)”區(qū)域中的P1.0端口用導(dǎo)線連接到“音頻放大模塊”區(qū)域中的SPK IN端口上;2.把“單片機(jī)系統(tǒng)”區(qū)域中的P3.0P3.7端口用8芯排線連接到“4X4行列式鍵盤”區(qū)域中的C1C4R1R4端口上;3.把“單片機(jī)系統(tǒng)”區(qū)域中的P0.0/AD0P0.7/AD7端口用8芯排線連接到“四路靜態(tài)數(shù)碼顯示模塊”區(qū)域中的任一個(gè)ah端口上;要求:P0.0/AD0對應(yīng)著a,P0.1/AD1對應(yīng)著b,P0.7/AD7對應(yīng)著h。1.3 主要芯片簡
10、介1.3.1 AT89S51簡介AT89S51是一個(gè)低功耗,高性能CMOS 8位單片機(jī),片內(nèi)含4k Bytes ISP(In-system programmable)的可反復(fù)擦寫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具有如下特點(diǎn):40個(gè)引腳(引腳圖如圖1-2所示),4k Bytes Flash片內(nèi)程序存儲(chǔ)器,128 bytes的隨機(jī)
11、存取數(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并可通過軟件設(shè)置省電模式??臻e模式下,CPU暫停工作,而RAM定時(shí)計(jì)數(shù)器,串行口,外中斷系統(tǒng)可繼續(xù)工作,掉電模式凍結(jié)振蕩器而保存RAM的數(shù)據(jù),停止芯片其它功能直至外中斷激活或硬件復(fù)位。同時(shí)該芯片還具有PDIP、TQFP和PLCC等三種封裝形式,以適應(yīng)不同產(chǎn)品的需求。 圖1-2 管腳圖Figure1-2 pin map1.3.1.1 主要功能特性 兼容MCS-51
12、指令系統(tǒng) 32個(gè)雙向I/O口 2個(gè)16位可編程定時(shí)/計(jì)數(shù)器 全雙工UART串行中斷口線 2個(gè)外部中斷源 中斷喚醒省電模式 看門狗(WDT)電路 靈活的ISP字節(jié)和分頁編程 4k可反復(fù)擦寫ISP Flash ROM 4.5-5.5V工作電壓 時(shí)鐘頻率0-33MHz 128*8bit內(nèi)部RAM 低功耗空閑和省電模式 3級(jí)加密位 軟件設(shè)置空閑和省電功能 雙數(shù)據(jù)寄存器指針1.3.2 LM3861.3.2.1 LM386內(nèi)部電路LM386是美國國家半導(dǎo)體公司生產(chǎn)的音頻功率放大器,主要應(yīng)用于低電壓消費(fèi)類產(chǎn)品。LM386特性:靜態(tài)功耗低,約為4mA,可用于電池供電;工作電壓范圍寬,4V-12V或5V-18V
13、;外圍元件少;電壓增益可調(diào),20-200;低失真度。LM386是一種音頻集成功放,具有自身功耗低、電壓增益可調(diào)整、電源電壓范圍大、外接元件少和總諧波失真小等優(yōu)點(diǎn),廣泛應(yīng)用于錄音機(jī)和收音機(jī)之中。圖1-3 LM386內(nèi)部電路原理圖Fig1-3 LM386 internal circuit diagramLM386內(nèi)部電路原理圖如圖1-3所示。與通用型集成運(yùn)放相類似,它是一個(gè)三級(jí)放大電路. 第一級(jí)為差分放大電路,T1和T3、T2和T4分別構(gòu)成復(fù)合管,作為差分放大電路的放大管;T5和T6組成鏡像電流源作為T1和T2的有源負(fù)載;T3和T4信號(hào)從管的基極輸入,從T2管的集電極輸出,為雙端輸入單端輸出差分電
14、路。使用鏡像電流源作為差分放大電路有源負(fù)載,可使單端輸出電路的增益近似等于雙端輸出電容的增益 第二級(jí)為共射放大電路,T7為放大管,恒流源作有源負(fù)載,以增大放大倍數(shù)。 第三級(jí)中的T8和T9管復(fù)合成PNP型管,與NPN型管T10構(gòu)成準(zhǔn)互補(bǔ)輸出級(jí)。二極管D1和D2為輸出級(jí)提供合適的偏置電壓,可以消除交越失真。 引腳2為反相輸入端,引腳3為同相輸入端。電路由單電源供電,故為OTL電路。輸出端(引腳5)應(yīng)外接輸出電容后再接負(fù)載。 電阻R7從輸出端連接到T2的發(fā)射極,形成反饋通路,并與R5和R6構(gòu)成反饋網(wǎng)絡(luò),從而引入了深度電壓串聯(lián)負(fù)反饋,使整個(gè)電路具有穩(wěn)定的電壓增益。圖2.3 音頻放大器電路Figure
15、2.3 audio amplifier circuit1.3.3 LED數(shù)碼管圖1-4 7段數(shù)碼管 Figure1-4 7 segment digital tube數(shù)碼管(如圖1-4所示)使用條件:a、段及小數(shù)點(diǎn)上加限流電阻b、使用電壓:段:根據(jù)發(fā)光顏色決定;小數(shù)點(diǎn):根據(jù)發(fā)光顏色決定c、使用電流:靜態(tài):總電流 80mA(每段 10mA);動(dòng)態(tài):平均電流 4-5mA 峰值電流 100mA上面這只是七段數(shù)碼管引腳圖,其中共陽極數(shù)碼管引腳圖和共陰極的是一樣的。數(shù)碼管使用注意事項(xiàng)說明:(1)數(shù)碼管表面不要用手觸摸,不要用手去弄引角;(2)焊接溫度:260度;焊接時(shí)間:5S(3)表面有保護(hù)膜的產(chǎn)品,可以
16、在使用前撕下來。2 實(shí)現(xiàn)過程2.1 4X4行列式鍵盤識(shí)別及顯示組成鍵盤的按鍵有機(jī)械式、電容式、導(dǎo)電橡膠式、薄膜式多種,但不管什么形式,其作用都是一個(gè)使電路接通與斷開的開關(guān)。目前微機(jī)系統(tǒng)中使用的鍵盤按其功能不同,通??煞譃榫幋a鍵盤和非編碼鍵盤兩種基本類型。 編碼鍵盤:鍵盤本身帶有實(shí)現(xiàn)接口主要功能所需的硬件電路。不僅能自動(dòng)檢測被按下的鍵,并完成去抖動(dòng)、防串鍵等功能,而且能提供與被按鍵功能對應(yīng)的鍵碼(如ASCII碼)送往CPU。所以,編碼鍵盤接口簡單、使用方便。但由于硬件電路較復(fù)雜,因而價(jià)格較貴。 非編碼鍵盤:鍵盤只簡單地提供按鍵開關(guān)的行列矩陣。有關(guān)按鍵的識(shí)別、鍵碼的確定與輸入、去抖動(dòng)等功能均由軟件
17、完成。目前微機(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),一般為520mm。所謂抖動(dòng)是指在識(shí)別被按鍵是必須避開抖動(dòng)狀態(tài),只有處在穩(wěn)定接通或穩(wěn)定斷開狀態(tài)才能保證識(shí)別正確無誤。去抖問題可通過軟件延時(shí)或硬件電路解決。 (2)防串鍵:防串鍵是為了解決多個(gè)鍵同時(shí)按下或者前一按鍵沒有釋放又有新的按鍵按下時(shí)產(chǎn)生的問題。常用的方法有雙鍵鎖定和N鍵輪回兩種方法。雙鍵鎖定,是當(dāng)有兩個(gè)或兩個(gè)以上的按鍵按下時(shí),只把最后釋放的鍵當(dāng)作有效鍵并產(chǎn)生相應(yīng)的鍵碼。N鍵輪
18、回,是當(dāng)檢測到有多個(gè)鍵被按下時(shí),能根據(jù)發(fā)現(xiàn)它們的順序依次產(chǎn)生相應(yīng)鍵的鍵碼。 (3)被按鍵識(shí)別:如何識(shí)別被按鍵是接口解決的主要問題,一般可通過軟硬結(jié)合的方法完成。常用的方法有行掃描法和線反轉(zhuǎn)法兩種。行掃描法的基本思想是,由程序?qū)︽I盤逐行掃描,通過檢測到的列輸出狀態(tài)來確定閉合鍵,為此,需要設(shè)置入口、輸出口一個(gè),該方法在微機(jī)系統(tǒng)中被廣泛使用。線反轉(zhuǎn)法的基本思想是通過行列顛倒兩次掃描來識(shí)別閉合鍵,為此需要提供兩個(gè)可編程的雙向輸入/輸出端口。 (4)鍵碼產(chǎn)生:為了從鍵的行列坐標(biāo)編碼得到反映鍵功能的鍵碼,一般在內(nèi)存區(qū)中建立一個(gè)鍵盤編碼表,通過查表獲得被按鍵的鍵碼。用AT89S51的并行口P1接44矩陣鍵盤
19、,以P1.0P1.3作輸入線,以P1.4P1.7作輸出線;在數(shù)碼管上顯示每個(gè)按鍵的“0F”序號(hào)。圖2-1 鍵盤識(shí)別模塊Fig2-1 Keyboard recognition module2.1.1 系統(tǒng)板上硬件連線設(shè)計(jì)鍵盤模塊硬件連線如圖2-1所示:(1)把“單片機(jī)系統(tǒng)”區(qū)域中的P3.0P3.7端口用8芯排線連接到“4X4行列式鍵盤”區(qū)域中的C1C4R1R4端口上;(2)把“單片機(jī)系統(tǒng)”區(qū)域中的P0.0/AD0P0.7/AD7端口用8芯排線連接到“7段數(shù)碼顯示模塊”區(qū)域中的任一個(gè)ah端口上;要求:P0.0/AD0對應(yīng)著a,P0.1/AD1對應(yīng)著b,P0.7/AD7對應(yīng)著h。2.1.2 程序設(shè)計(jì)
20、內(nèi)容(1)44矩陣鍵盤識(shí)別處理,每個(gè)按鍵有它的行值和列值,行值和列值的組合就是識(shí)別這個(gè)按鍵的編碼。矩陣的行線和列線分別通過兩并行接口和CPU通信。每個(gè)按鍵的狀態(tài)同樣需變成數(shù)字量“0”和“1”,開關(guān)的一端(列線)通過電阻接VCC,而接地是通過程序輸出數(shù)字“0”實(shí)現(xiàn)的。(2)鍵盤處理程序的任務(wù)是:確定有無鍵按下,判斷哪一個(gè)鍵按下,鍵的功能是什么;還要消除按鍵在閉合或斷開時(shí)的抖動(dòng)。兩個(gè)并行口中,一個(gè)輸出掃描碼,使按鍵逐行動(dòng)態(tài)接地,另一個(gè)并行口輸入按鍵狀態(tài),由行掃描值和回饋信號(hào)共同形成鍵編碼而識(shí)別按鍵,通過軟件查表,查出該鍵的功能。電路圖如下圖2.1.1 行列式鍵盤電路Figure 2.1.1 det
21、erminant keyboard circuit2.1.3 I/O并行口直接驅(qū)動(dòng)LED顯示LED顯示模塊如圖2-2所示,利用AT89S51單片機(jī)的P0端口的P0.0P0.7連接到一個(gè)七段數(shù)碼管的ah的筆段上,數(shù)碼管的公共端接地。在數(shù)碼管上循環(huán)顯示07數(shù)字,時(shí)間間隔0.2秒。圖2-2 電路原理圖Fig2-2 Circuit diagram系統(tǒng)板上硬件連線:(如圖2-2所示) 把“單片機(jī)系統(tǒng)”區(qū)域中的P0.0/AD0P0.7/AD7端口用8芯排線連接到“七段數(shù)碼顯示模塊”區(qū)域中的任一個(gè)數(shù)碼管的ah端口上;要求:P0.0/AD0與a相連,P0.1/AD1與b相連,P0.2/AD2與c相連,P0.7
22、/AD7與h相連。程序設(shè)計(jì)內(nèi)容 (1)LED數(shù)碼顯示原理: 七段LED顯示器內(nèi)部由七個(gè)條形發(fā)光二極管和一個(gè)小圓點(diǎn)發(fā)光二極管組成,根據(jù)各管的極管的接線形式,可分成共陰極型和共陽極型。 LED數(shù)碼管的ga七個(gè)發(fā)光二極管因加正電壓而發(fā)亮,因加零電壓而不以發(fā)亮,不同亮暗的組合就能形成不同的字形,這種組合稱之為字形碼,下面給出共陰極的字形碼表(如表2-1所示)表2-1 字形碼表Table 2-1 font code table“0”3FH“8”7FH“1”06H“9”6FH“2”5BH“A”77H“3”4FH“b”7CH“4”66H“C”39H“5”6DH“d”5EH“6”7DH“E”79H“7”07H
23、“F”71H(2)由于顯示的數(shù)字09的字形碼沒有規(guī)律可循,只能采用查表的方式來完成我們所需的要求了。這樣我們按著數(shù)字09的順序,把每個(gè)數(shù)字的筆段代碼按順序排好!建立的表格如下所示:TABLEDB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH。2.2 音樂產(chǎn)生的方法2.2.1 原理一首音樂是許多不同的音階組成的,而每個(gè)音階對應(yīng)著不同的頻率,這樣我們就可以利用不同的頻率的組合,即可構(gòu)成我們所想要的音樂了,當(dāng)然對于單片機(jī)來產(chǎn)生不同的頻率非常方便,我們可以利用單片機(jī)的定時(shí)/計(jì)數(shù)器T0來產(chǎn)生這樣方波頻率信號(hào),因此,我們只要把一首歌曲的音階對應(yīng)頻率關(guān)系正確即可。若要產(chǎn)生音
24、頻脈沖,只要算出某一音頻的周期(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)生不同音階,例如,頻率為523Hz,其周期T1/5231912s,因此只要令計(jì)數(shù)器計(jì)時(shí)956s/1s956,每計(jì)數(shù)956次時(shí)將I/O反相,就可得到中音DO(523Hz)。 計(jì)數(shù)脈沖值與頻率的關(guān)系式(如式2-1所示)是: Nfi2fr 2-1式中,N是計(jì)數(shù)值;fi是機(jī)器頻率(晶體振蕩器為12
25、MHz時(shí),其頻率為1MHz);fr是想要產(chǎn)生的頻率。其計(jì)數(shù)初值T的求法如下: T65536N65536fi2fr 例如:設(shè)K65536,fi1MHz,求低音DO(261Hz)、中音DO(523Hz)、高音DO(1046Hz)的計(jì)數(shù)值。 T65536N65536fi2fr6553610000002fr65536500000/fr 低音DO的T65536500000/26263627 中音DO的T65536500000/52364580 高音DO的T65536500000/104665059單片機(jī)12MHZ晶振,高中低音符與計(jì)數(shù)T0相關(guān)的計(jì)數(shù)值如表2-2所示表2-2 音符頻率表Table 2-2
26、notes the frequency table音符頻率(HZ)簡譜碼(T值)音符頻率(HZ)簡譜碼(T值)低1DO26263628# 4 FA#74064860#1DO#27763731中 5 SO78464898低2RE29463835# 5 SO#83164934#2 RE#31163928中 6 LA88064968低 3 M33064021# 693264994低 4 FA34964103中 7 SI98865030# 4 FA#37064185高 1 DO104665058低 5 SO39264260# 1 DO#110965085# 5 SO#41564331高 2 RE117
27、565110低 6 LA44064400# 2 RE#124565134# 646664463高 3 M131865157低 7 SI49464524高 4 FA139765178中 1 DO52364580# 4 FA#148065198# 1 DO#55464633高 5 SO156865217中 2 RE58764684# 5 SO#166165235# 2 RE#62264732高 6 LA176065252中 3 M65964777# 6186565268中 4 FA69864820高 7 SI196765283我們要為這個(gè)音符建立一個(gè)表格,單片機(jī)通過查表的方式來獲得相應(yīng)的數(shù)據(jù) 低音
28、019之間,中音在2039之間,高音在4059之間 TABLE: DW 0, 63628, 63835, 64021, 64103, 64260, 64400, 64524, 0, 0 DW 0, 63731, 63928, 0, 64185, 64331, 64463, 0, 0, 0 DW 0, 64580, 64684, 64777, 64820, 64898, 64968, 65030, 0, 0 DW 0, 64633, 64732, 0, 64860, 64934, 64994, 0, 0, 0 DW 0, 65058, 65110,65157, 65178, 65217, 652
29、52, 65283, 0, 0 DW 0, 65085, 65134, 0, 65198, 65235, 65268, 0, 0, 0 DW 0音樂的音拍,一個(gè)節(jié)拍為單位(C調(diào))(如表2-3所示)表2-3 曲調(diào)值表Table 2-3 Tune the value of the table曲調(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對于不同的曲調(diào)我們也可以用單片機(jī)的另外一個(gè)定時(shí)/計(jì)數(shù)器來完成。琴鍵處理程序,根據(jù)檢測到得按鍵值,查詢音律表,給計(jì)時(shí)器賦值,發(fā)出相應(yīng)頻率的聲音。對音調(diào)的控制:根據(jù)不同的按鍵,對定
30、時(shí)器T1送入不同的初值,調(diào)節(jié)T1的溢出時(shí)間,這樣就可以輸出不同音調(diào)頻率的方波。不同音調(diào)下各個(gè)音階的定時(shí)器。在這個(gè)程序中用到了兩個(gè)定時(shí)/計(jì)數(shù)器來完成的。其中T0用來產(chǎn)生音符頻率,T1用來產(chǎn)生音拍。2.2.2 程序框圖音樂發(fā)聲程序框圖如圖2-4所示:圖2-4 音樂發(fā)聲程序框圖Fig 2-4 Music sound block diagram3 總結(jié)與展望3.1全文總結(jié)通過這次畢業(yè)設(shè)計(jì),我學(xué)到了不少課本上沒有的知識(shí),也鍛煉了自己的動(dòng)手能力,將以前學(xué)過的零散的知識(shí)串到一起。首先在畢業(yè)設(shè)計(jì)剛開始的調(diào)研階段,我學(xué)會(huì)了怎么通過各種方式查詢相關(guān)的資料。通過對這些資料的學(xué)習(xí),我大致了解了單片機(jī)的發(fā)展現(xiàn)狀以及未來
31、的發(fā)展趨勢,認(rèn)識(shí)到目前單片機(jī)方面的各種各樣的發(fā)展,和它們之間的競爭。了解了單片機(jī)方面的先進(jìn)技術(shù),這些都為我的未來的學(xué)習(xí)指明了方向。我的畢業(yè)設(shè)計(jì)主要涉及硬件和軟件兩方面的內(nèi)容,通過這些我的硬件和軟件開發(fā)能力都獲得了提高。首先硬件方面,基本了解了電子產(chǎn)品的開發(fā)流程和所要做的工作?;菊莆樟薖rotel99SE原理圖的方法,并設(shè)計(jì)了一個(gè)單片機(jī)最小系統(tǒng)。通過開發(fā)板的設(shè)計(jì)和硬件搭建的過程,使我對51系單片機(jī)的接口有了更深層次的理解,熟悉了一些單片機(jī)常用的外圍電路引腳和連接方法,如LED數(shù)碼管,鍵盤等。在軟件方面,通過串行口調(diào)試工具的開發(fā),使我加深了對累封裝的理解,熟悉了51系列單片機(jī)內(nèi)部的寄存器和編程規(guī)
32、則,以及如何控制外圍電路。3.2研究展望微型計(jì)算機(jī)的出現(xiàn)和大量使用將人類社會(huì)帶入一個(gè)新的時(shí)代,單片微型計(jì)算機(jī)(簡稱單片機(jī))在其中扮演著十分重要的角色。雖然它沒有常見的PC那樣大的體積和重量,不會(huì)在辦公桌或控制臺(tái)上占據(jù)一個(gè)顯要的位置,但它就像小小的螺絲釘一樣,鑲嵌在人們工作、生活中需要計(jì)算、控制、測量等智能活動(dòng)的各個(gè)角落。自20世紀(jì)70年代問世以來,單片機(jī)以其體積小、可靠性高、控制功能強(qiáng)、使用方便、性能價(jià)格比高、容易產(chǎn)品化等特點(diǎn),在智能儀表、機(jī)電一體化、實(shí)時(shí)控制、分布式多機(jī)系統(tǒng)、家用電器等各個(gè)領(lǐng)域得到了廣泛應(yīng)用,對各個(gè)行業(yè)的技術(shù)改造和產(chǎn)品的更新?lián)Q代起著重要的推動(dòng)作用,對人們生活質(zhì)量的提高產(chǎn)生了深
33、刻的影響。作為21世紀(jì)的工科大學(xué)生,學(xué)好單片機(jī),一方面可以加深對計(jì)算機(jī)原理和結(jié)構(gòu)的認(rèn)識(shí),另一方面也為自身在專業(yè)上的深入發(fā)展構(gòu)筑了一個(gè)很好的平臺(tái)其重要性怎么強(qiáng)調(diào)都不為過。結(jié) 束 語將程序燒入芯片,調(diào)試成功后,可任意彈奏自己想要的旋律。本研究通過制作電子琴,將幾個(gè)模塊很好的融合起來,對使用單片機(jī)設(shè)計(jì)簡易電子琴進(jìn)行了分析,并介紹了基于單片機(jī)電子琴統(tǒng)硬件組成。利用單片機(jī)產(chǎn)生不同頻率來獲得我們要求的音階,最終可隨意彈奏想要表達(dá)的音樂。說明一首音樂是許多不同的音階組成的,而每個(gè)音階對應(yīng)著不同的頻率,這樣我們就可以利用不同的頻率的組合,即可構(gòu)成我們所想要的音樂了,于是我們可以利用單片機(jī)的定時(shí)/計(jì)數(shù)器T0來產(chǎn)
34、生這樣方波頻率信號(hào),因此,我們只要把一首歌曲的音階對應(yīng)頻率關(guān)系弄正確即可,然后我們利用功放電路來將音樂聲音放大,同時(shí)通過顯示模塊來確知自己所彈的音符。 不足之處有:1.可彈奏的音符數(shù)較少,只能在一定范圍內(nèi)滿足用戶需要。可通過改進(jìn)鍵盤識(shí)別模塊和發(fā)生模塊來增加其復(fù)雜度。 2.音量不可調(diào)??赏ㄟ^改進(jìn)功放電路,即在lm386的1腳和8腳間增加一直外界電阻和電容,將3腳與地之間的電阻換為10k的變阻,即可調(diào)節(jié)其放大增益。參考文獻(xiàn)1 陳明熒8051單片機(jī)課程設(shè)計(jì)實(shí)訓(xùn)教材M北京:清華大學(xué)出版社,2003年9月2 徐新艷單片機(jī)原理、應(yīng)用與實(shí)踐M北京:高等教育出版社,2005年3月3 吳金戌,沈慶陽,郭庭吉80
35、51單片機(jī)實(shí)踐與應(yīng)用M第一版北京:清華大學(xué)出版社,2002年4 吳金戌,沈慶陽,郭庭吉,8051單片機(jī)實(shí)踐與應(yīng)用M清華大學(xué)出版社,20015 馮博琴,微型計(jì)算機(jī)原理與接口技術(shù)M清華大學(xué)出版社,20046 張毅剛,MCS-51單片機(jī)應(yīng)用設(shè)計(jì)M哈爾濱工業(yè)大學(xué)出版社,20047 張淑清,姜萬錄等,單片微型計(jì)算機(jī)接口技術(shù)及應(yīng)用M國防工業(yè)出版社,20038 吳金戌,沈慶陽,郭庭吉,8051單片機(jī)實(shí)踐與應(yīng)用M清華大學(xué)出版社,20019 馮博琴,微型計(jì)算機(jī)原理與接口技術(shù)M清華大學(xué)出版社,200410 張毅剛,MCS-51單片機(jī)應(yīng)用設(shè)計(jì)M哈爾濱工業(yè)大學(xué)出版社,200411 龍威林,楊冠聲,胡山.單片機(jī)應(yīng)用入門
36、:AT89S51和AVRM.北京:化學(xué)工業(yè)出版社,2008. 12 黃鑫,馬善農(nóng),趙永科.基于CPLD的電子琴研究與設(shè)計(jì)J.科技廣場,2007(5). 13 趙亮,侯國銳.單片機(jī)C語言編程與實(shí)例M.北京:人民郵電出版社,2003. 14 楊恢先,黃輝先.單片機(jī)原理及應(yīng)用M.北京:人民郵電出版社,2006. 15 張虹.單片機(jī)原理及應(yīng)用M.北京:中國電力出版社,2009. 16 李云鋼,鄒逢興,龍志強(qiáng). 單片機(jī)原理與應(yīng)用系統(tǒng)計(jì)J.北京:中國水利水電出版社,2008.致 謝 這次畢業(yè)論文能夠得以順利完成,是所有曾經(jīng)指導(dǎo)過我的老師,幫助過我的同學(xué),一直支持著我的家人對我的教誨、幫助和鼓勵(lì)的結(jié)果。我要
37、在這里對他們表示深深的謝意! 首先,要特別感謝我的指導(dǎo)老師劉老師。劉老師在我畢業(yè)論文的撰寫過程中,給我提供了極大的幫助和指導(dǎo)。從開始選題到中期修正,再到最終定稿,劉老師給我提供了許多寶貴建議。老師淵博的專業(yè)知識(shí),嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度,精益求精的工作作風(fēng),誨人不倦的高尚師德,樸實(shí)無華、平易近人的人格魅力對我影響深遠(yuǎn)。不僅使我樹立了遠(yuǎn)大的學(xué)術(shù)目標(biāo)、掌握了基本的研究方法,還使我明白了許多待人接物與為人處世的道理。 其次,要感謝所有曾經(jīng)教我們電子信息的任課老師,老師們教會(huì)我的不僅僅是專業(yè)知識(shí),更多的是對待學(xué)習(xí)、對待生活的態(tài)度。 第三,感謝我的父母親,你們是我力量的源泉,只要有你們,不管面對什么樣的困難,我都
38、不會(huì)害怕,謝謝你們對我的支持與鼓勵(lì)! 再次,感謝我的室友及其他好友,因?yàn)橛心銈兊膸椭?,我的論文得以順利完成。感謝你們,大學(xué)四年給我了那么多的幫助與鼓勵(lì),在我不開心的時(shí)候,總能讓我開心起來。不會(huì)忘記,大學(xué)四年里我們一起度過的歡樂時(shí)光,那些開心的日子,總是那么令人難以忘懷。 最后對老師,同學(xué)和家人再次致以我最衷心的感謝!教導(dǎo)過我的老師,你們的人格魅力永記我心間。身邊的同學(xué)和朋友,有你們,我的大學(xué)才算完整。寢室的好友,你們的天賦猶如上天恩賜,有了你們我的生活更加精彩。附 錄電路原理圖:程序框圖程序框圖如圖所示:C語言源程序#includeunsigned char code table=0 x3f,
39、0 x06,0 x5b,0 x4f,0 x66, 0 x6d,0 x7d,0 x07,0 x7f,0 x6f;unsigned char discount;void delay02s(void) unsigned char i, j, k; for(i=20;i0;i-) for(j=20;j0;j-) for(k=248;k0;k-);void main(void) while(1) for(discount=0;dispcount0;i-)for(j=200;j0;j-);temp=P3;temp=temp & 0 x0f;if (temp!=0 x0f)temp=P3;temp=temp
40、 & 0 x0f;switch(temp)case 0 x0e:key=7;break;case 0 x0d:key=8;break;case 0 x0b:key=9;break;case 0 x07:key=10;break;temp=P3;P1_0=P1_0;P0=tablekey;temp=temp & 0 x0f;while(temp!=0 x0f)temp=P3;temp=temp & 0 x0f;P3=0 xff;P3_5=0;temp=P3;temp=temp & 0 x0f;if (temp!=0 x0f)for(i=50;i0;i-)for(j=200;j0;j-);temp
41、=P3;temp=temp & 0 x0f;if (temp!=0 x0f)temp=P3;temp=temp & 0 x0f;switch(temp)case 0 x0e:key=4;break;case 0 x0d:key=5;break;case 0 x0b:key=6;break;case 0 x07:key=11;break;temp=P3;P1_0=P1_0;P0=tablekey;temp=temp & 0 x0f;while(temp!=0 x0f)temp=P3;temp=temp & 0 x0f;P3=0 xff;P3_6=0;temp=P3;temp=temp & 0 x
42、0f;if (temp!=0 x0f)for(i=50;i0;i-)for(j=200;j0;j-);temp=P3;temp=temp & 0 x0f;if (temp!=0 x0f)temp=P3;temp=temp & 0 x0f;switch(temp)case 0 x0e:key=1;break;case 0 x0d:key=2;break;case 0 x0b:key=3;break;case 0 x07:key=12;break;temp=P3;P1_0=P1_0;P0=tablekey;temp=temp & 0 x0f;while(temp!=0 x0f)temp=P3;te
43、mp=temp & 0 x0f;P3=0 xff;P3_7=0;temp=P3;temp=temp & 0 x0f;if (temp!=0 x0f)for(i=50;i0;i-)for(j=200;j0;j-);temp=P3;temp=temp & 0 x0f;if (temp!=0 x0f)temp=P3;temp=temp & 0 x0f;switch(temp)case 0 x0e:key=0;break;case 0 x0d:key=13;break;case 0 x0b:key=14;break;case 0 x07:key=15;break;temp=P3;P1_0=P1_0;P
44、0=tablekey;temp=temp & 0 x0f;while(temp!=0 x0f)temp=P3;temp=temp & 0 x0f;程序框圖 音樂發(fā)聲程序框圖如圖所示:程序#includeunsigned char code table=0 x3f,0 x06,0 x5b,0 x4f,0 x66,0 x6d,0 x7d,0 x07, 0 x7f,0 x6f,0 x77,0 x7c,0 x39,0 x5e,0 x79,0 x71;unsigned char temp;unsigned char key;unsigned char i,j;unsigned char STH0;uns
45、igned char STL0;unsigned int code tab=64021,64103,64260,64400, 64524,64580,64684,64777, 64820,64898,64968,65030, 65058,65110,65157,65178;void main(void) TMOD=0 x01; ET0=1; EA=1; while(1) P3=0 xff; P3_4=0; temp=P3; temp=temp & 0 x0f; if (temp!=0 x0f) for(i=50;i0;i-) for(j=200;j0;j-); temp=P3; temp=te
46、mp & 0 x0f; if (temp!=0 x0f) temp=P3; temp=temp & 0 x0f; switch(temp) case 0 x0e: key=0; break; case 0 x0d: key=1; break; case 0 x0b: key=2; break; case 0 x07: key=3; break; temp=P3; P1_0=P1_0; P0=tablekey; STH0=tabkey/256; STL0=tabkey%6; TR0=1; temp=temp & 0 x0f; while(temp!=0 x0f) temp=P3; temp=te
47、mp & 0 x0f; TR0=0; P3=0 xff; P3_5=0; temp=P3; temp=temp & 0 x0f; if (temp!=0 x0f) for(i=50;i0;i-) for(j=200;j0;j-); temp=P3; temp=temp & 0 x0f; if (temp!=0 x0f) temp=P3; temp=temp & 0 x0f; switch(temp) case 0 x0e: key=4; break; case 0 x0d: key=5; break; case 0 x0b: key=6; break; case 0 x07: key=7; b
48、reak; temp=P3; P1_0=P1_0; P0=tablekey; STH0=tabkey/256; STL0=tabkey%6; TR0=1; temp=temp & 0 x0f; while(temp!=0 x0f) temp=P3; temp=temp & 0 x0f; TR0=0; P3=0 xff; P3_6=0; temp=P3; temp=temp & 0 x0f; if (temp!=0 x0f) for(i=50;i0;i-) for(j=200;j0;j-); temp=P3; temp=temp & 0 x0f; if (temp!=0 x0f) temp=P3
49、; temp=temp & 0 x0f; switch(temp) case 0 x0e: key=8; break; case 0 x0d: key=9; break; case 0 x0b: key=10; break; case 0 x07: key=11; break; temp=P3; P1_0=P1_0; P0=tablekey; STH0=tabkey/256; STL0=tabkey%6; TR0=1; temp=temp & 0 x0f; while(temp!=0 x0f) temp=P3; temp=temp & 0 x0f; TR0=0; P3=0 xff; P3_7=0; temp=P3; temp=temp & 0 x0f; if (temp!=0 x0f) for(i=50;i0;i-) for(j=200;j0;j-); temp=P3; temp=temp & 0 x0f; if (temp!=0 x0f) temp=P3; temp=temp & 0 x0f; switch(temp) case 0 x0e: key=12;
- 溫馨提示:
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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 人教版必修五《林教頭風(fēng)雪山神廟》ppt課件
- 人教版《分?jǐn)?shù)的意義和性質(zhì)》(完美版)課件
- 正比例函數(shù)及性質(zhì)
- 企業(yè)戰(zhàn)略環(huán)境分析
- 前列腺增生3課件
- 煉鐵基礎(chǔ)非高爐煉鐵課件
- 小兒腹瀉小講課分析課件
- 職業(yè)經(jīng)理人的壓力管理課件
- 街道改造PPT方案展示-項(xiàng)目概況案例分析現(xiàn)存建筑質(zhì)量設(shè)計(jì)理念課件
- 2022年北師大版小學(xué)數(shù)學(xué)《小數(shù)目物品平均分》課件
- 作文指導(dǎo)--場面描寫-PPT
- 肺癌診斷和治療的幾個(gè)問題
- 一下《王二小》
- 第八章專題八(教育精品)
- 六年級(jí)數(shù)學(xué)下冊 正負(fù)數(shù) 2課件 人教新課標(biāo)