聲音導(dǎo)引系統(tǒng)(B題)_第1頁
聲音導(dǎo)引系統(tǒng)(B題)_第2頁
聲音導(dǎo)引系統(tǒng)(B題)_第3頁
聲音導(dǎo)引系統(tǒng)(B題)_第4頁
聲音導(dǎo)引系統(tǒng)(B題)_第5頁
已閱讀5頁,還剩44頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、1聲音導(dǎo)引系統(tǒng)聲音導(dǎo)引系統(tǒng)(B(B 題題) )摘要:摘要:系統(tǒng)采用兩片 STC89C52 單片機(jī)分別作為主從控制器,電動(dòng)小車搭載蜂鳴器構(gòu)成可移動(dòng)聲源,聲音信號(hào)被駐極體話筒感知后再加以后續(xù)放大、濾波,構(gòu)成聲音檢測模塊。從機(jī)控制聲源發(fā)聲,主機(jī)接收到聲音信號(hào)后經(jīng)無線通信向其發(fā)出距離誤差信號(hào),從機(jī)對該信號(hào)進(jìn)行處理,采用差值控制法控制電動(dòng)小車運(yùn)動(dòng),從而實(shí)現(xiàn)對聲源的導(dǎo)引功能。經(jīng)測試,系統(tǒng)運(yùn)行時(shí),聲源最大平均速度能達(dá)到 12.8cm/s,最小定位誤差小于1.0cm。當(dāng)聲源以平均速度大于 10cm/s 速度運(yùn)行時(shí),任意時(shí)刻不會(huì)超過直線 Ox 左側(cè)2cm。此外,系統(tǒng)還加入了液晶顯示、語音提示等人機(jī)交互界面。關(guān)鍵

2、詞:關(guān)鍵詞:STC89C52 聲音檢測 差值控制法 聲音導(dǎo)引2目錄1.系統(tǒng)設(shè)計(jì) .41.1 設(shè)計(jì)任務(wù)與要求.41.2 設(shè)計(jì)分析.41.3 各模塊方案論證和選擇.41.3.1 運(yùn)動(dòng)平臺(tái)的選擇.41.3.2 控制器模塊.41.3.3 電機(jī)驅(qū)動(dòng)模塊.41.3.4 發(fā)聲模塊 .41.3.5 聲音接收模塊 .51.3.6 無線通信模塊 .51.3.7 速度檢測模塊 .51.3.8 數(shù)據(jù)顯示模塊 .51.3.9 聲光提示模塊 .51.4 小結(jié).52.系統(tǒng)的硬件實(shí)現(xiàn) .62.1 電機(jī)驅(qū)動(dòng)電路.62.2 發(fā)聲模塊電路.62.3 聲音接收電路.62.4 速度檢測電路.62.5 無線通信電路.73 理論分析與計(jì)算

3、 .73.1 控制策略分析.73.2 控制理論計(jì)算.74.系統(tǒng)的軟件設(shè)計(jì) .84.1 主程序.84.2 距離測量子程序.84.3 無線通信子程序.84.4 電機(jī)驅(qū)動(dòng)子程序.85. 系統(tǒng)測試 .85.1 測試儀器.85.2 系統(tǒng)整體測試數(shù)據(jù).85.2.1 基本部分測試.85.2.2 發(fā)揮部分測試.95.3 系統(tǒng)整體測試結(jié)果分析.96 結(jié)論 .9參考文獻(xiàn): .103附錄一:使用說明 .11附錄二:元器件清單 .12附錄三:電路原理圖及印制版圖 .13附錄四:程序流程圖 .19附錄五:程序清單 .2441.1.系統(tǒng)系統(tǒng)方案設(shè)計(jì)及論證1.11.1 設(shè)計(jì)任務(wù)與要求設(shè)計(jì)要求與任務(wù)詳見 2009 全國大學(xué)生

4、電子設(shè)計(jì)大賽試題(B 題) 。1.21.2 設(shè)計(jì)分析要成功實(shí)現(xiàn)本設(shè)計(jì)的要求,系統(tǒng)必具備以下功能:聲源發(fā)聲、聲源移動(dòng)、接收聲音、無線通信、速度檢測、聲光提示等功能。其主要的電氣系統(tǒng)可劃分為:電源、主控、電機(jī)驅(qū)動(dòng)、發(fā)聲、聲音接收、無線通信和聲光提示等基本模塊,系統(tǒng)框圖如圖 1.2.1所示。主 機(jī)從 機(jī)速度檢測聲音接收聲源發(fā)聲數(shù)據(jù)顯示無線通信電機(jī)驅(qū)動(dòng)無線通信聲光提示圖 1.2.1 系統(tǒng)框圖1.31.3 各模塊方案論證和選擇1.3.11.3.1 運(yùn)動(dòng)平臺(tái)的選擇運(yùn)動(dòng)平臺(tái)的選擇運(yùn)動(dòng)平臺(tái)需要搭載聲源在指定區(qū)域內(nèi)運(yùn)動(dòng),最好的方案是用一輛小車來實(shí)現(xiàn)。但限于條件難以在短時(shí)間內(nèi)完成設(shè)計(jì)并制作一輛小車,所以系統(tǒng)選擇一

5、輛迷你玩具小車進(jìn)行改裝,由兩個(gè)直流電機(jī)驅(qū)動(dòng)小車運(yùn)動(dòng)。1.3.21.3.2 控制器模塊控制器模塊方案一:采用 XC9000 系列的 FPGA。該種類器件具有并行處理能力,能快速的響應(yīng)外部的各種數(shù)字信號(hào),但在數(shù)字的乘除運(yùn)算等數(shù)據(jù)處理方面不方便,而且芯片價(jià)格較昂貴。 方案二:采用單片機(jī)作為控制核心,單片機(jī)數(shù)學(xué)運(yùn)算功能較強(qiáng)。在程序相互調(diào)用方面,處理方便靈活,適合實(shí)際應(yīng)用。且單片機(jī)技術(shù)發(fā)展較為成熟,價(jià)格便宜。 基于以上分析,系統(tǒng)擬采用方案二。使用兩片 STC89C52 單片機(jī)作為系統(tǒng)的控制器。1.3.31.3.3 電機(jī)驅(qū)動(dòng)模塊電機(jī)驅(qū)動(dòng)模塊此次競賽,電機(jī)驅(qū)動(dòng) MMC-1 為官方指定使用,此模塊不作論證。1

