版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 本科生畢業(yè)論文(設(shè)計(jì)) </p><p> 中文題目: 基于凌陽(yáng)單片機(jī)的通信系統(tǒng)設(shè)計(jì) </p><p> 英文題目: Sunplus based communication system design </p><p><b> 摘 要</b></p>
2、<p> 本設(shè)計(jì)是基于單片機(jī)控制的短距離無(wú)線語(yǔ)音通信系統(tǒng),具有抗干擾性能強(qiáng),可靠性高,安全性好,受地理?xiàng)l 件限制少,安裝靈活等優(yōu)點(diǎn),在許多領(lǐng)域有著廣泛的應(yīng)用前景。本系統(tǒng)采用凌陽(yáng) SPEC061A 單片機(jī)的語(yǔ)音功能,借助 NRF24L01的無(wú)線收發(fā)模塊,實(shí)現(xiàn)簡(jiǎn)易的雙向無(wú)線語(yǔ)音傳輸功能。隨著單片機(jī)功能集成化的發(fā)展,其應(yīng)用領(lǐng)域也逐漸地由傳統(tǒng)的控制,擴(kuò)展為控制處理、 數(shù)據(jù)處理以及數(shù)字信號(hào)處理等領(lǐng)域。</p><p
3、> 關(guān)鍵詞:凌陽(yáng) SPEC061A;NRF24L01;單片機(jī);無(wú)線語(yǔ)音傳輸</p><p><b> Abstract</b></p><p> This design is based on single-chip microcomputer control short-range wireless voice communication system,
4、 has the strong anti-jamming performance, high reliability, good safety, less influenced by geographic restrictions, installation, flexible, and other advantages in many fields has wide application prospects. The system
5、USES the SPEC061A MCU speech function of sunplus, by NRF24L01 wireless traNsceiver module, achieve simple two-way radio voice transmission function. Along with the developmen</p><p><b> 朗讀</b>&l
6、t;/p><p> 顯示對(duì)應(yīng)的拉丁字符的拼音</p><p> 字典 - 查看字典詳細(xì)內(nèi)容</p><p><b> 名詞 </b></p><p><b> summary</b></p><p><b> abstract</b></p&
7、gt;<p><b> 朗讀</b></p><p> 顯示對(duì)應(yīng)的拉丁字符的拼音</p><p> Keywords:LingYang SPEC061A; NRF24L01; Microcontroller; wireless voice traNsmission</p><p><b> 目 錄</
8、b></p><p><b> 摘要</b></p><p><b> 目錄</b></p><p><b> 第一章 緒論</b></p><p> 1.1短距離無(wú)線通信研究背景與現(xiàn)狀分析1</p><p> 1.2短距離無(wú)線通信技
9、術(shù)1</p><p> 第二章 SPCE061A 凌陽(yáng)單片機(jī)簡(jiǎn)介4</p><p> 2.1凌陽(yáng)16 位單片機(jī)4</p><p> 2.2 SPCE061A 簡(jiǎn)介5</p><p> 第三章 系統(tǒng)硬件設(shè)計(jì)12</p><p> 3.1 61板原理圖及基本組成介紹12</p>&
10、lt;p> 3.2 單片2.4GHz NRF24L01 無(wú)線模塊19</p><p> 第四章 系統(tǒng)軟件設(shè)計(jì)23</p><p> 4.1 軟件設(shè)計(jì)23</p><p> 4.2 系統(tǒng)測(cè)試24</p><p> 第五章 無(wú)線通信系統(tǒng)程序25</p><p> 第六章 系統(tǒng)運(yùn)行結(jié)果35
11、</p><p> 6.1系統(tǒng)運(yùn)行結(jié)果35</p><p> 第七章 結(jié)束語(yǔ).41</p><p><b> 參考文獻(xiàn)42</b></p><p><b> 致 謝43</b></p><p><b> 第一章 緒論</b><
12、/p><p> 1.1短距離無(wú)線通信研究背景與現(xiàn)狀分析</p><p> 工業(yè)應(yīng)用中,現(xiàn)階段基本上都是以有線的方式進(jìn)行連接,實(shí)現(xiàn)各種控制功能。各種總線技術(shù),局域網(wǎng)技術(shù)等有線網(wǎng)絡(luò)的使用的確給人們的生產(chǎn)和生活帶來(lái)了便利,改變了我們的生活,對(duì)社會(huì)的發(fā)展起到了極大的推動(dòng)作用。有線網(wǎng)絡(luò)速度快, 數(shù)據(jù)流量大,可靠性強(qiáng),對(duì)于基本固定的設(shè)備來(lái)說(shuō)無(wú)疑是比較理想的選擇,的確在實(shí)際應(yīng)用中也達(dá)到了比較滿意的效果。
13、但隨著射頻技術(shù)、集成電路技術(shù)的發(fā)展,無(wú)線通信功能的實(shí)現(xiàn)越來(lái)越容易,數(shù)據(jù)傳輸速度也越來(lái)越快,并且逐漸達(dá)到可以和有線網(wǎng)絡(luò)相媲美的水平。而同時(shí)有線網(wǎng)絡(luò)布線麻煩,線路故障難以檢查,設(shè)備重新布局就要重新布線,且不能隨意移動(dòng)等缺點(diǎn)越發(fā)突出。在向往自由和希望隨時(shí)隨地進(jìn)行通信的今天,人們把目光轉(zhuǎn)向了無(wú)線通信方式,尤其是一些機(jī)動(dòng)性要求較強(qiáng)的設(shè)備,或人們不方便隨時(shí)到達(dá)現(xiàn)場(chǎng)的條件下。因此出現(xiàn)一些典型的無(wú)線應(yīng)用,如:無(wú)線智能家居,無(wú)線抄表,無(wú)線點(diǎn)菜,無(wú)線數(shù)據(jù)采
14、集,無(wú)線設(shè)備管理和監(jiān)控,汽車儀表數(shù)據(jù)的無(wú)線讀取等等。短距離無(wú)線通信技術(shù)的范圍很廣,在一般意義上,只要通信收發(fā)雙方通過(guò)無(wú)線電波傳輸信息,并且傳輸距離限制在較短的范圍內(nèi),通常是幾十米以內(nèi),就可以稱為短距離無(wú)線通信。低成本、低功耗和對(duì)等通信, 是短</p><p> 1.2 短距離無(wú)線通信技術(shù)</p><p> 短距離無(wú)線通信實(shí)用技術(shù)主要有:紅外技術(shù),藍(lán)牙技術(shù),802.11b 無(wú)線局域 網(wǎng)標(biāo)
15、準(zhǔn)技術(shù),微功率短距離無(wú)線通信技術(shù),現(xiàn)簡(jiǎn)介如下。</p><p> 1.2.1 紅外技術(shù)</p><p> 紅外遙控技術(shù)是一種利用紅外線進(jìn)行點(diǎn)對(duì)點(diǎn)通信的技術(shù),其相應(yīng)的軟件和硬 件技術(shù)都已比較成熟。它一般由紅外發(fā)射和接收系統(tǒng)兩部分組成。發(fā)射系統(tǒng)對(duì)一 個(gè)紅外輻射源進(jìn)行調(diào)制后發(fā)射紅外信號(hào),而接收系統(tǒng)用光學(xué)裝置和紅外探測(cè)器進(jìn) 行接收,就構(gòu)成紅外通信系統(tǒng)。</p><p>
16、 它在技術(shù)上的主要優(yōu)點(diǎn)是:1、無(wú)需專門申請(qǐng)?zhí)囟l率的使用執(zhí)照;2、具有 移動(dòng)通信設(shè)備所必需的體積小、功率低的特點(diǎn);3、傳輸速率適合于家庭和辦公室使用的網(wǎng)絡(luò);4、信號(hào)無(wú)干擾,傳輸準(zhǔn)確度高;5、成本低廉。它的缺點(diǎn)是:1、 由于它是一種視距傳輸技術(shù),采用點(diǎn)到點(diǎn)的連接,具有方向性,兩個(gè)設(shè)備之間如 果傳輸數(shù)據(jù),中間就不能有阻擋物; 2、通訊距離較短,紅外線 LED 不是一種十分耐用的器件;3、紅外射束易受塵埃、雨水等物質(zhì)的吸收,如何在野外環(huán)境下
17、克服這些物質(zhì)的吸收,增強(qiáng)紅外射束信號(hào)的強(qiáng)度是重要的研究課題。</p><p> 1.2.2 藍(lán)牙技術(shù)</p><p> “藍(lán)牙(Bluetooth)”是一個(gè)開(kāi)放性的、短距離無(wú)線通信技術(shù)標(biāo)準(zhǔn),也是目前國(guó)際上最新的一種公開(kāi)的無(wú)線通信技術(shù)規(guī)范。它可以在較小的范圍內(nèi),通過(guò)無(wú) 線連接的方式安全、低成本、低功耗的網(wǎng)絡(luò)互聯(lián),使得近距離內(nèi)各種通信設(shè)備能 夠?qū)崿F(xiàn)無(wú)縫資源共享,也可以實(shí)現(xiàn)在各種數(shù)字設(shè)備之間
18、的語(yǔ)音和數(shù)據(jù)通信。由于 藍(lán)牙技術(shù)可以方便地嵌入到單一的 CMOS 芯片中.因此,特別適用于小型的移動(dòng) 通信設(shè)備,使設(shè)備去掉了連接電纜的不便,通過(guò)無(wú)線建立通信。藍(lán)牙技術(shù)以低成本的近距離無(wú)線連接為基礎(chǔ),采用高速跳頻(FrequeNcy Hop 為固定與移動(dòng) -piNg)和時(shí)分多址(Time DivisioN Multi-access-TDMA)等先進(jìn)技術(shù),設(shè)備通信環(huán)境建立一個(gè)特別連接。 藍(lán)牙技術(shù)使得一些便于攜帶的移動(dòng)通信設(shè)備和 計(jì)算機(jī)設(shè)備不
19、必借助電纜就能聯(lián)網(wǎng),并且能夠?qū)崿F(xiàn)無(wú)線連接因特網(wǎng).其實(shí)際應(yīng)用范圍還可以拓展到各種家電產(chǎn)品、消費(fèi)電子產(chǎn)品和汽車等信息家電,組成一個(gè)巨大的無(wú)線通信網(wǎng)絡(luò)。打印機(jī)、PDA、桌上型計(jì)算機(jī)、傳真機(jī)、鍵盤、游戲操縱桿以及所有其它的數(shù)字設(shè)備都可以成為藍(lán)牙系統(tǒng)的一部分。目前藍(lán)牙的標(biāo)準(zhǔn)是 IEEE802.15,工</p><p> 1.2.3 802.11b 技術(shù)</p><p> IEEE(INstitu
20、te of Electical aNd ElectroNics ENgiNeers )802.11b 技術(shù)標(biāo)準(zhǔn)是無(wú)線局域網(wǎng)的國(guó)際標(biāo)準(zhǔn),使用 2.4GHz 的 ISM 頻段, 802.11b 協(xié)議主要工作在OSI(OpeN System INtercoNNect RefereNce Model)的物理層和數(shù)據(jù)鏈路層,其物理層支持 5.5 MBit/s 和 11 MBit/s 兩種速度,采用直接序列擴(kuò)普 DSSS(Direct SequeN
21、ce SpreadSpectrum)技術(shù)進(jìn)行調(diào)制解調(diào)增強(qiáng)了抗干擾能力,提高了傳輸速度,并使用動(dòng)態(tài)速率漂移,數(shù)據(jù)傳輸速率可根據(jù)環(huán)境在 11 MBit/s、5.5MBit/s、2MBit/s、1MBit/s之間自動(dòng)切換,有效通訊距離 100-300 米。 802.11b 無(wú)線網(wǎng)絡(luò)的最大優(yōu)點(diǎn)是兼容性,只要在原有網(wǎng)絡(luò)上裝上AP,就可以提供無(wú)線網(wǎng)絡(luò)服務(wù),終端設(shè)備只要裝上無(wú)線網(wǎng)卡,就可以訪問(wèn)所有網(wǎng)絡(luò)資源,象使用有線局域網(wǎng)一樣方便,卻免除了布線的麻煩
22、。802.11b 具有有線等價(jià)保密機(jī)制 WEP(Wired EquivaleNt Privacy</p><p> 1.2.4 微功率短距離無(wú)線通信技術(shù)</p><p> 它一般使用數(shù)字信號(hào)單片射頻收發(fā)芯片,加上微控制器和少量外圍器件構(gòu)成專用或通用無(wú)線通信模塊,一般射頻芯片采用 FSK 調(diào)制方式,工作于 ISM 頻段, 通信模塊一般包含簡(jiǎn)單透明的數(shù)據(jù)傳輸協(xié)議或使用簡(jiǎn)單的加密協(xié)議,用戶不
23、用對(duì) 無(wú)線通信原理和工作機(jī)制有較深的了解,只要依據(jù)命令字進(jìn)行操作即可實(shí)現(xiàn)基本 的數(shù)據(jù)無(wú)線傳輸功能,因其功率小,開(kāi)發(fā)簡(jiǎn)單快速而應(yīng)用廣泛,但數(shù)據(jù)傳輸速度、 流量都較小,較適合搭建小型網(wǎng)絡(luò)。在工業(yè),民用領(lǐng)域使用較廣。</p><p> 1.2.5 幾種技術(shù)的比較分析</p><p> 現(xiàn)將幾種通信技術(shù)進(jìn)行比較:</p><p><b> 表 1-1<
24、/b></p><p> 紅外通信技術(shù)由于在數(shù)據(jù)傳輸過(guò)程中兩個(gè)通信設(shè)備之間不能有障礙物,且不能邊移動(dòng)邊傳輸,因此不適合在復(fù)雜的工作環(huán)境中使用。藍(lán)牙技術(shù)的有效傳輸距 離小于10m,更適合鼠標(biāo)、鍵盤等設(shè)備。802.11b 技術(shù)標(biāo)準(zhǔn)是無(wú)線局域網(wǎng)的國(guó)際 標(biāo)準(zhǔn),主要用來(lái)組建大型的無(wú)線網(wǎng)絡(luò),設(shè)備比較昂貴。微功率短距離無(wú)線通信一 般使用數(shù)字信號(hào)單片射頻收發(fā)芯片,加上微控制器和少量外圍元器件即可構(gòu)成專用或通用無(wú)線通信模塊
25、。其功率小、開(kāi)發(fā)簡(jiǎn)單快速而被廣泛應(yīng)用。 通過(guò)表1-1比較分析,微功率技術(shù)由于其系統(tǒng)功耗低,通信距離遠(yuǎn),開(kāi)發(fā)容易,模塊成本低,很適合用做無(wú)線遙控的無(wú)線通信模塊,便于大規(guī)模投入生產(chǎn)。</p><p> 第二章 SPCE061A 凌陽(yáng)單片機(jī)簡(jiǎn)介</p><p> 2.1 凌陽(yáng) 16 位單片機(jī)</p><p> 隨著單片機(jī)功能集成化的發(fā)展, 其應(yīng)用領(lǐng)域也逐漸地由傳統(tǒng)的
26、控制, 擴(kuò)展為控制處理、 數(shù)據(jù)處理以及數(shù)字信號(hào)處理(DSP,Digital SigNal ProcessiNg)等領(lǐng)域。凌陽(yáng)的 16 位單片 機(jī)就是為適應(yīng)這種發(fā)展而設(shè)計(jì)的。 它的 CPU 內(nèi)核采用凌陽(yáng)最新推出的µ’Nsp MicrocoNtroller ( aNd SigNal Processor)16 位微處理器芯片(以下簡(jiǎn)稱µ’NSP?)。圍繞µ’NSP?所形成的 16 位µ’NSP?系列單片
27、機(jī)(以下簡(jiǎn)稱µ’NSP?家族)采用的是模塊式集成結(jié)構(gòu),它以µ’NSP? 內(nèi)核為中心集成不同規(guī)模的 ROM、RAM 和功能豐富的各種外設(shè)接口部件,如圖2.1所示。</p><p> 圖2-1 µ’NSP?家族的模塊式結(jié)構(gòu)</p><p> µ’NSP?內(nèi)核是一個(gè)通用的核結(jié)構(gòu)。除此之外的其它功能模塊均為可選結(jié)構(gòu),亦即這種結(jié)構(gòu)可大可小或可有可無(wú)。借助這
28、種通用結(jié)構(gòu)附加可選結(jié)構(gòu)的積木式的構(gòu)成,便可形成各種不同系列派生產(chǎn)品,以適合不同的應(yīng)用場(chǎng)合。這樣做無(wú)疑會(huì)使每一種派生產(chǎn)品具有更強(qiáng)的功能和更低的成本。</p><p> 1.µ’NSP?家族有以下特點(diǎn): </p><p> 體積小、集成度高、可靠性好且易于擴(kuò)展</p><p> µ’NSP?家族把各功能部件模塊化地集成在一個(gè)芯片里,內(nèi)部采用總線
29、結(jié)構(gòu),因而減 少了各功能部件之間的連線,提高了其可靠性和抗干擾能力。另外,模塊化的結(jié)構(gòu)易于系 統(tǒng)擴(kuò)展,以適應(yīng)不同用戶的需求。</p><p> 2.具有較強(qiáng)的中斷處理能力 :</p><p> µ’NSP?家族的中斷系統(tǒng)支持 10 個(gè)中斷向量及 10 余個(gè)中斷源,適合實(shí)時(shí)應(yīng)用領(lǐng)域。 </p><p><b> 3.高性能價(jià)格比:</b
30、></p><p> µ’NSP?家族片內(nèi)帶有高尋址能力的 ROM、靜態(tài) RAM 和多功能的 I/O 口。另外, µ’NSP?的指令系統(tǒng)提供具有較高運(yùn)算速度的 16 位×16 位的乘法運(yùn)算指令和內(nèi)積運(yùn)算指 令,為其應(yīng)用增添了 DSP 功能,使得µ’NSP?家族運(yùn)用在復(fù)雜的數(shù)字信號(hào)處理方面既很便 利,又比專用的 DSP 芯片廉價(jià)。 </p><p&
31、gt; 4.功能強(qiáng)、效率高的指令系統(tǒng): </p><p> µ’NSP?的指令系統(tǒng)的指令格式緊湊,執(zhí)行迅速,并且其指令結(jié)構(gòu)提供了對(duì)高級(jí)語(yǔ)言的 支持,這可以大大縮短產(chǎn)品的開(kāi)發(fā)時(shí)間。 </p><p> 5.低功耗、低電壓 </p><p> µ’NSP?家族采用 CMOS 制造工藝,同時(shí)增加了軟件激發(fā)的弱振方式、空閑方式和掉 電方式,極大地
32、降低了其功耗。另外,µ’NSP?家族的工作電壓范圍大,能在低電壓供電 時(shí)正常工作,且能用電池供電。這對(duì)于其在野外作業(yè)等領(lǐng)域中的應(yīng)用具有特殊的意義。</p><p> 2.2 SPCE061A 簡(jiǎn)介</p><p><b> 2.2.1 總述 </b></p><p> SPCE061A 是繼µ’NSP?系列產(chǎn)品 SPC
33、E500A 等之后凌陽(yáng)科技推出的又一個(gè) 16 位結(jié) 構(gòu)的微控制器。與 SPCE500A 不同的是,在存儲(chǔ)器資源方面考慮到用戶的較少資源的需求 以及便于程序調(diào)試等功能,SPCE061A 里只內(nèi)嵌 32K 字的閃存(FLASH)。較高的處理速 度使µ’NSP?能夠非常容易地、快速地處理復(fù)雜的數(shù)字信號(hào)。因此,與 SPCE500A 相比, 以µ’NSP?為核心的 SPCE061A 微控制器是適用于數(shù)字語(yǔ)音識(shí)別應(yīng)用領(lǐng)域產(chǎn)品的一
34、種最經(jīng) 濟(jì)的選擇。</p><p><b> 2.2.2 性能 </b></p><p> 16 位µ’NSP?微處理器;</p><p> 工作電壓:VDD 為 2.6~3.6V(cpu), VDDH 為 VDD~5.5V(I/O); </p><p> CPU 時(shí)鐘:0.32MHz~49.152MH
35、z ; </p><p> 內(nèi)置 2K 字 SRAM; </p><p> 內(nèi)置 32K FLASH; </p><p><b> 可編程音頻處理; </b></p><p><b> 晶體振蕩器;</b></p><p> 系統(tǒng)處于備用狀態(tài)下(時(shí)鐘處于停止?fàn)顟B(tài)),
36、耗電小于 2µA@3.6V; </p><p> 2 個(gè) 16 位可編程定時(shí)器/計(jì)數(shù)器(可自動(dòng)預(yù)置初始計(jì)數(shù)值); </p><p> 2 個(gè) 10 位 DAC(數(shù)-模轉(zhuǎn)換)輸出通道; </p><p> 32 位通用可編程輸入/輸出端口;</p><p> 14 個(gè)中斷源可來(lái)自定時(shí)器 A / B,時(shí)基,2 個(gè)外部時(shí)鐘源輸入,
37、鍵喚醒; </p><p> 具備觸鍵喚醒的功能; </p><p> 使用凌陽(yáng)音頻編碼 SACM_S240 方式(2.4K 位/秒),能容納 210 秒的語(yǔ)音數(shù)據(jù); </p><p> 鎖相環(huán) PLL 振蕩器提供系統(tǒng)時(shí)鐘信號(hào); </p><p> 32768Hz 實(shí)時(shí)時(shí)鐘; </p><p> 7 通道 1
38、0 位電壓模-數(shù)轉(zhuǎn)換器(ADC)和單通道聲音模-數(shù)轉(zhuǎn)換器; </p><p> 聲音模-數(shù)轉(zhuǎn)換器輸入通道內(nèi)置麥克風(fēng)放大器和自動(dòng)增益控制(AGC)功能; </p><p> 具備串行設(shè)備接口; </p><p> 具有低電壓復(fù)位(LVR)功能和低電壓監(jiān)測(cè)(LVD)功能; </p><p> 內(nèi)置在線仿真電路 ICE(IN- Circui
39、t Emulator)接口; </p><p><b> 具有保密能力; </b></p><p> 具有 WatchDog 功能(由具體型號(hào)決定)。</p><p> 2.2.3 結(jié)構(gòu)概覽 </p><p> SPCE061A 的結(jié)構(gòu)如圖 2-2所示:</p><p> 圖2-2 SP
40、CE061A 的結(jié)構(gòu)</p><p> 2.2.4 芯片的引腳排列和說(shuō)明 </p><p> SPCE061A 共有 84 個(gè)引腳,封裝形式為 PLCC84,它的排列如圖 2-3所示,在 84 個(gè)引腳中有空腳 15 個(gè),其余管腳功能說(shuō)明如表 2-1 所示。</p><p> 表2-1 管腳功能表</p><p> 圖2-3 SPCE0
41、61A 引腳排列圖</p><p> 圖2-4 SPCE061A 實(shí)物圖</p><p><b> 2.2.5 特性 </b></p><p> SPCE061A 系統(tǒng)的特性參數(shù)如表 2-2所示。 </p><p> 表2-2 系統(tǒng)特性參數(shù)</p><p> 2.2.6 SPCE061A
42、 最小系統(tǒng) </p><p> 最小系統(tǒng)接線如圖 2-5所示,在 OSC0、OSC1 端接上晶振及諧振電容,在鎖相環(huán)壓控 振蕩器的阻容輸入 VCP 端接上相應(yīng)的電容電阻后即可工作。其它不用的電源端和地端接 上 0.1µF 的去藕電容提高抗干擾能力。</p><p> 圖2-5 SPCE061A 最小系統(tǒng)原理圖</p><p> 2.2.7 SPCE0
43、61A 開(kāi)發(fā)方法 </p><p> SPCE061A 的開(kāi)發(fā)是通過(guò)在線調(diào)試器 PROBE 實(shí)現(xiàn)的。它既是一個(gè)編程器(即程序燒 寫器),又是一個(gè)實(shí)時(shí)在線調(diào)試器。用它可以替代在單片機(jī)應(yīng)用項(xiàng)目的開(kāi)發(fā)過(guò)程中常用的 軟件工具——硬件在線實(shí)時(shí)仿真器和程序燒寫器。它利用了 SPCE061A 片內(nèi)置的在線仿真 電路 ICE(IN- Circuit Emulator)接口和凌陽(yáng)公司的在線串行編程技術(shù)。PROBE 工作于凌 陽(yáng)
44、IDE 集成開(kāi)發(fā)環(huán)境軟件包下, 5 芯的仿真頭直接連接到目標(biāo)電路板上 SPCE061A 相應(yīng) 其 管腳,直接在目標(biāo)電路板上的 CPU---SPCE061A 調(diào)試、運(yùn)行用戶編制的程序。PROBE 的 另一頭是標(biāo)準(zhǔn) 25 針打印機(jī)接口,直接連接到計(jì)算機(jī)打印口與上位機(jī)通訊,在計(jì)算機(jī) IDE集成開(kāi)發(fā)環(huán)境軟件包下,完成在線調(diào)試功能。圖 2-6是計(jì)算機(jī)、PROBE、用戶目標(biāo)板三者 之間的連接示意圖,圖 2-7是實(shí)物連接圖。</p>&
45、lt;p> 圖 2-6是計(jì)算機(jī)、PROBE、用戶目標(biāo)板三者 之間的連接示意圖</p><p> 圖 2-7是實(shí)物連接圖</p><p> 2.2.8 應(yīng)用領(lǐng)域 </p><p><b> 語(yǔ)音識(shí)別類產(chǎn)品 </b></p><p> 有語(yǔ)音功能的儀器儀表 </p><p> 有語(yǔ)音
46、功能的家電產(chǎn)品 </p><p> 有語(yǔ)音功能的自動(dòng)售貨機(jī) </p><p> 智能語(yǔ)音交互式玩具 </p><p> 高級(jí)亦教亦樂(lè)類玩具 </p><p> 兒童電子故事書類產(chǎn)品 </p><p> 通用語(yǔ)音合成器類產(chǎn)品 </p><p> 需較長(zhǎng)語(yǔ)音持續(xù)時(shí)間類產(chǎn)品</p&g
47、t;<p> 第三章 系統(tǒng)硬件設(shè)計(jì)</p><p> 3.1 61板原理圖及基本組成介紹</p><p> 表 3-1 61結(jié)構(gòu)表說(shuō)明</p><p> 圖3-1 61結(jié)構(gòu)組成框圖</p><p> 圖3-3 61板原理圖及基本組成介紹</p><p> 3.1.1電源 <
48、/p><p> 61板采用3節(jié)5號(hào)電池進(jìn)行供電,由J10接入,原理圖如圖3-4所示。信號(hào)檢測(cè)點(diǎn)見(jiàn) 圖3-5。其中的前后兩組電容用來(lái)去耦濾波,使其供給芯片的電源 更加干凈平滑。為了獲得標(biāo)準(zhǔn)的3.3V電壓,在板子上加入SPY0029三端穩(wěn)壓器 。 兩個(gè)二極管,是為防止誤將電源接反造成不必要損失而設(shè)置的,在操作過(guò)程中 千萬(wàn)不要將電源接反,因?yàn)榉聪螂妷撼^(guò)一定的值,二極管將會(huì)被損壞,達(dá)不到保 護(hù)的目的。后面的零電阻及其電源
49、、地分成不同的幾路是為減少電磁干擾設(shè)置的。</p><p> 圖3-4 電源部分原理圖</p><p> 3.1.2程序下載區(qū) </p><p> ICE 基本運(yùn)作方式是通過(guò)控制 clock 及通過(guò) ICE 喂入指令方式,來(lái)控制CPU 的運(yùn)行及緩存器資料和內(nèi)存資料的存取,因此必須透過(guò)控制緩存器值的設(shè)定來(lái)控制 目前 CPU 的動(dòng)作,原理圖如圖3-5所示。 <
50、;/p><p> 每個(gè)相連接的不同ICE模塊都擁有自己獨(dú)特的3-bit ID,當(dāng)PC在傳送coNtrol信號(hào) 時(shí)都會(huì)先傳送該 3-bit ID,只有ICE本身的ID和coNtrol信號(hào)的ID 相同時(shí)才會(huì)執(zhí)行該 命令或回傳資料。61板上的74HC244主要在我們選用下載線的時(shí)候起作用,主要奇 緩存的作用和完成SDA是作為數(shù)據(jù)回送還是數(shù)據(jù)下傳的選擇。</p><p> 圖3-5 程序下載區(qū)&l
51、t;/p><p> 3.1.3.音頻輸入部分 </p><p> 在SPCE061A芯片中具有聲音模—數(shù)轉(zhuǎn)換通道,內(nèi)置了麥克風(fēng)放大電路和自動(dòng)增 益控制(AGC)功能。 AGC是自動(dòng)增益補(bǔ)償功能(Automatic GaiN CoNtrol),AGC 可以自動(dòng)調(diào)麥克風(fēng)的收音量,使聽(tīng)者收到一定的音量水平,不會(huì)因發(fā)言者與麥克風(fēng)的距離改變時(shí),聲音有忽大忽小聲的缺點(diǎn)。 </p><
52、;p> SPCE061A中集成了麥克風(fēng)前端運(yùn)算放大電路,而運(yùn)算放大電路的基本結(jié)構(gòu)就是 有輸入級(jí)、中間級(jí)、輸出級(jí)三大部分組成。輸入級(jí)由差分放大電路組成,它是運(yùn)算放大器的關(guān)鍵部分,差分放大電路有兩個(gè)輸入端,這樣的組成能為信號(hào)的輸入提供 多種方式,并能有效的抑制共模干擾信號(hào),放大有效信號(hào)的作用,原理框圖見(jiàn)圖3-6 。</p><p> 圖3-6 音頻輸入組成框圖</p><p> 圖
53、3-7 音頻輸入外圍電路</p><p> 在圖3-7所示的電路中, MICP和MICN將隨著MIC產(chǎn)生的波形變化, 并在兩個(gè)端 口處形成兩路反相的波形,再經(jīng)過(guò)兩級(jí)運(yùn)放放大,把放大的語(yǔ)音信號(hào)交給ADC轉(zhuǎn)換 為數(shù)字量,這個(gè)時(shí)候我們就可以通過(guò)單片機(jī)編程對(duì)這些數(shù)據(jù)進(jìn)行處理,比如說(shuō)語(yǔ)音數(shù)據(jù)壓縮、語(yǔ)音識(shí)別樣本處理。</p><p> 3.1.4.音頻輸出部分</p><p&g
54、t; 圖3-8是音頻輸出部分的原理圖,輸出的聲音經(jīng)SPY0030音頻放大后通過(guò)喇叭輸出。SPY0030是凌陽(yáng)公司開(kāi)發(fā)的專門用于語(yǔ)音信號(hào)放大的芯片,電路原理圖見(jiàn)圖3-4所 示,它的增益如下所示: GaiN=2*5000/(5000+R1)。</p><p> SPY0030的輸入電壓的范圍是2.4V~6.0V,在這個(gè)電路中采用的電壓是3.3V。管腳的介紹見(jiàn)表3-2。</p><p>
55、圖3-8 D/A部分原理圖</p><p> 表3-2 SPY0030管腳說(shuō)明</p><p> 3.1.5.按鍵部分 </p><p> 圖3-9為鍵盤部分原理圖,按鍵是通過(guò)通斷控制來(lái)實(shí)現(xiàn)它的功能,61板上的按鍵在沒(méi)按下時(shí),它的1、3腳是斷開(kāi)的,當(dāng)按下時(shí)這兩個(gè)腳是連通的。若此時(shí)我們?cè)?腳接一個(gè)高電平,把第三腳連到一個(gè)I/O口上,這就形成了一個(gè)人機(jī)操作界面,
56、通過(guò)編程對(duì)I/O掃描,單片機(jī)就能識(shí)別到我們的按鍵命令。</p><p> 圖3-9 鍵盤部分原理圖</p><p> 3.1.6.晶振部分 </p><p> 工作原理:石英晶體的主要特征是它具有壓電效應(yīng), 既在晶體的兩個(gè)電極上加交流電壓時(shí), 晶體就會(huì)產(chǎn)生機(jī)械振動(dòng),而這種機(jī)械振動(dòng)反過(guò)來(lái)又會(huì)產(chǎn)生交流電壓時(shí),晶體就會(huì)產(chǎn) 生交流電場(chǎng),在電極上出現(xiàn)交流電壓。如果外加
57、交流電壓的頻率與晶片本身的固有 振動(dòng)頻率相等,則機(jī)械振動(dòng)的振幅和它產(chǎn)生的交流電壓的幅值都會(huì)顯著增大,這種 現(xiàn)象稱為壓電諧振,稱該晶體為石英晶體振蕩器,或簡(jiǎn)稱晶振。石英晶體的符號(hào)表 示見(jiàn)圖3-10中的Y1部分,目前市場(chǎng)晶體都是標(biāo)準(zhǔn)的頻率,如:32768Hz、6MHz、3MHz 等等,圖3-10中采用的是32768 Hz,其中的諧振電容分別是C14(20P)、C15(20P), 在這里OSC部分的作用就是作為CPU時(shí)鐘的振源,具體的過(guò)程示意
58、圖見(jiàn)3-11所示。</p><p> 圖3-10 晶體振蕩組成</p><p> 圖3-11 鎖相環(huán)電路框圖</p><p> 3.1.7.單片機(jī)I/O部分 </p><p> “I/O口”即為輸入/輸出接口,顧名思義,就是單片機(jī)和外部實(shí)現(xiàn)數(shù)據(jù)交互的 接口。 SPCE061A有并行和串行兩種方式的輸入/輸出接口,所謂串行就是指每一時(shí)
59、刻只能傳送一位二進(jìn)制信息,因?yàn)閿?shù)據(jù)是通過(guò)一根數(shù)據(jù)線傳輸;同理,并行就是指 每一時(shí)刻可以傳送多位二進(jìn)制信息,因?yàn)檎加枚喔鶖?shù)據(jù)線。并行口線路成本較高, 但是傳輸速度也高;串行口的傳輸速率較低但可以節(jié)省大量的線路成本。SPCE061A 的串行口有UART和SIO兩種,有興趣可以自己進(jìn)行學(xué)習(xí),這里將重點(diǎn)放在并行口。 SPCE061A有兩個(gè)16位通用的并行I/O口: A口和B口。 每一位都可通過(guò)編程單獨(dú)定義成 輸入或輸出口。I/O端口的作用 :
60、</p><p> I/O 輸入口:用于將程序或數(shù)據(jù)輸入到單片機(jī)中,負(fù)責(zé)從外界接收檢測(cè)信號(hào)、鍵盤 信號(hào)等各種開(kāi)關(guān)量信號(hào)。如:行列鍵盤、按鍵、模擬開(kāi)關(guān)等可以作為單片機(jī)輸入。 </p><p> 輸出口:用于把單片機(jī)數(shù)據(jù)計(jì)算或加工的結(jié)果以用戶需要的形式顯示或保存, 負(fù)責(zé)向外界輸送由內(nèi)部電路產(chǎn)生的處理結(jié)果、顯示信息、控制命令、驅(qū)動(dòng)信號(hào)等。如:數(shù)碼管、液晶顯示模塊和打印機(jī)等可以作為單片機(jī)輸出。
61、</p><p> 圖3-12 61板I/0端口示意圖</p><p> 如圖3-13是I/O端口作用示意圖。</p><p> 圖3-13 I/O端口作用示意圖</p><p> 3.1.8.數(shù)據(jù)下載 </p><p> 圖3-14介紹的是PROBE/下載線的電路原理圖。 其中PROBE就是在線調(diào)試器主
62、要是為 凌陽(yáng)十六位單片機(jī)(包括SPCE061A)提供在線編程、仿真和調(diào)試使用的工具。該調(diào) 試器一端接在PC機(jī)的并口上,另一端接在開(kāi)發(fā)系統(tǒng)的ICE 端口上(J4口)。在凌陽(yáng) 十六位單片機(jī)的集成開(kāi)發(fā)環(huán)境上就可以實(shí)現(xiàn)在線編程、 仿真和調(diào)試, 其實(shí)物見(jiàn)圖3-14。</p><p> 圖3-14 PROBE電路原理圖</p><p><b> 總結(jié) :</b></p
63、><p> 這里我們對(duì)SPCE061A單片機(jī)開(kāi)發(fā)板的電源、復(fù)位、數(shù)據(jù)下栽、輸入輸出端口、 音頻處理以及按鍵各子系統(tǒng)的進(jìn)行了系統(tǒng)分析,對(duì)于實(shí)際電子產(chǎn)品的電路板認(rèn)識(shí), 可以采取先整體后局部分模塊的方法來(lái)進(jìn)行識(shí)別。通過(guò)對(duì)SPCE061A單片機(jī)開(kāi)發(fā)板的 電路識(shí)圖學(xué)習(xí),可以對(duì)電路板的測(cè)試方法和測(cè)試手段有一個(gè)整體的認(rèn)識(shí)。</p><p> 3.2單片 2.4GHz NRF24L01 無(wú)線模塊 <
64、/p><p> 3.2.1 NRF24L01 芯片概述</p><p> NRF24L01 是一款新型單片射頻收發(fā)器件,工作于 2.4 GHz~2.5 GHz ISM 頻段。內(nèi)置頻率合成器、功率放大器、晶體振蕩器、調(diào)制器等功能 模塊,并融合了增強(qiáng)型 ShockBurst 技術(shù), 其中輸出功率和通信頻道可通 過(guò)程序進(jìn)行配置。NRF24L01 功耗低,在以-6 dBm 的功率發(fā)射時(shí),工作電 流
65、也只有 9 mA;接收時(shí), 工作電流只有 12.3 mA, 多種低功率工作模式(掉 電模式和空閑模式)使節(jié)能設(shè)計(jì)更方便。</p><p> NRF24L01 主要特性如下: </p><p><b> GFSK 調(diào)制; </b></p><p> 硬件集成 OSI 鏈路層; </p><p> 具有自動(dòng)應(yīng)答和自動(dòng)
66、再發(fā)射功能; </p><p> 片內(nèi)自動(dòng)生成報(bào)頭和 CRC 校驗(yàn)碼; </p><p> 數(shù)據(jù)傳輸率為 l Mb/s 或 2Mb/s; </p><p> SPI 速率為 0 Mb/s~10 Mb/s; </p><p><b> 125 個(gè)頻道; </b></p><p> 與其他
67、NRF24 系列射頻器件相兼容; </p><p> QFN20 引腳 4 mm×4 mm 封裝; </p><p> 供電電壓為 1.9 V~3.6 V。</p><p> 3.2.2 引腳功能及描述</p><p> NRF24L01 的封裝及引腳排列如圖所示。各引腳功能如下:</p><p>
68、 圖3-15 NRF24L01 封裝圖</p><p> CE:使能發(fā)射或接收; </p><p> CSN,SCK,MOSI,MISO:SPI 引腳端,微處理器可通過(guò)此引腳配 置 NRF24L01: </p><p> IRQ:中斷標(biāo)志位;</p><p> VDD:電源輸入端; </p><p><
69、b> VSS:電源地; </b></p><p> XC2,XC1:晶體振蕩器引腳; </p><p> VDD_PA:為功率放大器供電,輸出為 1.8 V; </p><p> ANT1,ANT2:天線接口; </p><p> IREF:參考電流輸入。</p><p> 圖3-16
70、NRF24L01 原理圖</p><p> 3.2.3 工作模式</p><p> 通過(guò)配置寄存器可將 NRF241L01 配置為發(fā)射、接收、空閑及掉 電四種工作模式,如表所示。 </p><p> 待機(jī)模式 1 主要用于降低電流損耗, 在該模式下晶體振蕩器仍 然是工作的; </p><p> 待機(jī)模式 2 則是在當(dāng) FIFO 寄存器
71、為空且 CE=1 時(shí)進(jìn)入此模式; </p><p> 待機(jī)模式下,所有配置字仍然保留。在掉電模式下電流損耗最小,同時(shí) NRF24L01 也不工作,但其所有配置 寄存器的值仍然保留。</p><p> 表 3-3 NRF24L01 四種工作模式</p><p> 3.2.4 NRF24L01 模塊原理圖</p><p> NRF24L0
72、1 單端匹配網(wǎng)絡(luò):晶振,偏置電阻,去耦電容。</p><p> 圖3-16 NRF24L01 單端 50Ω射頻輸出電路原理圖</p><p> 第四章 系統(tǒng)軟件設(shè)計(jì)</p><p><b> 4.1.軟件設(shè)計(jì) </b></p><p> 系統(tǒng)軟件流程圖見(jiàn)圖 4-1。 </p><p>
73、 圖 4-1 系統(tǒng)軟件流程圖</p><p> 系統(tǒng)配置發(fā)射模式時(shí), 單片機(jī)通過(guò) SPI 口將數(shù)據(jù)寫入 NRF24L01 緩存區(qū), 通過(guò)設(shè)置 CE 口 作 為 發(fā) 射脈沖信號(hào)發(fā)射數(shù)據(jù)。 NRF24L01在發(fā)射數(shù)據(jù)后自 動(dòng)進(jìn)入接收模式等待應(yīng)答信號(hào)。 如收到應(yīng)答信號(hào)則 認(rèn)為此次通信成功,系統(tǒng)清除標(biāo)志寄存器準(zhǔn)備發(fā)送 下一組數(shù)據(jù)。 未收到應(yīng)答信號(hào)則重新發(fā)送數(shù)據(jù)直到 發(fā)送成功。系統(tǒng)配置為接收模式時(shí), 系統(tǒng)處于等待數(shù)據(jù)的
74、 狀態(tài), 當(dāng)接收到數(shù)據(jù)后, NRF24L01 自動(dòng)發(fā)送應(yīng)答 信號(hào)給發(fā)送端確認(rèn)收到信號(hào)。 隨后清除標(biāo)志位寄存 器等待下一組信號(hào)。</p><p> NRF24L01 模塊設(shè)置為發(fā)送模式部分代碼如下:</p><p> void SetTxMode (void) </p><p><b> { </b></p><p>
75、; NrfTxBuf [0] =0x20 ; </p><p> NrfTxBuf [1] = 0x0e ; </p><p> SPI_SeNdData (NrfTxBuf , NrfRxBuf , 2); </p><p> NrfTxBuf [0] =0xe2 ; </p><p> SPI_SeNdData (NrfTxBu
76、f , NrfRxBuf , 1);</p><p><b> } </b></p><p> NRF24L01 模塊設(shè)置為發(fā)送模式部分代碼為: </p><p> void SetRxMode (void)</p><p> { NrfTxBuf [0] = 0x20 ; </p><p&g
77、t; NrfTxBuf [1] = 0x0f ; </p><p> SPI_SeNdData (NrfTxBuf , NrfRxBuf , 2); </p><p> NrfTxBuf [0] =0xe2 SPI_SeNdData (NrfTxBuf , NrfRxBuf , 1); </p><p> PORTB|= (1<<3);</
78、p><p> _NOP (); _NOP (); _NOP ();</p><p><b> }</b></p><p><b> 4.2系統(tǒng)測(cè)試 </b></p><p> 為了測(cè)試本系統(tǒng)的數(shù)據(jù)傳輸速率以及傳輸距離 , 首 先 將 發(fā) 射 端 的 單 片 機(jī) 中 預(yù) 存 1 Kbit 的 數(shù)
79、據(jù) , 發(fā) 射 數(shù) 據(jù) 前 設(shè) 置 一 個(gè) 頭 字 節(jié) , 然 后 將 預(yù) 存 的 1Kbit 數(shù)據(jù)設(shè)置發(fā)射一千遍, 在發(fā)送一個(gè)為字節(jié)。 接收端 從接收到頭字節(jié)后開(kāi)始計(jì)時(shí), 接收到為字節(jié)后停止 計(jì)時(shí), 從而計(jì)算出傳輸速率。 測(cè)試過(guò)程中對(duì)不同的 距離分別進(jìn)行多次測(cè)試, 得出不同距離下的平均速 率 (見(jiàn)表 4-1)。</p><p> 表 4-1 傳輸距離與平均速率</p><p> 由表
80、 4-1 可 知 ,NRF24L01 在 加 功 放 后 170 m 內(nèi) 可以達(dá)到較高的傳輸, 而傳輸距離達(dá)到 190 m 時(shí)傳 輸速率則明顯下降。</p><p> 第五章 無(wú)線通信系統(tǒng)程序</p><p> /**************************************************/</p><p> #iNclude <
81、;spce061a.h></p><p> #iNclude <api.h></p><p> #iNclude <system.h></p><p> #defiNe uchar uNsigNed char</p><p> /**************************************
82、*************/</p><p> #defiNe TX_ADR_WIDTH 5 // 5字節(jié)寬度的發(fā)送/接收地址</p><p> #defiNe TX_PLOAD_WIDTH 4 // 數(shù)據(jù)通道有效數(shù)據(jù)寬度</p><p> // DefiNe SPI piNs</p><p> #defiNe CE PO
83、RTB_BIT0 // Chip ENable piN sigNal (output)</p><p> #defiNe CSN PORTB_BIT1 // Slave Select piN, (output to CSN, NRF24L01)</p><p> #defiNe SCK PORTB_BIT2 // Master Out, Slave IN piN (outpu
84、t)</p><p> #defiNe MOSI PORTB_BIT3 // Serial Clock piN, (output)</p><p> #defiNe MISO PORTB_BIT4 // Master IN, Slave Out piN (iNput)</p><p> #defiNe IRQ PORTB_BIT5 // INterru
85、pt sigNal, from NRF24L01 (iNput)</p><p> #defiNe k1 PORTA_BIT0</p><p> #defiNe LED PORTA_BIT7</p><p> #defiNe RX_DR (sta&0x40)>>6</p><p> #defiNe TX_D
86、S(sta&0x20)>>5</p><p> #defiNe MAX_RT(sta&0x10)>>4</p><p> uchar TX_ADDRESS[TX_ADR_WIDTH] = {0x34,0x43,0x10,0x10,0x01}; // 定義一個(gè)靜態(tài)發(fā)送地址</p><p> uchar RX_BUF[
87、TX_PLOAD_WIDTH];</p><p> uchar TX_BUF[TX_PLOAD_WIDTH];</p><p> uchar flag;</p><p> uchar sta;</p><p> /**************************************************/</p>
88、;<p> /**************************************************</p><p> 函數(shù): iNit_io()</p><p><b> 描述:</b></p><p><b> 初始化IO</b></p><p> /***
89、***********************************************/</p><p> void iNit_io(void)</p><p><b> {</b></p><p> *P_IOA_Dir=0x00f0;</p><p> *P_IOA_Attrib=0x00f0;<
90、;/p><p> *P_IOA_Data=0x0000;</p><p> *P_IOB_Dir=0x000f;</p><p> *P_IOB_Attrib=0x000f;</p><p> *P_IOB_Data=0x0000;</p><p> CE = 0; // 待機(jī)</p>
91、<p> CSN = 1; // SPI禁止</p><p> SCK = 0; // SPI時(shí)鐘置低</p><p> IRQ = 1; // 中斷復(fù)位</p><p><b> }</b></p><p> /*********************
92、*****************************/</p><p> /**************************************************</p><p> 函數(shù):delay_ms()</p><p><b> 描述:</b></p><p><b> 延遲x
93、毫秒</b></p><p> /**************************************************/</p><p> void delay_ms(uchar k)</p><p><b> {</b></p><p><b> iNt i,j;</
94、b></p><p> for(i=0;i<k;i++) </p><p> for(j=0;j<34;j++)</p><p> *P_Watchdog_Clear=0x0001;</p><p><b> }</b></p><p> void delay1us(
95、uNsigNed char t)</p><p><b> {</b></p><p> while(--t)</p><p> *P_Watchdog_Clear=1;</p><p><b> } </b></p><p> /*****************
96、*********************************/</p><p> /**************************************************</p><p> 函數(shù):SPI_RW()</p><p><b> 描述:</b></p><p> 根據(jù)SPI協(xié)議,寫一
97、字節(jié)數(shù)據(jù)到NRF24L01,同時(shí)從NRF24L01</p><p><b> 讀出一字節(jié)</b></p><p> /**************************************************/</p><p> /*uchar SPI_RW(uchar byte)</p><p><
98、;b> {</b></p><p><b> uchar i;</b></p><p> for(i=0; i<8; i++) // 循環(huán)8次</p><p><b> {</b></p><p> MOSI = (byte & 0x80)
99、; // byte最高位輸出到MOSI</p><p> byte <<= 1; // 低一位移位到最高位</p><p> SCK = 1; // 拉高SCK,NRF24L01從MOSI讀入1位數(shù)據(jù),同時(shí)從MISO輸出1位數(shù)據(jù)</p><p> byte |= MISO; /
100、/ 讀MISO到byte最低位</p><p> SCK = 0; // SCK置低</p><p><b> }</b></p><p> returN(byte); // 返回讀出的一字節(jié)</p><p><b> }*/</b></p
101、><p> uchar SPI_RW(uNsigNed char byte) //寫一個(gè)字節(jié)到24L01,同時(shí)讀一個(gè)字節(jié)</p><p><b> {</b></p><p> uNsigNed char bit_ctr;</p><p> for(bit_ctr=0;bit_ctr<8;bit_ctr++
102、) //output 8-bit</p><p><b> {</b></p><p> if(byte&0x80) </p><p><b> MOSI=1;</b></p><p><b> else</b></p><p>&
103、lt;b> MOSI=0; </b></p><p> byte=(byte<<1); </p><p><b> SCK=1;</b></p><p> if(MISO==1) byte |= 1; //SPI_ReceiveData=MISO;</p><p><
104、;b> SCK=0;</b></p><p> // SPI_ReceiveData =( SPI_ReceiveData<<1);</p><p><b> }</b></p><p> returN(byte); //returN read byte</p><p><
105、b> }</b></p><p> /**************************************************/</p><p> /**************************************************</p><p> 函數(shù):SPI_RW_Reg()</p><
106、;p><b> 描述:</b></p><p> 寫數(shù)據(jù)value到reg寄存器</p><p> /**************************************************/</p><p> uchar SPI_RW_Reg(uchar reg, uchar value)</p>&l
107、t;p><b> {</b></p><p> uchar status;</p><p> CSN = 0; // CSN置低,開(kāi)始傳輸數(shù)據(jù)</p><p> status = SPI_RW(reg); // 選擇寄存器,同時(shí)返回狀態(tài)字</p><p> S
108、PI_RW(value); // 然后寫數(shù)據(jù)到該寄存器</p><p> CSN = 1; // CSN拉高,結(jié)束數(shù)據(jù)傳輸</p><p> returN(status); // 返回狀態(tài)寄存器</p><p><b> }</b></p>&
109、lt;p> /**************************************************/</p><p> /**************************************************</p><p> 函數(shù):SPI_Read()</p><p><b> 描述:</b><
110、;/p><p> 從reg寄存器讀一字節(jié)</p><p> /**************************************************/</p><p> uchar SPI_Read(uchar reg)</p><p><b> {</b></p><p>
111、uchar reg_val;</p><p> CSN = 0; // CSN置低,開(kāi)始傳輸數(shù)據(jù)</p><p> SPI_RW(reg); // 選擇寄存器</p><p> reg_val = SPI_RW(0); // 然后從該寄存器讀數(shù)據(jù)</p><p
112、> CSN = 1; // CSN拉高,結(jié)束數(shù)據(jù)傳輸</p><p> returN(reg_val); // 返回寄存器數(shù)據(jù)</p><p><b> }</b></p><p> /*******************************************
113、*******/</p><p> /**************************************************</p><p> 函數(shù):SPI_Read_Buf()</p><p><b> 描述:</b></p><p> 從reg寄存器讀出bytes個(gè)字節(jié),通常用來(lái)讀取接收通道&l
114、t;/p><p> 數(shù)據(jù)或接收/發(fā)送地址</p><p> /**************************************************/</p><p> uchar SPI_Read_Buf(uchar reg, uchar * pBuf, uchar bytes)</p><p><b> {&l
115、t;/b></p><p> uchar status, i;</p><p> CSN = 0; // CSN置低,開(kāi)始傳輸數(shù)據(jù)</p><p> status = SPI_RW(reg); // 選擇寄存器,同時(shí)返回狀態(tài)字</p><p> for(i=0; i<byt
116、es; i++)</p><p> pBuf[i] = SPI_RW(0); // 逐個(gè)字節(jié)從NRF24L01讀出</p><p> CSN = 1; // CSN拉高,結(jié)束數(shù)據(jù)傳輸</p><p> returN(status); // 返回狀態(tài)寄存器</p><p>
117、;<b> }</b></p><p> /**************************************************/</p><p> /**************************************************</p><p> 函數(shù):SPI_Write_Buf()</p&
118、gt;<p><b> 描述:</b></p><p> 把pBuf緩存中的數(shù)據(jù)寫入到NRF24L01,通常用來(lái)寫入發(fā)</p><p> 射通道數(shù)據(jù)或接收/發(fā)送地址</p><p> /**************************************************/</p><p&
119、gt; uchar SPI_Write_Buf(uchar reg, uchar * pBuf, uchar bytes)</p><p><b> {</b></p><p> uchar status, i;</p><p> CSN = 0; // CSN置低,開(kāi)始傳輸數(shù)據(jù)</p>
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 電子與信息工程畢業(yè)論文單片機(jī)雙機(jī)通信系統(tǒng)設(shè)計(jì)
- 單片機(jī)雙機(jī)通信系統(tǒng)設(shè)計(jì)【文獻(xiàn)綜述】
- 單片機(jī)雙機(jī)通信系統(tǒng)設(shè)計(jì)【開(kāi)題報(bào)告】
- 單片機(jī)串口通信畢業(yè)論文
- 基于avr單片機(jī)與上位機(jī)的通信系統(tǒng)設(shè)計(jì)
- 基于單片機(jī)倒車系統(tǒng)設(shè)計(jì)【通信工程畢業(yè)論文】
- 單片機(jī)之間的串口通信設(shè)計(jì)畢業(yè)論文
- 基于單片機(jī)倒車系統(tǒng)設(shè)計(jì)【通信工程畢業(yè)論文】
- 畢業(yè)論文---單片機(jī)串行通信發(fā)射機(jī)
- 畢業(yè)論文----單片機(jī)串行通信發(fā)射機(jī)
- [畢業(yè)論文]單片機(jī)串行通信發(fā)射機(jī)
- 畢業(yè)論文——單片機(jī)串行通信發(fā)射部分設(shè)計(jì)
- 基于avr單片機(jī)的485通信系統(tǒng)設(shè)計(jì)
- 單片機(jī)應(yīng)用系統(tǒng)畢業(yè)論文
- 單片機(jī)自動(dòng)打鈴系統(tǒng)設(shè)計(jì)畢業(yè)論文
- 畢業(yè)論文——單片機(jī)紅外遙控系統(tǒng)設(shè)計(jì)
- 單片機(jī)畢業(yè)論文
- 單片機(jī)畢業(yè)論文
- 單片機(jī)畢業(yè)論文
- 單片機(jī)畢業(yè)論文
評(píng)論
0/150
提交評(píng)論