【基于單片機的遙控電子琴的設計與實現(xiàn)(論文)11000字】_第1頁
【基于單片機的遙控電子琴的設計與實現(xiàn)(論文)11000字】_第2頁
【基于單片機的遙控電子琴的設計與實現(xiàn)(論文)11000字】_第3頁
【基于單片機的遙控電子琴的設計與實現(xiàn)(論文)11000字】_第4頁
【基于單片機的遙控電子琴的設計與實現(xiàn)(論文)11000字】_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

基于單片機的遙控電子琴的設計與實現(xiàn)目錄TOC\o"1-2"\h\z\u1.引言 11.1選題的背景 11.2研究的意義 22.系統(tǒng)總體方案設計 22.1功能要求 22.2設計思路 22.3總體設計框圖 33系統(tǒng)硬件設計 43.1概述 43.2主控模塊設計 43.3鍵盤模塊設計 53.4揚聲器模塊設計 63.5數(shù)碼管顯示電路 63.6紅外遙控模塊設計 63.6.3紅外信號接受電路 74.系統(tǒng)軟件設計 84.1主程序設計 84.2播放一個音調值的設計 124.3播放一首歌曲的流程圖 124.4接受紅外遙控信號的設計 135.系統(tǒng)安裝與調試 145.1系統(tǒng)的安裝步驟 145.2系統(tǒng)的調試 156.結語 15參考文獻 15摘要:本論文較為簡單的介紹了遙控電子琴的設計原理,在文中給出來STC89C52作為整個設計中最為重要的地位。以簡單電子琴為基礎添加了紅外遙控,在本文中也詳細介紹了如何利用紅外發(fā)射裝著和紅外接受裝置可以在相隔甚遠的地方也可以控制的原理。并且在遙控電子琴上添加了音樂盒的設計,同時可以通過按鍵來控制音樂的切換和播放或者暫停。關鍵詞:電子琴無線遙控STC89C521.引言伴隨著現(xiàn)如今各種技術與社會科學的飛速發(fā)展,人們對當下的生活品質有了更為細致化的需求,為了增加人們對生活的體驗,以便捷人們的生活,所以對各種電子產品、家用電器的自動化控制的要求也是在逐步提高。隨著電子技術的發(fā)展,如何提高電子技術在生活中普遍應用以便于提供人們在閑暇時期額外的一點樂趣,現(xiàn)代的電子技術與古典音樂的結合在一直進行著融合,由此而誕生的遙控電子琴系統(tǒng),因其體積較小,攜帶較為便利,經濟適用較好,是一般的家庭都可以承受的經濟支出。而且電子琴操作簡單,可以使得人們快速提高電子琴的普及率,并且在電子琴的基礎上添加了遙控器的設計。1.1選題的背景伴隨著現(xiàn)如今社會的發(fā)展和現(xiàn)代人生活水平的提升,在人們生活和工作中,住宅的安全防護、該電子鍵盤基于STC89C52單片機作為其基本控制芯片。在選擇喇叭時,選擇了功能強大的LM386放大器,再加上揚聲器的組合,最常用的蜂鳴器被丟棄。此選項的目的是因為聲音質量比使用簡單的蜂鳴器要好得多,T0與51微控制器限時器的結合可以有幾個不同的頻率脈沖,從而產生許多不同的頻率音符。功能鍵盤使用通用鍵開關,具有獲取I0端口控制器和微控制器的關鍵狀態(tài),以便通過更改和暫停狀態(tài)來實現(xiàn)歌曲的來回切換。此外在對紅外接受系統(tǒng)上采用了紅外一體接受頭VS1838接受來自紅外遙控發(fā)出的信號,通過51單片機的外部中斷INT0來進行對紅外信號的解碼,從而來接受紅外遙控進行的遠程無線控制。顯示設備使用單個共陽極數(shù)字通道,51微控制器的P0端口用于提供顯示器所需的數(shù)字信號,可通過查看數(shù)字顯示頻道上顯示的數(shù)字來查看當前正在播放的歌曲的信號。在此設計中,最重要的是使用板上的功能鍵剪切和暫停上一首和下一首歌曲,或者使用紅外遙控器上的按鈕控制歌曲選擇,然后由單片機發(fā)送歌曲選擇方波頻率信號,經由功率芯片放大器到揚聲器推到輸出不同的頻率,在同一時間,正在播放的數(shù)碼管顯示的歌曲數(shù)量。隨著當今人類社會的發(fā)展,社會越來越重視感知和聽覺的感知。掌心大的電子鋼琴可以帶回過去的美好生活的回憶,沉浸在現(xiàn)在的有趣生活中,并且在演奏時希望將來有更好的生活,從而增強了社會的精神和文化意識。1.2研究的意義首先作為一名電子信息科學與技術專業(yè)的學生,制作電子琴和遙控器的組合不為是一個很好的方式去檢驗我們對所學知識的一種好的檢驗。在制作的過程中所包含的知識點基本包含了模擬電路,數(shù)字電路,電路分析技術,單片機基礎及接口技術等專業(yè)課的程的基本章節(jié)。其次,單個微型計算機是隨著大規(guī)模集成技術的發(fā)展而開發(fā)出來衍生的產品。其中包括第四代電子計算機。具有效率較高,體積較小,成本較低,穩(wěn)定性較強,適用范圍較廣等特點。這些應用程序可能會導致傳統(tǒng)的監(jiān)控技術從基層轉變。因此,基于單片機紅外遙控的開發(fā)與實現(xiàn)已成為高科技發(fā)展的主要課題。接著紅外遙控器是一種在如今的家用電氣和各種儀表儀器種被大量廣泛應用,在了解其發(fā)射和接受的編碼脈沖信號之后,結合集成度較高的51單片機,一起組成了體積較小、質量較輕的紅外遙控器。用此遙控器控制另一個設備的數(shù)碼管顯示和聲音的輸出。最后,電子琴在現(xiàn)代音樂中也發(fā)揮著舉足輕重的作用,單片機具有更為強大的控制能力和更為流暢的編程操作。一首音樂由各種音階組成,每個音節(jié)以不同的頻率印刷。我們可以將音樂的音調和音節(jié)轉換成可以傳輸信息的頻率,然后通過播放器播放這些頻。2.系統(tǒng)總體方案設計為了能準確的實現(xiàn)遙控電子琴的設計,對遙控電子琴設計中所需要的功能與設計思路進行討論。2.1功能要求設計并制作一個功能相對穩(wěn)定,外觀相對簡單的電子琴,基本要求有:功能一:使用TH0和TL0兩個定時器,通過控制定時器來發(fā)出所需要的音調。功能二:根據(jù)對音調和節(jié)拍的控制達到輸出一首歌曲的目的。功能三:數(shù)碼管可以顯示當前輸出的音調和歌曲。功能四:可以通過控制電子琴模塊上面的按鍵控制下一首音樂,上一首音樂和控制暫停和播放以及電子琴和音樂盒之間的切換。功能五:可以通過紅外遙控器控制電子琴發(fā)出對應的高中低音,電子琴和音樂盒之間的切換,并控制音樂盒切換到上一首和下一首歌曲,暫停與播放和按下數(shù)字按鍵可以直接跳轉到與數(shù)字相對應的歌曲。2.2設計思路 基于STC89C51單片機設計遠程電子琴。鍵盤模塊上有5個鍵,分別是復位按鍵,音樂盒和電子琴切換按鍵,控制暫停與播放的按鍵,控制切換上一曲以及下一曲的按鍵等。同時具備有紅外遙控的無線控制功能。揚聲器是由功放LM386芯片來驅動并切可以根據(jù)從單片機的引腳來發(fā)出聲音信號來發(fā)出聲音。數(shù)字管則可以顯示正在播放歌曲的序列號。 一首音樂是以不同的音階來組成,不一樣的音調以對應于不一樣的頻率,所以我們可以通過將這些不同頻率的音調與節(jié)拍對應起來就可以組成我們所需要的音樂。對于51單片機而言產生不同的頻率只需要通過控制定時計數(shù)器TH0和TL0即可達到所需要的效果。2.2.1電源選擇方案方案一:本系統(tǒng)所使用的是5VUSB電源。這種電源具有更為穩(wěn)定的電流和相對適應的電壓輸出性能。它可以用手機的充電器,計算機的USB端口,移動電源等來進行支持。方案二:采用比較方便更換的干電池。經過系統(tǒng)變壓處理后,將電流供給遙控電子琴并且干電池也存在這便于購買和價格相對便宜等優(yōu)點。但干電池的電容量較低,還存在這可能會漏液損害整個系統(tǒng)的危險,并且過多的使用會導致環(huán)境進一步惡化。在上述兩個方案中,方案二不可取,方案一經實驗更為便捷、性能好,而且所需原件價格便宜,所以方案一可取。2.2.2顯示器選擇方案方案一:LED數(shù)字管用作系統(tǒng)內容的顯示端,并且LED結構設計有共陽極。該組件的串行輸入驅動器的公共陰極必須連接到系統(tǒng)微控制器的串行端口移位寄存器。而且控制該組件所需的代碼更少,適合編寫顯示器。如果在此設計中將此元素用作顯示屏,則成本較低且顯示內容非常直觀。方案二:該設計使用LCD1602LCD屏幕的電子組件,拉伯數(shù)字和英文字母都能適當?shù)娘@示在屏幕上,在科技的推動下半導體技術有了很大的發(fā)展。但是也存在著編寫較為困難,顯示較少的內容所需要編寫的代碼較多,使用此元件作為顯示模塊性價比較低。在兩種方案中,數(shù)碼管可以顯示的內容較多,但是數(shù)碼管顯示的工作內容簡單、功耗大;系統(tǒng)采用LED數(shù)碼管,該元器件在電壓低、低功耗的條件下,顯示較為清晰。在本系統(tǒng)中所需要顯示的東西比較少,一位共陽數(shù)碼管足夠顯示。2.2.3控制模塊的選擇方案方案一:如果采用DSP作為系統(tǒng)控制器。DSP(數(shù)字信號處理器)是一種特殊的微處理器,它是一種可以處理大量信號的設備。DSP對元器件值的容差并不敏感感,不受外界溫度和環(huán)境等外部因素的影響,更便于集成,可以復用時分和共享處理器,并可以輕松調整處理器系數(shù)以實現(xiàn)此系統(tǒng)的自適應??梢砸苑浅5偷碾娏縼硎褂眯盘柕葍?yōu)勢。然而,DSP硬件電路更復雜并且相對昂貴。數(shù)字系統(tǒng)是通過功能強大的有源設備來組成,無源設備是不可信任。方案二:另一種是通過單片來作為系統(tǒng)的主控芯片。單片機具有較高的可靠性,成本效益較低,所需電壓較低,功耗較低等優(yōu)點,并且得到了當今社會迅速發(fā)展和廣泛推廣。并且單片機具有更為強大的算術運算能力,靈活的軟件編程和更為廣闊的自由度。可與用于通過軟件程序實現(xiàn)各種各樣的邏輯功能,比如計時器和計數(shù)器,可以作用于計時和計數(shù),同時具有功耗較低,體積較小,成人計數(shù)和成本更低等多方面的優(yōu)點。。通過對上述兩種方案在實用性,方便性和設計成本等方面的演示和比較,選擇了STC89C52單片機作為音樂盒設計的中央處理單元。2.2.4紅外接受頭的選擇方案方案一:采用紅外接受管是一個紅外接受管,他的作用僅僅只是檢測紅外信號,他外部只有兩個引腳,所以內部不存在集成電路,所以在使用的時候需要自行設計較為適合當前使用的電路。方案二:采用紅外接受器1838的內部包含有紅外檢測二極管,限幅器和積分電路以及放大器還有帶通濾波器等一些與放大電路想過的元器件。紅外檢測二極管不僅僅可以檢測各種不同頻率的紅外信號,還可以將這些信號運送到限制器以及放大器之中,限制器可以使得脈沖的幅度在一個固定的頻率之中進行浮動。而交流電進入到了帶通濾波器之中,帶通濾波器可以使頻率在30KHZ到60KHZ之間的負載波通過,在通過解調電路以及積分電路最終進入到了比較器之中,比較器可以通過輸出高低電平來還原發(fā)射段開始發(fā)射的信號波形。通過以上兩種方案的比較,因為紅外接受1838中自帶有放大路等一系列對紅外信號進行的各種操作,相比于紅外接受管在設計上更為簡單。所以選擇了1383作為接受頭。2.3總體設計框圖單片一共分為6個部分,分別為主要儲存代碼的單片機模塊,可以與人進行互動的按鍵模塊;遠程交互的紅外接受模塊;提供能量的電源模塊;顯示信息的數(shù)碼管模塊;和使得聲音放大的功法模塊??傮w設計框圖如圖1所示。單片機最小系統(tǒng)數(shù)碼管模塊單片機最小系統(tǒng)數(shù)碼管模塊按鍵模塊功放模塊電源模塊紅外接收模塊圖1總體設計布局3系統(tǒng)硬件設計3.1概述遠程遙控電子琴的設計是通過以STC89C51單片機為核心,并連接不同的電阻,電容,晶體振蕩器等一系列的元器件共同組成單片機系統(tǒng)。一個12MHZ時鐘電路中可以使用51個單片機,使用定時器/計數(shù)器T0,在此系統(tǒng)種的工作模式為1,通過更改計數(shù)值TH0和TL0的數(shù)值,以達到產生所需要的不同頻率脈沖信號目的。鍵盤模塊上有5個按鈕,分別是:重置按鈕,音樂盒和鍵盤切換按鈕,用于控制暫停歌曲和播放歌曲的按鈕,用于調節(jié)在上一首歌曲和下一首歌曲切換的按鍵,等等。通過按下重置按鈕,可以激活重置電路,從而使遠程控制電子鍵盤再次處于活動狀態(tài)。此外電子鍵盤模塊還連接到VS1838一體式紅外接收器,此接收器是用來接收從紅外遙控器傳輸過來的紅外信號,并進一步控制電子鍵盤模塊的輸出部分分為兩部分。第一部分是聲音輸出部分,它是從微控制器的I/O端口之一以一定頻率輸出的聲音頻率脈沖,但是如果此音頻脈沖直接發(fā)送到揚聲器,則不會達到產生特定聲音的目的。是的,因為它并沒有提供足夠的驅動力。所以為了給予它足夠的驅動能力,增加了一個音頻放大器電路。在本設計中的電子鍵盤使用的是LM385美國國家半導體電子音頻放大器來獲得相對應音頻功率,并通過揚聲器來產生目標所需要的音調。第二個部分是數(shù)字管顯示的部分,最后通過選擇數(shù)字管陽極來顯示它現(xiàn)在需要顯示的東西。3.2主控模塊設計3.2.1STC芯片的簡介STC89C51是在市場上使用最為廣泛的單片機芯片。STC89C51是一款電壓所需電壓較低的芯片,系統(tǒng)中具有閃存程序存儲器的8位CPU。該芯片具有可讀的程序備忘錄,有8k閃存響應,并且具有256個隨機的數(shù)據(jù)存儲器。這些單片機通常使用的是Atmel易失性和高密度的存儲技術,與世界上規(guī)范標準的MCS-51指令系統(tǒng)相兼容,并且它具有一個8位的中央處理中心和Flash存儲組件。功能更為強大的STC89C52單片機可在許多不同的系統(tǒng)之中,可以在諸多控制系統(tǒng)市場中提供許多不同的服務.STC89C52芯片一共有40個引腳分布在芯片足有兩邊,32個雙向輸入/輸出(I/O)外部端口主要分為四個部分,在其中包含這2個外部中斷和3個16位可編程時間的計數(shù)器,以及2個全雙工串行通訊端口,此外還有2個讀寫端口。STC89C52一共具有三種不同的包裝形式:PDIP,PQFP/TQFP和PLCC,以此滿足各種不同產品的需求。3.2.2STC89C52單片機最小系統(tǒng)最小的單片機系統(tǒng)是單片機中最為簡單也是最為常見的系統(tǒng),所有的最小系統(tǒng)都是需要晶體振蕩器電路,單片機和復位電路這三個部分。盡管此結構非常簡單,但該軟件仍可以實現(xiàn)可行的系統(tǒng)環(huán)境。3.2.3單片機的晶振電路與復位電路設計單片機的性能和性價比是當下最適合做硬件系統(tǒng)芯片的核心元器件,在本設計中所使用的單片機芯片是STC89C52。這兩個電路可以使芯片正常工作。單芯片STC微型計算機將使刻錄程序更加容易,并且不會產生外界噪音。這兩個電路的額外工作可以使系統(tǒng)完整和完善。晶振電路如圖2所示 STC89C51的各種性能和性價比都是當下選擇硬件系統(tǒng)核心部件最好的選擇,此芯片中有相互工作的晶振電路和復位電路,這兩個電路相互配合可以使芯片正常工作。51單片機的燒入相比于其他的芯片較為簡單,而且正因如此使得此芯片可的抗外界干擾能力更強。復位電路如圖3所示。 圖2晶振電路 圖3復位電路復位電路在51單片機上有非常重要的用處。這就像是重啟一臺計算機一樣。一旦某一計算機在使用過程中突然崩潰了,只要按下自帶的重新啟動按鈕,計算機內部的程序就會由工作狀態(tài)中重新到了初始狀態(tài)。這也適用于單片機。當單片機遇到各種內部或外部問題時,可以通過按復位按鈕將單片機恢復到初始狀態(tài),以重新開始操作。復位電路包括電容器,電阻器和極性按鈕。電容器的電壓不可以突然發(fā)生改變以實現(xiàn)整個系統(tǒng)的正常啟動。在激活系統(tǒng)之后,微控制器的RESETPIN將提供高電平,此電路的持續(xù)時間是由整個電路的RC值來確定。常規(guī)的單片機類型的RESETPIN通過遇到兩個以上得發(fā)動機周期高電平以此來使整個電路進行復位,這樣相對應的RC值的組合用來達到復位控制的目的。在單片機系統(tǒng)中,晶體振蕩器電路使系統(tǒng)提供可以正常使用的信號。晶體振蕩器的電路類似于普通的振蕩電路,可以將正弦波信號提供給微控制器系統(tǒng)。晶體振蕩器電路主要為整個系統(tǒng)提供最重要的時鐘信號。在這種設計中,可以使用時鐘信號發(fā)出聲音。晶體振蕩器電路是由兩個相同的電容器和一個常見的晶體振蕩器來組成。在此處的電容器作用就是幫助晶體振蕩器使得整個電路更容易起振,較為常見的范圍在15-33PF之間。3.2.4外部電路設計因為STC89C52P0端口是一個開放通道輸出,所以在此設計中將10k排除項添加到P0端口,因此P0端口可以像其他任何I/O端口一樣正常使用。3.3鍵盤模塊設計鍵盤是人與微控制器之間最重要的交互模塊。首先,單片機中最常用的鍵盤是獨立鍵盤和矩陣鍵盤。獨立的鍵盤硬件設計相對簡單,程序設計也不復雜。它通常用于硬件電路不需要很多按鍵的電路中。在硬件設計和軟編程方面,矩陣鍵盤比其鍵更麻煩。但是它占用的端口較少,因此矩陣鍵盤更適合用于多鍵電路。第二個是小故障現(xiàn)象,無論是單個鍵還是矩陣鍵,都應消除。這里使用延遲掃描方法,并且延遲方法的原理非常簡單:“毛刺”脈沖的持續(xù)時間比被抑制的手指的持續(xù)時間短,因此,當單片機檢測到脈沖時,它將等待一段時間,然后檢查一下狀態(tài)可以維持,如果原來的狀態(tài)維持,這關鍵是真的,否則這是假的。在此設計中,使用的按鈕數(shù)量很少,只有四個按鈕,因此選擇了獨立按鈕模式。3.4揚聲器模塊設計LM386是一款工具放大器,具有低功耗,大電壓范圍,可調節(jié)的利潤和很少的外部組件。為了可以最大程度地減少外部組件的個數(shù),所以內部電壓增益為20??梢栽?和8引腳之間連接一個可以控制大小的電阻器或電容器,并且可以隨意選擇所需的增益值。由于可以使用揚聲器,因此需要電流較大,但單片機本身的電流是相對較小,所以LM386應加入以增加由I/O。創(chuàng)建在這部分電路中的電流,也被添加的電位計,在此設計中可以通過旋轉此電位器來調節(jié)聲級,以此來使整個設計更加人性化。揚聲器模塊設計如圖4所示。圖4揚聲器模塊3.5數(shù)碼管顯示電路LED數(shù)字燈管是相當便宜且容易的組件。通過將相應的電流插入不同的引腳,可以實現(xiàn)顯示信息的目的。LED數(shù)字管由八個發(fā)光二極管組成,二極管分別是由字母a,b,c,d,e,f,g和dp來表示的。當在這個數(shù)碼管的相對應得部分上施加適當?shù)碾妷簳r,該特定部分將發(fā)光并形成可見字。通常,LED數(shù)碼管具有靜態(tài)和動態(tài)兩種顯示模式。靜態(tài)控制顯示器所具有特點是顯示的內容穩(wěn)定,亮度高,不閃爍,并且編程非常容易,但包含來自微控制器的I/O口擁有更多資源;動態(tài)控制顯示器的特性與靜態(tài)顯示器一樣不穩(wěn)定,并且編程更加復雜,但是與靜態(tài)顯示器相比,它具有更少的I/O資源和更低的功耗。由于在此設計中使用數(shù)字管進行顯示,因此靜態(tài)顯示更易于選擇。3.6紅外遙控模塊設計紅外遙控器廣泛用于家庭中的所有類型的電器,并且其外觀為市場上的所有類型的電器提供了很多便利?,F(xiàn)如今,最為常用的紅外遙控系統(tǒng)通常是由兩部分組成得:發(fā)射和接收。紅外接收器最重要的部分是紅外接收器管,其是一種類型的光敏二極管構成。在實際應用中,可以通過增加紅外二極管的反向偏置電壓來使用它,并且只有在電路中使用紅外接收二極管時,副作用才能達到相當高的靈敏度。3.6.1紅外線原理(1)紅外光可以按照波長范圍分成近紅外光、中紅外光和遠紅外光以及極紅外光共四類。(2)紅外遙控器使用得是近紅外光來發(fā)送控制的命令,其波長是在0.76?1.5um之間。(3)之所以使用近紅外光作為遠程光源,是因為目前,光與來自紅外發(fā)射器和紅外接收器之間的光之間的波長在0.8?0.94um之間,可以在此范圍內獲取。更高的傳輸效率和更準確的消息傳輸。3.6.2紅外通信標準1993年,成立了紅外數(shù)據(jù)協(xié)會(IrDA),參與會議的有因特爾以及惠普等的約20多家公司,它們共同通過了成立協(xié)議。在現(xiàn)代化的社會所擁有的通信方式的種類也是多種多樣的,在此設計中主要是用紅外線進行學習設計,并且他主要傳輸信息的方式是根據(jù)所接受數(shù)據(jù)的脈沖波形進行處理的,抓喲是讓波形進行編碼解碼工作,數(shù)據(jù)就而可以用這種工作方式來進行傳輸解碼,然后單片機就可以依據(jù)指令進行操作。紅外串行的規(guī)則日益完整規(guī)范,現(xiàn)在有了三個最為基本的協(xié)議和規(guī)范,這其中就有對物理層鏈路的規(guī)范,還有兩個鏈路的訪問以及鏈路的管理協(xié)議。3.6.2紅外信號發(fā)射設備紅外發(fā)射器設備主要包括的是紅外發(fā)射器電路,鍵盤電路和紅外編碼芯片以及電源。通常情況下,為了可以更好地傳輸信號,基帶的二進制信號最后會被調制為突發(fā)信號,并且這個信號可以通過紅外發(fā)送器管來發(fā)送到接收設備。通常情況下使用的是兩種調制方法:脈沖寬度調制,其取決于實現(xiàn)信號調制的脈沖寬度;以及脈沖定時調制,其取決于實現(xiàn)信號調制的脈沖序列之間的時間間隔。在同一遠程控制電路中,通常需要完成不同的遠程控制功能或區(qū)分不同類型的機器。這樣,必須以特定的編碼順序發(fā)送信號,并且將根據(jù)芯片或電路編碼來進行編碼。為了使傳輸數(shù)據(jù)的效率得到提升和傳輸?shù)木嚯x得到增強,提高整個系統(tǒng)的抗干擾能力,紅外信號會被調制在38KHZ的載波之后才會將其發(fā)射。載波的佔空比大概為1/3。紅外傳輸系統(tǒng)的數(shù)據(jù)包含著引導碼、用戶碼和數(shù)據(jù)碼以及數(shù)據(jù)反碼,編碼總共占32位。數(shù)據(jù)反碼使數(shù)據(jù)碼反相后得到的編碼,當數(shù)據(jù)傳輸之后可以用來對數(shù)據(jù)進行糾錯。如圖5所示。圖5紅外遙控數(shù)據(jù)碼3.6.3紅外信號接受電路紅外接收器電路是在所有紅外遠程控制系統(tǒng)中檢測命令信號的部分。通過1838集成的紅外接收器頭,可以完成所有工作,從紅外接收器到根據(jù)TTL電平信號輸出。VS1838上直接可以接收,放大和解調接受到的紅外信號。之后,接收到的信號可以再次轉發(fā)給單片機,單片機通過內部存儲的程序選擇接收到的信號,最后驅動相應的外部設備執(zhí)行相應的動作。4.系統(tǒng)軟件設計4.1主程序設計4.1.1主程序流程圖本系統(tǒng)的軟件流程圖為圖6所示,在程序開始運行后首先判斷紅外遙控器或板子上的“暫停播放”鍵是否又被按下。若是當前狀態(tài)是暫停,此按鍵按下后,就會變?yōu)椴シ?,?shù)字管會將顯示目前所需要的歌曲序列號同時開始播放所需要的音樂;若是當前狀態(tài)是播放按下后就變?yōu)闀和?。接下來判斷紅外遙控器或板子上的“上一曲”是否被按下,若是被按下則把當前歌曲變?yōu)樯弦皇赘枨?,立即更新?shù)碼管顯示的數(shù)字。然后判斷紅外遙控器或板子上的“下一曲”是否被按下,若是被按下則把當前歌曲變?yōu)橄乱皇赘枨?,同時更新數(shù)碼管。接著判斷紅外遙控器或者是板子上的“電子琴音樂盒切換”按鍵,若當前是電子琴模式則切換為音樂盒模式,反正同理。最后是判斷紅外遙控器是否按下了數(shù)字按鈕,若是在電子琴模式下就會發(fā)出相對應的音調;若是在音樂盒模式下,歌曲將會切換到與編號對應的歌曲,并且更新數(shù)碼管顯示,然后開始新音樂。最后再一次進入最前面對按鍵進行判斷的部分。