6、.3.41.3.4 發(fā)聲模塊發(fā)聲模塊方案一:采用揚(yáng)聲器作為發(fā)聲模塊。但是使用時(shí)頻率要求較高,一般還需要功率放大,結(jié)構(gòu)復(fù)雜,且功耗大。5方案二:采用蜂鳴器作為發(fā)聲模塊。蜂鳴器結(jié)構(gòu)簡單,使用簡便,不需要功率放大,且使用頻率要求較低,功耗很低,價(jià)格便宜?;谝陨戏治?,系統(tǒng)擬采用蜂鳴器作為發(fā)聲裝置。1.3.51.3.5 聲音接收模塊聲音接收模塊方案一:采用壓電式聲敏傳感器。壓電聲敏傳感器是利用壓電晶體的壓電效應(yīng)制成一種能實(shí)現(xiàn)聲-電轉(zhuǎn)換器件,結(jié)構(gòu)如圖 1.3.1 所示。但壓電聲敏傳感器較為少見,價(jià)格較貴。方案二:采用電容式駐極體話筒(俗稱咪頭) 。該元件能將一般的聲音信號(hào)轉(zhuǎn)化為電信號(hào)。加上后續(xù)的濾波放大

7、電路構(gòu)成聲音接收模塊,實(shí)現(xiàn)簡單,價(jià)格便宜?;谝陨戏治?,系統(tǒng)擬采用方案二。 1.3.61.3.6 無線通信模塊無線通信模塊方案一:采用 nRF401 芯片做無線通信模塊。但是nRF401 編程較為麻煩,已經(jīng)逐漸在被新的芯片所取代。 圖 1.3.1 壓電式聲敏傳感器方案二:采用 nRF905 芯片做無線通信模塊。該芯片接收發(fā)射功能合一,收發(fā)完成中斷標(biāo)志。使用簡單,數(shù)據(jù)穩(wěn)定;1.9-3.6V 工作,低功耗,待機(jī)模式僅 2.5uA;抗干擾能力強(qiáng),程序編寫方便?;谝陨戏治?,系統(tǒng)擬采用方案二。 1.3.71.3.7 速度檢測模塊速度檢測模塊方案一:采用霍爾集成片。但由于在車輪上安裝有難度,且安裝得少則

8、測量精度不夠。 方案二:采用透射式光電傳感器。該方案能很好的實(shí)現(xiàn)精確的測量,而且光電傳感器較為便宜。 基于以上分析,系統(tǒng)擬采用方案二。采用 ST155 光電管作為速度檢測。1.3.81.3.8 數(shù)據(jù)顯示模塊數(shù)據(jù)顯示模塊方案一:使用傳統(tǒng)的數(shù)碼管顯示。但顯示的信息量較小且占用的端口資源也較多。方案二:使用液晶顯示屏顯示。液晶顯示屏(LCD)具有輕薄短小、低耗電量、無輻射危險(xiǎn),畫面效果好,分辨率高,抗干擾能力強(qiáng)等特點(diǎn)。 基于以上分析,系統(tǒng)擬用方案二,采用 LCD1602 作為數(shù)據(jù)顯示模塊。1.3.91.3.9 聲光提示模塊聲光提示模塊方案一:采用 ISD4004 單片語音錄放電路。但是該語音電路的音

9、質(zhì)較差,很難達(dá)到良好的人機(jī)交互效果方案二:采用 MP3 語音播放模塊。MP3 模塊直接支持 MP3 格式語音文件,文件來源廣泛、音質(zhì)優(yōu)美、通用性好,使用方便?;谝陨戏治觯到y(tǒng)擬采用 MP3 語音播放模塊。1.1.4 系統(tǒng)組成經(jīng)過分析和論證,系統(tǒng)最終方案如圖 1.4.1 所示。具體實(shí)現(xiàn)過程如下:系統(tǒng)初始化,從機(jī)控制蜂鳴器打開,當(dāng)主機(jī)上的聲音接收模塊檢測到聲音信號(hào)后,將誤差信號(hào)通過無線模塊傳送到從機(jī),從機(jī)對數(shù)據(jù)進(jìn)行處理后,向 MMC-1+L298 組成的電機(jī)驅(qū)動(dòng)模塊發(fā)出相應(yīng)的指令,使小車完成需要的動(dòng)作。為了精確控制,在小車運(yùn)行過程中,通過發(fā)聲模塊和聲音接收模塊實(shí)時(shí)的檢測小車位置,并且通過速度檢測

10、模塊實(shí)時(shí)監(jiān)測小車的外殼壓電晶體VOUT膜片帶孔護(hù)蓋6速度和已行駛的距離,通過 PID 調(diào)節(jié),使聲源迅速而準(zhǔn)確的到達(dá)指定位置。STC89C52主 機(jī)STC89C52從 機(jī)紅外對管ST155駐極體話 筒蜂鳴器SFM-2771602 液晶顯示nRF905MMC-1+L298nRF905MP3語音播報(bào)圖 1.4.1 系統(tǒng)原理框圖2.2.系統(tǒng)的硬件實(shí)現(xiàn)2.12.1 電機(jī)驅(qū)動(dòng)電路此次設(shè)計(jì)中,官方提供電機(jī)驅(qū)動(dòng)芯片 MMC-1,其具體硬件電路和與 L298 硬件接口電路參見附錄 3.1,不再贅述。2.22.2 發(fā)聲模塊電路單片機(jī)控制蜂鳴器發(fā)聲的原理如圖 2.2.1 所示。當(dāng)單片機(jī)通過 I/O 口給出一個(gè)低電平

11、控制信號(hào)后,三極管導(dǎo)通接通蜂鳴器,發(fā)出聲音。 圖 2.2.1 發(fā)聲電路 2.32.3 聲音接收電路聲音接收采用電容式駐極體話筒構(gòu)成的聲音檢測電路。如圖 2.3.1 所示,聲音信號(hào)通過駐極體話筒轉(zhuǎn)化為電壓信號(hào),經(jīng)過濾波、放大、整形后輸出,當(dāng)有聲音信號(hào)時(shí),輸出為高電平。電路中的電位器 PR 可以調(diào)節(jié)模塊電路對不同頻率聲音的敏感程度。R2760 KR520KR61KR420KR33KR110KD1C1105C3105C2105Q1901 8Rp1kVC CMKLM 358+_OUT圖 2.3.1 聲音接收電路2.42.4 速度檢測電路LS 1R21KP04Q9VC C7速度檢測電路如附錄圖 3.2

