




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、學號: 畢業(yè)設(shè)計題 目: 基于mega16的gps智能小車gps導航系統(tǒng)設(shè)計專 業(yè): 通信工程 班 級: 09通信工程一班 姓 名: 指導教師: 吳 慧 二 一 三 年 四 月電氣工程系目 錄摘 要iiabstractiii第一章 緒論- 1 -第二章 系統(tǒng)總體結(jié)構(gòu)圖- 2 -第三章 硬件模塊設(shè)計- 3 -3.1 mega 16最小系統(tǒng)- 3 -3.1.1復位線路的設(shè)計- 3 -3.1.2晶振電路的設(shè)計- 4 -3.1.3 a/d轉(zhuǎn)換濾波線路的設(shè)計- 4 -3.1.4 jtag仿真接口設(shè)計- 5 -3.1.5 電源設(shè)計- 5 -3.1.6 按鍵設(shè)計- 5 -3.2 l298模塊- 6 -3.3
2、 超聲波模塊- 6 -3.4 紅外模塊- 6 -3.5 lcd12864模塊- 7 -3.6 無線模塊nrf24l01- 7 -3.7 gps模塊c3-470b- 8 -第四章 軟件設(shè)計- 10 -4.1 軟件平臺avr開發(fā)環(huán)境介紹- 10 -4.2 軟件總體設(shè)計- 10 -第五章 系統(tǒng)實現(xiàn)及測試- 12 -5.1 原理圖及pcb繪制- 12 -5.1.1 altium designed簡介- 12 -5.1.2 原理圖及pcb設(shè)計- 12 -5.2硬件焊接及組裝- 13 -5.3 實際測試- 14 -第六章 總結(jié)及致謝- 15 -參考文獻- 16 -附錄- 17 -摘 要gps的使用現(xiàn)在已經(jīng)
3、非常普及,大到航空航海系統(tǒng),小到個人移動設(shè)備,都有著它的身影。隨著gps的民用化與成本的降低,已經(jīng)走入了人們的日常生活中,很多手機、pda 等手持設(shè)備都配備了gps功能。就功能而言,gps就是在地球經(jīng)緯座標系下對被測對象的方位進行測定,同時可以提供較高精度與實時的測定數(shù)據(jù)。本論文設(shè)計的系統(tǒng)是基于gps智能小車導航,實現(xiàn)目標是使用兩個單片機進行指定目標導航即一個單片機實現(xiàn)設(shè)定目標相應(yīng)的經(jīng)度和緯度另一個單片機實現(xiàn)避障尋址,由于成本及條件限制本論文采用mega 16單片機,測試場所僅限于學校。本論文主要研究gps定位原理和技術(shù),mega 16單片機編程及相關(guān)模塊應(yīng)用,lcd12864顯示控制,單片機
4、無線通信研究等。關(guān)鍵字:gps;mega 16;單片機;lcd12864;無線通信abstract the use of gps is now very popular, big to the aviation navigation system, small to personal mobile devices, has its shadow. as the gps minyonghua and cost reduce, has walked into peoples daily life, a lot of mobile phones, pda and other handheld dev
5、ices are equipped with the gps function. in terms of functionality, gps is the object to be measured under the latitude and longitude earth coordinate system of the bearing were determined, and at the same time can provide high accuracy and real-time measurement data. this paper designs the intellig
6、ent system is based on gps car navigation, your goal is to use two specified target navigation is a single-chip microcontroller to achieve goal setting corresponding latitude and longitude of the microcontroller is another obstacle avoidance addressing, due to the cost and conditions 16 single-chip
7、microcomputer, this paper adopts the mega test place only in schools.gps positioning principle and technology, this thesis mainly study mega 16 microcontroller programming and related module application, lcd12864 display control, single chip wireless communication research, etc. key words: gps; mega
8、 16; single chip microcomputer; lcd12864; wireless communication第一章 緒論基于國內(nèi)外研究結(jié)果,本論文設(shè)計一個簡單系統(tǒng)模擬汽車智能導航,該系統(tǒng)實現(xiàn)功能有:一、實時顯示小車位置即相應(yīng)的經(jīng)度和緯度;二、可以設(shè)定目標位置即相應(yīng)的經(jīng)度和緯度;三、小車尋址實現(xiàn)智能避障;四、實現(xiàn)兩個單片機無線通信等。第二章 系統(tǒng)總體結(jié)構(gòu)圖本論文設(shè)計的是智能小車導航尋址系統(tǒng),基于該系統(tǒng)要實現(xiàn)的功能可以將系統(tǒng)劃分兩個部分:一、無線收發(fā)及顯示模塊如圖2-1所示,該模塊包括:無線模塊、lcd12864、mega16最小系統(tǒng),實現(xiàn)的功能有:實時顯示小車位置即相應(yīng)的經(jīng)度
9、和緯度、發(fā)送目標位置即所要尋址目標經(jīng)度和緯度;二、小車導航及控制模塊如圖2-2所示,該模塊包括:無線模塊、gps模塊c3-470b、小車驅(qū)動模塊l298、小車避障單元超聲波避障和紅外避障,實現(xiàn)的功能有:gps導航、小車避障、無線接送及發(fā)射命令,下面先從總體設(shè)計再到這兩個方面進行設(shè)計。mega16無線模塊nrf24l01按鍵lcd12864圖2-1 無線收發(fā)及顯示模塊mega16無線模塊nrf24l01c3-470b智能小車驅(qū)動模避障模塊圖2-2 小車導航及控制模塊 第三章 硬件模塊設(shè)計 3.1 mega 16最小系統(tǒng) mega16最小系統(tǒng)可分為:復位線路、晶振線路、ad轉(zhuǎn)換濾波線路、isp下載
10、接口、jtag仿真接口、電源電路。圖3-1 mega16最小系統(tǒng)設(shè)計原理圖3.1.1復位線路的設(shè)計圖3-2 mega16復位電路 mega16復位源有五種分別為:上電復位、外部復位、看門狗復位、掉電檢測復位、jtag avr復位。本系統(tǒng)設(shè)計復位電路采用上電復位這一復位源進行復位mega16 。當mega16在工作時,按下s0開關(guān)時,復位腳變成低電平,觸發(fā)mega16復位。3.1.2晶振電路的設(shè)計圖3-3 mega16晶振電路mega16已經(jīng)內(nèi)置rc振蕩線路,由于rc振蕩線路不穩(wěn)定,特別是在要求高的情況下,例如通信速率很高的情況就需要外部晶振,該系統(tǒng)使用外部晶振電路,c1和c2兩個電容起濾波及抗
11、干擾的作用。3.1.3 a/d轉(zhuǎn)換濾波線路的設(shè)計圖3-4 mega16 a/d轉(zhuǎn)換濾波線路為了減少a/d轉(zhuǎn)換干擾,本系統(tǒng)采用獨立電源對a/d供電,在avcc上串聯(lián)一只10uh的電感(l1)然后接一只0.1uf的電容到地(c3),如圖3-4所示。3.1.4 isp下載接口設(shè)計isp下載接口,無需額外添加器件僅使用雙排25插座。這種情況下pb5(mosi)、pb6(miso)、pb7(sck)、復位腳仍可以正常使用,不受isp下載接口的干擾,如圖3-5所示。圖3-5 mega16 isp下載接口3.1.4 jtag仿真接口設(shè)計圖3-6 mega16jtag仿真接口仿真接口類似isp下載接口但需要上
12、拉四個10k電阻,如圖3-6所示。3.1.5 電源設(shè)計圖3-7 mega16電源設(shè)計本系統(tǒng)設(shè)計電源時采用最常見的5v和3.3v這兩種電源,而且設(shè)計了這兩種電源相互卻換開關(guān),如圖3-7所示,當sw打在左邊電源vcc為+5v此時綠色led燈亮,反之vcc為.v此時紅色led燈亮。其中二極管d1、d2是防止電源極性接反,損壞電路。3.1.6 按鍵設(shè)計基于mega16的鍵盤設(shè)計,鍵盤接口為pa口如圖3-8所示。圖3-8 按鍵原理圖3.2 l298模塊l298驅(qū)動模塊,可以驅(qū)動一個步進電機,2個直流減速電機,原理圖如圖3-9所示。圖3-9 l298原理圖3.3 超聲波模塊 該模塊在啟動發(fā)射電路的同時啟動
13、單片機內(nèi)部的定時器t0,利用定時器的計數(shù)功能記錄超聲波發(fā)射的時間和收到反射波的時間。當收到超聲波反射波時,接收電路 輸出端產(chǎn)生一個負跳變,在int0或int1端產(chǎn)生一個中斷請求信號,單片機響應(yīng)外部中斷請求,執(zhí)行外部中斷服務(wù)子程序,讀取時間差,計算距離,該模塊實物圖如圖3-10所示。圖3-10 超聲波模塊實物圖3.4 紅外模塊當模塊檢測到前方障礙物信號時,電路板上綠色指示燈點亮電平,同時out端口持續(xù)輸出低電平信號,該模塊檢測距離280cm,檢測角度35,檢測距離可以通過電位器進行調(diào)節(jié),順時針調(diào)電位器,檢測距離增加;逆時針調(diào)電位器,檢測距離減少。傳感器主動紅外線反射探測,因此目標的反射率和形狀是
14、探測距離的關(guān)鍵。其中黑色探測距離最小,白色最大;小面積物體距離小,大面積距離大。傳感器模塊輸出端口out可直接與單片機io口連接即可,也可以直接驅(qū)動一個5v繼電器;連接方式:vcc-vcc;gnd-gnd;out-io。比較器采用lm393,工作穩(wěn)定,可采用3-5v直流電源對模塊進行供電。當電源接通時,紅色電源指示燈點亮。原理圖如圖3-11所示。圖3-11 紅外模塊3.5 lcd12864模塊 本系統(tǒng)使用該模塊是為了實現(xiàn)的功能是顯示智能小車當前位置信息及設(shè)定目標位置信息,lcd12864實物圖如圖3-12所示。選用的是帶中文字庫的lcd12864,這樣可以減少代碼長度,提高代碼效率,該模塊可以
15、使用并行或者串行接口,內(nèi)部含有中文字庫及ascii字符集,方便有效。圖3-12 lcd12864實物圖3.6 無線模塊nrf24l01模塊簡介:(1)2.4ghz全球開放ism頻段免許可證使用。(2)最高工作速率2mbps,高效gfsk調(diào)制,抗干擾能力強。(3)126頻道,滿足多點通信和跳頻通信需要。(4)內(nèi)置硬件crc檢錯,和點對點通信地址控制。(5)低功耗,1.9-3.6v工作,待機模式下22ua;掉電模式900na。(6)內(nèi)置2.4ghz天線,體積小巧:15mm29mm。(7)模塊可軟件設(shè)置地址,只有收到本機地址時才會輸出數(shù)據(jù)(提供中斷提示),可直接接各種單片機使用,軟件編程非常方便。(
16、8)內(nèi)穩(wěn)壓電路,使用各種電源包括dc/dc開關(guān)電源均有很好的通道效果。(9)2.54mm間距接口,dip封閉。(10)工作于enhanced shockburst具有automatic packet handling,auto packet transaction handling,具有可選的內(nèi)置包應(yīng)答機制,極大地降低丟包率。(11)與51單片機p0口連接的時候,需要加10k的上拉電阻,與其余口連接不需要。(12)其他系列的單片機,如果是5v的,請參考該系列單片機io口輸出電流大小,如果超過10ma,需要串聯(lián)電阻分壓,否則容易燒毀模塊!如果是3.3v的,可以直接和rf24l01模塊的io口線連
17、接。比如avr系列單片機。如果是5v的一般串接2k的電阻實物圖如圖3-13所示。圖3-13 無線模塊nrf24l01實物圖說明:1)vcc腳接電壓范圍為:1.9v-3.6v,不能在這個敬意之外,超過3.6v將會燒毀模塊。推薦電壓3.3左右。2)除電源vcc和接地端,其余腳都可以直接和普通的5v單片機io口直接相連,無需轉(zhuǎn)換。當然對3v左右的單片機更加適用了。3.7 gps模塊c3-470bc3-470b是一個高效能、低耗電的智慧型衛(wèi)星接收模組或稱做衛(wèi)星接收引擎,他采用美國瑟孚sirf star iii 公司所設(shè)計的第三代衛(wèi)星定位接收晶片,是一個完整的衛(wèi)星定位接收器具備全方位功能,能滿足專業(yè)定位
18、的嚴格要求與個人消費需求。特色:(1) 采用sirf第三代高效能晶片高靈敏度、低耗電量晶片star iii ,內(nèi)建arm7tdmi cpu 可符合客制需求。(2) 具備快速定位及追蹤20顆衛(wèi)星的能力。(3) 體積超小,僅 25.4 25 7公u91d0。(4) 晶片內(nèi)建200,000個衛(wèi)星追蹤運算器,大幅提高搜尋及運算衛(wèi)星訊號能力。(5) 內(nèi)建rtcm sc-104 dgps和wass/egnos解調(diào)器。(6) 低耗電量, 具備有省電模式(trickle-power)功能,以及在設(shè)定的時間才啟動的定時定位(push-to-fix)功能。(7) 支援nmea-0183 v2.2版本規(guī)格輸出。gp
19、s vccc3-470brxdtxdgndvcctxdat89s52rxdgndvcctxdmega16gnd圖3-14 gps模塊c3-470b與單片機連接圖天線如圖3-14所示結(jié)構(gòu)圖,gps模塊只有4個端口與單片機連接,其中vcc、gnd為供電部分,txd、rxd為串行通信部分。由于c3-470b屬于獨立模塊,所以在系統(tǒng)原理圖、pcb中未加入其封裝,而是采用從pcb中的單片機串行口以及vcc、gnd分別引出4條線,采用引線的方式與gps相連接。第四章 軟件設(shè)計4.1 軟件平臺avr開發(fā)環(huán)境介紹avr的集成開發(fā)環(huán)境有很多,首當其沖的應(yīng)該還是iar,為什么呢,因為當初avr 還在atmel 胎
20、中醞釀的時候,iar 公司參與了avr 的設(shè)計,因此可以認為iar 有更為正統(tǒng)的血液,它最了解avr,它的編譯器編出來的代碼應(yīng)該最優(yōu)秀。好比你生的孩子還是你最了解至少相當長一段時間是這樣的。事實上,iarfor avr 確實展現(xiàn)了這個實力,它的功能確實最為強大,無論是源代碼編寫還是軟件乃至硬件仿真,編譯出來的代碼也十分優(yōu)秀。但是事物總是相對存在的,優(yōu)點有時就意味著缺點。iar 功能全面而強悍,代價就是它的軟件界面比較復雜,設(shè)置選項多,網(wǎng)上的資料也比較少,最要命的是這個軟件非常的貴,好吧你說你有破解版,但是破解文件一般并不通用,而且破解方法一般都稍顯繁瑣。以上幾條,對于新接觸avr 的人來說,幾
21、乎是邁不過的坎。 avr studio,官方出品,因為它本身不支持c 語言,一般沒有人用這個軟件來做開發(fā)環(huán)境,一般我們只用它的仿真功能搭配其他c 編譯器來用。 winavr,又稱gcc avr。gcc avr 應(yīng)該是目前使用率最高的avr 開發(fā)環(huán)境了,軟件體積小,界面簡單易用,教程資料很多,代碼效率高,最重要的是,它是完全免費的。但是它幾乎沒有仿真調(diào)試的功能。所以使用gcc avr+avr studio 搭建avr ide。winavr-20060421 gccavr編譯器,gccavr是一款免費的編譯器,編譯功能也挺強的。總得來說還是一款很好的開發(fā)軟件。 4.2 軟件總體設(shè)計系統(tǒng)軟件設(shè)計包括
22、兩部分:一是:接收顯示及發(fā)送命令程序軟件設(shè)計流程圖如圖4-1所示;二是:接送和發(fā)送及避障程序,實現(xiàn)智能小車導航避障功能,軟件設(shè)計流程圖如圖4-2所示。接收現(xiàn)在位置信息顯示目標經(jīng)度、緯度及現(xiàn)在位子信息輸入目標經(jīng)度、緯度發(fā)送目標位置初始化程序圖4-1 顯示主機程序框圖判斷是否到達目標位置接收現(xiàn)在位置信息小車避障初始化程序發(fā)送現(xiàn)在位置信息發(fā)送完成信息 n y圖4-2 執(zhí)行主機程序框圖第五章 系統(tǒng)實現(xiàn)及測試5.1 原理圖及pcb繪制該系統(tǒng)原理圖設(shè)計采用altium designed設(shè)計原理圖及pcb,本章節(jié)敘述該系統(tǒng)怎樣設(shè)計包括硬件及軟件設(shè)計。5.1.1 altium designed簡介altium
23、 designer 是altium公司protel系列軟件基于windows平臺的最新產(chǎn)品,是altium公司總結(jié)了多年的技術(shù)研發(fā)成果,是對protel 99 se以及protel dxp不斷修改、擴充新設(shè)計模塊和多次升級完善后的產(chǎn)物。altium designer 6是完全一體化的電子產(chǎn)品開發(fā)系統(tǒng)下的一個版本。altium designer 是將設(shè)計流程、集體化pcb設(shè)計、可編程器件設(shè)計和基于處理器設(shè)計的嵌入式軟件開發(fā)功能整合在一起的電路設(shè)計系統(tǒng)。5.1.2 原理圖及pcb設(shè)計由于本系統(tǒng)所涉及器件太多,原理圖在第二章就分別列出在此就不再贅述,下面列出pcb圖及3dpcb圖,如圖5-1、5-2
24、。圖5-1 系統(tǒng)pcb圖圖5-2 系統(tǒng)pcb3d效果圖5.2硬件焊接及組裝 根據(jù)需要購置了所需材料,如圖5-3、5-4所示。按照電氣要求進行組裝完成的效果圖如圖5-5所示。圖5-3 電路板及所需器件圖5-4 小車底盤圖5-5 完成后效果圖5.3 實際測試該系統(tǒng)實際測試在銅陵學院內(nèi)進行,測試如圖5-6,測試范圍在圖書館及教學樓。圖書館教學樓圖5-6 測試示意圖測試結(jié)果:發(fā)送第六章 總結(jié)及致謝 在撰寫本論文過程中遇到了很多困難也得到很多人的幫助,在此給予我?guī)椭耐瑢W老師表示對他們感謝,在撰寫論文過程中我做了以下工作: 2013年3月我選定論文課題為基于mega16智能小車gps導航系統(tǒng)設(shè)計,我選定
25、這個題目是因為未來汽車會朝向智能化方向發(fā)展,所以我打算用一個簡單的模型模擬智能汽車導航系統(tǒng),由于avr單片機我是第一次接觸,我買了一塊mega16開發(fā)板,學習了mega16各個模塊的操作,深入了解了mega16這款單片機,還有g(shù)ps技術(shù),也是我比較陌生的一個知識,我閱讀了相關(guān)文獻,為以后論文撰寫奠定基礎(chǔ)。 4月開始著手系統(tǒng)總體設(shè)計,繪制原理圖及pcb圖,由于繪制原理圖我以前使用過altium designed這款軟件所以決定使用這款軟件繪制原理圖及pcb圖,在這個過程中我遇到的好多困難,特別是pcb圖繪制,同樣這次論文撰寫我也學會了好多知識,明白了以前不明白的知識,例如:我在學習pcb圖繪制時
26、老師說要將模擬地和數(shù)字地兩個分開我一直不明白,這次論文撰寫我明白了為什么及怎樣分開,這個過程是最辛苦的也是同學老師給我最多的幫助的過程,在此我由衷表示對他們的感謝。 5月是對硬件電路的調(diào)試及軟件的編寫,我將我做好的pcb板發(fā)到工廠做出一塊樣板,做好之后開始對硬件的安裝和調(diào)試,焊接pcb板時我使用到各種封裝的電子器件,為此我請教了我們學校實驗室丁老師,在她的悉心教導下我很快掌握了各種封裝的電子器件的焊接要領(lǐng),焊接完畢,就是對pcb板的測試,首先,使用萬用表測試,測試有沒有虛焊等問題。幸運的是焊接很好沒有問題,接下來就是軟件的編寫,我參考了書本及網(wǎng)上資料編寫了各個模塊的程序,同時學習了avr單片機
27、軟件開發(fā)平臺;下面就是測試階段,我選擇的測試地點是圖書館到教學樓,測試很成功這是是我欣慰。 轉(zhuǎn)眼間論文的撰寫就要結(jié)束,也就意味著大學學習即將結(jié)束,感謝四年給我?guī)椭睦蠋熀屯瑢W,由于我的學術(shù)水平有限,有不妥之處希望指出。參考文獻附錄論文部分程序/*函數(shù)名:void delay(unit i)函數(shù)功能:延時函數(shù)*/void delay(unit i) while(-i);/*函數(shù)名:void read_busy()函數(shù)功能:讀忙函數(shù)*/void read_busy() uchar temp;uchar flag=1;while(flag=1) ddra=0x00;/a口設(shè)為輸入,準備讀數(shù)據(jù)/pin
28、a=0xff;/c口設(shè)為輸出delay(10);rs_l; /rs=0delay(10);rw_h; /rw=1delay(10);en_h; /en=1delay(100);temp = pina; /讀端口adelay(100);ddra=0xff; /端口a改為delay(10);en_l; /en=0delay(10);if(temp&0x80)flag = 0;/*函數(shù)名:void write_lcd_command(uchar cmd)函數(shù)功能:寫命令函數(shù)*/void write_lcd_command(uchar cmd) read_busy();delay(10);rs_l;
29、/rs=0delay(10);rw_l; /rw=0delay(10);lcd_databus=cmd; /輸出指令delay(10);en_h; /en=1delay(10);en_l; /en=0delay(10);/*函數(shù)名:void write_lcd_data(uchar value)函數(shù)功能:寫數(shù)據(jù)函數(shù)*/void write_lcd_data(uchar value)read_busy();delay(10);rs_h; /rs=1delay(10);rw_l; /rw=0delay(10);lcd_databus=value; /輸出指令delay(10);en_h; /en=
30、1delay(10);en_l; /en=0delay(10);/*函數(shù)名:void set_page(uchar page)函數(shù)功能:設(shè)置頁*/void set_page(uchar page) page=0xb8|page;write_lcd_command(page);/*函數(shù)名:void set_line(uchar startline)函數(shù)功能:設(shè)置顯示的起始行*/void set_line(uchar startline) startline=0xc0|startline;write_lcd_command(startline);/*函數(shù)名:void set_column(ucha
31、r column)函數(shù)功能:設(shè)置顯示的列日期:*/void set_column(uchar column) column=column&0x3f;column=0x40|column;write_lcd_command(column);/*函數(shù)名:void setonoff(uchar onoff)函數(shù)功能:顯示開關(guān)函數(shù)*/void setonoff(uchar onoff) onoff=0x3e|onoff;write_lcd_command(onoff);/*函數(shù)名:void selectscreen(uchar screen)函數(shù)功能:選屏*/void selectscreen(uch
32、ar screen) switch(screen) case 0: cs1_l;cs2_l; break;case 1: cs1_l;cs2_h; break;case 2: cs1_h;cs2_l; break;/*函數(shù)名:void clearscreen(uchar screen)函數(shù)功能:清屏*/void clearscreen(uchar screen) uchar i,j;selectscreen(screen);for(i=0;i8;i+) set_page(i);set_column(0);for(j=0;j64;j+) write_lcd_data(0x00);/*函數(shù)名:vo
33、id initlcd()函數(shù)功能:lcd初始化*/void initlcd() read_busy();selectscreen(0);setonoff(0);selectscreen(0);setonoff(1);selectscreen(0);clearscreen(0);set_line(0);/*函數(shù)名:void display(uchar ss,uchar page,uchar column,uchar *p)函數(shù)功能:lcd12864顯示漢字*/void display(uchar ss,uchar page,uchar column,uchar *p) uchar i;selec
34、tscreen(ss);set_page(page);set_column(column);for(i=0;i16;i+) write_lcd_data(pi);set_page(page+1);set_column(column);for(i=0;i16;i+) write_lcd_data(pi+16);/*函數(shù)名:char spi_rw(char data)函數(shù)功能:nrf24l01的spi寫時序*/char spi_rw(char data)char i,temp=0; for(i=0;i8;i+) / output 8-bit if(data & 0x80)hign_24l01_mo
35、si ; / output uchar, msb to mosielselow_24l01_mosi; data = (data 1); / shift next bit into msb.temp=1;hign_24l01_sck ; / set sck high.if(pinb&0x10)temp+; / capture current miso bitlow_24l01_sck; / .then set sck low again return(temp); / return read uchar/*函數(shù)名:char spi_read(char reg)函數(shù)功能:nrf24l01的spi
36、時序*/char spi_read(char reg)char reg_val;low_24l01_csn; / csn low, initialize spi communication.spi_rw(reg); / select register to read from.reg_val = spi_rw(0); / .then read registervaluehign_24l01_csn; / csn high, terminate spi communicationreturn(reg_val); / return register value/*函數(shù)名:char spi_rw_r
37、eg(char reg, char value)函數(shù)功能:nrf24l01讀寫寄存器函數(shù)*/char spi_rw_reg(char reg, char value)char status;low_24l01_csn; / csn low, init spi transactionstatus = spi_rw(reg); / select registerspi_rw(value); / .and write value to it.hign_24l01_csn; / csn high againreturn(status); / return nrf24l01 status uchar/*
38、函數(shù)名:char spi_read_buf(char reg, char *pbuf, char uchars)函數(shù)功能:用于讀數(shù)據(jù),reg:為寄存器地址,pbuf:為待讀出數(shù)據(jù)地址,uchars:讀出數(shù)據(jù)的個數(shù)*/char spi_read_buf(char reg, char *pbuf, char uchars)int status1,uchar_ctr;low_24l01_csn; / set csn low, init spi tranactionstatus1 = spi_rw(reg); / select register to write to and read status
39、ucharfor(uchar_ctr=0;uchar_ctruchars;uchar_ctr+)pbufuchar_ctr = spi_rw(0); / hign_24l01_csn; return(status1); / return nrf24l01 status uchar/*函數(shù)名:char spi_write_buf(char reg, char *pbuf, char uchars)函數(shù)功能:用于寫數(shù)據(jù):為寄存器地址,pbuf:為待寫入數(shù)據(jù)地址,uchars:寫入數(shù)據(jù)的個數(shù)*/char spi_write_buf(char reg, char *pbuf, char uchars)char status1,uchar_ctr;low_24l01_csn; /spi使能status1 = spi_rw(reg); for(uchar_ctr=0; uchar_ctruchars; uchar_ctr+) /spi_rw(*pbuf+);hign_24l01_csn; /關(guān)閉spireturn(status1);/*函數(shù)名:void setrx_mode(void)函數(shù)功能:數(shù)據(jù)接收配置*/void setrx_mode(void)low_24l01_ce;spi_rw_reg(write_reg + config, 0x
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 中文文獻檢索知到課后答案智慧樹章節(jié)測試答案2025年春安徽師范大學
- 無意識的體重減輕警惕身體疾病
- 浙江省諸暨市牌頭中學高三1月月考歷史試題
- 基于“雙高”建設(shè)的高水平專業(yè)群在線課程開發(fā)與應(yīng)用研究
- 涼山彝族農(nóng)村居民高尿酸血癥流行病學調(diào)查
- 兒童音樂劇創(chuàng)意教學實踐探索
- YNDB擔保公司風險內(nèi)部管控體系完善與風險分散策略研究
- 血清MCP-1、SAA與2型糖尿病患者認知功能的相關(guān)性研究
- 新課標2025版高考數(shù)學二輪復習專題八數(shù)學文化及數(shù)學思想第1講數(shù)學文化學案文新人教A版
- 2025版高中化學第2章化學反應(yīng)速率和化學平衡第1節(jié)化學反應(yīng)速率導學案新人教版選修4
- 男護士的職業(yè)生涯規(guī)劃書
- 房地產(chǎn)合約規(guī)劃分類明細
- 八年級物理(上冊)知識點整理 (2)
- 新冀人版小學科學三年級下冊全冊教案(2022年春修訂)
- 高中物理萬有引力定律知識點總結(jié)與典型例題
- 吊裝平臺施工方案
- 中學語文課程標準研究最新試題及答
- 粱、柱、板截面取值原則最終
- 如何激發(fā)學生學習物理的興趣PPT課件
- CRH2 第5章 轉(zhuǎn)向架
- 安全生產(chǎn)—2021年評中級職稱的論文
評論
0/150
提交評論