單片機課程設(shè)計報告電子琴_第1頁
單片機課程設(shè)計報告電子琴_第2頁
單片機課程設(shè)計報告電子琴_第3頁
單片機課程設(shè)計報告電子琴_第4頁
單片機課程設(shè)計報告電子琴_第5頁
已閱讀5頁,還剩18頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

-.z單片機課程設(shè)計課程題目:基于單片機的多音階電子琴設(shè)計班級:**:指導教師:制作日期:2010.6.14~2010.6.25摘要3ABSTRACT4引言51方案論證61.1原理圖61.2系統(tǒng)板硬件連線71.3主要芯片簡介6HYPERLINK1.3.1STC89C52簡介61.3.2主要功能特性71.3.3LM386內(nèi)部電路92實現(xiàn)過程92.14*4行列式鍵盤識別及顯示92.1.1系統(tǒng)板上硬件連線設(shè)計112.1.2程序設(shè)計內(nèi)容113音樂產(chǎn)生的方法123.1原理123.2程序框圖144總結(jié)與展望154.1全文總結(jié)154.2研究展望15完畢語16參考文獻17致謝18附錄19摘要隨著社會的開展進步,音樂逐漸成為我們生活中很重要的一局部,有人曾說喜歡音樂的人不會向惡。我們都會抽空欣賞世界名曲,作為對精神的洗禮。本論文設(shè)計一個基于單片機的簡易電子琴。我們對于電子琴如何實現(xiàn)其功能,如聲音強弱控制、節(jié)拍器、自動放音功能等等也很好奇。電子琴是現(xiàn)代電子科技與音樂結(jié)合的產(chǎn)物,是一種新型的鍵盤樂器。它在現(xiàn)代音樂扮演著重要的角色,單片機具有強大的控制功能和靈活的編程實現(xiàn)特性,它已經(jīng)溶入現(xiàn)代人們的生活中,成為不可替代的一局部。本文的主要內(nèi)容是用STC89C52關(guān)鍵詞:STC89C52ABSTRACTWiththedevelopmentandprogressofsociety,musichasbeeanimportantpartoflife,itwassaidthatpeopledonotlikethemusictotheevil.Wewillfindtimetoenjoytheworldmusic,asthebaptismofthespirit.Thisthesisdevelopedasimplemicrocontroller-basedelectronickeyboard.Electronicorganisamodernelectronicmusictechnologyandtheproductisanewtypeofkeyboardinstruments.Itmodernmusicplayedanimportantroleinsinglechipisapowerfulcontrolfunctionsandfle*ibleprogrammingcharacteristics,Ithasconvergedwithmodernpeople'slives,beeanirreplaceablepart.ThemaincontentisAT89C51controlofthecoreponents,Designofanelectronicorgan,singlechipasahosttothecore,withthekeyboard,speakersandothercoremodulesmaincontrolmodule,inthemaincontrolmodulehas16keysandspeakers.Stabilityofthesystem,itsadvantagesaresimplehardwarecircuits,softwarefunctions,controlsystemreliability,highcostperformanceandhavecertainpracticalandreferencevalue.Keywords:STC89C52引言單片微型計算機是大規(guī)模集成電路技術(shù)開展的產(chǎn)物,屬第四代電子計算機,它具有高性能、高速度、體積小、價格低廉、穩(wěn)定可靠、應(yīng)用廣泛的特點。它的應(yīng)用必定導致傳統(tǒng)的控制技術(shù)從根本上發(fā)生變革。因此,單片機的開發(fā)應(yīng)用已成為高科技和工程領(lǐng)域的一項重大課題。電子琴是現(xiàn)代電子科技與音樂結(jié)合的產(chǎn)物,是一種新型的鍵盤樂器。它在現(xiàn)代音樂扮演著重要的角色,單片機具有強大的控制功能和靈活的編程實現(xiàn)特性,它已經(jīng)溶入現(xiàn)代人們的生活中,成為不可替代的一局部。本文的主要內(nèi)容是用STC89C521方案論證1.1原理圖圖1-1