12、所示該電路為了避免比較器出現(xiàn)的尖刺雜波對單片機(jī)的干擾,后面加了積分電路和比較電路做遲滯環(huán)節(jié),能有效的去除干擾,使得單片機(jī)計(jì)數(shù)后利用軟件算法得出的速度和距離更加精確。2.52.5 無線通信電路無線通信電路在系統(tǒng)中實(shí)現(xiàn)主機(jī)與從機(jī)的通信,主機(jī)將測量的誤差信號(hào)傳輸?shù)綇臋C(jī),從而控制從機(jī)的動(dòng)作。由于此次使用的無線模塊系購買,具體電路不作詳述。 3 3 理論分析與計(jì)算3.13.1 控制策略分析系統(tǒng)示意圖如圖 3.1.1 所示。接收器 CW D 1 m 圖圖3 3. .1 1. .1 1 系系統(tǒng)統(tǒng)示示意意圖圖 xy 1 mS可移動(dòng)聲源接收器 A接收器 B中點(diǎn) O中點(diǎn) O為了能使小車快速而準(zhǔn)確定位,需要在控制策

13、略上進(jìn)行一定的分析。由于聲波在空氣中的傳輸速度很快(約 340m/s) ,而且容易受到環(huán)境和電路噪聲的干擾。如果硬件上的濾波不是很平滑,在這么近距離的測量過程中難免有較大的誤差,導(dǎo)致精確測距很難實(shí)現(xiàn)。而且本題目坐標(biāo)定位數(shù)學(xué)模型計(jì)算復(fù)雜,數(shù)學(xué)上提供的理論工具最小二乘法或偽逆法也只能近似求解。為了能精確定位,系統(tǒng)采用差值控制法。具體算法如下:對 Ox 直線,可利用聲音到達(dá)時(shí)間差轉(zhuǎn)換成 SA 與 SB 的距離差來控制小車運(yùn)動(dòng)。|SBSAS由于 Ox 是 AB 中垂線,顯然隨著的減小,就越靠近 Ox。當(dāng)=0 時(shí),就到達(dá)SSOx。由此來控制小車運(yùn)行,而不用具體測出距離,顯然,這樣更具抗干擾性,穩(wěn)態(tài)誤差和