是是是否結束遙控的數(shù)字鍵是否被按下是播放上一曲切換播放狀態(tài)(開始和暫停)播放下一曲板子或遙控的播放暫停鍵是否被按下開始定時器初始化否板子或遙控的上一曲鍵是否被按下否板子或遙控的下一曲鍵是否被按下播放對應歌曲是圖6程序流程圖4.1.2主程序代碼設計voidmain(){ uchartemp; ExtInit(); //外部中斷初始化 TimerInit(); //定時器初始化 gSong=1; //上電默認第一首歌 gPlayStatus=0; //上電默認的狀態(tài)是暫停狀態(tài) while(1) { if(gPlayStatus==1) //如果是處于播放狀態(tài),則判斷是當前哪一首歌曲需要播放 { switch(gSong) { case1:PlayMusic(Music1,sizeof(Music1)); break; default: break; } } //開始播放 if((Key1_P==0)||(gRedVal==0x43)) { gRedVal=0; //清除紅外遙控的按鍵記錄內容 gPlayStatus=1; //播放狀態(tài)改為1,即播放 DelayMs(10); //消除按鍵按下的抖動 while(!Key1_P); //等待按鍵釋放 DelayMs(10); //消除按鍵松開的抖動 } //上一曲 if((Key2_P==0)||(gRedVal==0x44)) { gRedVal=0; //清除紅外遙控的按鍵記錄內容 … gSong--; //使目前播第幾首歌的變量gSong減1,即切到上一曲 if(gSong==0) //如果gSong為0,說明到前面的盡頭了,則轉為最后一首 gSong=SONG; gPlayStatus=1; //把播放狀態(tài)改為1,即播放 } //下一曲 if((Key3_P==0)||(gRedVal==0x40)) { gRedVal=0; //清除紅外遙控的按鍵記錄內容 … gSong++; //使目前播第幾首歌的變量gSong加1,即切到下一曲 if(gSong>SONG) //如果gSong為SONG,說明到后面的盡頭了,則轉為第一首 gSong=1; gPlayStatus=1; //把播放狀態(tài)改為1,即播放 } //切換模式 if((Key4_P==0)||(gRedVal==0x00)) { uintqtone1; … while(Ele) { //數(shù)字鍵調節(jié) qtone1=EleNumKeyScanf(); qtone2=EleToneKeyScanf(); if(temp<8) { qtone=qtone1+qtone2; PlayEleTone(qtone); } if((Key4_P==0)||(gRedVal==0x00)) { gRedVal=0; DelayMs(10); while(!Key4_P0); DelayMs(10); gPlayStatus=0; Ele=0; } } }}4.2播放一個音調值的設計4.2.1播放一個音調值的流程圖播放一個音調的流程圖如圖7所示。首先,根據(jù)要播放的音調值在微控制器計時器上設置初始值,然后啟動計時器。計時器啟動后,它將開始播放需要播放的相應音調,然后延遲聲音。延遲時間到期后,計時器將停止并且播放將結束。開始開始關閉定時器延時該音調對應的節(jié)拍時間啟動定時器根據(jù)該音調值給單片機定時器賦初值結束圖7播放一個音調值的流程圖4.2.2播放一個音調值的程序設計TH0=ArrTH0[tone]; //裝入定時器TH0的初值TL0=ArrTL0[tone]; //裝入定時器TL0的初值4.3播放一首歌曲的流程圖4.3.1播放一首歌曲的流程圖播放一首歌曲的流程圖如圖8所示。首先,數(shù)字管將根據(jù)歌曲標簽顯示編號,然后確定是否播放了歌曲,否則,將播放下一個音調,并在播放完所有樂曲后關閉數(shù)字管顯示。。

結束結束歌曲播放完成?是否關閉數(shù)碼管顯示播放下一個音調數(shù)碼管顯示歌曲編號開始圖8播放一首歌曲的流程圖4.3.2播放一個音調值的流程圖inti; gTone=tone; //將音調值賦給全局變量gTone TH0=ArrTH0[tone]; //裝入定時器TH0的初值 TL0=ArrTL0[tone]; //裝入定時器TL0的初值 TR0=1; //啟動定時器 for(i=0;i<beat;i++) { DelayMs(200); } TR0=0; 4.4接受紅外遙控信號的設計4.4.1接受紅外遙控信號的流程圖接收紅外遙控信號的流程圖如圖9所示。紅外遙控器每發(fā)送一次按鍵的數(shù)據(jù),首先,我們需要發(fā)送9ms的導頻級和4.5ms的高級導頻碼,紅外遙控器的接收頭先把低電平的信號傳遞到單片機上,然后切換到微控制器的內部中斷0,然后微控制器進入中斷服務功能。在這之后關閉中斷功能,避免后面接受數(shù)據(jù)的過程中再一次觸發(fā)中斷函數(shù)。接著是等待引導碼的結束,然后是接收四個字節(jié)的數(shù)據(jù),其中的字節(jié)1和2都是用戶碼,字節(jié)3是數(shù)據(jù)碼,字節(jié)4是數(shù)據(jù)反碼。在四個字節(jié)數(shù)據(jù)當中,字節(jié)3的數(shù)據(jù)碼才是我們真正所需要的,根據(jù)不同的按鍵會從紅外發(fā)射頭發(fā)送不同的數(shù)據(jù)碼在被紅外接受頭發(fā)送到單片機,于是需要將字節(jié)3的數(shù)據(jù)碼保存起來,方便之后程序對不同的按鍵做出不同處理。這樣就已經完成了一個對紅外遙控器按鍵接收處理,單片機可以重新開始繪圖過程,隨時準備再一次接收按鍵數(shù)據(jù)。開始開始結束讀取用戶碼1等待引導碼結束關閉中斷功能,避免接收數(shù)據(jù)過程被打斷讀取數(shù)據(jù)碼觸發(fā)外部中斷0讀取用戶碼2讀取數(shù)據(jù)反碼恢復中斷功能圖9接收紅外遙控信號的流程圖4.4.3接受紅外遙控信號的代碼ucharNumKeyScanf(){ if(gRedVal==0x0C) //數(shù)字鍵1 return1; … return0;}5.系統(tǒng)安裝與調試5.1系統(tǒng)的安裝步驟(1)檢查元器件在進行焊接元器件的時候,首先要核對元器件的種類和篩選。在本設計中主要用到的元器件主要有:STC89C52微機單元,開關,電源,電阻器,玻璃振蕩器,電容器,開關,揚聲器,紅外遙控器,數(shù)字管,功率放大器芯片等。之后再根據(jù)實驗所需進行性能的篩選。根據(jù)設計原理圖在電路板上對各個元器件進行有規(guī)律的放置,放置后進行檢查,確保正確后方可使用零件和焊件,從而避免了焊錯。(2)元器件的放置與焊接各個元器件的擺放應

溫馨提示

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

評論

0/150

提交評論