電子琴電路圖Figure1-1Keyboardcircuitdiagram1.2系統(tǒng)板硬件連線系統(tǒng)板硬件連線如圖1-1所示,發(fā)生模塊,鍵盤模塊,及LED顯示模塊連接如下

1.把“單片機系統(tǒng)〞區(qū)域中的P1.0端口用導線連接到“音頻放大模塊〞區(qū)域中的SPKIN端口上;

2.把“單片機系統(tǒng)〞區(qū)域中的P3.0-P3.7端口用8芯排線連接到“4*4行列式鍵盤〞區(qū)域中的C1-C4R1-R4端口上;

3.把“單片機系統(tǒng)〞區(qū)域中的P0.0/AD0-P0.7/AD7端口用8芯排線連接到“四路靜態(tài)數(shù)碼顯示模塊〞區(qū)域中的任一個a-h(huán)端口上;要求:P0.0/AD0對應(yīng)著a,P0.1/AD1對應(yīng)著b,……,P0.7/AD7對應(yīng)著h。1.3主要芯片簡介STC89C52簡介功能特性:STC89S52是一種低功耗、高性能CMOS8位微控制器,具有8K在系統(tǒng)可編程Flash存儲器。使用Atmel公司高密度非易失性存儲器技術(shù)制造,與工業(yè)80C51產(chǎn)品指令和引腳完全兼容。片上Flash允許程序存儲器在系統(tǒng)可編程,亦適于常規(guī)編程器。在單芯片上,擁有靈巧的8位CPU和在系統(tǒng)可編程Flash,使得AT89S52為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。AT89S52具有以下標準功能:8k字節(jié)Flash,256字節(jié)RAM,32位I/O口線,看門狗定時器,2個數(shù)據(jù)指針,三個16位定時器/計數(shù)器,一個6向量2級中斷構(gòu)造,全雙工串行口,片內(nèi)晶振及時鐘電路。另外,AT89S52可降至0Hz靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式??臻e模式下,CPU停頓工作,允許RAM、定時器/計數(shù)器、串口、中斷繼續(xù)工作。掉電保護方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機一切工作停頓,直到下一個中斷或硬件復位為止。8位微控制器8K字節(jié)在系統(tǒng)可編程FlashAT89S52。圖1-2管腳圖Figure1-2pinmap主要功能特性與MCS-51單片機產(chǎn)品兼容8K字節(jié)在系統(tǒng)可編程Flash存儲器1000次擦寫周期全靜態(tài)操作:0Hz~33Hz

三級加密程序存儲器32個可編程I/O口線三個16位定時器/計數(shù)器八個中斷源全雙工UART串行通道、低功耗空閑和掉電模式掉電后中斷可喚醒看門狗定時器雙數(shù)據(jù)指針掉電標識符LM386內(nèi)部電路LM386是美國國家半導體公司生產(chǎn)的音頻功率放大器,主要應(yīng)用于低電壓消費類產(chǎn)品。LM386特性:靜態(tài)功耗低,約為4mA,可用于電池供電;工作電壓*圍寬,4V-12V或5V-18V;外圍元件少;電壓增益可調(diào),20-200;低失真度。LM386是一種音頻集成功放,具有自身功耗低、電壓增益可調(diào)整、電源電壓*圍大、外接元件少和總諧波失真小等優(yōu)點,廣泛應(yīng)用于錄音機和收音機之中。圖1-3

LM386內(nèi)部電路原理圖Fig1-3LM386internalcircuitdiagramLM386內(nèi)部電路原理圖如圖1-3所示。與通用型集成運放相類似,它是一個三級放大電路.第一級為差分放大電路,T1和T3、T2和T4分別構(gòu)成復合管,作為差分放大電路的放大管;T5和T6組成鏡像電流源作為T1和T2的有源負載;T3和T4信號從管的基極輸入,從T2管的集電極輸出,為雙端輸入單端輸出差分電路。使用鏡像電流源作為差分放大電路有源負載,可使單端輸出電路的增益近似等于雙端輸出電容的增益