14、超調(diào)量將更小。同理,到達(dá) Oy 也可利用 A、C 兩點(diǎn)采取同樣的方法進(jìn)行控制。3.23.2 控制理論計(jì)算聲音導(dǎo)引車體系統(tǒng)模型近似成二階系統(tǒng),其閉環(huán)傳遞函數(shù)為: 222222121)(nnnssTssTsG從連續(xù)時(shí)間系統(tǒng)控制的角度,對二階系統(tǒng)的時(shí)域分析,可以有效得到該系統(tǒng)的動(dòng)8態(tài)、靜態(tài)性能參數(shù)。為了提高系統(tǒng)的穩(wěn)定性,改善小車的定位精度,在控制系統(tǒng)中進(jìn)行比例-積分(PI)校正,依據(jù)原始系統(tǒng)模擬仿真的開環(huán)頻率特性,在閉環(huán)負(fù)反饋控制系統(tǒng)中加入 PI 校正網(wǎng)絡(luò)。) 1/() 1()(122ststKsG4.系統(tǒng)的軟件設(shè)計(jì)系統(tǒng)軟件程序是在 WINDOWS XP 環(huán)境下采用 KEIL Uvision2 軟件

15、開發(fā)平臺(tái)上使用 C語言編寫的,以下是對主程序和主要子程序的說明。4.1 主程序主程序是系統(tǒng)程序的樞紐,其主要功能是協(xié)調(diào)系統(tǒng)各模塊工作,從機(jī)主程序負(fù)責(zé)通過對測回的數(shù)據(jù)進(jìn)行計(jì)算,控制電機(jī)運(yùn)轉(zhuǎn),定位結(jié)束后將要顯示的信息發(fā)送給主機(jī)。主機(jī)主程序負(fù)責(zé)不斷地檢測聲音信號(hào),給從機(jī)發(fā)送誤差信號(hào)。當(dāng)定位結(jié)束后接受從機(jī)發(fā)來的數(shù)據(jù)顯示并發(fā)出聲光提示。程序流程圖如附錄圖 4.1 所示4.2 距離測量子程序距離測量程序由主從機(jī)協(xié)調(diào)完成。從機(jī)程序開始,發(fā)出聲音打開定時(shí)器,然后等待主機(jī)返回的誤差信號(hào),檢測到誤差信號(hào)時(shí)關(guān)閉定時(shí)器,通過時(shí)間差測出距離。主機(jī)程序開始,直接判斷是否接受到聲音信號(hào),接受到聲音信號(hào)后發(fā)出誤差信號(hào)給從機(jī)。

16、程序流程如附錄圖 4.2 所示。4.3 無線通信子程序無線通信程序是主從機(jī)數(shù)據(jù)交換的橋梁,主機(jī)將誤差信號(hào)通過無線傳給從機(jī),從機(jī)將行駛狀態(tài)等參數(shù)傳給主機(jī)進(jìn)行顯示,語音播報(bào)等操作。程序流程如附錄圖 4.3 和附錄圖 4.4 所示。4.4 電機(jī)驅(qū)動(dòng)子程序電機(jī)驅(qū)動(dòng)程序是聲源完成導(dǎo)引動(dòng)作的直接關(guān)聯(lián)部分,從機(jī)實(shí)時(shí)的將主機(jī)傳來的誤差信號(hào)通過處理,作出相應(yīng)的動(dòng)作指令。程序流程如附錄圖 4.5 所示。5. 系統(tǒng)測試5.1 測試儀器測試所使用的儀器如表 5.1 所示表表 5.15.1 測試儀器測試儀器名稱、型號(hào)規(guī)格、量程數(shù)量備注YB4365 雙蹤示波器40MHz1江蘇揚(yáng)中電子儀器廠UNI-T 數(shù)字萬用表3 位半1

17、勝利公司秒表精度 0.01s1深圳天福電子有限公司卷尺3m15.25.2 系統(tǒng)整體測試數(shù)據(jù)5.2.15.2.1 基本部分測試基本部分測試在場地上 Ox 線左側(cè) 5cm 處畫一條與 Ox 平行的直線,將小車沿與 Ox 垂直方向放置,用卷尺測量并記錄小車初始位置到 Ox 線的垂直距離。系統(tǒng)啟動(dòng),同時(shí)按下秒表計(jì)時(shí),觀察小車運(yùn)行過程中是否超過 OX 線左側(cè) 5cm 處,當(dāng)小車運(yùn)行到 Ox 線并停止時(shí)停止計(jì)時(shí),記錄時(shí)間,同時(shí)測量并記錄小車與 Ox 間的定位誤差。測試結(jié)果如表5.2.1 所示。表表 5.2.15.2.1 基本部分測試結(jié)果基本部分測試結(jié)果9測試次數(shù)初始距離是否過線響應(yīng)時(shí)間定位誤差150cm否

18、3.91s1.5cm240cm否3.12s1.4cm360cm否4.70s1.6cm5.2.25.2.2 發(fā)揮部分測試發(fā)揮部分測試(1)聲源反向測試將聲源旋轉(zhuǎn) 180,重復(fù)基本部分測試過程,記錄結(jié)果。測試數(shù)據(jù)如表 5.2.2 所示。表表 5.2.25.2.2 聲源旋轉(zhuǎn)聲源旋轉(zhuǎn) 180180測試結(jié)果測試結(jié)果測試次數(shù)初始距離是否過線響應(yīng)時(shí)間定位誤差150cm否3.93s1.3cm260cm否4.69s1.6cm370cm否5.48s1.4cm(2)到達(dá) W 點(diǎn)測試在場地上 OX 線的左側(cè) 2cm 處畫一條與 OX 平行的直線,小車沿與 OX 垂直方向放置,用卷尺測量小車初始位置到 OX 線的垂直距

19、離。系統(tǒng)上電按下啟動(dòng)開關(guān),同時(shí)按下秒表計(jì)時(shí),觀察小車運(yùn)行過程中是否超過 OX 線的左側(cè) 2cm,小車運(yùn)行到 OX 線并停止時(shí)停止計(jì)時(shí),記錄時(shí)間 T1,同時(shí)測量并記錄小車與 OX 線間的定位誤差。小車停止 10s 再次運(yùn)行時(shí)按下秒表計(jì)時(shí),小車再次停下發(fā)出聲光提示時(shí)停止計(jì)時(shí),記錄時(shí)間 T2,測量并記錄小車在 OX 線上再次啟動(dòng)點(diǎn)與停止點(diǎn)之間的距離。測試結(jié)果如表5.2.3 所示。表表 5.2.35.2.3 發(fā)揮部分測試結(jié)果發(fā)揮部分測試結(jié)果測試次數(shù)初始距離是否過線響應(yīng)時(shí)間定位誤差再次運(yùn)行時(shí)間再次運(yùn)行距離W 點(diǎn)定位誤差150cm否4.53s0.8cm3.78s40.5cm0,7cm260cm否5.74s

20、0.5cm2.35s25.4cm0.9cm370cm否6.45s0.7cm1.44s15.3cm0.7cm5.35.3 系統(tǒng)整體測試結(jié)果分析通過測試,系統(tǒng)在基本部分的平均速度能達(dá)到 12.8cm/s,定位誤差均小于 2cm,行駛過程中任意時(shí)刻不會(huì)超過 OX 左側(cè) 5cm。在發(fā)揮部分的平均速度達(dá)到 10.63cm/s,定位誤差小于 1cm,行駛過程任意時(shí)刻不會(huì)超過 OX 左側(cè) 2cm, 能夠達(dá)到全部的基本要求和幾乎所有發(fā)揮部分的要求。但是由于對小車運(yùn)動(dòng)姿態(tài)控制不夠,導(dǎo)致在實(shí)現(xiàn) W 點(diǎn)定位過程中,小車走偏,定位誤差較大(在 1cm 附近小幅度晃動(dòng)) 。6 結(jié)論通過幾天的日夜奮戰(zhàn),終于做成了一個(gè)可以

21、根據(jù)聲音信號(hào)自動(dòng)定位的聲音導(dǎo)引系統(tǒng),系統(tǒng)工作穩(wěn)定,能夠基本實(shí)現(xiàn)題目所有的要求,而且還增加了語音播報(bào)等人機(jī)交互功能。系統(tǒng)制作的每一個(gè)細(xì)節(jié),我們都通過了充分的討論和計(jì)算,其中有幾個(gè)部分地方具有突出的特色。如:采用實(shí)時(shí)速度和位置檢測,實(shí)現(xiàn)閉環(huán)控制;采用語音播報(bào),實(shí)現(xiàn)人機(jī)交互等等。盡管在制作中精益求精,但小車仍存在許多值得改善的地方。如聲音接收電路濾波不夠干凈,造成系統(tǒng)誤差;軟件設(shè)計(jì)不夠完善,算法欠佳,精度不10夠等。回顧我們在這次設(shè)計(jì)中經(jīng)歷的一切,即體驗(yàn)了成功的喜悅,也品嘗了許多失敗的滋味,體會(huì)最深的是團(tuán)隊(duì)精神和理論指導(dǎo)實(shí)踐的重要性。11參考文獻(xiàn):1 全國大學(xué)生電子設(shè)計(jì)競賽組委會(huì).全國大學(xué)生電子設(shè)計(jì)

22、競賽獲獎(jiǎng)作品選編(19941999)M.北京:北京理工大學(xué)出版社,1997.2 全國大學(xué)生電子設(shè)計(jì)競賽組委會(huì).全國大學(xué)生電子設(shè)計(jì)競賽獲獎(jiǎng)作品選編(2001)M.北京:北京理工大學(xué)出版社,2003.3 全國大學(xué)生電子設(shè)計(jì)競賽組委會(huì).全國大學(xué)生電子設(shè)計(jì)競賽獲獎(jiǎng)作品選編(2003)M.北京:北京理工大學(xué)出版社,2005.4 全國大學(xué)生電子設(shè)計(jì)競賽組委會(huì).全國大學(xué)生電子設(shè)計(jì)競賽獲獎(jiǎng)作品選編(2005)M.北京:北京理工大學(xué)出版社,2007.5 黃智偉.全國大學(xué)生設(shè)計(jì)競賽培訓(xùn)教程M.北京:電子工業(yè)出版社.2003.6 黃智偉.基于 multisim2001 的電子電路計(jì)算機(jī)仿真設(shè)計(jì)M.北京:電子工業(yè)出版

23、社,2004.7 黃智偉.無線發(fā)射與接收電路設(shè)計(jì)M.北京:北京航空航天大學(xué)出版社,2004.8 黃智偉.全國大學(xué)生電子設(shè)計(jì)競賽系統(tǒng)設(shè)計(jì)M.北京航空航天大學(xué)出版社,2006.9 黃智偉.全國大學(xué)生電子設(shè)計(jì)競賽制作實(shí)訓(xùn)M.北京航空航天大學(xué)出版社,2007.10 黃智偉.全國大學(xué)生電子設(shè)計(jì)競賽電路設(shè)計(jì)M. 北京航空航天大學(xué)出版社,2006.12附錄附錄附錄一:使用說明附錄一:使用說明打開系統(tǒng)電源開關(guān)后,按下啟動(dòng)按鍵 S1,聽到語音提示后,按照語音提示操作。當(dāng)按下 S2 時(shí),進(jìn)入基本部分演示;按下 S3 時(shí)進(jìn)入發(fā)揮部分演示;當(dāng)按下 S4 時(shí),退出系統(tǒng),停止運(yùn)行。13附錄二:元器件清單附錄二:元器件清單

24、名稱封裝數(shù)量STC89C52DIP402LM358DIP83ST1552LM319DIP142L298Multiwatt151TLP521-4 光耦DIP161蜂鳴器 SFM-271駐極體話筒3LM7805 集成三端穩(wěn)壓TO-220H13mm LEDTO-961310k 排阻SIP92IN4007DIODE0.42電池組 9V 5V各一組輕觸開關(guān)13直流蜂鳴器5V1迷你小車16cm27cm1LCD16021電阻若干電容若干MP3 播放模塊1無線通信模塊1 對14附錄三:附錄三:電路原理圖及印制版圖電路原理圖及印制版圖ISE NA1OU T12OU T23OU T313OU T414ISE NB

25、15VS S9VS4GN D8EN A6EN B11557710101212U3 AL29 8+C1A100 U+C2A100 UC4A0.1 UC3A0.1 UR1A330R2A330R3A330R4A330R5A1kR6A1kR7A1kR8A1kVC CR10 A1kR9A1kVC CVC C+12+121234J2AVC C+12+1212345678910111213141516U2 ATL P521-4LE D5R16 ALE D6+12R15 AVC C1234J3Ach1 sen1ch3 int2ch2 int3ch1 int4ch1 sta15reset6nc7uart/spi

26、8sleep9reg c10vss11vdd12txd /so13rxd /si14sck15ch3 stb116ch3 sta117ch3 stb218chasta219ch2 stb220ch2 sta221chistb222ch1 sta223ch2 stb124ch2 sta125ch1 stb126vdd27vss28ch3 sen329ch2 sen230MM C-1U1 AVC CVC CP30P31R12 A10KVC CR13 A10KR14 A10KR11 A10K1234J4AM1 1M1 2M2 1M2 21234J1AM1 1M1 2M2 1M2 2D1 A D2 A

27、 D3 A D4 AD5 A D6 A D7 A D8 AVC CLE D1LE D4LE D3LE D2O1 1O1 2O2 1O2 212J5AVC C附錄 3.1 電機(jī)驅(qū)動(dòng)電路R1C150R5C5.1 KR6C200 KR9C10R8C20KR3C9.1 KR4C9.1 KR10 C5.1 KR2C20KR7C200 KD1 C11223344556677889910101111121213131414U1 C LM 319RW 1C200 KVC CVC CVC C12J2CVC C1234J1CST1 5512J3CC1C附錄 3.2 速度檢測電路O11-2+3Vee4+5-6O27

28、Vcc8U1 BLM 358R2 B760 KR5 B20KR6 B1KR4 B20KR3 B3KR1 B10KD1 BC1 B105C3 B105C2 B105Q1 B901 8Rp1kVC C123J2BVC CMKJ1B附錄 3.3 聲音檢測電路15VC CP00P01P02P04P05P06P07P20P21P22P23P24P25P26P27AL EPS ENP10P11P12P13P14P15P16P17P30P31P32P33P34P35P36P37X1X2RS T1234567891011121314J4VC CP20P21P22P23P24P25P26P27D2R11KP10

29、VC CS1S2S3S4P00P01P02P03123J5+1212J612J712J812J9+12+C1470UC20.1C40.1+C3220U12J1012J1112J1212J13VC CLS 1R21KP04Q9VC C供供供供供供P03VC Cch1sen1ch3int2ch2int3ch1int4ch1sta15reset6nc7uart/spi8sleep9regc10vss11vdd12txd/so13rxd/si14sck15ch3stb116ch3sta117ch3stb218chasta219ch2stb220ch2sta221chistb222ch1sta223ch

30、2stb124ch2sta125ch1stb126vdd27vss28ch3sen329ch2sen230UMNE C123456789101112131415J14123456789101112131415J15VC CVC CP30P31R410KVC CR510KR610KR310K1234J16ABCDABCD12345678J3P10P11P12P13P14P15P16P17S0I1G2O378X XUXMC 78T05VC C14023933843753663573483393210311130122913281427152616251724182319222021U1ST C89

31、C 52Y112M HZC533pFC633pFX1X2S0R0200R71K+C022uFRE TVC C附錄 3.4 控制電路附錄圖 3.5 速度檢測模塊頂層 PCB 圖16附錄圖 3.6 速度檢測模塊底層絲印圖附錄圖 3.7 聲音檢測模塊頂層 PCB 圖17附錄圖 3.8 聲音檢測模塊頂層絲印圖附錄圖 3.9 聲音檢測模塊底層絲印圖18附錄圖 3.10 控制電路頂層 PCB 圖附錄圖 3.11 控制電路底層絲印圖19附錄圖 3.12 控制電路頂層絲印圖20附錄四:程序流程圖附錄四:程序流程圖開始測距子程序電機(jī)驅(qū)動(dòng)測距子程序結(jié)束開始測距子程序聲光提示語音播報(bào)結(jié)束YYNN距離相差是否為0?

32、小車停止,向主機(jī)發(fā)送數(shù)據(jù)發(fā)送誤差信號(hào)從機(jī)是否發(fā)來數(shù)據(jù)?主機(jī)從機(jī)附錄圖 4.1 主程序21 開始聲源發(fā)聲開定時(shí)器結(jié)束開始發(fā)出誤差信號(hào)結(jié)束YYNN是否接收到誤差信號(hào)?關(guān)閉定時(shí)器是否接收到聲音信號(hào)?主機(jī)從機(jī)計(jì)算出距離附錄圖 4.2 距離測量程序22Standby 工作模式TX_EN=1PWR_UP=1TRX_CE=0SPI 寫 ADDR 和PAYLOAD 數(shù)據(jù)TRX_CE=1?0發(fā)射器上電產(chǎn)生 CRC 和前導(dǎo)碼,發(fā)送數(shù)據(jù),發(fā)送完成時(shí)DR=1前導(dǎo)碼后DR=0TRX_CE=1?AUTO_RETRAN=1?YNNYYNPAYLOADADDRData PackagePreambleADDRPAYLOADCR

33、C附錄圖 4.3 無線數(shù)據(jù)發(fā)送程序23Standby 工作模式TX_EN=0PWR_UP=1TRX_CE=1?0發(fā)射器上電接收器遙感輸入數(shù)據(jù),有相同載波存在則 CD=1CRC 校驗(yàn)是否有效?NNYYData PackagePreambleADDRPAYLOADCRCAM=1接收數(shù)據(jù)TRX_CE=1?DR=1RX 保持打開無線進(jìn)入 STBYAM=0; DM=0MCU 通過 SPI 接口讀出有效數(shù)據(jù)AM=0; DM=0MCU 通過 SPI 接口讀出有效數(shù)據(jù)地址是否正確?NNAM=0YY附錄圖 4.4 無線數(shù)據(jù)接收程序24開始結(jié)束YYNNS0?電機(jī)正轉(zhuǎn)小車前進(jìn)S=0?電機(jī)反轉(zhuǎn)小車后退電機(jī)停轉(zhuǎn)附錄圖

34、4.5 電機(jī)驅(qū)動(dòng)程序25附錄五:程序清單附錄五:程序清單/*串口初始化*/*說明:串口的工作方式為工作方式 1,波特率設(shè)為 9600bit/s,單片機(jī)晶振為 11.0592MHZ*/void Init_Serial()TMOD |= 0X20;/T1 使用工作方式 2TH1=0 xfd;TL1=0 xfd;TR1=1;/設(shè)置波特率PCON=0X00;/SMOD=1;波特率倍增SCON=0Xd0;/工作方式三,允許接收ES = 0;/關(guān)串口中斷,查詢方式/函數(shù)功能:以查詢方式發(fā)送一個(gè)字節(jié)數(shù)據(jù)/形式參數(shù):dat : 要發(fā)送的數(shù)據(jù)/返回值:無/說明:發(fā)送查詢方式void TxByte_serial

35、(uchar dat)EA = 0;/這里只關(guān)串口中斷 ES = 0 會(huì)有問題。從機(jī)接收完數(shù)據(jù)會(huì)發(fā)送數(shù)據(jù)給主機(jī)就有問題了/所以要留意/TB8 = 1; /可能要設(shè)置SBUF=dat;while(!TI);TI=0;EA = 1;/函數(shù)功能:以查詢方式接收一個(gè)字節(jié)數(shù)據(jù)/形式參數(shù):無/返回值:dat : 要發(fā)送的數(shù)據(jù)/說明:發(fā)送查詢方式uchar RxByte_serial ()uchar dat;/RI=0;while(!RI);/等待接收從機(jī)應(yīng)答信號(hào)dat=SBUF;RI=0;returndat;/*void ser() interrupt 4/接收中斷方式26RI=0;a=SBUF;/讀取數(shù)

36、據(jù)flag=1;/置標(biāo)志位 */#includeseri.h/NEC 直流電機(jī)驅(qū)動(dòng)函數(shù)/IO/寄存器地址#define CH1MODE 0 x00#define CH1DUTY 0 x03#define CH2MODE 0 x04#define CH2DUTY 0 x07#define CH3MODE 0 x08#define CH3DUTY 0 x0b#define SYNMODE 0 x0C/同步模式寄存器/要作模式寄存器配置字#define FD_RUN 0 xC0/正向運(yùn)行#define FD_STOP 0 x40/正向停止#define RE_RUN 0 xE0/正向運(yùn)行#defin

37、e RE_STOP 0 x60/反向停止/功能:寫 NEC 寄存器void ConfigReg_NEC (uchar com,uchar dat,bit ecc1,bit ecc2)com |= 0 x50;TB8 = ecc1;TxByte_serial (com);delayms (5);/等待 NEC 完成TB8 = ecc2;TxByte_serial (dat);delayms (5);/等待 NEC 完成delayms (5);/等待 NEC 完成/功能:寫 NEC 寄存器ucharReadReg_NEC (uchar addr,bitecc)uchartmp_NEC;addr |

38、= 0 xa0;TB8 = ecc;27TxByte_serial (addr);tmp_NEC = RxByte_serial ();delayms (5);/等待 NEC 完成returntmp_NEC;/初始化 NECvoid Init_NEC ()delayms (10);/等待 NEC 完成Init_Serial();/初始化串口delayms (250);/等待 NEC 初始化完成/*寄存器設(shè)置*/同步寄存器ConfigReg_NEC (SYNMODE,0 x00,1,1);/1,2 通道不同步/delayms (10);/等待 NEC 完成/通道 1ConfigReg_NEC (

39、CH1DUTY,0 x81,1,1);/128 檔/ConfigReg_NEC (CH1MODE,FD_RUN,1,1);/正向,運(yùn)行/通道 2ConfigReg_NEC (CH2DUTY,0 x80,0,0);/100 檔/ConfigReg_NEC (CH2MODE,FD_RUN,0,1);/正向,運(yùn)行/通道 3ConfigReg_NEC (CH3DUTY,0 x90,0,1);/100 檔/ConfigReg_NEC (CH3MODE,FD_RUN,0,1);/正向,運(yùn)行/電機(jī)正向運(yùn)行/sudu:占空比。n:前進(jìn)步數(shù)void MotorRunFO (uint n)/ConfigReg_N

40、EC (CH1DUTY,sudu);/檔/while (n-)/ConfigReg_NEC (CH3MODE,FD_RUN,0,1);/正向,運(yùn)行ConfigReg_NEC (CH1MODE,0 xc0,1,1);/正向,運(yùn)行N_nop(n);/運(yùn)行一段時(shí)間ConfigReg_NEC (CH3MODE,0 x40,0,0);/正向,停止ConfigReg_NEC (CH1MODE,0 x40,1,0);/正向,停止/N_nop(n);/運(yùn)行一段時(shí)間/電機(jī)左轉(zhuǎn)運(yùn)行/sudu:占空比。n:前進(jìn)步數(shù)28void MotorRunLeft (uchar n,uint sudu)/ConfigReg_N

41、EC (CH1DUTY,sudu);/檔while (n-)ConfigReg_NEC (CH3MODE,FD_RUN,0,1);/正向,運(yùn)行N_nop(sudu);/運(yùn)行一段時(shí)間ConfigReg_NEC (CH3MODE,0 x40,0,0);/正向,停止#includefilter7.h/12MHZ晶振#define JIANGE10150/11.0592MHZ-19555uS 12MHZ-18022#define B_MIN10245/A 點(diǎn)最小距離待測#define B_MAX20000/A 點(diǎn)最大距離待測#define A_MIN8500/B 點(diǎn)最小距離待測#define A_MA

42、X16000/B 點(diǎn)最大距離待測#define CU_TIAO2000/粗調(diào)距離待測#define STOP_TIAO100/到達(dá)的上限值sbitSound_B = P20;sbitSound_A = P21;uintjuli_A;uintjuli_B;bitCeJu_OK_Flag = 0;/無濾波voidJiShuan (uchar *juli_tmp,uchar min,uchar max)/static uchar i = 0;濾波用uint tmp = 0;min = 0;max = 0;tmp = TH0;tmp = (tmp8) + TL0;TxRxBuf_NRF9051 = T

43、H0;TxRxBuf_NRF9052 = TL0;TxRxBuf_NRF9053 = timer0_cnt;Standby_Mode_NRF905 ();Send_NRF905 (TxRxBuf_NRF905,3);/數(shù)據(jù)正確與否的處理/*if (tmp max)CeJu_OK_Flag = 0;return;/continue;*/*juli_tmp = tmp;/1602 顯示/display_data (16,tmp,5,10);CeJu_OK_Flag = 1;/置成功標(biāo)志return;/有濾波/距離的上下限voidJiShuan_filter (uchar *juli_tmp,uch

44、ar min,uchar max)static uchar i = 0;/濾波用uint tmp = 0;/計(jì)算tmp = TH0;tmp = (tmp8) + TL0;/數(shù)據(jù)正確與否的處理if (tmp max)CeJu_OK_Flag = 0;return;/continue;else /正確/采樣if ( i FILTER7_N )30value_bufi = tmp; i+;CeJu_OK_Flag = 0;return;/continue;/繼續(xù)采樣/采樣完成i = 0;/計(jì)數(shù)清零/計(jì)算距離*juli_tmp = filter7 ();/1602 顯示/display_data (1

45、6,*juli_tmp,5,10);CeJu_OK_Flag = 1;return;/測距整體為一個(gè)函數(shù) voidjuli (uint *juli_tmp)/,uchar min,uchar max)CeJu_OK_Flag = 0;while (!CeJu_OK_Flag)/條件待處理/A 點(diǎn)距離Standby_Mode_NRF905 ();/有清 DR_NRF905 的目的Rece_Mode_NRF905 ();TH0 = 0 x00;TL0 = 0 x00;TR0=0;timer0_cnt = 0;yinpin_wait= 0;/yinpin ();/yinpin2 ();如下代換了DE

