版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p> 本科畢業(yè)設(shè)計(jì)(論文)</p><p> 題 目:基于nRF24l01的無線音樂播放器設(shè)計(jì) </p><p><b> 摘 要</b></p><p> 本文介紹了一種基于nRF24l01的無線音樂播放器設(shè)計(jì)方案。本設(shè)計(jì)方案結(jié)合了單片機(jī)技術(shù)和無線通信技術(shù),設(shè)計(jì)的電路以單片機(jī)和無線通信模塊為核心,并輔以外圍電路。其
2、工作過程是按鍵選擇后,通過無線模塊發(fā)射相應(yīng)的數(shù)據(jù),由另一無線模塊接收的數(shù)據(jù)后播放不同的音樂。該系統(tǒng)實(shí)現(xiàn)了無線控制音樂播放器的歌曲播放選擇和歌曲名的顯示。本系統(tǒng)的優(yōu)點(diǎn)是電路簡單,性能可靠,實(shí)時(shí)性好,操作簡單,編程容易等。</p><p> 關(guān)鍵詞:單片機(jī);無線模塊nRF24l01;模擬SPI </p><p><b> Abstract</b></p>
3、<p> This article introduced one kind based on the nRF24l01 wireless music player design proposal. The design proposal unified the monolithic integrated circuit technology and the wireless communication technology
4、, the design electric circuit take the monolithic integrated circuit and the wireless communication module as a core, and auxiliary by peripheral circuit. After its work process is the pressed key choice, through wireles
5、s module launch corresponding data, after another wireless module receiv</p><p> Key Words:single chip microcomputer; wireless module nRF24l01;simulation SPI</p><p><b> 目 錄</b><
6、;/p><p> 1 緒論- 1 -</p><p> 1.1 前言- 1 -</p><p> 1.2 背景與意義- 1 -</p><p> 1.3 設(shè)計(jì)任務(wù)- 1 -</p><p> 2 系統(tǒng)總體設(shè)計(jì)方案- 3 -</p><p> 3 無線通信系統(tǒng)的介紹- 4 -
7、</p><p> 3.1無線通信系統(tǒng)的構(gòu)成- 4 -</p><p> 3.2無線通信工作方式- 5 -</p><p> 4 系統(tǒng)硬件設(shè)計(jì)- 7 -</p><p> 4.1 芯片介紹- 7 -</p><p> 4.1.1 51芯片介紹- 7 -</p><p> 4
8、.1.2 nRF24l01無線模塊介紹- 8 -</p><p> 4.1.3 LM386芯片介紹- 10 -</p><p> 4.2硬件模塊設(shè)計(jì)- 10 -</p><p> 4.2.1單片機(jī)最小系統(tǒng)電路- 10 -</p><p> 4.2.2音頻電路- 11 -</p><p> 4.2.3
9、按鍵電路- 12 -</p><p> 4.2.4顯示電路- 12 -</p><p> 5 系統(tǒng)軟件設(shè)計(jì)- 13 -</p><p> 5.1概述- 13 -</p><p> 5.2主程序設(shè)計(jì)- 14 -</p><p> 5.3無線通信程序- 15 -</p><p&g
10、t; 5.4音樂程序- 17 -</p><p> 5.5鍵盤輸入程序- 20 -</p><p> 5.6 LCD顯示程序設(shè)計(jì)- 20 -</p><p> 6 系統(tǒng)調(diào)試- 21 -</p><p> 6.1硬件調(diào)試- 21 -</p><p> 6.2軟件調(diào)試- 21 -</p>
11、;<p> 7 總結(jié)總結(jié)與展望- 22 -</p><p><b> 致謝- 23 -</b></p><p> 參考文獻(xiàn)- 24 -</p><p> 附錄Ⅰ 原理圖- 25 -</p><p> 附錄Ⅱ 元器件清單- 26 -</p><p> 附錄Ⅲ 源
12、程序清單- 27 -</p><p><b> 1 緒論</b></p><p><b> 1.1 前言</b></p><p> 隨著生活水平的提高,人們對娛樂要求越來越高,音樂播放器就是一個(gè)典型的產(chǎn)品,產(chǎn)品設(shè)計(jì)的越來越小,功能越來越強(qiáng)大,價(jià)格又要降下來。而單片機(jī)因其優(yōu)越的性價(jià)比和靈活性的功能配置而被廣泛的應(yīng)用于
13、各種領(lǐng)域,且基于無線設(shè)計(jì),使音樂播放器擺脫有線的束縛,更加方便、更具娛樂性。</p><p> 1.2 背景與意義 </p><p> 隨著社會的發(fā)展,人們期望著能隨時(shí)隨地、不受時(shí)空限制地進(jìn)行信息交換。當(dāng)今的各種智能化控制系統(tǒng)也離不開數(shù)據(jù)信息的傳輸。其中,無線數(shù)據(jù)傳輸區(qū)別于傳統(tǒng)的有線傳輸?shù)男滦蛡鬏敺绞?,系統(tǒng)不需要傳輸?shù)木€纜、成本低廉、施工簡單。無線數(shù)據(jù)傳輸如下的優(yōu)點(diǎn)使其日益得到廣泛的應(yīng)
14、用:1)省去了通信設(shè)備之間的連線,特別是在不易接線或接線費(fèi)用較高區(qū)域(如有歷史意義的建筑物、河流、山脈等障礙)更具優(yōu)勢,甚至某些場合只能采用無線數(shù)據(jù)傳輸方式(如民航飛機(jī)的導(dǎo)航);2)設(shè)備的可移動(dòng)性、安裝的方便性、組網(wǎng)的靈活性等。</p><p> 目前,藍(lán)牙、IEEE802.11等無線局域網(wǎng)協(xié)議及其技術(shù)的研究、開發(fā)和應(yīng)用正如火如荼地進(jìn)行,也預(yù)示著無線通信在未來的信息交換中將發(fā)揮出更大的作用。</p>
15、<p> 隨著計(jì)算機(jī)、通信和無線技術(shù)的逐漸地融合,在傳統(tǒng)的有線通信的基礎(chǔ)上,無線通信技術(shù)應(yīng)運(yùn)而生,它具有快捷、方便、可移動(dòng)和安全等優(yōu)勢,所以廣泛應(yīng)用到遙控玩具、汽車電子、環(huán)境監(jiān)測和電氣自動(dòng)化等。</p><p> 現(xiàn)在,有很多的電器產(chǎn)品(如一些家用電器)的操作控制也都采用了無線數(shù)據(jù)傳輸方式,一些無線數(shù)據(jù)傳輸功能相對簡單的電器產(chǎn)品,其無線數(shù)據(jù)傳輸信號的識別與譯碼大多采用單片機(jī)。如今,大部分編碼調(diào)制
16、芯片配套的譯碼芯片都內(nèi)置到無線通信模塊里,從而可使單片機(jī)做更多復(fù)雜的任務(wù)。</p><p> 在數(shù)字音樂播放器發(fā)展方面,功能越來越強(qiáng)大,但價(jià)格也隨之上漲。用單片機(jī)設(shè)計(jì)音樂播放器,則性價(jià)比較高,但基于無線通信的音樂播放器就很少。</p><p> 在一些應(yīng)用場合中,音樂播放器受到有線通信的束縛,不便使用,這時(shí)就需要無線數(shù)據(jù)傳輸,本設(shè)計(jì)就是基于無線收發(fā)模塊來實(shí)現(xiàn)無線音樂播放系統(tǒng)。</
17、p><p><b> 1.3 設(shè)計(jì)任務(wù)</b></p><p> 本設(shè)計(jì)主要任務(wù)是制作一個(gè)基于nRF24l01的無線音樂播放器設(shè)計(jì),此系統(tǒng)能夠?qū)崿F(xiàn)無線控制音樂的播放。先用單片機(jī)設(shè)計(jì)一個(gè)音樂播放器,再用無線模塊nRF24l01實(shí)現(xiàn)無線控制。</p><p><b> 主要設(shè)計(jì)要求:</b></p><
18、p> (1)學(xué)會并掌握單片機(jī)的硬件電路設(shè)計(jì);</p><p> ?。?)理解無線通信nRF24l01的編寫方法和程序流程;</p><p> ?。?)設(shè)計(jì)單片機(jī)間無線數(shù)據(jù)傳輸?shù)挠布韴D;</p><p> ?。?)編寫軟件程序,包含單片機(jī)間無線通信的軟件設(shè)計(jì)和音樂播放器的設(shè)計(jì);</p><p> ?。?)調(diào)試并實(shí)現(xiàn)單片機(jī)的無線音樂播
19、放器系統(tǒng)的設(shè)計(jì);</p><p> 2 系統(tǒng)總體設(shè)計(jì)方案</p><p> 本文設(shè)計(jì)的基本內(nèi)容是以單片機(jī)間的通信為核心,并輔以音頻電路和無線模塊外圍電路,通過對單片機(jī)的編程來設(shè)計(jì)出單片機(jī)無線音樂播放器系統(tǒng)。由于</p><p> 系統(tǒng)模塊如圖2-1所示:</p><p> 無線技術(shù)方案有以下幾種選擇:</p><
20、p> 紅外技術(shù),紅外技術(shù)有效接收距離短,且無法支持多位傳輸;電力消耗大,抗干擾性能差。</p><p> 27MHz射頻技術(shù),接收距離短,傳輸速率較低,抗干擾能力一般,只能進(jìn)行單向信號傳輸,容易出現(xiàn)信號中斷金額無線頻段互相干擾的現(xiàn)象。</p><p> 調(diào)頻技術(shù),傳輸距離較長,可全方位接收信號,抗干擾能力較高,僅支持單向信號傳遞。</p><p> 藍(lán)
21、牙技術(shù),在傳輸距離、速度等方面具有絕對優(yōu)勢,但在微處理器和協(xié)議使用許可方面的高要求,使得產(chǎn)品價(jià)格一直居高不下。</p><p> 2.4GHz技術(shù),傳輸速率可媲美藍(lán)牙,功耗卻大大降低;采用完全開放式的網(wǎng)絡(luò)協(xié)議,在價(jià)格上具有絕對優(yōu)勢;傳輸距離可達(dá)10米。</p><p> 通過性價(jià)比選擇工作于2.4 GHz~2.5 GHz ISM頻段的無線模塊nRF24Ll01較為合適,</p&g
22、t;<p> 其傳輸距離也足夠日常的音樂欣賞。</p><p> 軟件部分為單片機(jī)程序設(shè)計(jì),主要是對無線模塊軟件設(shè)計(jì)、音頻模塊軟件設(shè)計(jì)和案件控制軟件。其通過KEIL軟件,用C語言來實(shí)現(xiàn)相應(yīng)的功能,并通過U-EC5下載程序。</p><p> 3 無線通信系統(tǒng)的介紹</p><p> 3.1 無線通信系統(tǒng)的構(gòu)成</p><p&
23、gt; 無線通信(Wireless communication)是利用電磁波信號可以在自由空間中傳播的特性進(jìn)行信息交換的一種通信方式。近些年信息通信領(lǐng)域中,發(fā)展最快、應(yīng)用最廣的就是無線通信技術(shù)。</p><p> 利用電磁波作為傳輸介質(zhì)的通信系統(tǒng)稱為無線通信系統(tǒng)。典型的無線通信系統(tǒng)的組成框圖如圖3-1:</p><p> 圖3-1 無線通信系統(tǒng)結(jié)構(gòu)框圖 </p>&l
24、t;p> 可見,無線通信系統(tǒng)一般有發(fā)信機(jī)、收信機(jī)以及與其相連的天線(含饋線)構(gòu)成。</p><p><b> 1.發(fā)信機(jī)</b></p><p> 發(fā)信機(jī)的主要作用是將所要傳送的信號首先對載波信號進(jìn)行調(diào)制,形成已調(diào)載波;</p><p> 已調(diào)載波信號經(jīng)過變頻(有的發(fā)射機(jī)不經(jīng)過這一步驟)成為射頻載波信號,送至功率放大器,經(jīng)功率放大
25、后送至天(饋)線。圖3-2是一種短波發(fā)信機(jī)的組成框圖。</p><p> 圖3-2一種短波發(fā)信機(jī)的組成框圖</p><p><b> 2.天線</b></p><p> 天線是無線通信系統(tǒng)的重要組成部分。其主要作用:是把射頻載波信號變成電磁波或者把電磁波變成射頻載波信號。按照規(guī)范性的定義,“天線就是把導(dǎo)行模式的射頻電流變成擴(kuò)散模式的空間電
26、磁波的傳輸模式轉(zhuǎn)換器,及其逆變換的傳輸模式轉(zhuǎn)換器”。饋線的主要作用:是把發(fā)射機(jī)輸出的射頻載波信號高效地送至天線。這一方面要求饋線的衰耗要?。涣硪环矫嫫渥杩箲?yīng)盡可能與發(fā)射機(jī)的輸出阻抗和天線的輸入的阻抗相匹配。</p><p><b> 3.收信機(jī)</b></p><p> 收信機(jī)的主要作用是把天線接收下來的射頻載波信號首先進(jìn)行低噪聲放大,然后經(jīng)過變頻(一次、兩次甚至
27、三次變頻)、中頻放大和解調(diào)后還原出原始信號,最后經(jīng)低頻放大器放大后輸出。圖3-3是一種短波收信機(jī)的組成框圖。</p><p> 圖3-3 一種短波收信機(jī)的組成框圖 </p><p> 3.2 無線通信工作方式</p><p> 無線通信的工作方式可分為單向通信方式和雙向通信方式兩大類別,而后者又分為單工通信方式、雙工通信方式和半雙工通信方式三種。</
28、p><p><b> 1.單向通信方式</b></p><p> 所謂單向通信方式就是通信雙方中的一方只能接收信號,而另一方只能發(fā)送信號,不能互逆。收信方不能對發(fā)信方直接進(jìn)行信息反饋。例如:陸地移動(dòng)通信系統(tǒng)中的無線尋呼系統(tǒng)就采用這種工作方式。BP機(jī)(或BB機(jī))只能收信而不能發(fā)信,反饋信息只能通過“打電話”間接地來完成。</p><p><
29、b> 2.雙向通信方式</b></p><p> (1) 單工通信方式</p><p> 通信雙方只能交替地進(jìn)行發(fā)信和收信,不能同時(shí)進(jìn)行。如圖3-4所示。</p><p> 圖3-4 單工通信方式示意圖</p><p> 例如:常用的對講機(jī)就采用這種通信方式,平時(shí)天線與收信機(jī)相連接,發(fā)信機(jī)也不工作。當(dāng)一方用戶講話
30、時(shí),接通信時(shí),接通“按-講”開關(guān),天線與發(fā)信機(jī)相連(發(fā)信機(jī)開始工作)。另一方的天線接至收信機(jī),因而可收到對方發(fā)來的信號。</p><p> (2) 全雙工通信方式</p><p> 通信雙方可同時(shí)發(fā)信與收信,即雙方同時(shí)處于收信與發(fā)信狀態(tài)。這時(shí)收信與發(fā)信必須采用不同的工作頻率。用戶使用時(shí)與“打電話”時(shí)的情況一樣。這時(shí)通信雙方的設(shè)備一般通過雙工器來完成這種功能。如下圖3-5所示。</
31、p><p> 圖3-5 全雙工通信方式示意圖</p><p> (3) 半雙工通信方式</p><p> 通信雙方可同時(shí)發(fā)信和收信。但發(fā)信時(shí)要按下“按-講”開關(guān)。如圖3-6所示。</p><p> 圖3-6 半雙工通信方式示意圖</p><p><b> 4 系統(tǒng)硬件設(shè)計(jì)</b><
32、;/p><p> 系統(tǒng)設(shè)計(jì)的初步設(shè)想:在設(shè)計(jì)系統(tǒng)時(shí)先設(shè)計(jì)基于單片機(jī)的音樂播放器,另一塊單片機(jī)通過無線模塊控制音樂播放器的音樂播放。</p><p><b> 4.1 芯片介紹</b></p><p> 4.1.1 51芯片介紹</p><p> 單片機(jī)的全稱是單片微型計(jì)算機(jī)(Single Chip Microcomp
33、uter)。為了使用方便,它把組成計(jì)算機(jī)的主要功能部件:中央處理器(CPU)、數(shù)據(jù)存儲器(RAM)、程序存儲器(ROM、EPROM、E2PROM或FLASH)、定時(shí)/計(jì)數(shù)器和各種輸入/輸出接口電路等都集成在一塊半導(dǎo)體芯片上,構(gòu)成了一個(gè)完整的計(jì)算機(jī)系統(tǒng)。與通用的計(jì)算機(jī)不同,單片機(jī)的指令功能是按照工業(yè)控制的要求設(shè)計(jì),因此它又被稱為微控制器(Microcontroller)。</p><p> MCS是Intel公司
34、單片機(jī)系列的符號。Intel公司推出有MCS-48、MCS-51、MCS-96系列單片機(jī)。其中MCS-51系列單片機(jī)典型機(jī)型包括51和52兩個(gè)子系列。</p><p> 52子系列的主要功能為:</p><p><b> 1、8位CPU。</b></p><p> 2、片內(nèi)帶振蕩器及時(shí)鐘電路。</p><p>
35、3、256B片內(nèi)數(shù)據(jù)存儲器。</p><p> 4、8KB片內(nèi)程序存儲器。</p><p> 5、程序存儲器的尋址范圍為64KB。</p><p> 6、片外數(shù)據(jù)存儲器的尋址范圍為64KB。</p><p> 7、21B特殊功能寄存器。</p><p> 8、4×8根I/O線。</p>
36、<p> 9、1個(gè)全雙工串行I/O接口,可多機(jī)通信。</p><p> 10、3個(gè)16位定時(shí)器/計(jì)數(shù)器。</p><p> 11、中斷系統(tǒng)有8個(gè)中斷源,可編程為兩個(gè)優(yōu)先級。</p><p> 12、111條指令,含乘法指令和除法指令。</p><p><b> 13、布爾處理器。</b></p
37、><p> 14、使用單+5V電源。</p><p> MCS-51具有比較大的尋址空間,地址線寬達(dá)16條,即外部數(shù)據(jù)存儲器和程序存儲器的尋址范圍達(dá)216=64kB,這作為單片機(jī)控制來說已是比較大的,這同時(shí)具備對I/O口的訪問能力。此外,MCS-51采用模塊化結(jié)構(gòu),可方便地增刪一個(gè)模塊就可引腳和指令兼容的新產(chǎn)品,從而容易使產(chǎn)品形成系列化。由于MCS-51集成了幾乎完善的8位中央處理單元,處
38、理功能強(qiáng),中央處理單元中集成了方便靈活的專用寄存器,硬件的加、減、乘、除法器和布爾處理機(jī)及各種邏輯運(yùn)算和轉(zhuǎn)移指令,這給應(yīng)用提供了極大的便利。MCS-51的指令系統(tǒng)近乎完善,指令系統(tǒng)中包含了全面的數(shù)據(jù)傳送指令、完善的算術(shù)和邏輯運(yùn)算指令、方便的邏輯操作和控制指令,對于編程者來說,使用起來相當(dāng)?shù)仂`活和方便。MCS-51單片機(jī)的工作頻率為2~12MHz,當(dāng)振蕩頻率為12MHz時(shí),一個(gè)機(jī)器周期為1μs,這個(gè)速度應(yīng)該說是比較快的。MCS-51中集成
39、了完善的各種中斷源,用戶可十分方便地控制和使用其功能,使得它的應(yīng)用范圍加大,可以說它可以滿足絕大部分的應(yīng)用場合。</p><p> MCS-51系列單片機(jī)優(yōu)異的性能/價(jià)格比使得它從面世以來就獲得用戶的認(rèn)可。本設(shè)計(jì)的應(yīng)用電路中采用了STC公司的STC89C52RC芯片,它與MCS-51單片機(jī)指令集兼容,同時(shí)它的內(nèi)部包含用作程序存儲器的8KB的基于FLASH技術(shù)的只讀存儲器。采用這款芯片既克服了采用8031需要添加
40、外部程序存儲器導(dǎo)致電路復(fù)雜的缺點(diǎn),又克服了采用8751導(dǎo)致電路制作成本高的缺點(diǎn)。</p><p> 52系列I/O腳使用簡單,但高電平時(shí)無輸出能力,可謂有利有弊。故其他系列的單片機(jī)(如PIC系列、AVR系列等)對I/O口進(jìn)行了改進(jìn),增加了方向寄存器以確定輸入或輸出,但使用也變得復(fù)雜。</p><p> 圖4-1 單片機(jī)芯片引腳圖</p><p> 4.1.2
41、nRF24l01無線模塊介紹</p><p> nRF24l01是一款新型單片射頻收發(fā)器件,工作于2.4GHz~2.5GHz ISM頻段。內(nèi)置頻率合成器、功率放大器、晶體振蕩器、調(diào)制器等功能模塊,并融合了增強(qiáng)型ShockBurst技術(shù),其中輸出功率和通信頻道可通過程序進(jìn)行配置。nRF24L01功耗低,在以-6dBm的功率發(fā)射時(shí),工作電流也只有9mA;接收時(shí),工作電流只有12.3 mA,多種低功率工作模式(掉電模
42、式和空閑模式)使節(jié)能設(shè)計(jì)更方便。</p><p> (1)主要特點(diǎn):2.4Ghz全球開放ISM頻段免許可證使用;最高工作速率2Mbps,高效GFSK調(diào)制,抗干擾能力強(qiáng),特別適合工業(yè)控制場合;125頻道,滿足多點(diǎn)通信和跳頻通信需要;內(nèi)置硬件CRC檢錯(cuò)和點(diǎn)對多點(diǎn)通信地址控制;低功耗1.9-3.6V工作,待機(jī)模式下狀態(tài)僅為1uA;內(nèi)置2.4Ghz天線,體積小巧;模塊可軟件設(shè)地址,只有收到本機(jī)地址時(shí)才會輸出數(shù)據(jù)(提供中
43、斷指示),可直接接各種單片機(jī)使用,軟件編程非常方便。</p><p> (2)應(yīng)用領(lǐng)域:遙控、遙測、無線抄表、門禁系統(tǒng)、小區(qū)傳呼、工業(yè)數(shù)據(jù)采集系統(tǒng)、無線標(biāo)簽、身份識別、非接觸RF 智能卡、小型無線數(shù)據(jù)終端、安全防火系統(tǒng)、無線遙控系統(tǒng)、生物信號采集、無線232、無線422/485 數(shù)據(jù)通信等。</p><p><b> (3)接口定義</b></p>
44、<p> 表4-1無線模塊端口定義</p><p> 圖4-2 無線模塊PCB圖</p><p><b> 圖4-3 無線模塊</b></p><p> 4.1.3 LM386芯片介紹</p><p> LM386是美國國家半導(dǎo)體公司生產(chǎn)的音頻功率放大器,主要應(yīng)用于低電壓消費(fèi)類產(chǎn)品。為使外圍元件最少
45、,電壓增益內(nèi)置為20。但在1腳和8腳之間增加一只外接電阻和電容,便可將電壓增益調(diào)為任意值,直至200。輸入端以地位參考,同時(shí)輸出端被自動(dòng)偏置到電源電壓的一半,在6V電源電壓下,它的靜態(tài)功耗僅為24mW,使得LM386特別適用于電池供電的場合。</p><p> 特性:靜態(tài)功耗低,約為4mA,可用于電池供電;工作電壓范圍寬4-12V或5-18V;電壓增益可調(diào)20-200;低失真度。</p><
46、p> 圖4-4 LM386引腳圖</p><p> 4.2 硬件電路模塊設(shè)計(jì)</p><p> 單片機(jī)硬件電路模塊包括單片機(jī)最小系統(tǒng)電路、音頻電路、按鍵電路和顯示電路。</p><p> 4.2.1 單片機(jī)最小系統(tǒng)電路</p><p> STC89C51RC單片機(jī)內(nèi)部自帶一個(gè)構(gòu)成振蕩回路的高增益反相放大器,引腳XTAL1和XT
47、AL2分別是該放大器的輸入端和輸出端。通過這兩個(gè)引腳在芯片外并接石英晶體振蕩器和兩只電容器(電容一般取30pF)。石英晶體為一感性元件,與電容構(gòu)成振蕩回路,為片內(nèi)放大器提供正反饋和振蕩所需的相移條件,從而構(gòu)成一個(gè)穩(wěn)定的自激振蕩器。復(fù)位電路包括片內(nèi),外兩部分。這里我們只要考慮片外復(fù)位部分,它主要有電平方式和脈沖方式兩類,我則采用了按鍵電平復(fù)位方式,通過按鍵RESET,使單片機(jī)復(fù)位端經(jīng)電阻R1與電源VCC接通而實(shí)現(xiàn)對單片機(jī)系統(tǒng)的復(fù)位。其中電
48、阻R2的取值范圍為1~3KΩ,電容C3容量為10~30uF。由于單片機(jī)P0口內(nèi)部沒有上拉電阻,需要外接10K的上拉電阻。這樣,就構(gòu)成單片機(jī)最小系統(tǒng)了。</p><p> 圖4-5 單片機(jī)最小系統(tǒng)電路</p><p> 4.2.2 音頻電路</p><p> 音頻電路由放大器LM386、喇叭部分等組成,電路如下圖3-5所示。</p><p&g
49、t; 圖4-6 音頻電路原理圖</p><p> LM386是一種音頻集成功放,具有自身功耗低、電壓增益可調(diào)整、電源電壓范圍大、外接元件少和總諧波失真小等優(yōu)點(diǎn),這里我查找了相關(guān)資料,采用了其典型的連接方法,即電壓增益20。程序上通過控制單片機(jī)端口輸出一個(gè)高低電位信號,經(jīng)過放大后輸出至喇叭,從而產(chǎn)生報(bào)警功能?;瑒?dòng)電阻起到限流作用,決定輸入信號的強(qiáng)弱。固定電阻和電容一起構(gòu)成一個(gè)濾波模塊,消除干擾 。</p&
50、gt;<p> 4.2.3 按鍵電路</p><p> 在鍵盤接口設(shè)計(jì)上,可通過觸點(diǎn)式開關(guān)把機(jī)械上的通斷轉(zhuǎn)換成為電氣上的邏輯關(guān)系,在按鍵的按下或者釋放時(shí),由于機(jī)械彈性作用,通常伴隨有一定的觸點(diǎn)抖動(dòng)。消除抖動(dòng)引起的誤判,有2方法,一種采用硬件電路,如采用RC、雙穩(wěn)態(tài)觸發(fā)器或者單穩(wěn)態(tài)觸發(fā)器等。但會增加硬件成本及硬件電路的體積。另一種就是采用軟件延時(shí)消除抖動(dòng),其原理是當(dāng)CPU檢測到有按鍵按下時(shí),延時(shí)1
51、0~20ms,再一次查詢確認(rèn)該鍵是否按下。</p><p> 單片機(jī)與鍵盤連接的方式有4種:直接輸入方式、矩陣輸入方式、A/D輸入方式、譯碼器輸入擴(kuò)展方式。由于本設(shè)計(jì)就4個(gè)按鍵,單片機(jī)IO也較多,采用直接輸入方式,即每個(gè)按鍵對應(yīng)一個(gè)IO口,用軟件延時(shí)消除抖動(dòng)。</p><p> 4.2.4 顯示電路</p><p> 液晶LCD1602已很普遍,這里就不具體說
52、了,本設(shè)計(jì)需要顯示歌曲目錄,用數(shù)碼管不好顯示,用液晶LCD12864會使顯示屏幕太大,用LCD1602可顯示歌曲,顯示模塊也不會太大。</p><p> 表4-2 LCD1602接口</p><p><b> 5 系統(tǒng)軟件設(shè)計(jì)</b></p><p><b> 5.1 概述</b></p><p
53、> 系統(tǒng)軟件設(shè)計(jì)總體思路是根據(jù)按鍵選擇,再無線發(fā)送數(shù)據(jù)來控制音樂器播播放和歌曲的顯示,主要程序模塊有無線通信模塊、音樂播放模塊、顯示模塊和按鍵模塊。</p><p> 在設(shè)計(jì)各個(gè)程序模塊時(shí),需要對各個(gè)模塊進(jìn)行劃分。模塊的劃分有很大的靈活性,但也不能隨意劃分,模塊劃分時(shí)應(yīng)遵循以下原則:(1)每個(gè)模塊應(yīng)具有獨(dú)立的功能,能產(chǎn)生明確的結(jié)果,這就是單模塊功能的高內(nèi)聚性。(2)模塊間的控制耦合應(yīng)盡量簡單,模塊間的數(shù)
54、據(jù)耦合應(yīng)盡量少,這就是模塊間的低耦合性。(3)模塊長度適中,模塊語句的長度通常在20~100條的范圍較合適。</p><p> 模塊化程序設(shè)計(jì)是按自上而下的過程進(jìn)行的,主模塊即為總模塊,然后是多層次的子模塊。在進(jìn)行模塊劃分時(shí),應(yīng)首先弄清楚每個(gè)模塊所需完成的功能、數(shù)據(jù)結(jié)構(gòu)以及與其它模塊之間的關(guān)系。其次是對主要任務(wù)再進(jìn)一步細(xì)化,把一些專用的子任務(wù)再劃分給下一級即第二級子模塊去完成,這時(shí)也需要清楚它們間的相互關(guān)系。按
55、這種方法一直細(xì)分成易于理解和實(shí)現(xiàn)的小模塊為止。</p><p> 模塊說明應(yīng)包括實(shí)現(xiàn)模塊功能所用的基本算法,模塊入口算法、出口參數(shù),模塊的數(shù)據(jù)結(jié)構(gòu)及調(diào)用子程序等。一般有了層次圖和模塊說明后,劃分模塊的工作也就算完成了。</p><p> 實(shí)際的應(yīng)用程序一般都由一個(gè)主程序(包括若干個(gè)功能模塊)和多個(gè)子程序構(gòu)成,每個(gè)功能程序模塊都能完成某一明確的任務(wù),實(shí)現(xiàn)具體的某一功能,如顯示、打印等。采
56、用這種模塊化的程序設(shè)計(jì)方法,有下述優(yōu)點(diǎn):(1)單一模塊結(jié)構(gòu)的程序功能單一,因而易于編寫、調(diào)試和修改。(2)便于分工,可有多個(gè)程序員同時(shí)編寫、調(diào)試,加快軟件研制進(jìn)度。(3)程序可讀性好,便于功能擴(kuò)充和版本升級。(4)程序的修改可局部進(jìn)行,而其它部分則可相對保持不變。(5)使用頻繁的子程序可以匯編成子程序庫,以便于多個(gè)模塊調(diào)用。5.2 主程序設(shè)計(jì)</p><p> 開始時(shí),按發(fā)射部分的開始按鍵才能開始真正工作,顯示
57、模塊則會顯示welcome,再按上翻鍵或者下翻鍵,播放上一首歌或者下一首歌,顯示模塊則會顯示英文歌曲名。</p><p> 單片機(jī)發(fā)射部分以此調(diào)用鍵盤掃描子程序,無線發(fā)射程序,數(shù)據(jù)發(fā)射成功后再返回程序開頭循環(huán)運(yùn)行,其發(fā)射程序流程圖如下:</p><p> 圖4-7 發(fā)射程序流程圖</p><p> 單片機(jī)接收部分先調(diào)用無線接收程序,數(shù)據(jù)收到后產(chǎn)生一個(gè)外部中斷,
58、由單片機(jī)的主程序讀取接收數(shù)據(jù),再做判斷是否要調(diào)用音樂程序、顯示程序。其中斷程序主要是接收到數(shù)據(jù)后,把數(shù)據(jù)寫入接收緩沖區(qū),再開外部中斷。其接收部分流程圖如下:</p><p> 圖4-8 接收程序流程圖</p><p> 5.3 無線通信程序</p><p> 兩個(gè)模塊要通信時(shí),一個(gè)要設(shè)為發(fā)送,另一個(gè)接收。無線通信模塊與單片機(jī)之間的數(shù)據(jù)傳輸是模擬SPI總線的。&
59、lt;/p><p> SPI總線系統(tǒng)是一種同步串行外設(shè)接口,它可以使MCU與各種外圍設(shè)備以串行方式進(jìn)行通信以交換信息。外圍設(shè)置FLASHRAM、LCD顯示驅(qū)動(dòng)器、A/D轉(zhuǎn)換器和MCU等。SPI總線系統(tǒng)可直接與各個(gè)廠家生產(chǎn)的多種標(biāo)準(zhǔn)外圍器件直接接口,該接口一般使用4條線:串行時(shí)鐘線(SCK)、主機(jī)輸入/從機(jī)輸出數(shù)據(jù)線MISO、主機(jī)輸出/從機(jī)輸入數(shù)據(jù)線MOSI和低電平有效的從機(jī)選擇線SS(有的SPI接口芯片帶有中斷信號
60、線INT、有的SPI接口芯片沒有主機(jī)輸出/從機(jī)輸入數(shù)據(jù)線MOSI)。</p><p> SPI的通信原理很簡單,它以主從方式工作,這種模式通常有一個(gè)主設(shè)備和一個(gè)或多個(gè)從設(shè)備,需要至少4根線,事實(shí)上3根也可以(用于單向傳輸時(shí),也就是半雙工方式)。也是所有基于SPI的設(shè)備共有的,它們是MOSI(數(shù)據(jù)輸入),MSIO(數(shù)據(jù)輸出),SCK(時(shí)鐘),CSN(片選)。</p><p> ?。?)MO
61、SI– 主設(shè)備數(shù)據(jù)輸出,從設(shè)備數(shù)據(jù)輸入</p><p> (2)MISO– 主設(shè)備數(shù)據(jù)輸入,從設(shè)備數(shù)據(jù)輸出</p><p> ?。?)SCLK – 時(shí)鐘信號,由主設(shè)備產(chǎn)生</p><p> ?。?)CSN – 從設(shè)備使能信號,由主設(shè)備控制</p><p> 其中CSN是控制芯片是否被選中的,也就是說只有片選信號為預(yù)先規(guī)定的使能信
62、號時(shí)(高電位或低電位),對此芯片的操作才有效。這就允許在同一總線上連接多個(gè)SPI設(shè)備成為可能。</p><p> 接下來就負(fù)責(zé)通訊的3根線了。通訊是通過數(shù)據(jù)交換完成的,這里先要知道SPI是串行通訊協(xié)議,也就是說數(shù)據(jù)是一位一位的傳輸?shù)?。這就是SCK時(shí)鐘線存在的原因,由SCK提供時(shí)鐘脈沖,MOSI,MISO則基于此脈沖完成數(shù)據(jù)傳輸。數(shù)據(jù)輸出通過 MISO線,數(shù)據(jù)在時(shí)鐘上升沿或下降沿時(shí)改變,在緊接著的下降沿或上升沿被
63、讀取。完成一位數(shù)據(jù)傳輸,輸入也使用同樣原理。這樣,在至少8次時(shí)鐘信號的改變(上沿和下沿為一次),就可以完成8位數(shù)據(jù)的傳輸。下兩副圖為SPI的讀寫操作。</p><p> 圖4-9 SPI讀操作</p><p> 圖4-10 SPI寫操作</p><p> 通信程序基本上是將單片機(jī)數(shù)據(jù)寫入無線模塊或者讀取無線模塊內(nèi)的數(shù)據(jù),在接收部分,無線模塊接收到數(shù)據(jù)后其I
64、RQ引腳產(chǎn)生一個(gè)低電平,這樣,把IRQ引腳接到單片機(jī)外部中斷腳就可以利用中斷法來讀取數(shù)據(jù),提高單片機(jī)工作效率。下面為中斷設(shè)置,詳細(xì)程序說明見附錄程序。</p><p> EA=1; //中斷開啟</p><p> ET0=1; //允許定時(shí)器TO<
65、/p><p> IT0=0; //外部中斷為低電平觸發(fā)</p><p> EX0=1; //允許外部中斷0</p><p> PX0=1; //外部中斷0為高優(yōu)先級&l
66、t;/p><p><b> 5.4 音樂程序</b></p><p> 要產(chǎn)生音頻脈沖,只要算出某一音頻的脈沖(1/頻率),然后將此周期除以2,即為半周期的時(shí)間,利用定時(shí)器計(jì)時(shí)這個(gè)半周期的時(shí)間,每當(dāng)計(jì)時(shí)到后就將輸出脈沖的I/O反相,然后重復(fù)計(jì)時(shí)此半周期的時(shí)間再對I/O反相,就可以在I/O腳上得到此頻率的脈沖。利用STC80C52RC的內(nèi)部定時(shí)器使其工作在計(jì)數(shù)器模式1下
67、,改變計(jì)數(shù)值TH0及TL0以產(chǎn)生不同頻率的方法如下:</p><p> 例如,頻率為523Hz,其周期為1/523 s=1912us,因此只要令計(jì)數(shù)器計(jì)時(shí)956us/1us=956,在每計(jì)數(shù)956次時(shí)就將I/O反接,就可得到中音DO(532Hz)。</p><p> 計(jì)數(shù)脈沖值與頻率的關(guān)系公式如下:</p><p> N=Fi/2/Fr </p>
68、<p> ?。∟:計(jì)數(shù)值,F(xiàn)i:內(nèi)部計(jì)時(shí)一次為1uS,故其頻率為1MHz,F(xiàn)r:要產(chǎn)生的頻率 )</p><p> 其計(jì)數(shù)值的求法如下:</p><p> T=65536-N=65536-Fi/2/Fr</p><p> C調(diào)個(gè)音符頻率與計(jì)數(shù)值T的對照表如下表所示:</p><p> 表4-3 C調(diào)個(gè)音符頻率與計(jì)數(shù)值T的
69、對照表</p><p> 每個(gè)音符使用1個(gè)字節(jié),字節(jié)的高4位代表音符的高低,低4位代表音符的節(jié)拍,下表為節(jié)拍碼的對照。但如果1拍為0.4秒,1/4拍是0.1秒,只要設(shè)定延遲時(shí)間就可求得節(jié)拍的時(shí)間。假設(shè)1/4節(jié)拍為1DELAY,則1拍應(yīng)為4DELAY,以此類推。所以只要求得1/4拍的DELAY時(shí)間,其余的節(jié)拍就是它的倍數(shù),如下表為1/4和1/8節(jié)拍的時(shí)間設(shè)定及各調(diào)節(jié)拍的時(shí)間設(shè)定表。</p><
70、p> 表4-4 節(jié)拍碼對照表</p><p> 表4-5各調(diào)節(jié)拍的時(shí)間設(shè)定表</p><p> 下面再說明如何建立音樂代碼庫:</p><p> (1)先建立頻率-半周期數(shù)據(jù)表,即單片機(jī)定時(shí)器的取值表,如下:</p><p> 定時(shí)器高八位的取值表 </p><p> code unsigned ch
71、ar FREQH[]={0xF2,0xF3,0xF5,0xF5,0xF6,0xF7,0xF8, //低音1234567</p><p> 0xF9,0xF9,0xFA,0xFA,0xFB,0xFB,0xFC,0xFC, //1,2,3,4,5,6,7</p><p> 0xFC,0xFD,0xFD,0xFD,0xFD,0xFE, //高音 234567</p>
72、<p> 0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFF, //超高音 1234567</p><p><b> } ;</b></p><p> 定時(shí)器低八位的取值表</p><p> code unsigned char FREQL[]={0x42,0xC1,0x17,0xB6,0xD0,0xD1,
73、0xB6,//低音1234567</p><p> 0x21,0xE1,0x8C,0xD8,0x68,0xE9,0x5B,0x8F, //1,2,3,4,5,6,7</p><p> 0xEE,0x44, 0x6B,0xB4,0xF4,0x2D,//高音 234567</p><p> 0x47,0x77,0xA2,0xB6,0xDA,0xFA,0x16,//
74、超高音 1234567</p><p><b> };</b></p><p> ?。?)再建立音樂數(shù)據(jù)表</p><p> 以世上只有媽媽好為例來說明,如下:</p><p> code unsigned char sszymmh[] = {</p><p> 6, 2, 3, 5, 2
75、, 1, 3, 2, 2, 5, 2, 2, 1, 3, 2, 6, 2, 1, 5, 2, 1, </p><p> //一個(gè)音符有三個(gè)數(shù)字。前為第幾個(gè)音、中為第幾個(gè)八度、后為時(shí)長(以半拍為單位)。</p><p> //6, 2, 3代表:6, 中音, 3個(gè)半拍;</p><p><b> ···</b>
76、</p><p> 0, 0, 0};//0,0,0,代表歌曲播放結(jié)束;</p><p> (3)通過公式設(shè)定就可讀出頻率值,從而發(fā)出聲音。如下所示:</p><p> k = sszymmh[i] + 7 * sszymmh[i + 1] + 6 //第i個(gè)是音符, 第i+1個(gè)是第幾個(gè)八度</p><p> timer0
77、h = FREQH[k]; //從數(shù)據(jù)表中讀出頻率數(shù)值</p><p> timer0l = FREQL[k]; //實(shí)際上, 是定時(shí)的時(shí)間長度 time = sszymmh[i + 2]; //讀出時(shí)
78、間長度數(shù)值</p><p> i += 3; </p><p> song(); //發(fā)出一個(gè)音符</p><p> 該song()
79、就是把頻率數(shù)值表賦值給計(jì)數(shù),計(jì)數(shù)一到就中斷即可。下圖為音樂程序流程圖。</p><p> 圖4-11 音樂程序流程圖 </p><p><b> 5.5鍵盤輸入程序</b></p><p> 在本設(shè)計(jì)中,發(fā)射模塊電路開始工作時(shí),不斷地掃描P2口判斷是否有鍵按下,圖4-2為鍵盤程序流
80、程圖。</p><p> 圖4-12 鍵盤程序流程圖</p><p> 5.6 LCD顯示程序設(shè)計(jì) </p><p> 作為人機(jī)借口的顯示設(shè)備LCD,在本設(shè)計(jì)中可以顯示歌曲名稱,由于1602只能同時(shí)顯示16x2即32個(gè)字符,而且顯示中文字體也不好,所以本設(shè)計(jì)就直接顯示歌曲的拼音,且調(diào)用也方面。</p><p><b> 6
81、系統(tǒng)調(diào)試</b></p><p> 調(diào)試工作可分硬件調(diào)試和軟件調(diào)試兩個(gè)部分,調(diào)試方法如下:</p><p> 首先,硬件調(diào)試主要是先制作硬件電路板,然后用萬用表等工具對電路檢查,最后應(yīng)用程序進(jìn)行功能調(diào)試。硬件調(diào)試比較費(fèi)時(shí),需要細(xì)心和耐心,也需要熟練掌握電路原理。</p><p> 然后,用仿真軟件進(jìn)行軟件調(diào)試,比如單片機(jī)C51編輯軟件KEIL,該軟
82、件提供一個(gè)集成開發(fā)環(huán)境uVision,它包括C編輯器、宏編輯器、連接器、庫管理和一個(gè)功能強(qiáng)大的仿真調(diào)試器。通過編譯、運(yùn)行,可以檢查程序錯(cuò)誤。但應(yīng)用此方法,仍需要十分了解所使用元器件的工作方式和管腳連接方式。</p><p><b> 6.1 硬件調(diào)試</b></p><p> 主要包括對單片機(jī)STC89C52RC、輔助電源電路、顯示電路、鍵盤電路、無線通信模塊和音
83、頻電路的調(diào)試。檢查線路故障和其他硬件故障,以防出現(xiàn)電路短路、斷路,并測試各個(gè)點(diǎn)的各項(xiàng)測試是否滿足課題的要求。在顯示電路要注意電源是否接反,是否很容易燒掉1602模塊,而且1602顯示模塊的三腳一定要接上10K的滑動(dòng)變阻器來調(diào)節(jié)字體的亮度。作為驅(qū)動(dòng)晶體管的三級管8550是否在焊接過程中由于焊接方式的不當(dāng)而被燒壞。接到無線模塊的電壓先要經(jīng)過測試是否達(dá)到要求,否則由于高電壓而燒壞無線模塊。</p><p><b&
84、gt; 6.2 軟件調(diào)試</b></p><p> 主要檢查軟件的語法錯(cuò)誤、無線通信的正確性、顯示是否正常和歌曲正確播放,如表6-1所示。在本次設(shè)計(jì)中,起先對無線模塊不是很了解,設(shè)置通信不對導(dǎo)致無法建立無線通信。</p><p> 表6-1 調(diào)試各按鍵功能表及調(diào)試結(jié)果</p><p><b> 7 總結(jié)與展望</b><
85、/p><p> 實(shí)現(xiàn)無線音樂播放的方法有很多,這個(gè)設(shè)計(jì)只是其中的一種。而且市場上的音樂播放器種類繁多,再加上顯示的硬件電路越來越人性化。所以這個(gè)無線音樂播放系統(tǒng)還可以更加的人性化,更加的智能化,可以增加其他的模塊用于生活需要,比如時(shí)鐘模塊、音樂無線下載、接收與發(fā)射自由轉(zhuǎn)換等等。</p><p> 本文所設(shè)計(jì)的系統(tǒng),采用了性能較為強(qiáng)勁的STC89C52RC單片機(jī)和增強(qiáng)型的無線模塊nRF24L
86、01,其無線模塊含有增強(qiáng)型ShockBurst技術(shù),其中輸出功率和通信頻道可通過程序進(jìn)行配置,總系統(tǒng)具有以下優(yōu)點(diǎn):</p><p> 1)反應(yīng)快,從按鍵功能選擇到播放顯示,基本是實(shí)時(shí)性。</p><p> 2)通用性好,能夠較為容易插入不同的音樂代碼。</p><p> 3)可拓展性強(qiáng),設(shè)計(jì)軟件程序時(shí),使用模塊化設(shè)計(jì),便以日后升級。</p>&l
87、t;p><b> 4)良好經(jīng)濟(jì)性。</b></p><p> 由于時(shí)間和作者本身知識水平的限制,沒有更好的發(fā)揮各個(gè)芯片的性能,相互間的無線模塊接收、發(fā)送還不能轉(zhuǎn)換,也還暫時(shí)不能使歌曲代碼完全發(fā)送。本系統(tǒng)僅完成了基本的功能,希望在能在未來的時(shí)間里,進(jìn)一步深入地改善系統(tǒng)的設(shè)計(jì),使系統(tǒng)在多個(gè)模塊間可以方便快捷的傳輸音樂內(nèi)容代碼。還可以添加存儲容量和錄音功能,這樣更能表達(dá)一個(gè)完整的無線音樂
88、播放器。</p><p> 通過本次設(shè)計(jì),對單片機(jī)的內(nèi)部模塊更加熟悉,使用上也更加的清晰,對于今后用單片機(jī)設(shè)計(jì)產(chǎn)品提供了極大的幫助,并且培養(yǎng)了良好的編程習(xí)慣,對子程序命名的規(guī)范,和對寄存器的使用上,有了一定的良好意識,也鍛煉了我的自學(xué)能力和動(dòng)手實(shí)踐能力。</p><p><b> 致謝</b></p><p> 在畢業(yè)設(shè)計(jì)的時(shí)間里,從開始
89、的一無措,到現(xiàn)在完成整個(gè)系統(tǒng)的設(shè)計(jì)和仿真。在整個(gè)過程中,不僅是一次所學(xué)知識的整理,更是一次動(dòng)手能力的提升。</p><p> 在論文完成之際,我要特別感謝我的指導(dǎo)老師謝勝利老師的熱情關(guān)懷和悉心指導(dǎo)。從開始的一無措,到現(xiàn)在完成整個(gè)系統(tǒng)的設(shè)計(jì)和撰寫論文的過程中,謝老師傾注了大量的心血和汗水,無論是在論文的選題、構(gòu)思和資料的收集方面,還是在論文的研究方法以及成文定稿方面,我都得到了謝老師悉心細(xì)致的教誨和無私的幫助,特
90、別是他廣博的學(xué)識、深厚的學(xué)術(shù)素養(yǎng)、嚴(yán)謹(jǐn)?shù)闹螌W(xué)精神和一絲不茍的工作作風(fēng)使我終生受益,在此表示真誠地感謝和深深的謝意。</p><p> 最后,感謝對本文成文給與過幫助的所有老師、同學(xué)和朋友。</p><p><b> 參考文獻(xiàn)</b></p><p> [1] 朱益,運(yùn)呂楊.基于CC2430的智能家居ZigBee無線數(shù)傳設(shè)計(jì)與實(shí)
91、現(xiàn)[J].云南大學(xué)學(xué)報(bào)(自然科學(xué)版),2009,31(1):114~115.</p><p> [2] 魏克新,馬中原,冷建偉.基于無線數(shù)傳的海上采油平臺監(jiān)控系統(tǒng)[J].電氣傳動(dòng),2009,10(39):67~71.</p><p> [3] 施雯,王暢.基于nRF2401的發(fā)動(dòng)機(jī)轉(zhuǎn)速測量系統(tǒng)[J].公路與汽運(yùn),2008,6:5~8.</p><
92、;p> [4] 周鴻福.Wireless Communication Design in Water Factory Monitor System by Sockets[J].WiCOM'08.4th International Conference.2008:1~5.</p><p> [5] 黃振杰,盧小冰.基于AT89S52 單片機(jī)的多功能音樂播放器.電子設(shè)計(jì)工程[J],2
93、009,2:17~21.</p><p> [6] 劉斌,熊光潔,吳雪等.基于單片機(jī)無線通信的應(yīng)急交通控制研究[J] .微計(jì)算機(jī)信息,2009,32(25):115~117.</p><p> [7] HE Jinghan,REN Yingli ,BO Zhiqian, Klimek Adrew.Advanced Communication System in Substa
94、tion for Integrated Protection[J].Transactions of Tianjin University.2008,14:128~133. </p><p> [8] 鄭啟忠,朱宏輝,耿四軍等.系統(tǒng)級RF芯片nRF24E1收發(fā)原理與應(yīng)用編程 [J].新器件新技術(shù),2004,07:42~45.</p><p> [9] 陳麗娟,
95、常丹華.基于nRF2401芯片的無線數(shù)據(jù)通信[J].電子器件,2006,03:249~250.</p><p> [10] 張崇,于曉琳,劉建平.單片2.4GHz無線收發(fā)一體芯片nRF2401 及其應(yīng)用[J].國外電子元器件,2004,06:34~36.</p><p> [11] 喻金錢,喻斌.段距離無線通信[M].北京航空航天大學(xué)出版社,2009:120~1
96、48.</p><p> [12] Long Hainan,Liu Zhiqiang.Design Wireless Data Transmission System for Small Hydropower Stations Based on nRF24L01[J].The 1st International Conference on Information Science and Engine
97、ering</p><p> , 2009, 4008~4010.</p><p><b> 附錄Ⅰ 原理圖</b></p><p><b> 附錄Ⅱ 元器件清單</b></p><p><b> 附錄Ⅲ 源程序清單</b></p><p>
98、1. 發(fā)送程序代碼:</p><p> #include <reg51.h></p><p> #include <intrins.h></p><p> #include "api.h"</p><p> #define uint unsigned int</p><p
99、> #define uchar unsigned char</p><p> #define TX_ADR_WIDTH 5 // 5 字節(jié) TX(RX) 地址寬度</p><p> #define TX_PLOAD_WIDTH 1 // 1字節(jié)發(fā)送數(shù)據(jù)寬度 </p><p> uchar const TX_ADDRESS[TX_ADR_
100、WIDTH] = {0x34,0x43,0x10,0x10,0x01}; // 定義一個(gè)靜態(tài)發(fā)送地址 TX_address</p><p> uchar rx_buf[TX_PLOAD_WIDTH];</p><p> uchar tx_buf[TX_PLOAD_WIDTH]={0x00};</p><p> /***********************
101、****nrf24l01管腳設(shè)置********************************/</p><p> sbit CE = P1^0;</p><p> sbit SCK= P1^1;</p><p> sbit MISO= P1^2;</p><p> sbit IRQ = P1^3;</p><
102、;p> sbit MOSI= P1^4;</p><p> sbit CSN= P1^5;</p><p> /******************狀態(tài)標(biāo)志********************************/</p><p> uchar bdata sta;</p><p> sbitRX_DR=sta
103、^6; </p><p> sbitTX_DS=sta^5;</p><p> sbitMAX_RT=sta^4;</p><p> /**************************************************/</p><p><b> /*功能描述</b></p>
104、<p> 芯片使能(準(zhǔn)備發(fā)送或接收模式)****************/</p><p> /**************************************************/</p><p> void init_io(void)</p><p><b> {</b></p><
105、p> CE=0;// 芯片使能</p><p> CSN=1;// 片選</p><p> SCK=0;// 啟動(dòng)時(shí)鐘</p><p><b> }</b></p><p> /*****************************毫秒延時(shí)***************/</p
106、><p> void delay_ms(unsigned int x)</p><p><b> {</b></p><p> unsigned int i,j;</p><p> for(i=0;i<x;i++)</p><p><b> {</b></p
107、><p><b> j=108;</b></p><p> while(j--);</p><p><b> }</b></p><p><b> }</b></p><p> /**********************************
108、*****************************************/函數(shù): SPI_RW();NRF24L01的SPI寫時(shí)序</p><p><b> 功能:</b></p><p> 根據(jù)SPI協(xié)議向nRF24L01寫入一個(gè)字節(jié)數(shù)據(jù),并在寫數(shù)據(jù)時(shí)返回讀取的nRF24L01的數(shù)據(jù)</p><p> /***********
109、*****************************************************************/</p><p> uchar SPI_RW(uchar byte)</p><p><b> {</b></p><p> uchar bit_ctr;</p><p> for(
110、bit_ctr=0;bit_ctr<8;bit_ctr++) </p><p><b> {</b></p><p> MOSI = (byte & 0x80); </p><p> byte = (byte << 1); </p><p> SCK
111、= 1; </p><p> byte |= MISO; </p><p> SCK = 0; </p><p><b> }</b></p><p> return(byte); </p>
112、;<p><b> }</b></p><p> /**************************************************</p><p> 函數(shù): SPI_RW_Reg();</p><p><b> 功能:</b></p><p> 把val
113、ue 值寫入reg寄存器</p><p> /**************************************************/</p><p> uchar SPI_RW_Reg(uchar reg, uchar value)</p><p><b> {</b></p><p> ucha
114、r status;</p><p> CSN = 0; // CSN低, SPI使能</p><p> status = SPI_RW(reg); //選擇寄存器</p><p> SPI_RW(value); // 寫入value值</p><p> CSN =
115、1; // CSN為高,SPI關(guān)閉</p><p> return(status); // 返回 nRF24L01狀態(tài)寄存器的值</p><p><b> }</b></p><p> /***********************************************
116、***</p><p> 函數(shù): SPI_Write_Buf();</p><p><b> 功能:</b></p><p> 用于寫數(shù)據(jù),reg為寄存器地址,pBuf為待寫入數(shù)據(jù)地址,bytes待入寫數(shù)據(jù)個(gè)數(shù)</p><p> /*****************************************
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于nrf24l01的無線音樂播放器設(shè)計(jì)
- 基于nrf24l01無線測溫系統(tǒng)的設(shè)計(jì)【畢業(yè)論文】
- 畢業(yè)論文基于nrf24l01模塊的無線通信系統(tǒng)設(shè)計(jì)
- 基于NRF24L01無線監(jiān)控系統(tǒng)的設(shè)計(jì).pdf
- 畢業(yè)論文(設(shè)計(jì))基于nrf24l01的單片機(jī)無線通信研究
- 畢業(yè)論文-基于51單片機(jī)和nrf24l01的無線溫度監(jiān)控
- 基于nrf24l01的無線接收與發(fā)送系統(tǒng)【畢業(yè)設(shè)計(jì)】
- 基于nRF24L01的無線溫度采集系統(tǒng)設(shè)計(jì).pdf
- 基于nrf24l01的無線傳感器網(wǎng)絡(luò)研究
- 畢業(yè)論文(設(shè)計(jì))research of microcontrollers wireless communication based on nrf24l01
- 基于nRF24L01的礦用搜救器設(shè)計(jì).pdf
- 基于nrf24l01無線測溫系統(tǒng)的設(shè)計(jì)[開題報(bào)告]
- 基于nRF24L01的無線傳感器網(wǎng)絡(luò)研究.pdf
- 基于nrf24l01無線測溫系統(tǒng)的設(shè)計(jì)[任務(wù)書]
- 開題報(bào)告--基于nrf24l01的無線溫度采集系統(tǒng)設(shè)計(jì)
- NRF24l01無線232通信.rar
- 基于nRF24L01的無線振動(dòng)檢測系統(tǒng).pdf
- 基于nRF24L01的無線心音遙測系統(tǒng)的研究.pdf
- NRF24L01模塊.rar
- NRF24L01模塊.rar
評論
0/150
提交評論