第二級為共射放大電路,T7為放大管,恒流源作有源負載,以增大放大倍數(shù)。

第三級中的T8和T9管復合成PNP型管,與NPN型管T10構(gòu)成準互補輸出級。二極管D1和D2為輸出級提供適宜的偏置電壓,可以消除交越失真。

引腳2為反相輸入端,引腳3為同相輸入端。電路由單電源供電,故為OTL電路。輸出端〔引腳5〕應(yīng)外接輸出電容后再接負載。

電阻R7從輸出端連接到T2的發(fā)射極,形成反應(yīng)通路,并與R5和R6構(gòu)成反應(yīng)網(wǎng)絡(luò),從而引入了深度電壓串聯(lián)負反應(yīng),使整個電路具有穩(wěn)定的電壓增益。圖2.3音頻放大器電路Figure2.3audioamplifiercircuit2實現(xiàn)過程2.14*4行列式鍵盤識別及顯示組成鍵盤的按鍵有機械式、電容式、導電橡膠式、薄膜式多種,但不管什么形式,其作用都是一個使電路接通與斷開的開關(guān)。目前微機系統(tǒng)中使用的鍵盤按其功能不同,通??煞譃榫幋a鍵盤和非編碼鍵盤兩種根本類型。

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

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

鍵盤接口必須具有去抖動、防串鍵、按鍵識別和鍵碼產(chǎn)生4個根本功能。

〔1〕去抖動:每個按鍵在按下或松開時,都會產(chǎn)生短時間的抖動。抖動的持續(xù)時間與鍵的質(zhì)量相關(guān),一般為5—20mm。所謂抖動是指在識別被按鍵是必須避開抖動狀態(tài),只有處在穩(wěn)定接通或穩(wěn)定斷開狀態(tài)才能保證識別正確無誤。去抖問題可通過軟件延時或硬件電路解決。

〔2〕防串鍵:防串鍵是為了解決多個鍵同時按下或者前一按鍵沒有釋放又有新的按鍵按下時產(chǎn)生的問題。常用的方法有雙鍵鎖定和N鍵輪回兩種方法。雙鍵鎖定,是當有兩個或兩個以上的按鍵按下時,只把最后釋放的鍵當作有效鍵并產(chǎn)生相應(yīng)的鍵碼。N鍵輪回,是當檢測到有多個鍵被按下時,能根據(jù)發(fā)現(xiàn)它們的順序依次產(chǎn)生相應(yīng)鍵的鍵碼。

〔3〕被按鍵識別:如何識別被按鍵是接口解決的主要問題,一般可通過軟硬結(jié)合的方法完成。常用的方法有行掃描法和線反轉(zhuǎn)法兩種。行掃描法的根本思想是,由程序?qū)︽I盤逐行掃描,通過檢測到的列輸出狀態(tài)來確定閉合鍵,為此,需要設(shè)置入口、輸出口一個,該方法在微機系統(tǒng)中被廣泛使用。線反轉(zhuǎn)法的根本思想是通過行列顛倒兩次掃描來識別閉合鍵,為此需要提供兩個可編程的雙向輸入/輸出端口。

〔4〕鍵碼產(chǎn)生:為了從鍵的行列坐標編碼得到反映鍵功能的鍵碼,一般在內(nèi)存區(qū)中建立一個鍵盤編碼表,通過查表獲得被按鍵的鍵碼。用STC89C52的并行口P0接4×4矩陣鍵盤,以P0.0-P0.3作輸入線,以P0.4-P0.7作輸出線。圖2-1鍵盤識別模塊Fig2-1Keyboardrecognitionmodule系統(tǒng)板上硬件連線設(shè)計鍵盤模塊硬件連線如圖2-1所示:

把“單片機系統(tǒng)〞區(qū)域中的P0.0-P0.7端口用8芯排線連接到“4*4行列式鍵盤〞區(qū)域中對應(yīng)的端口上;程序設(shè)計內(nèi)容〔1〕4×4矩陣鍵盤識別處理,每個按鍵有它的行值和列值,行值和列值的組合就是識別這個按鍵的編碼。矩陣的行線和列線分別通過兩并行接口和CPU通信。每個按鍵的狀態(tài)同樣需變成數(shù)字量“0”和“1”,開關(guān)的一端〔列線〕通過電阻接VCC,而接地是通過程序輸出數(shù)字“0”實現(xiàn)的。〔2〕鍵盤處理程序的任務(wù)是:確定有無鍵按下,判斷哪一個鍵按下,鍵的功能是什么;還要消除按鍵在閉合或斷開時的抖動。兩個并行口中,一個輸出掃描碼,使按鍵逐行動態(tài)接地,另一個并行口輸入按鍵狀態(tài),由行掃描值和回饋信號共同形成鍵編碼而識別按鍵,通過軟件查表,查出該鍵的功能。電路圖如下圖行列式鍵盤電路Figuredeterminantkeyboardcircuit程序設(shè)計內(nèi)容3音樂產(chǎn)生的方法3.1原理一首音樂是許多不同的音階組成的,而每個音階對應(yīng)著不同的頻率,這樣我們就可以利用不同的頻率的組合,即可構(gòu)成我們所想要的音樂了,當然對于單片機來產(chǎn)生不同的頻率非常方便,我們可以利用單片機的定時/計數(shù)器T0來產(chǎn)生這樣方波頻率信號,因此,我們只要把一首歌曲的音階對應(yīng)頻率關(guān)系正確即可。假設(shè)要產(chǎn)生音頻脈沖,只要算出*一音頻的周期〔1/頻率〕,再將此周期除以2,即為半周期的時間。利用定時器計時半周期時間,每當計時終止后就將P1.0反相,然后重復計時再反相。就可在P1.0引腳上得到此頻率的脈沖。

利用STC89C52的內(nèi)部定時器使其工作計數(shù)器模式〔MODE1〕下,改變計數(shù)值TH0及TL0以產(chǎn)生不同頻率的方法產(chǎn)生不同音階,例如,頻率為523Hz,其周期T=1/523=1912μs,因此只要令計數(shù)器計時956μs/1μs=956,每計數(shù)956次時將I/O反相,就可得到中音DO〔523Hz〕。