46、EP = 0;TR0=1;N_nop (1000);DEEP = 1;while (!DR_NRF905)&(yinpin_wait=5000)/delay_s (2);continue;*juli_tmp = TH0;*juli_tmp = (*juli_tmp8) + TL0;/TxRxBuf_NRF9051 = TH0;/TxRxBuf_NRF9052 = TL0;/Standby_Mode_NRF905 ();/Send_NRF905 (TxRxBuf_NRF905,2);CeJu_OK_Flag = 1;/JiShuan ( juli_tmp,min,max);/無/CeJu

47、_OK_Flag = 1;/JiShuan_filter ( juli_tmp, min, max);/有/延遲為一下,消除對下次的測距的干擾-有待修改/delay_s (5);#includetimer.h#define SHENGSU34/擴(kuò)大一千倍#define JIANGE500/500uS/float csbv= 0.034;/聲音的傳播速度 0.034 cm/us(厘米/微秒)sbitSound_B = P10;sbitSound_A = P11;uchar juli_A;uchar juli_B;voidInit_Sound ()timer0_init();timer1_init

48、();voidSound ()while(!Sound_B);/開始信號(hào)TR1 = 1;/while(!Sound_A);/開始信號(hào)/TR0 = 1;N_nop (250);32while(!Sound_B);/結(jié)束信號(hào)TR1 = 0;/while(!Sound_A);/結(jié)束信號(hào)/TR0 = 0;voidJiShuan ()uint tmp;Sound ();/計(jì)算 Btmp = TH1;tmp = (tmp8) + TL1 - JIANGE;juli_B = (tmp*SHENGSU)/1000;/計(jì)算 A/tmp = TH0;/tmp = (tmp8) + TL0 - JIANGE; /j

