




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
PAGE53廣州大學松田學院畢業論文(設計)題目基于AT89S52單片機的電子琴設計
基于AT89S52單片機的電子琴設計摘要:微型計算機是大規模集成電路技術發展的產物,屬第四代電子計算機,它具有高性能、高速度、體積小、價格低廉、穩定可靠、應用廣泛的特點。就因為它的應用非常廣泛,因此,單片機的開發應用已成為高科技和工程領域的一項重大課題。而音樂現在也成了人們生活的一部分,生活的壓力,學習的壓力,工作的壓力,一切的不順利可以在音樂聲中放松下來,讓人們心情舒暢,聽著音樂放松心情,讓我們提高生活質量。本論文設計一個基于單片機的簡易電子琴。電子琴是現代電子科技與音樂結合的產物,是一種鍵盤樂器。本系統是以51系列單片機AT89S52為主芯片,附有矩陣鍵盤、LED顯示管、揚聲器組成。系統完成顯示輸入信息、播放相應音符等基本功能。本系統運行穩定,其優點是硬件電路簡單,軟件功能完善,控制系統可靠,性價比較高等,具有一定的實用和參考價值。關鍵詞:AT89S52,矩陣鍵盤,LED顯示管,揚聲器。DesignofelectronicorganbasedonMCUAbstract:Microcomputersarelargescaleintegratedcircuittechnologydevelopmentofthefourthgenerationoftheproduct,electroniccomputers,ithashighperformance,highspeed,smallvolume,lowprices,stableandreliable,widelycharacteristics.Justbecauseit'sveryextensive,therefore,SCMforthedevelopmentandapplicationofhigh-techandengineeringfieldhasbecomeamajorissue.Butmusicnowalsobecomeapartoflife,lifepressure,thepressureoflearning,workingpressure,allisnotwellinmusiccanrelaxandletpeopleinarelaxedmood,listentomusictorelax,letusimprovethequalityoflife.Thispaperisbasedonsinglechipdesignasimplekeyboard.Modernelectronictechnologyandkeyboardisthecombinationofmusic,isakindofkeyboardinstrument.SCMhasstrongcontrolfunctionandflexibleprogrammableachieveproperties,ithasintomodernpeople'slife,becomepartoftheentertainmentandleisure.Thissystemismainly51seriesmicrocontrollerAT89S52,accompaniedbymatrixkeyboard,chip,speaker,LED.Systemcompletesdisplayinputinformation,thebasicfunctionsuchasbroadcastcorrespondingnotes.Thissystemstableoperation,itsadvantageishardwarecircuitissimple,softwarefunctionconsummation,thecontrolsystemisreliable,cost-effectivehigher,hascertainpracticalandreferencevalue.Keywords:AT89S52,matrix,LED,speaker目錄166601引言 175991.1課題的背景和意義 1231791.2課題的研究內容與擬解決的主要問題 2309402任務要求與總體設計方案 3308282.1系統設計要求 378442.2單片機簡介 3245622.2.1單片機的定義 3225522.2.2單片機的應用 3296072.3系統框圖 4113722.4元件簡介 4228992.4.1AT89S52 480062.4.2LM386 6118463硬件設計及說明 8190223.1系統硬件總體設計 871153.2系統的工作原理 10298253.2.1矩陣鍵盤模塊 1223183.2.2數碼管模塊 1473763.2.3揚聲器模塊 1494653.2.4紅外電源模塊 15233224軟件設計 16169184.1整體程序處理流程圖 16208594.2如何用單片機實現音樂的節拍 17299394.3音樂播放設計 18311075系統調試 20130865.1程序調試 20132785.2仿真調試 2224215結論 2530315參考文獻 2618978致謝 275078附錄1系統硬件實物圖 2825828附錄2系統電路原理圖及PCB圖 2912587附錄3系統主要程序 30引言1.1課題的背景和意義隨著生活水平的提高,人們的需求不再僅僅是物質上的滿足,更多的是要求精神上的放松。在放松自己的同時又能提高各個方面的能力。學習和欣賞音樂可以在人們疲勞的時候得到放松,同時提高人們的精神品質和素養。如今愛好音樂的人越來越多,有不少人自己練習樂器作為業余愛好來陶冶情操,可鑒于一些樂器學習難度大,需要太多的時間,并且價格又太過于高昂,使得一部分有這種想法的人不得不放棄。而一些簡易的電子樂器價格相對便宜,學習簡單,價格相對便宜,能夠了滿足一般愛好者的需求。因此簡易電子樂器的研制具有一定的社會意義。單片機是在一塊芯片內集成了計算機的各個功能部件,構成一種單片式的微型計算機。單片機的發展迅速,應用不斷深入,新技術層出不窮。并已廣泛應用到人類生活的各個領域,如家電、通訊設備、玩具、智能卡、汽車及防盜、醫用保健、儀表、工業過程控制等,成為當今科學技術現代化不可缺的重要工具。之所以以單片機電子琴選題,目的在于從日常生活能接觸到的細微處著手,通過理論與實踐的結合,更明確自己的所學所用,也在實踐中發現理論上的不足,對目前日益廣泛應用的單片機有了更加理性化和感性化的認識,使理論和實踐相得益彰。當前市場上的玩具市場需求量大,其中電子產品占有重要的位置,然而電子琴也是一個很好的應用方面。單片機技術使我們可以利用軟硬件實現電子琴的功能,從而實現電子琴的微型化,可以用于玩具琴、音樂盒中、兒童車里等等。本文首先介紹了單片機的定義,分別介紹了單片機的特點,應用領域還有單片機的歷史,然后介紹了電子琴的系統,分別介紹了電子琴的硬件系統的構成還有電子琴的軟件部分還有電子琴的仿真,最后介紹了電子琴在調試中所用的軟件。1.2課題的研究內容與擬解決的主要問題本課題主要研究基于單片機的電子琴設計,以AT89S52芯片作為主要核心部件,4*4的矩陣鍵盤作為輸入部分,數碼管顯示字符,揚聲器作為主要輸出設備,結合KEIL和PROTUES等軟件的功能,通過編譯程序結合仿真,實現電子琴內置音樂的播放和彈奏音樂的功能,同時通過兩個LED燈的亮滅表示當時彈奏或播放的狀態,數碼管顯示按鍵的16個字符“0—9,A—F”來表示當前所按下的鍵。本設計擬定解決的主要問題:了解單片機單元的結構和主要要求;根據要求進行總體方案的論證和設計;對音調的控制;對音長的控制;對演奏的控制;樂譜的編碼規則;鍵盤輸入部分和電源供給部分的設計;總體電路的設計和軟件編程實現功能。2任務要求與總體設計方案2.1系統設計要求本系統分為兩個部分,音樂播放和音樂的彈奏。要求達到電子琴的基本功能,可以用彈奏出簡單的樂曲。用鍵盤作出電子琴的按鍵,每個鍵代表一個音符。各音符按一定的順序排列,必須符合電子琴的按鍵排列順序。固定音樂播放有按鍵控制:“播放”、“彈奏/停止”。彈奏電子琴時能播放出準確的聲音,不彈奏時可以播放內置音樂。2.2單片機簡介2.2.1單片機的定義隨著大規模集成電路的出現和發展,芯片廠家把中央處理器CPU,隨機存取內存RAM,只讀存儲器ROM,定時器/計數器以及i/o接口電路等主要計算機部件,集成在一塊集成電路芯片(硅片)上,形成芯片級計算機,稱為單片機微處理器。2.2.2單片機的應用雖然單片機出現的歷史并不長,單發展十分迅猛,在集成度、功能、速度、可靠性、應用領域等全方位向更高水平發展。目前單片機已用于工業控制、機電一體化設備、儀器儀表、信號處理、現代兵器、交通能源、商用設備、醫療設備及家用電器等各個領域。單片機技術發展非常快,所以目前的產品都致力于在功能全面、技術先進、操作簡便、安全可靠、價格合理等方面進行仔細研究,精心設計,單片機的應用有利于產品的小型化、多功能話和智能化,有助于提高勞動效率。減輕勞動強度,提高產品質量,改善勞動環境,減少能源和材料消耗,保證安全等。2.3系統框圖單片機因體積小、功能強、價格低而得到诪泛應用。本系統只要以51單片機為主控核心,擴展一組矩陣鍵盤、揚聲器、LED顯示管模塊和一組發光二極管來指示電子琴的工作狀態一起組合而成。具體如下圖2-1:AT89S52AT89S52單片機4*4矩陣鍵盤數碼管顯示發光二極管喇叭圖2-1電子琴的框圖用P0口的高四位和P0口的低四位作4*4矩陣式按鍵的接口,用P2口作數碼管的接口,用P3.7作信號輸出口。2.4元件簡介2.4.1AT89S521.AT89S52——低功耗高性能CMOS8位單片機,片內8kBytesISP(In-systemprogrammable)的可反復擦寫1000次的FLASH只讀程序存儲器,器件采用ATMEL公司之高密度、非易失性存儲技術制造,兼容標準MCS-51指令系統及80C51引腳結構,片上Flash允許程序存儲器在系統可編程,亦適于常規編程器。單芯片上,擁有8位CPU及在系統可編程FLASH,使AT89S52為眾多嵌入式控制應用系統提供高靈活、超有效之解決方案。AT89S52之特點:40個引腳,8kBytesFlash片內程序存儲器,256bytes的隨機存取數據存儲器(RAM),32個外部雙向輸入/輸出(I/O)口,5個中斷優先級2層中斷嵌套中斷,2個16位可編程定時計數器,2個全雙工串行通信口,看門狗(WDT)電路,片內時鐘振蕩器。3.AT89S52功能8k字節FLASH,256字節RAM,32位I/O口線,看門狗定時器,2個數據指針,三個16位定時器/計數器,一6向量2級中斷結構,全雙工串行口,片內晶振及時鐘電路。AT89S52可降至0Hz靜態邏輯操作,支持2種軟件可選節電模式。空閑模式下,CPU停止工作,允許RAM、定時器/計數器、串口、中斷繼續工作。掉電保護方式下,RAM內容被保存,振蕩器被凍結,單片機一切工作停止,直到下一中斷或硬件復位為止。AT89S52引腳結構AT89S52單片機有4個8位并行I/O口:P0口、P1口、P2口和P3口,各引腳如圖2-3所示。圖2-3DIP—40封裝89S52引腳圖2.4.2LM386LM386是美國國家半導體公司生產的音頻功率放大器,主要應用于低電壓消費類產品。為使外圍元件最少,電壓增益內置為20。但在1腳和8腳之間增加一只外接電阻和電容,便可將電壓增益調為任意值,直至200。輸入端以地位參考,同時輸出端被自動偏置到電源電壓的一半,在6V電源電壓下,它的靜態功耗僅為24mW,使得LM386特別適用于電池供電的場合。LM386是一種音頻集成功放,具有自身功耗低、電壓增益可調整、電源電壓范圍大、外接元件少和總諧波失真小等優點,廣泛應用于錄音機和收音機之中。LM386的封裝形式有塑封8引線雙列直插式和貼片式。圖2-4LM386的封裝形式特性(Features)靜態功耗低,約為4mA,可用于電池供電。
工作電壓范圍寬,4-12Vor5-18V。
外圍元件少。
電壓增益可調,20-200。
低失真度。其典型應用電路如下:圖2-5放大器增益=20(最少器件)圖2-6放大器增益=50圖2-7低頻提升放大器3硬件設計及說明3.1系統硬件總體設計本系統由鍵盤矩陣、LED顯示管、揚聲器這幾個部分組成,LED顯示管顯示當前按鍵,揚聲器發出對應音符。單片機因體積小、功能強、價格低廉而得到廣泛應用。AT89S52單片機設計微型電子琴的方法,僅需AT89S52最小系統,擴展一組矩陣鍵盤,再接一組發光二極管用來指示單片機的工作狀態。單片機最小系統要使單片機工作起來,最基本的電路的構成為1、電源電路:向單片機供電。單片機電源:AT89S51單片機的工作電壓范圍:4.0V—5.5V,所以通常給單片機外接5V直流電源。連接方式為VCC(40腳):接電源+5V端VSS(20腳):接電源地端時鐘電路:單片機工作的時間基準,決定單片機工作速度。時鐘電路就是振蕩電路,向單片機提供一個正弦波信號作為基準,決定單片機的執行速度。AT89S51單片機時鐘頻率范圍:0—33MHz。時鐘電路連接方式為:3、復位電路:確定單片機工作的起始狀態,完成單片機的啟動過程。單片機接通電源時產生復位信號,完成單片機啟動,確定單片機起始工作狀態。手動按鍵產生復位信號,完成單片機啟動,確定單片機的初始狀態。通常在單片機工作出現混亂或“死機”時,使用手動復位可實現單片機“重啟”。硬件總體設計圖如圖3-1:圖3-1利用PROTEUS仿真設計的硬件電路圖3.2系統的工作原理本系統掃描鍵盤矩陣、顯示按鍵、揚聲器發出對應音符。用AT89S52的并行口P0接4×4矩陣鍵盤,以P0.0-P0.3作輸入線,以P0.4-P0.7作輸出線;在數碼管上顯示每個按鍵的“0-F”序號。總體電路具體原理如下:開始開始模塊初始化發送掃描碼有鍵按下掃描鍵盤矩陣顯示按鍵啟動定時器停止播放否是延時延時結束圖3-2系統工作原理圖3.2.1矩陣鍵盤模塊圖3-3矩陣鍵盤模塊圖如圖3-3:在鍵盤中按鍵數量較多時,為了減少I/O口的占用,通常將按鍵排列成矩陣形式。在矩陣式鍵盤中,每條水平線和垂直線在交叉處不直接連通,而是通過一個按鍵加以連接。這樣,一個端口(如P0口)就可以構成4*4=16個按鍵,比直接將端口線用于鍵盤多出一倍,而且線數越多,區別越明顯,比如再多加一條線就可以構成20鍵的鍵盤,而直接用端口線則只能多出一個鍵。由此可見,在需要的鍵數比較多時,采用矩陣法來做鍵盤是合理的。矩陣式結構的鍵盤顯然比直接法要復雜一些,識別也要復雜一些,列線通過電阻接正電源,并將行線所接的單片機的I/O口作為輸出端,而列線所接的I/O口則作為輸入。這樣,沒有鍵按下時,所有的輸出端都是高電平,代表無鍵按下。行線輸出是低電平,一旦有鍵按下,則輸入線就會被拉低,這樣,通過讀入輸入線的狀態就可得知是否有鍵按下了。矩陣式鍵盤的按鍵識別方法:確定矩陣式鍵盤上何鍵被按下,介紹一種“行掃描法”。行掃描法又稱逐行掃描查詢法,是一種最常用的按鍵識別方法。判斷鍵盤中有無鍵按下,,將全部行線a0-a3置低電平,然后檢測列線的狀態,只要有一列的電平為低,就表示鍵盤中有鍵被按下,而且閉合的鍵位于低電平線與4根行線相交叉的4個按鍵之中。再判斷閉合鍵所在的位置,依次將行線置為低電平時,再逐行檢測各列線的電平狀態,若某列為低電平,則該列線與置為低電平的行線交叉處的按鍵為閉合。若所有的列線均為高電平,則無按鍵按下。鍵盤接口必須具有的4個基本功能:(1)去抖動:每個按鍵在按下或松開時,都會產生短時間的抖動。抖動的持續時間與鍵的質量相關。所謂抖動是指在識別被按鍵是必順避開抖動狀態,只有處在穩定接通或穩定斷開的狀態才能保證識別正確無誤。去抖問題可通過軟件延時或硬件電路解決。(2)防串鍵:防串鍵是為了解決多個鍵同時按下或者前一按鍵沒有釋放又有新的按鍵按下時產生的問題。常用的方法有雙鍵鎖定和N鍵輪回兩種方法。雙鍵鎖定,是當有兩個或兩個以上的按鍵按下時,只把最后釋放的鍵當作有效鍵并產生相應的鍵碼。N鍵輪回,是當檢測到有多個鍵被按下時,能根據發現它們的順序依次產生相應鍵的鍵碼。(3)被按鍵識別:如何識別被按鍵是接口解決的主要問題,一般可能過軟硬結合的方法完成。常用的方法有行掃描法和線反轉法兩種。行掃描法的基本回想是由程序對鍵盤逐行掃描,通過檢測到的列輸出狀態來確定閉全鍵,為此需要設置入口、輸出口一個,該方法在微機系統中被廣泛使用。線反轉法的基本思想是通過行列顛倒兩次掃描來識別閉合鍵,為些需要提供兩個可編程的雙向輸入/輸出端口。(4)鍵碼產生:為了從鍵的行列坐標編碼得到反映鍵功能的鍵碼,一般在內在區中建立一個鍵盤編碼表,通過查表獲得被按鍵的鍵碼。3.2.2數碼管模塊共陰極數碼管在應用時將公共極COM接到地線GND上,當某一字段發光二極管的陽極為高電平時,相應字段就點亮。當某一字段的陽極為低電平時,相應字段就不亮,這樣來顯示字符。LED顯示模塊如圖3-4所示,利用AT89S52單片機的P2端口的P2.0-P2.6連接到一個七段數碼管上,數碼管的公共端接地。矩陣掃描顯示當前按鍵模塊如下:圖3-4數碼管模塊圖3.2.3揚聲器模塊音樂播放和彈奏是在P3.7引腳上輸出方波周期信號,產生音樂。矩陣掃描揚聲器發出對應音符模塊如下:圖3-5揚聲器模塊圖3.2.4紅外電源模塊該模塊主要由紅外模塊,繼電器,電源組成。主要為了實現由紅外控制電源的開關。紅外模塊由紅外接收器,紅外遙控器組成。紅外接收器上電默認輸出低電平且狀態燈不亮并保持,直到按一下遙控器按鍵后,模塊會輸出變為高電平且狀態指示燈會點亮并保持至下一次再按遙控器按鍵為止,輸出電平依據遙控按鍵次數高低電平循環變化并保持狀態。繼電器:常開口與單片機的GND線接通,單片機的VCC線與電源接通,則輸入高電平繼電器吸合,輸入低電平繼電器釋放。吸合時單片機與電源接通,正常工作,釋放時,單片機與電源斷開,停止工作。控制結構框圖:繼電器紅外接收器繼電器紅外接收器釋放狀態吸合狀態單片機不工作單片機工作單片機不工作單片機工作工作原理:上電后當紅外接收器接收到遙控器的紅外信號,向繼電器輸出高電平,繼電器輸入高電平后處于吸合狀態,單片機與電源接通正常工作,再次按下遙控器,紅外接收器向繼電器輸出低電平,繼電器輸入低電平后處于釋放狀態,單片機與電源斷開,停止工作。4軟件設計4.1整體程序處理流程圖初始化初始化鍵盤掃描鍵盤掃描N有無按鍵按下Y延時消抖延時消抖有無按鍵按下N根據當前狀態識別按鍵Y根據當前狀態識別按鍵矩陣鍵盤鍵值功能選擇鍵鍵值矩陣鍵盤鍵值功能選擇鍵鍵值根據鍵值查表根據鍵值查表選擇查表法選擇查表法查表所得數據送入P2,P3.7查表所得數據送入P2,P3.7圖4-1程序流程圖電子琴播放音樂原理:樂音實際上是有固定周期的信號。本文介紹用AT89S52的兩個定時器(如T0,T1)控制,在P3.7腳上輸出方波周期信號,產生樂音,通過矩陣鍵盤按鍵產生不同的音符。由于一首音樂是許多不同的音階組成的,而每個音階對應著不同的頻率,這樣我們就可以利用不同的頻率的組合,即可構成我們所想要的音樂了,當然對于單片機產生不同的頻率非常方便,我們可以利用單片機的單片機的定時/計數器T0來產生這樣方波頻率信號,因此,我們只要把一首歌曲的音階對應頻率關系弄正確即可。樂曲中,每一音符對應確定的頻率,我們將每一個音符的時間常數和其對應的節拍常數作為一組,按順序將樂曲中的所有常數排列成一個表,然后由查表程序一次取出,產生音符并控制節奏,就可以實現演奏效果。在電子琴開始工作時,系統默認電子琴處于彈奏狀態,歌曲選擇功能鍵的目的是賦予矩陣鍵盤第二功能,即對系統內置的歌曲進行選擇,在放歌時能通過彈奏/停止鍵來結束放歌,選歌時必順先按下歌曲選擇功能鍵,在通過矩陣鍵盤來選擇和切換曲目。4.2如何用單片機實現音樂的節拍除了音符以外,節拍也是音樂的關鍵組成部分。節拍實際上就是音持續時間的長短,在單片機系統中可以用延時來實現,如果1/4拍的延時是0.4秒,則1拍的延時是1.6秒,只要知道1/4拍的延時時間,其余的節拍延時時間就是它的陪數。如果單片機要自己播放音樂,那么必須在程序設計中考慮到節拍的設置,由于本例實現的音樂發生器是由用戶通過鍵盤輸入彈奏樂曲的,所以節拍由用戶掌握,不由程序控制。對于不同的曲調我們也可以用單片機的另外一個定時/計數器來完成。音樂的音拍,一個節拍為單位(C調)具體如下表:曲調值DELAY曲調值DELAY調4/4125ms調4/462ms調3/4187ms調3/494ms調2/4250ms調2/4125ms表3音樂節拍表4.3音樂播放設計一首音樂是許多不同的音階組成的,而每個音階對應著不同的頻率,這樣就可以利用不同的頻率的組合來構成想要的音樂。我們可以利用單片機的定時/計數器T0來產生這樣的方波頻率信號。若要產生音頻脈沖,只要算出某一音頻的周期(1/頻率),再將此周期除以2,即為半周期的時間。利用定時器計時半周期時間,每當計時終止后就將P3.7反相,然后重復計時再反相。就可在P3.7引腳上得到此頻率的脈沖。利用AT89S52的內部定時器使其工作計數模式(MODE1)下,改變計數值TH0及TL0以產生不同頻率的方法產生不同音階,例如,頻率為523HZ,其周期T=1/523=1912US,因此只要令計數器計時956US/1US=956,每計數956次時將I/O反相,就可得到中音DO(523HZ)。計數脈沖值與頻率的關系式是:N=FI/2/FR式中,N是計數值:FI是機器頻率(晶體振蕩器為12MHZ時,其頻率為1MHZ);FR是想要產生的頻率。其計數初值T的求法:T=65536-N=65536-FI/2/FR例如:設K=65536,fi=1MHz,求低音DO(261HZ)、中音DO(523HZ)、高音DO(1046HZ)的計數值。T=65536-N=65536-FI/2/Fr=65536-1000000/2/FR=65536-500000/Fr低音DO的T=65536-500000/262=63628中單DO的T=65536-500000/523=64580高音DO的T=65536-500000/1046=65058C調的各音符頻率與計數值T的對照如下表:表4音符頻率表音頻頻率(HZ)簡譜碼(T值)音頻頻率(HZ)簡譜碼(T值)休止00中音469864820低音126263628中音578464898低音229463835中音688064968低音333064021中音798865030低音434964103高音1104665058低音539364260高音2117565110低音644064400高音3131865157低音749464524高音4139765178中音152364580高音5156865217中音258764684高音6176065252中音365964777高音7196765283對于不同的曲調我們要用單片機的另外一個定時/計數器來完成。在這個程序中用到了兩個定時/計數器來完成的。其中T0用來產生音符頻率,T1用來產生音拍。5系統調試5.1程序調試1、打開KEIL,創建工程Myproject,輸入程序。2、保存程序為“電子琴.c”編譯運行,如圖:圖5-1程序調試圖3、設置OptionsforTarget“target1”,生成.hex文件。圖5-2設置Target圖5-3設置Output5.2仿真調試1、用Proteus設計硬件電路圖圖5-4仿真設計圖2、在U1中導入電子琴.hex.將鼠標放置AT89S52元件上,雙擊彈出對話框,在programfile中選擇電子琴.hex,單擊確定鍵。圖5-5編輯元件3、運行仿真點擊圖中運行按鈕,運行仿真。將程序導入AT89S52芯片后,運行成功。如圖5-6圖5-6運行仿真圖結論本課題通過制作電子琴,將幾個模塊很好的融合起來,對使用單片機設計簡易電子琴進行了分析,并介紹了基于單片機電子琴硬件的組成。利用單片機產生不同頻率來獲得我們要求的音階,最終可隨意彈奏想要表達的音樂。說明一首音樂是許多不能的音階組成的,而每個音階對應著不同的頻率,這樣我們就可以利用不同的頻率的組合,即可構成我們所想要的音樂了,于是我們可以利用單片機的定時/計數器T0來產生這樣方波頻率信號,因此,我們主要把一首歌曲的音階對應頻率關系弄正確即可,然后我們利用功放電路來將音樂聲音放大,同時通過顯示模塊確知自己所彈的音符。通過這次課程設計,我學到了不少課本上沒有的知識,也鍛煉了自己的動手能力,將以前學過的零散的知識串到一起。經過我長時間的設計及調試,本系統基本能實現按下鍵盤矩陣中的按鍵會使數碼管顯示當前按鍵,揚聲器播放對應的音符。但由于仿真系統原因,本設計音頻效果不是很好。不足之處有:1.未能完全達到老師給的要求,和本設計的歌曲播放控制方法未達理想狀態。2.音量不可調。我的綜合設計主要涉及硬件和軟件兩方面的內容,通過這些我的硬件和軟件開發能力都獲得了提高。首先硬件方面,基本了解了電子產品的開發流程和所要做的工作。并設計了一個單片機最小系統。通過開發板的設計和硬件搭建的過程,使我對51系單片機的接口有了更深層次的理解,并且我學會了分析問題解決問題的能力,加深了對所學理論知識的理解和運用。我的動手能力得到了很大的提高,創新意識得到了鍛煉。參考文獻[1]康年光.電子技術基礎(數宇部分).高等教育出版社.2005.07[2」劉樂喜.微機計算機接口技術及應用.華中科技大學出版社.2005.O8[3]謝嘉奎.電子線路(線性部分).高等教育出版社.2004.04[4]潭浩強.C語言程序設計.清華大學出版社.2005.07[5〕李群芳,肖看.單片機原理、接口及應用一嵌入式系統技術基礎.清華大學出版社.2005.03[6]博琴.微型計算機原理與接口技術.清華大學出版社.2004[7]長德,李華,李東.hICS51/98系列單片機原理與應用.機械工業出版社.1997[8]李群芳,張士軍,黃建.單片微型計算機原理與接口技術.電子工業出版社.2002[9]石東海等.單片機數據通信技術從入門到精通.西安電子科技大學出版社.2002[10]謝自美等.電子線路設計、實驗、測試(第二版).華中科技大學出版社.2000致謝經過數多月的設計,本畢業設計已經完成。通過本次畢業設計,使我對單片機的了解進一步加深,無論在硬件還是在軟件方面使我對電子產業都有了更深的了解,也使我擁有了查閱資料和解決設計過程中遇到的實際問題的能力,這些都將成為我以后工作道路上不可或缺的經驗。首先,感謝一些專家學者等同志的專著文獻和網上的一些發表資料。其次,感謝系里的領導和老師們,感謝他們在畢業設計論文階段對自己的嚴格要求和關心支持。還要感謝所有幫助過自己的同學們,與他們的討論和交流給了自己很多有益的啟迪,對自己掌握學科知識、完成設計任務和論文寫作給予了很大幫助。最后感謝本人的設計論文指導老師。本設計論文是在他悉心指導下完成了,老師特別注重工作方法、工作方向的指導,使自己的工作能力得到了很大的提高。指導老師嚴謹的治學態度,謙遜和藹的風范對自己產生的深遠影響,使自己受益終生。他嚴謹的治學態度和寬厚、坦誠的人生原則,為自己所深深敬佩。衷心地感謝老師的悉心指導。并對我以后走向工作崗位還是很受幫助的,他的精神將激勵著我不斷的成長。附錄1系統硬件實物圖附錄2系統電路原理圖及PCB圖附錄3系統主要程序#include<reg51.h>#include<absacc.h>#include<stdio.h>#include<math.h>#defineucharunsignedchar//宏定義#defineuintunsignedint//宏定義ucharSTH0;//定時器計數初值ucharSTL0;bitFY=0;//放樂曲時FY=1,電子琴彈奏時FY=0ucharSong_Index=0,Tone_Index=0;//放音樂的參數uchark,key;sbitSPK=P3^7;//定義蜂鳴器端口sbitLED1=P1^0;//LED1端口定義sbitLED2=P1^1;//led2端口定義ucharcodeDSY_CODE[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};ucharcodeSong[][50]=//歌曲的旋律{{1,2,3,1,1,2,3,1,3,4,5,3,4,5,5,6,5,3,5,6,5,3,5,3,2,1,2,1,-1},{3,3,4,5,5,5,5,6,5,3,5,3,2,1,5,6,5,3,3,2,1,1,-1},{3,2,1,3,2,1,1,2,3,2,1,2,3,1,3,4,5,3,4,5,5,6,5,3,5,3,2,1,3,2,1,1,-1},{10,10,10,9,10,9,10,9,9,6,6,7,8,9,8,7,6,5,6,-1},{10,10,10,9,10,13,12,13,12,12,9,9,10,11,12,11,10,9,8,10,10,-1},{13,14,13,12,12,10,12,10,12,9,13,12,10,9,10,10.-1},{9,13,13,13,8,13,13,13,13,14,15,14,13,14,13,14,10,10,-1},{13,14,13,12,12,10,12,10,12,13,14,13,14,13,14,10,-1},{9,13,13,13,8,13,13,13,13,14,15,14,13,13,14,12,13,-1},{5,5,10,9,8,5,5,5,5,10,9,8,6,6,6,11,10,9,6,-1},{6,12,12,11,9,10,8,5,5,10,9,8,5,5,5,10,9,8,6,-1},{6,6,11,10,9,12,12,12,12,13,12,11,9,8,10,10,10,-1},{10,10,10,10,12,8,9,10,11,1,11,11,11,10,10,10,10,10,9,9,8,9,12,12,12,11,9,8,-1},{13,13,8,13,13,13,13,14,15,14,13,14,13,14,10,10,13,14,13,12,12,10,12,10,12,13,14,13,14,13,14,10,9,13,13,13,8,13,13,13,13,14,15,14,13,13,14,12,13,-1},{6,6,11,10,9,12,12,12,12,13,12,11,9,8,10,10,10,10,10,10,10,12,8,9,10,11,11,11,11,11,10,10,10,10,10,9,9,8,9,12,12,12,11,9,8,-1},{1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,-1}};ucharcodeLen[][50]=//上面對應的節拍,間隔時間{{1,1,1,1,1,1,1,1,1,1,2,1,1,2,1,1,1,1,1,1,1,1,1,1,1,2,2,2,-1},{1,1,1,1,1,1,2,1,1,1,1,1,1,1,2,1,1,1,1,1,1,2,2,-1},{1,1,2,1,1,2,1,1,1,1,1,1,1,1,1,1,2,1,1,2,1,1,1,1,1,1,1,2,1,1,2,2,-1},{1,1,1,1,2,1,1,1,1,0,1,1,0,1,1,0,1,1,2,1},{1,1,1,1,0,1,1,1,1,1,0,1,1,0,1,1,0,1,1,3,1,-1},{0,1,1,0,1,1,2,1,1,0,1,1,0,1,1,2,-1},{0,1,1,2,0,1,1,0,1,1,0,1,1,0,1,1,2,1,-1},{0,1,1,0,1,1,2,1,1,0,1,1,0,1,1,4,-1},{0,1,1,2,0,1,1,0,1,1,0,1,1,0,1,4,-1},{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-1},{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-1},{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-1},{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-1},{1,1,2,0,1,1,0,1,1,0,1,1,0,1,1,2,1,0,1,1,0,1,1,2,1,1,0,1,1,0,1,1,4,0,1,1,2,0,1,1,0,1,1,0,1,1,0,1,4,-1},{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-1},{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-1}};/*音符與計數值班對應表*/uintcodetab[]={0,63628,63835,64021,64103,64260,64400,64524,64580,64684,64777,64820,64898,64968,65030,65058,65110,65157,65178,65217,65252,65283};voiddelay1(uintms)//播放歌曲時實現節拍的延時函數{uchart;while(ms--)for(t=0;t<120;t++);}/*鍵消抖延時函數*/voiddelay(void){uchari;for(i=300;i>0;i--);}/*鍵掃描函數*/uchargetkey(void){ucharscancode,tmpcode;if((P0&0xf0)==0xf0)return(0);scancode=0xfe;while((scancode&0x10)!=0)//逐行掃描{ P0=scancode;//輸出行掃描碼if((P0&0xf0)!=0xf0)//本行有鍵按下{tmpcode=(P0&0xf0)|0x0f;/*返回特征字節碼,為1的位即對應于行和列*/return((~scancode)+(~tmpcode));}elsescancode=(scancode<<1)|0x01;//行掃描碼左移一位}}/*外部中斷0,這里是彈唱按鍵*/voidEXO_IXT()interrupt0{FY=0;LED1=1;LED2=0;}/*外部中斷線,這里是播放按鍵*/voidEX1_INT()interrupt2{FY=1;LED1=0;LED2=1;}/*定時器0中斷服務子程序*/voidtime0_int(void)interrupt1using0{/*設置計數初值*/TH0=STH0;TL0=STL0;SPK=!SPK;//反相,產生輸出脈沖*/P2=DSY_CODE[k];}voidmain(void){LED1=1;LED2=0;P2=0x3f;IE=0x87;TMOD=0x01;IT0=1;IT1=1;while(1){P0=0xf0;//發全0列掃描碼if((P0&0xf0)!=0xf0)//若有鍵按下{delay();//延時去抖動if((P0&0xf0)!=0xf0)//延時后再判斷一次,去除抖動影響{key=getkey();//調用鍵盤掃描函數switch(key)//根據獲取的按鍵位置得到K值{case0x88: k=0;break;case0x48:k=1;break;case0x28:k=2;break;case0x18:k=3;break;case0x84:k=4;break;case0x44:k=5;break;case0x24:k=6;break;case0x14:k=7;break;case0x82:k=8;break;case0x42:k=9;break;case0x22:k=10;break;case0x12:k=11;break;case0x81:k=12;break;case0x41:k=13;break;case0x21:k=14;break;case0x11:k=15;break;default:break;}if(FY==0){/*根據所得的K值設定計數器1的計數初值*/STH0=tab[k]/256;STL0=tab[k]%256;TR0=1;//開始計數while((P0&0xf0)!=0xf0);//若沒有松開按鍵,則等待,等待期間彈奏該音符TR0=0;//若按鍵松開,則停止計數,不產生脈沖輸出}else{while(FY==1){if(Song[k][Tone_Index]==-1)Tone_Index=0;STH0=(tab[Song[k][Tone_Index]])/256;STL0=(tab[Song[k][Tone_Index]])%256;P2=DSY_CODE[Song[k][Tone_Index]];TR0=1;delay1(300*Len[k][Tone_Index]);Tone_Index++;TR0=0;}}}}}}ganemploymenttribunalclaimEmploymenttribunalssortoutdisagreementsbetweenemployersandemployees.Youmayneedtomakeaclaimtoanemploymenttribunalif:youdon'tagreewiththedisciplinaryactionyouremployerhastakenagainstyouyouremployerdismissesyouandyouthinkthatyouhavebeendismissedunfairly.Formoreinformationaboutdismissalandunfairdismissal,see
Dismissal.Youcanmakeaclaimtoanemploymenttribunal,evenifyouhaven't
appealed
againstthedisciplinaryactionyouremployerhastakenagainstyou.However,ifyouwinyourcase,thetribunalmayreduceanycompensationawardedtoyouasaresultofyourfailuretoappeal.Rememberthatinmostcasesyoumustmakeanapplicationtoanemploymenttribunalwithinthreemonthsofthedatewhentheeventyouarecomplainingabouthappened.Ifyourapplicationisreceivedafterthistimelimit,thetribunalwillnotusuallyacceptit.Ifyouareworriedabouthowthetimelimitsapplytoyou,takeadvicefromoneoftheorganisationslistedunder
Furtherhelp.Employmenttribunalsarelessformalthansomeothercourts,butitisstillalegalprocessandyouwillneedtogiveevidenceunderanoathoraffirmation.Mostpeoplefindmakingaclaimtoanemploymenttribunalchallenging.Ifyouarethinkingaboutmakingaclaimtoanemploymenttribunal,youshouldgethelpstraightawayfromoneoftheorganisationslistedunder
Furtherhelp.Ifyouarebeingrepresentedbyasolicitoratthetribunal,theymayaskyoutosignanagreementwhereyoupaytheirfeeoutofyourcompensationifyouwinthecase.Thisisknownasa
damages-basedagreement.InEnglandandWales,yoursolicitorcan'tchargeyoumorethan35%ofyourcompensation
ifyouwinthecase.Ifyouarethinkingaboutsigningupfor
adamages-basedagreement,youshouldmakesureyou'reclearaboutthetermsoftheagreement.Itmightbebesttogetadvicefromanexperiencedadviser,forexample,ataCitizensAdviceBureau.
TofindyournearestCAB,includingthosethatgiveadvicebye-mail,clickon
nearestCAB.Formoreinformationaboutmakingaclaimtoanemploymenttribunal,see
Employmenttribunals.The(lackof)airupthereWatchmCaymanIslands-basedWebb,theheadofFifa'santi-racismtaskforce,isinLondonfortheFootballAssociation's150thanniversarycelebrationsandwillattendCity'sPremierLeaguematchatChelseaonSunday."IamgoingtobeatthematchtomorrowandIhaveaskedtomeetYayaToure,"hetoldBBCSport."Formeit'sabouthowhefeltandIwouldliketospeaktohimfirsttofindoutwhathisexperiencewas."Uefahas
openeddisciplinaryproceedingsagainstCSKA
forthe"racistbehaviouroftheirfans"during
City's2-1win.MichelPlatini,presidentofEuropeanfootball'sgoverningbody,hasalsoorderedanimmediateinvestigationintothereferee'sactions.CSKAsaidtheywere"surprisedanddisappointed"byToure'scomplaint.InastatementtheRussiansideadded:"WefoundnoracistinsultsfromfansofCSKA."Agehasreachedtheendofthebeginningofaword.Maybeguiltyinhisseemstopassingalotofdifferentlifebecametheappearanceofthesameday;Maybebackinthepast,tooneselftheparanoidweirdbeliefdisillusionment,thesedays,mymindhasbeenverymessy,inmymindconstantly.Alwaysfeeloneselfshouldgotodosomething,orwritesomething.Twentyyearsoflifetrajectorydeeplyshallow,suddenlyfeelsomething,doit.一字開頭的年齡已經到了尾聲。或許是愧疚于自己似乎把轉瞬即逝的很多個不同的日子過成了同一天的樣子;或許是追溯過去,對自己那些近乎偏執的怪異信念的醒悟,這些天以來,思緒一直很凌亂,在腦海中不斷糾纏。總覺得自己自己似乎應該去做點什么,或者寫點什么。二十年的人生軌跡深深淺淺,突然就感覺到有些事情,非做不可了。Theendofourlife,andcanmeetmanythingsreallydo?而窮盡我們的一生,又能遇到多少事情是真正地非做不可?Duringmychildhood,thinkluckymoneyandnewclothesarenecessaryforNewYear,butastheadvanceoftheage,willbemoreandmorefoundthatthosethingsareoptional;Juniorhighschool,thoughttohaveacrushonjustmeansthattherealgrowth,butoverthepastthreeyearslater,hiswritingofalumniinpeace,suddenlyfoundthatisn'treallygrowup,itseemsisnotsoimportant;Theninhighschool,thinkdon'twanttogiveventtooutyourinnervoicecanbeinthehighschoolchildrenofthefeelingsinaperiod,butwaseventuallyinfarctionwhengraduationpartyinthethroat,lateragainstoodonthepitchhehassweatprofusely,lookedathisthrownabasketballhoops,suddenlyfoundhimselfhasalreadycan'trememberhisappearance.童年時,覺得壓歲錢和新衣服是過年必備,但是隨著年齡的推進,會越來越發現,那些東西根本就可有可無;初中時,以為要有一場暗戀才意味著真正的成長,但三年過去后,自己心平氣和的寫同學錄的時候,突然就發現是不是真正的成長了,好像并沒有那么重要了;然后到了高中,覺得非要吐露出自己的心聲才能為高中生涯里的懵懂情愫劃上一個句點,但畢業晚會的時候最終還是被梗塞在了咽喉,后來再次站在他曾經揮汗如雨的球場,看著他投過籃球的球框時,突然間發現自己已經想不起他的容顏。Originally,thisworld,canproduceachemicalreactiontoanevent,inadditiontoresolutely,havetodo,andtime.原來,這個世界上,對某個事件能產生化學反應的,除了非做不可的堅決,還有,時間。Aperson'stime,yourideasarealwaysspecialtoclear.Want,want,lineisclear,asifnothingcouldshakehis.Alsoonceseemedtobedeterminedtodosomething,butmoreoftenishebackedoutatlast.Dislikehiscowardice,finallyfoundthattherearealotoflove,therearealotofmiss,likeshadowreallyhavebeendoomed.Thosewhodo,justgreenyearsoneselfgiveoneselfanarminjection,orisaself-righteousspiritual.一個人的時候,自己的想法總是特別地清晰。想要的,不想要的,界限明確,好像沒有什么可以撼動自己。也曾經好像已經下定了決心去做某件事,但更多的時候是最后又打起了退堂鼓。嫌惡過自己的怯懦,最終卻發現有很多緣分,有很多錯過,好像冥冥之中真的已經注定。那些曾經所謂的非做不可,只是青蔥年華里自己給自己注射的一支強心劑,或者說,是自以為是的精神寄托罷了。Atthe
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 羽毛球教練員合作合同
- 租賃合同中的房屋維修責任劃分
- 施工項目勞務分包合同增訂版
- 房地產業共同投資合同協議書
- 植物學考試題(含參考答案)
- 銷售合同履約保證金范本
- 企業員工餐廳廚師服務合同范本
- 水利工程合同:咨詢服務指南
- 老年危重病的護理
- 商品房買賣合同協議書
- 班組工程量結算書
- 生產件批準申請書
- 環境監測考試知識點總結
- 爵士音樂 完整版課件
- 嘉興華雯化工 - 201604
- 冀教版七年級下冊數學課件 第8章 8.2.1 冪的乘方
- XX公司“十四五”戰略發展規劃及年度評價報告(模板)
- 計算機輔助設計(Protel平臺)繪圖員級試卷1
- 除法口訣表(完整高清打印版)
- 河北省城市建設用地性質和容積率調整管理規定---精品資料
- 講課實錄-洛書時間數字分析法
評論
0/150
提交評論