計數(shù)脈沖值與頻率的關(guān)系式(如式2-1所示)是:N=fi÷2÷fr2-1式中,N是計數(shù)值;fi是機器頻率〔晶體振蕩器為12MHz時,其頻率為1MHz〕;fr是想要產(chǎn)生的頻率。其計數(shù)初值T的求法如下:T=65536-N=65536-fi÷2÷fr例如:設(shè)K=65536,fi=1MHz,求低音DO〔261Hz〕、中音DO〔523Hz〕、高音DO〔1046Hz〕的計數(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單片機12MHZ晶振,高中低音符與計數(shù)T0相關(guān)的計數(shù)值如表2-2所示表2-2音符頻率表Table2-2notesthefrequencytable音符頻率〔HZ〕簡譜碼〔T值〕音符頻率〔HZ〕簡譜碼〔T值〕低1DO26263628*4FA*74064860*1DO*27763731中5SO78464898低2RE29463835*5SO*83164934*2RE*31163928中6LA88064968低3M33064021*693264994低4FA34964103中7SI98865030*4FA*37064185高1DO104665058低5SO39264260*1DO*110965085*5SO*41564331高2RE117565110低6LA44064400*2RE*124565134*646664463高3M131865157低7SI49464524高4FA139765178中1DO52364580*4FA*148065198*1DO*55464633高5SO156865217中2RE58764684*5SO*166165235*2RE*62264732高6LA176065252中3M65964777*6186565268中4FA69864820高7SI196765283我們要為這個音符建立一個表格,單片機通過查表的方式來獲得相應(yīng)的數(shù)據(jù)

低音0-19之間,中音在20-39之間,高音在40-59之間

TABLE1:DW64021,64103,64260,64400DW64524,64580,64684,64777DW64820,64898,64968,65030DW65058,65110,65157,65178音樂的音拍,一個節(jié)拍為單位〔C調(diào)〕〔如表2-3所示〕表2-3曲調(diào)值表Table2-3Tunethevalueofthetable曲調(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)我們也可以用單片機的另外一個定時/計數(shù)器來完成。琴鍵處理程序,根據(jù)檢測到得按鍵值,查詢音律表,給計時器賦值,發(fā)出相應(yīng)頻率的聲音。對音調(diào)的控制:根據(jù)不同的按鍵,對定時器T1送入不同的初值,調(diào)節(jié)T1的溢出時間,這樣就可以輸出不同音調(diào)頻率的方波。不同音調(diào)下各個音階的定時器。在這個程序中用到了兩個定時/計數(shù)器來完成的。其中T0用來產(chǎn)生音符頻率,T1用來產(chǎn)生音拍。3.2程序框圖音樂發(fā)聲程序框圖如圖2-4所示:圖2-4音樂發(fā)聲程序框圖Fig2-4Musicsoundblockdiagram4總結(jié)與展望4.1全文總結(jié)通過這次畢業(yè)設(shè)計,我弄懂了不少課本上的知識,還擴展了一些課本沒有的知識,再通過隊友的合作與交流,很好的完成了這次課程設(shè)計。首先在課程設(shè)計剛開場的調(diào)研階段,我學會了怎么通過各種方式查詢相關(guān)的資料。通過對這些資料的學習,我大致了解了單片機的開展現(xiàn)狀以及未來的開展趨勢,認識到目前單片機方面的各種各樣的開展,和它們之間的競爭。了解了單片機方面的先進技術(shù),這些都為我的未來的學習指明了方向。我的課程設(shè)計主要涉及硬件和軟件兩方面的內(nèi)容,通過這些我的硬件和軟件開發(fā)能力都獲得了提高。首先硬件方面,根本了解了電子產(chǎn)品的開發(fā)流程和所要做的工作。雖然本次課程設(shè)計的硬件焊接工序交給我們組的一個成員負責,但是我們對每一個元件的分析和選取都是很到位的,對電路的分析在指導教師*維威教師的幫助下更是步步深入。在軟件方面,因為程序的編寫都是我們的弱項,所以我們是先從網(wǎng)上找來類似的程序模板,然后借助各方面的資料對程序的每一步進展分析,按我們的需求進展修改,最終才得到我們現(xiàn)在的程序方案。4.2研究展望微型計算機的出現(xiàn)和大量使用將人類社會帶入一個新的時代,單片微型計算機(簡稱單片機)在其中扮演著十分重要的角色。雖然它沒有常見的PC那樣大的體積和重量,不會在辦公桌或控制臺上占據(jù)一個顯要的位置,但它就像小小的螺絲釘一樣,鑲嵌在人們工作、生活中需要計算、控制、測量等智能活動的各個角落。自20世紀70年代問世以來,單片機以其體積小、可靠性高、控制功能強、使用方便、性能價格比高、容易產(chǎn)品化等特點,在智能儀表、機電一體化、實時控制、分布式多機系統(tǒng)、家用電器等各個領(lǐng)域得到了廣泛應(yīng)用,對各個行業(yè)的技術(shù)改造和產(chǎn)品的更新?lián)Q代起著重要的推動作用,對人們生活質(zhì)量的提高產(chǎn)生了深刻的影響。作為21世紀的工科大學生,學好單片機,一方面可以加深對計算機原理和構(gòu)造的認識,另一方面也為自身在專業(yè)上的深入開展構(gòu)筑了一個很好的平臺其重要性怎么強調(diào)都不為過。結(jié)束語將程序燒入芯片,調(diào)試成功后,可任意彈奏自己想要的旋律。本研究通過制作電子琴,將幾個模塊很好的融合起來,對使用單片機設(shè)計簡易電子琴進展了分析,并介紹了基于單片機電子琴統(tǒng)硬件組成。利用單片機產(chǎn)生不同頻率來獲得我們要求的音階,最終可隨意彈奏想要表達的音樂。說明一首音樂是許多不同的音階組成的,而每個音階對應(yīng)著不同的頻率,這樣我們就可以利用不同的頻率的組合,即可構(gòu)成我們所想要的音樂了,于是我們可以利用單片機的定時/計數(shù)器T0來產(chǎn)生這樣方波頻率信號,因此,我們只要把一首歌曲的音階對應(yīng)頻率關(guān)系弄正確即可,然后我們利用功放電路來將音樂聲音放大,同時通過顯示模塊來確知自己所彈的音符。缺乏之處有:1.可彈奏的音符數(shù)較少,只能在一定*圍內(nèi)滿足用戶需要。可通過改良鍵盤識別模塊和發(fā)生模塊來增加其復雜度。