49、uli_A = (tmp*SHENGSU)/1000;/1602 顯示display_data (0,juli_B,3,10);display_data (16,tmp,5,10);/display_data (16,juli_A,3,10);/液晶變量uchar code table3=0123456789abcdef;/初始化#defineMAX10/顯示緩沖數(shù)組的最大長度/函數(shù)聲明void display_char (uchar add,uchar *tmp,uchar len);/*液晶的 IO 定義*/sbit lcden=P37;sbit lcdrs=P35;sbit lcdrw=

50、P36;void write_com(uchar com)lcdrs=0;P0=com;delayms(4);lcden=1;delayms(4);lcden=0;delayms(4);void write_data(uchar date)33lcdrs=1;P0=date;delayms(4);lcden=1;delayms(4);lcden=0;delayms(4);void lcd_init()lcdrw=0;lcden=0;write_com(0 x38);write_com(0 x0c);write_com(0 x06);write_com(0 x01);delayms(4);dis

51、play_char(0,CAR,3);/display_char(17,table2,15);/*功能:在 1602 的一行上顯示任意位數(shù)據(jù)(非字符)*形式參數(shù):addr: 存放設(shè)置的地址的位置(031) 。* buf : 存放要的顯示數(shù)據(jù)* len : 數(shù)據(jù)的長度* mode: 數(shù)據(jù)以什么進(jìn)制顯示(十進(jìn)制與十六進(jìn)制)*返回值:無*/void display_data (uchar add,uint tmp,uchar len,uchar mode)uchar i=0,buf5=0,0,0,0,0;/*數(shù)據(jù)到字符的轉(zhuǎn)換*/for (i=0;i 15 )/第二行write_com(0 xc0+a

52、dd-16);34else/第一行write_com(0 x80+add);for (i=0;i 15 )/第二行write_com(0 xc0+add-16);else/第一行write_com(0 x80+add);for (i=0;ilen;i+)write_data( tmpi );#include#include#define uint unsigned int#define uchar unsigned char/*NRF905 的 IO 口定義*/*sbit TXEN_NRF905=P10;/發(fā)射/接收選擇位sbitPWR_NRF905=P11;/上電,掉電設(shè)置位/sbit CD

53、_NRF905=P12;/載波檢測標(biāo)志位sbitDR_NRF905=P12;/數(shù)據(jù)準(zhǔn)備就緒標(biāo)志位35sbitMOSI_NRF905=P13;/主 SPI 輸出,從 SPI 輸入sbitCSN_NRF905=P14;/SPI 片選(低電平有效)sbitTRX_CE_NRF905=P15;/發(fā)射/接收使能/sbit AM_NRF905=P14;/地址匹配標(biāo)志位sbitMISO_NRF905=P16;/主 SPI 輸入,從 SPI 輸出sbitSCK_NRF905=P17;/SPI 串行時(shí)鐘*/sbitTXEN_NRF905=P20;/發(fā)射/接收選擇位sbitPWR_NRF905=P21;/上電,掉

54、電設(shè)置位/sbit CD_NRF905=P12;/載波檢測標(biāo)志位sbitDR_NRF905=P22;/數(shù)據(jù)準(zhǔn)備就緒標(biāo)志位sbitMOSI_NRF905=P23;/主 SPI 輸出,從 SPI 輸入sbitCSN_NRF905=P24;/SPI 片選(低電平有效)sbitTRX_CE_NRF905=P25;/發(fā)射/接收使能/sbit AM_NRF905=P14;/地址匹配標(biāo)志位sbitMISO_NRF905=P26;/主 SPI 輸入,從 SPI 輸出sbitSCK_NRF905=P27;/SPI 串行時(shí)鐘/*NRF905 中 RF 配置寄存器設(shè)置*/unsigned char idata RF