2.音色不可調(diào),只有一種波形的頻率輸出。可以在外圍電路設(shè)計濾波電路,接在不同的輸出口,通過軟件實現(xiàn)不同端口的輸出,從而接入不同的濾波電路,輸出不同的波形,從而獲得不一樣的音色。3.不能以和弦形式演奏,只能單個鍵按下輸出單個的音階。4.由于沒有足夠的設(shè)計經(jīng)歷,本次選用的按鍵不易按下,所以導致演奏時不夠流暢。參考文獻[1]陳明熒.8051單片機課程設(shè)計實訓教材[M].:清華大學,2003年9月.

[2]*新艷.單片機原理、應(yīng)用與實踐[M].:高等教育,2005年3月.

[3]吳金戌,沈慶陽,郭庭吉.8051單片機實踐與應(yīng)用[M].第一版.:清華大學,2002年.[4]吳金戌,沈慶陽,郭庭吉,8051單片機實踐與應(yīng)用[M].清華大學,2001[5]馮博琴,微型計算機原理與接口技術(shù)[M].清華大學,2004[6]*毅剛,MCS-51單片機應(yīng)用設(shè)計[M].**工業(yè)大學,2004[7]*淑清,姜萬錄等,單片微型計算機接口技術(shù)及應(yīng)用[M].國防工業(yè),2003[8]吳金戌,沈慶陽,郭庭吉,8051單片機實踐與應(yīng)用[M].清華大學,2001[9]馮博琴,微型計算機原理與接口技術(shù)[M].清華大學,2004[10]*毅剛,MCS-51單片機應(yīng)用設(shè)計[M].**工業(yè)大學,2004[11]龍威林,楊冠聲,胡山.單片機應(yīng)用入門:AT89S51和AVR[M].:化學工業(yè),2008.[12]黃鑫,馬善農(nóng),趙永科.基于CPLD的電子琴研究與設(shè)計[J].科技廣場,2007(5).[13]趙亮,侯國銳.單片機C語言編程與實例[M].:人民郵電,2003.[14]楊恢先,黃輝先.單片機原理及應(yīng)用[M].:人民郵電,2006.[15]*虹.單片機原理及應(yīng)用[M].:中國電力,2009.[16]李云鋼,鄒逢興,龍志強.單片機原理與應(yīng)用系統(tǒng)計[J].:中國水利水電,2008.致謝這次課程設(shè)計論文能夠得以順利完成,是所有曾經(jīng)指導過我的教師,幫助過我的同學,一直支持著我的家人對我的教導、幫助和鼓勵的結(jié)果。我要在這里對他們表示深深的謝意!

首先,能夠選到我喜愛的多音階電子琴這個課題我要感謝陳龍教師的大力支持。還有,要特別感謝我的指導教師——*維威教師。*教師在我設(shè)計出現(xiàn)問題時給予我耐心的幫助,為我排憂解難,為我的課程設(shè)計的完成提供了一定的幫助指導。教師的嚴謹?shù)闹螌W態(tài)度,精益求精的工作作風,誨人不倦的高尚師德,樸實無華、平易近人的人格魅力對我影響深遠。不僅使我樹立了遠大的學術(shù)目標、掌握了根本的研究方法,還使我明白了許多待人接物與為人處世的道理。

其次,要感謝所有曾經(jīng)教我們自動化任課教師,教師們教會我的不僅僅是專業(yè)知識,更多的是對待學習、對待生活的態(tài)度。

第三,感謝我的親人們,你們是我力量的源泉,只要有你們,不管面對什么樣的困難,我都不會害怕,謝謝你們對我的支持與鼓勵!

再次,感謝我的室友及其他好友,因為有你們的幫助,我的論文得以順利完成。感謝你們,大學三年給我了則多的幫助與鼓勵,在我不開心的時候,總能讓我開心起來。不會忘記,大學這三年里我們一起度過的歡樂時光,那些開心的日子,總是則令人難以忘懷。

最后對教師,同學和家人再次致以我最衷心的感謝!教導過我的教師,你們的人格魅力永記我心間。身邊的同學和朋友,有你們,我的大學才算完整。寢室的好友,你們的天賦猶如上天恩賜,有了你們我的生活更加精彩。附錄電路原理圖:程序框圖程序框圖如下圖:鍵盤識別程序框圖如下圖:音樂發(fā)聲程序框圖如下圖:程序KEYBUF EQU30HSTH0 EQU31HSTL0 EQU32HTEMP EQU33HSPK EQU P1.0 ;蜂鳴器所在端口 ORG0000H LJMPSTART ORG0BH LJMPINT_T0START: MOVTMOD,*01H SETBET0 SETBEAWAIT: MOVP2,*0FFH CLRP2.4 ;從第四行開場掃描 MOVA,P2 ANLA,*0FH ;屏蔽高四位,高四位為行,低四位為列 *RLA,*0FH JZNOKEY1 ;判斷是否有鍵按下,沒有就跳轉(zhuǎn) LCALLDELY10MS MOVA,P2 ;消除抖動和干擾 ANLA,*0FH *RLA,*0FH JZNOKEY1 MOVA,P2 ;確定有鍵按下以后的處理 ANLA,*0FH CJNEA,*0EH,NK1 ;是否為第四行第一列的鍵被按下 MOVKEYBUF,*0 ;保存列號 LJMPDK1NK1: CJNEA,*0DH,NK2 MOVKEYBUF,*1 LJMPDK1NK2: CJNEA,*0BH,NK3 MOVKEYBUF,*2 LJMPDK1NK3: CJNEA,*07H,NK4 MOVKEYBUF,*3 LJMPDK1NK4: NOPDK1: ;第四行的處理 MOVA,KEYBUF MOVDPTR,*TABLE MOVCA,A+DPTR MOVP0,A MOVA,KEYBUF MOVB,*2 ;Table1以字保存,所以散轉(zhuǎn) MULAB MOVTEMP,A MOVDPTR,*TABLE1 MOVCA,A+DPTR MOVSTH0,A ;送入高字節(jié) MOVTH0,A INCTEMP MOVA,TEMP MOVCA,A+DPTR MOVSTL0,A ;送入低字節(jié) MOVTL0,A SETBTR0DK1A: MOVA,P2 ;判斷按鍵是否松開 ANLA,*0FH *RLA,*0FH JNZDK1A CLRTR0NOKEY1: MOVP2,*0FFH CLRP2.5 MOVA,P2 ANLA,*0FH *RLA,*0FH JZNOKEY2 LCALLDELY10MS MOVA,P2 ANLA,*0FH *RLA,*0FH JZNOKEY2 MOVA,P2 ANLA,*0FH CJNEA,*0EH,NK5 MOVKEYBUF,*4 LJMPDK2NK5: CJNEA,*0DH,NK6 MOVKEYBUF,*5 LJMPDK2NK6: CJNEA,*0BH,NK7 MOVKEYBUF,*6 LJMPDK2NK7: CJNEA,*07H,NK8 MOVKEYBUF,*7 LJMPDK2NK8: NOPDK2: MOVA,KEYBUF MOVDPTR,*TABLE MOVCA,A+DPTR MOVP0,A MOVA,KEYBUF MOVB,*2 MULAB MOVTEMP,A MOVDPTR,*TABLE1 MOVCA,A+DPTR MOVSTH0,A MOVTH0,A INCTEMP MOVA,TEMP MOVCA,A+DPTR MOVSTL0,A MOVTL0,A SETBTR0DK2A: MOVA,P2 ANLA,*0FH *RLA,*0FH JNZDK2A CLRTR0NOKEY2: MOVP2,*0FFH CLRP2.6 MOVA,P2 ANLA,*0FH *RLA,*0FH JZNOKEY3 LCALLDELY10MS MOVA,P2 ANLA,*0FH *RLA,*0FH JZNOKEY3 MOVA,P2 ANLA,*0FH CJNEA,*0EH,NK9 MOVKEYBUF,*8 LJMPDK3NK9: CJNEA,*0DH,NK10 MOVKEYBUF,*9 LJMPDK3NK10: CJNEA,*0BH,NK11 MOVKEYBUF,*10 LJMPDK3NK11: CJNEA,*07H,NK12 MOVKEYBUF,*11 LJMPDK3NK12: NOPDK3: MOVA,KEYBUF MOVDPTR,*TABLE MOVCA,A+DPTR MOVP0,A MOVA,KEYBUF MOVB,*2 MULAB MOVTEMP,A MOVDPTR,*TABLE1 MOVCA,A+DPTR MOVSTH0,A MOVTH0,A INCTEMP MOVA,TEMP MOVCA,A+DPTR MOVSTL0,A MOVTL0,A SETBTR0DK3A: MOVA,P2 ANLA,*0FH *RLA,*0FH JNZDK3A CLRTR0NOKEY3: MOVP2,*0FFH CLRP2.7 MOVA,P2 ANLA,*0FH *RLA,*0FH JZNOKEY4 LCALLDELY10MS MOVA,P2 ANLA,*0FH *RLA,*0FH JZNOKEY4 MOVA,P2 ANLA,*0FH CJNEA,*0EH,NK13 MOVKEYBUF,*12 LJMPDK4NK13: CJNEA,*0DH,NK14 MOVKEYBUF,*13 LJMPDK4NK14: CJNEA,*0BH,NK15 MOVKEYBUF,*14 LJMPDK4NK15: CJNEA,*07H,NK16 MOVKEYBUF,*15 LJMPDK4NK16: NOPDK4: MOVA,KEYBUF MOVDPTR,*TABLE MOVCA,A+DPTR MOVP0,A MOVA,KEYBUF MOVB,*2 MULAB MOVTEMP,A MOVDPTR,*TABLE1 MOVCA,A+DPTR MOVSTH0,A MOVTH0,A INCTEMP MOVA,TEMP MOVCA,A+DPTR MOVSTL0,A MOVTL0,A SETBTR0DK4A: MOVA,P2 ANLA,*0FH *RLA,*0FH JNZDK4A CLRTR0NOKEY4:JNBP1.0,MUSIC LJMPWAITMUSIC: MOV R3,*00HNE*T: MOV A,R3 MOV DPTR,*TABLE2 MOVC A,A+DPTR JZ MUSIC MOV R7,A INC R3 MOV A,R3 MOVC A,A+DPTR MOV R2,A ACALL SONG INC R3 SJMP NE*T;=============================================================================== ;===歌曲播放子程序===SONG: MOV A,R2 ;取出節(jié)拍 RL A JNZ KEEP MOV A,*01HKEEP: MOV R2,AREPEAT: ACALL EIGHTH DJNZ R2,REPEAT RET;=============================================================================== ;===產(chǎn)生1/8拍延時子程序=== EIGHTH: MOV A,R7 ;查表取出廷時參數(shù),保存到R4 MOV DPTR,*DELAY_T MOVC A,A+DPTR MOV R4,A MOV A,R7 ;查表取出1/8拍周期數(shù),保存到R5 MOV DPTR,*S_PARA MOVC A,A+DPTR MOV R5,ANE*TCYC: ACALL SOUND DJNZ R5,NE*TCYC RET;=======================================================

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論