55、Conf_NRF90510=/ 0 x00, /配置命令/ 寫配置寄存器指令 0 x4c, /CH_NO,配置頻段在 423MHZ 0 x0c, /輸出功率為 10db,不重發(fā),節(jié)電為正常模式 0 x44, /地址寬度設(shè)置,為 4 字節(jié) 0 x20,0 x20, /接收發(fā)送有效數(shù)據(jù)長度為 32 字節(jié) 0 xC1,0 xC1,0 xC1,0 xC1, /接收地址 0 x58, /CRC 充許,8 位 CRC 校驗(yàn),外部時(shí)鐘信號(hào)不使能,16M 晶振;#defineTx_Addr_Len4uchar code Tx_AddrTx_Addr_Len = 0 xc0,0 xc0,0 xc0,0 xc0;

56、 /NRF905 的接收方地址/*NRF905 中 SPI 串行接口指令*/#defineWC_NRF9050X00/寫配置寄存器,從 0 字節(jié)開始#defineRC_NRF9050X10/讀配置寄存器,從 0 字節(jié)開始#defineWTP_NRF9050X20/寫 TX 有效數(shù)據(jù)#defineRTP_NRF9050X21/讀 TX 有效數(shù)據(jù)#defineWTA_NRF9050X22/寫 TX 地址#defineRTA_NRF9050X23/讀 TX 地址#defineRRP_NRF9050X24/讀 RX 有效數(shù)據(jù)/*NRF905 的發(fā)送/接收緩沖區(qū),及其長度*/#defineTxRxBuf

57、Len_NRF90510idata uchar TxRxBuf_NRF905TxRxBufLen_NRF905 = 0,0,0,0,0,0,0,0,0,0; /第一個(gè)字節(jié)設(shè)置成存儲(chǔ)數(shù)據(jù)的長度#include36/函數(shù)功能:延遲 N 個(gè)機(jī)器周期/形式參數(shù):n:存放延遲的機(jī)器周期的個(gè)數(shù)/返回值:無void N_nop_(uint n)while(n-)_nop_();/函數(shù)功能:初始化 NRF905 的 IO 口/形式參數(shù):無/返回值:無void Init_IO_NRF905()/*Standby 和 SPI 編程模式*/PWR_NRF905 = 1;TRX_CE_NRF905 = 0;TXEN_

58、NRF905 = 0;/*各狀態(tài)標(biāo)志輸入置高,接收輸入*/AM_NRF905 = 1;DR_NRF905 = 1;/CD_NRF905 =1;CSN_NRF905 = 1;/低電平有效SCK_NRF905 =0;N_nop_(3300);/很重要,下電模式切換到 Standby 模式至少要 3MS/函數(shù)功能:NRF905 的 SPI 寫一個(gè)字節(jié)/形式參數(shù):tmp: 存放寫入的參數(shù) /返回值:無void SPI_Write_NRF905 (uchar tmp)uchar CNT;for(CNT=0;CNT8;CNT+)tmp=tmp1;MOSI_NRF905=CY;_nop_();SCK_NRF

59、905=1;_nop_();SCK_NRF905=0;_nop_();37/函數(shù)功能:NRF905 的 SPI 讀一個(gè)字節(jié)/形式參數(shù):無/返回值:tmp: 存放讀取的數(shù)據(jù)uchar SPI_Read_NRF905 ()uchar CNT,tmp = 0;MISO_NRF905 = 1;/釋放數(shù)據(jù)線for(CNT=0;CNTCNT);SCK_NRF905=0;_nop_();returntmp;/函數(shù)功能:設(shè)置 NRF905 中 RF 配置寄存器/形式參數(shù):無/返回值:無voidConfig_NRF905 ()ucharCNT;CSN_NRF905 = 0;/SPI 片選(低電平有效)N_nop

60、_(2);SPI_Write_NRF905 (WC_NRF905);/指令:寫配置寄存器,從 0 字節(jié)開始for (CNT = 0; CNT=650us 使模式切換完成/函數(shù)功能:NRF905 設(shè)置為發(fā)送模式/形式參數(shù):無/返回值: 無voidSend_Mode_NRF905 ()/*激活 nRF905 發(fā)送模式*/TXEN_NRF905 = 1;/N_nop_(5);TRX_CE_NRF905 = 1;N_nop_(750);/while (!DR_NRF905);/等待發(fā)送完成。或者 delay for mode change(=650us)/函數(shù)功能:NRF905 設(shè)置為空閑模式/形式參數(shù):無

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論