單片機(jī)課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告_第1頁(yè)
單片機(jī)課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告_第2頁(yè)
單片機(jī)課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告_第3頁(yè)
已閱讀5頁(yè),還剩19頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、課程設(shè)計(jì)報(bào)告學(xué)號(hào):1328403028姓名:張帥華班級(jí):13電子信息工程指導(dǎo)老師:鄧晶蘇州大學(xué) 電子信息學(xué)院2016 年 4 月摘要 隨著時(shí)代的進(jìn)步和發(fā)展,單片機(jī)技術(shù)已經(jīng)成為一種比較成熟的技術(shù),普及 到我們生活、工作、科研等各個(gè)領(lǐng)域。本次課程設(shè)計(jì)包含四個(gè)基于 STC89C52 單片機(jī)的設(shè)計(jì),分別是:基于單總線數(shù)字式溫度傳感器 DS18b20 的數(shù)字溫度 計(jì)的設(shè)計(jì);基于 2K 位串行 CMOS 的 EEPROM AT24C02 的數(shù)字密碼鎖的設(shè)計(jì); 基于 SPI 接口實(shí)時(shí)時(shí)鐘芯片 DS1302 的電子日歷的設(shè)計(jì)以及基于無(wú)線收發(fā)芯片 nrf24L01 的簡(jiǎn)單無(wú)線通訊系統(tǒng)的設(shè)計(jì)。關(guān)鍵詞 : 單片機(jī)

2、DS18B20 AT24C02 DS1302 NRF24L01目錄摘要1目錄2第 1 章 基于 DS18B20 的數(shù)字溫度計(jì)設(shè)計(jì) 31.1 設(shè)計(jì)要求 31.2 系統(tǒng)組成 31.3 系統(tǒng)設(shè)計(jì) 31.3.1 硬件設(shè)計(jì) 31.3.2 軟件設(shè)計(jì) 41.4 設(shè)計(jì)結(jié)果 6第 2 章 基于 AT24C02 的電子密碼鎖設(shè)計(jì) 72.1 設(shè)計(jì)要求 72.2 系統(tǒng)組成 72.3 系統(tǒng)設(shè)計(jì) 82.3.1 硬件設(shè)計(jì) 82.3.2 軟件設(shè)計(jì) 92.4 設(shè)計(jì)結(jié)果 9第3章基于DS1302的電子日歷的設(shè)計(jì)113.1 系統(tǒng)功能 113.2 系統(tǒng)組成 113.3 系統(tǒng)設(shè)計(jì) 113.3.1 硬件設(shè)計(jì) 113.3.2 軟件設(shè)計(jì) 1

3、33.4 設(shè)計(jì)結(jié)果 14第4章 基于 NRF24L01 的無(wú)線通信系統(tǒng)的設(shè)計(jì) 154.1 系統(tǒng)功能 154.2 系統(tǒng)組成 154.3 系統(tǒng)設(shè)計(jì) 154.3.1 硬件設(shè)計(jì) 154.3.2 軟件設(shè)計(jì) 164.4 設(shè)計(jì)結(jié)果 16總結(jié) 1 7第 1 章 基于 DS18b20 的數(shù)字溫度計(jì)設(shè)計(jì)1.1 設(shè)計(jì)要求(1)采用DS18b20與單片機(jī)STC89C52相結(jié)合設(shè)計(jì)數(shù)字溫度計(jì),實(shí)現(xiàn) 液晶屏實(shí)時(shí)顯示當(dāng)前溫度;(2)讀取并顯示DS18B20的序列碼。1.2系統(tǒng)組成本方案設(shè)計(jì)的系統(tǒng)由單片機(jī)系統(tǒng)、數(shù)字式溫度傳感器DS18B20和LCD1602顯示模塊組成。DS18B20 : DS18B20是單線式數(shù)字溫度傳感器

4、,與微處理器連接時(shí)僅需 要一條口線即可實(shí)現(xiàn)微處理器與 DS18B20的雙向通訊;有溫度測(cè)量范圍寬, 測(cè)量精度高的特點(diǎn);同時(shí)它的供電方式靈活,可以通過(guò)內(nèi)部寄生電路從數(shù)據(jù)線 上獲取電源;測(cè)量參數(shù)可配置,其測(cè)量分辨率可通過(guò)程序設(shè)定為 912位。LCD1602 : 1602液晶也叫1602字符型液晶,是一種專門用來(lái)顯示字母、 數(shù)字、符號(hào)的點(diǎn)陣型液晶模塊,它由若干個(gè)5x7或者5x11的點(diǎn)陣字符位組成,每個(gè)點(diǎn)陣字符位都可以用顯示一個(gè)字符。1.3系統(tǒng)設(shè)計(jì)硬件設(shè)計(jì)圖1-1數(shù)字溫度計(jì)硬件原理圖在本次系統(tǒng)設(shè)計(jì)中,STC89C52單片機(jī)作為控制器,完成所有功能的控制, 包括:(1)DS18B20數(shù)字溫度傳感器的初始

5、化和讀取溫度值;(2)LCD1602顯示驅(qū)動(dòng)與控制。以數(shù)字式溫度傳感器DS18B20作為傳感元件。DS18B20是單總線數(shù)字式 溫度傳感器,采用單總線協(xié)議,即與單片機(jī)接口僅需占用一個(gè)I/O端口,無(wú)需任何外圍器件,直接將溫度轉(zhuǎn)化為數(shù)字信號(hào),以數(shù)字碼形式串行輸出??捎梢?根I/O數(shù)據(jù)線既供電又傳輸數(shù)據(jù)。DS18B20直接讀取被測(cè)溫度值,送到 LCD1602上進(jìn)行顯示,LCD1602可以顯示兩行字符,每行16個(gè)字符,只能 顯示ASCII碼字符。本實(shí)驗(yàn)中需要顯示的數(shù)據(jù)是溫度和 DS18B20的唯一序列 碼??傮w架構(gòu)如圖1-1所示。將18B20的單總線DQ與單片機(jī)接口 P2.2相連, 通過(guò)時(shí)序控制首先對(duì)

6、其進(jìn)行初始化,然后發(fā)送讀寫和溫度轉(zhuǎn)換命令,使DS18B20內(nèi)部溫度傳感器開始工作,最后從溫度寄存器中讀取兩字節(jié)二進(jìn)制碼, 轉(zhuǎn)換為溫度值后顯示在LCD上。同理,對(duì)于序列碼的讀取,也要在 18B20初 始化成功的基礎(chǔ)上,發(fā)送讀 ROM命令(該命令只適用于總線上存在單只 DS18B20 ),將讀取的字符顯示在液晶屏上。軟件設(shè)計(jì)主程序:圖1-2主程序流程圖先進(jìn)行初始化,該初始化包括 DS18b20的初始化和液晶屏的初始化。DS18b20的初始化是為器件應(yīng)答準(zhǔn)備,作為從器件的DS18B20在一上電后就一直在檢測(cè)總線上是否有 480 - 960微秒的低電平出現(xiàn),如果有,在 總線轉(zhuǎn)為高電平后等待15 -60

7、微秒后將總線電平拉低60 -240微秒做出 響應(yīng)存在脈沖,告訴主機(jī)本器件已做好準(zhǔn)備;液晶屏的初始化是為顯示溫 度準(zhǔn)備;調(diào)用顯示子程序顯示當(dāng)前檢測(cè)到的溫度值;不斷刷新溫度數(shù)據(jù)進(jìn)行實(shí)時(shí)顯示。DS18B20的初始化:%18& 滸 miruT«DS財(cái) 職460f.irninhumDS182OTX加刪邯*13WC<1/卑菱思找我型官義:恿曲遵刊霽低電平蛇出加低電亞總聶用制昏和rwiR/m 區(qū)陽(yáng)卜樁胡魏平圖1-3 DS18B20 初始化時(shí)序圖初始化流程:將總線拉低480us960us拉高總線,若DS18B20做出反應(yīng)會(huì)將在15us60us后將總線拉低等待DS18B20拉低總線圖1-

8、4 DS18B20 初始化流程圖DS18B20讀字節(jié)和寫字節(jié)子程序:圖1-6讀字節(jié)子程序流程圖最長(zhǎng)不超過(guò)120微秒。寫周期一開始主機(jī)先把總線拉低1微秒表示寫周期開始。隨后若主機(jī)想寫 0,則將總線置為低 電平,若主機(jī)想寫1,則將總線置為高電平,持續(xù)時(shí)間最少 60微秒直至寫周期 結(jié)束,然后釋放總線為高電平至少 1微秒給總線恢復(fù)。而DS18B20則在檢測(cè) 到總線被拉底后等待15微秒然后從15us到45us開始對(duì)總線采樣,在采樣期 內(nèi)總線為高電平則為1,若采樣期內(nèi)總線為低電平則為 0。讀字節(jié):讀周期是從主機(jī)把單總線拉低 1微秒之后開始,先釋放單總線為 高電平,以讓DS18B20把數(shù)據(jù)傳輸?shù)絾慰偩€上。作

9、為從機(jī) DS18B20在檢測(cè) 到總線被拉低1微秒后,便開始送出數(shù)據(jù),若是要送出 0就把總線拉為低電平 直到讀周期結(jié)束。若要送出1則釋放總線為高電平。主機(jī)在一開始拉低總線1微秒后釋放總線,然后在包括前面的拉低總線電平1微秒在內(nèi)的15微秒時(shí)間內(nèi)完成對(duì)總線進(jìn)行采樣檢測(cè),采樣期內(nèi)總線為低電平則確認(rèn)為0。采樣期內(nèi)總線為高電平則確認(rèn)為1。完成一個(gè)讀時(shí)序過(guò)程,至少需要 60微秒才能完成。 讀取溫度子程序:1価回|圖1-7讀取溫度子程序流程圖讀取溫度流程:跳過(guò)ROM操作(0CCH)發(fā)送溫度轉(zhuǎn)換命令(044H)跳過(guò)ROM操作(0CCH)發(fā)送讀取溫度命令(033H)讀取溫度值(0BEH)1.4設(shè)計(jì)結(jié)果能夠在液晶屏

10、的第一行顯示 DS18b20的序列碼,在第二行顯示溫度并且 不斷刷新實(shí)時(shí)顯示,分辨率設(shè)置為12位。圖1-8設(shè)計(jì)測(cè)試結(jié)果圖第2章 基于AT24C02的數(shù)字密碼鎖設(shè)計(jì)2.1設(shè)計(jì)要求(1)設(shè)置初始密碼為“ 000000 ”(2)進(jìn)入密碼鎖后,按鍵 S11修改密碼,并在液晶顯示密碼(3)S12為確定鍵,修改成功(4)S13為重新設(shè)置鍵(5)S14為退出密碼鎖(6)在未進(jìn)入密碼鎖時(shí),S11,S12,S13,S14無(wú)效2.2系統(tǒng)組成本設(shè)計(jì)由STC89C52單片機(jī)芯片和具有2K位串行CMOS的EEPROMAT24C02以及LED數(shù)碼管顯示模塊組成AT24C02 :(1)模塊原理圖VCC1AlWPA2CLOC

11、KVSSDATE(J624C025PZ.1圖2-1 AT24C02 模塊原理圖(2)發(fā)送器件地址的格式1010A2AlAO圖2-2發(fā)送器件地址的格式圖高四位1010是24Cxx系列的固定器件地址,接下來(lái)是 A2、A1、A0是根 據(jù)器件連接來(lái)決定,我們的原理圖都接地所以是 000。R/W為是選擇讀還是寫, 1的時(shí)候是讀,0的時(shí)候是寫。(3)芯片工作時(shí)序初始化(scl=H, sda=H)寫入過(guò)程發(fā)送器件地址(0XA0): SendByte(0xa0); 發(fā)送要寫入24C02的內(nèi)存地址:SendByte(addr); 發(fā)送要寫入的數(shù)據(jù):Se ndByte(dat);讀出過(guò)程發(fā)送寫入的器件地址(0XA

12、0)發(fā)送要讀的24C02的內(nèi)存地址發(fā)送讀出的器件地址(0XA1)讀取數(shù)據(jù)(4) AT24C02的數(shù)據(jù)發(fā)送時(shí)序總線起始信號(hào)起始信號(hào)S圖2-3總線起始信號(hào)時(shí)序圖總線應(yīng)答信 總線結(jié)束信號(hào)終止信號(hào)P圖2-4總線結(jié)束信號(hào)時(shí)序圖2.3系統(tǒng)設(shè)計(jì) 硬件設(shè)計(jì)電源電跆晶撮電路顯示電路MCU L 按鍵電路AT24C02 |復(fù)位電路圖2-5硬件原理圖單片機(jī)是電子密碼鎖系統(tǒng)的主控制器。AT24C02是密碼儲(chǔ)存電路,它的SCL、SDA端分別接單片機(jī)的P2.1、P2.0端口,用于與單片機(jī)之間讀寫操作的數(shù)據(jù)傳輸;WP接低電平表示單片機(jī)可以對(duì)器件進(jìn)行正常的讀/寫操作;A0、A1、A2是器件地址輸入端,都接低電平 表示只有一個(gè)A

13、T24C02被器件尋址。用戶設(shè)置的密碼存放在 AT24C02中,當(dāng) 需要更改或讀取用戶密碼時(shí),只需對(duì) AT24C02里的數(shù)據(jù)更改或讀取。矩陣鍵盤電路主要作用是對(duì)密碼進(jìn)行輸入、修改、確定等操作,它由行線 和列線組成,按鍵位于行、列的交叉點(diǎn)上,行列分別連接到按鍵開關(guān)的兩端。 無(wú)按鍵按動(dòng)作時(shí)列線處于高電平狀態(tài);有按鍵按下時(shí),交點(diǎn)的行線和列線相通, 列線電平狀態(tài)將由與此列線相連的行線電平?jīng)Q定。顯示電路由LED數(shù)碼管和LED指示燈組成。232軟件設(shè)計(jì)主程序:I 初島化II弓I 他應(yīng)打I Q須沁序rz錘亞打描Ir I| xTNftTTF |GD圖2-6主程序流程圖先對(duì)數(shù)碼管的顯示進(jìn)行初始化;按鍵掃描判斷是

14、否輸入密碼,如果輸入密碼并且輸入正確,則密碼鎖開啟;按鍵掃描判斷是否進(jìn)行密碼的更改或者密碼鎖的關(guān)閉;輸入更改后的密碼,若正確則密碼鎖開啟;假如系統(tǒng)斷電或密碼鎖關(guān)閉按鍵按下則密碼鎖關(guān)閉AT24C02子程序:開始圖2-7 AT24C02子程序流程圖2.4設(shè)計(jì)結(jié)果功能鍵:S1-S10 數(shù)字鍵 0-9S11-更改密碼S12-更改密碼完畢后確認(rèn)S13-重試密碼、重新設(shè)定S14-關(guān)閉密碼鎖初始密碼:000000 密碼位數(shù):6位密碼鎖的初始密碼為000000,密碼輸入正確后可啟動(dòng)密碼鎖對(duì)密碼進(jìn)行修改的操作,六為密碼分別對(duì)應(yīng) LED燈D1,D2,D3,D4,D5,D6,密碼 所有位數(shù)輸入正確則六個(gè)LED等被點(diǎn)

15、亮,并且D7,D8也被點(diǎn)亮;若某一位密 碼不正確,則所對(duì)應(yīng)的LED燈不亮且D7,D8兩個(gè)LED燈也不亮。圖2-8設(shè)計(jì)測(cè)試結(jié)果圖第3章 基于DS1302的電子日歷設(shè)計(jì)3.1設(shè)計(jì)要求(1 )在LCD上顯示當(dāng)前的時(shí)間信息,即年、月、日、星期、時(shí)、分、秒(2)具有時(shí)間的調(diào)校功能(3)顯示當(dāng)前調(diào)節(jié)對(duì)象(4)日期時(shí)間加調(diào)整與保存。3.2系統(tǒng)組成本設(shè)計(jì)由STC89C52單片機(jī)最小系統(tǒng)、實(shí)時(shí)時(shí)鐘芯片 DS1302以及顯示 液晶LCD1602組成。DS1302采用SPI三線接口與CPU進(jìn)行通信,僅用到三 根信號(hào)線:RST(復(fù)位),1/0(數(shù)據(jù)線),SCLK(同步串行時(shí)鐘)。并可采用突發(fā) 方式一次傳送多個(gè)字節(jié)的時(shí)

16、鐘信號(hào)和RAM數(shù)據(jù)。實(shí)時(shí)時(shí)鐘可提供秒、分、時(shí)、日、星期、月和年,一個(gè)月小與 31天時(shí)可以自動(dòng)調(diào)整,且具有閏年補(bǔ)償功能。 3.3系統(tǒng)設(shè)計(jì)硬件設(shè)計(jì)圖3-1電子日歷硬件原理圖本系統(tǒng)主要由ST89C52主控模塊、時(shí)鐘復(fù)位電路模塊、 DA1302電路模 塊、按鍵掃描模塊和LCD1602液晶顯示模塊組成。DS1302與51單片機(jī)的連 接只需要利用單片機(jī)的三個(gè)I/O弓I腳對(duì)DS1302的SCLK、I/O、和RST進(jìn)行 控制,51單片機(jī)的P2.0,P2.1和P2.4分別與DS1302的SCLK,I/O和RST相 連,DS1302的主電源VCC2與系統(tǒng)電源 VCC相連。DS1302實(shí)時(shí)時(shí)鐘:DS1302時(shí)鐘芯片

17、包括實(shí)時(shí)時(shí)鐘(日歷)和 31字節(jié)的靜態(tài)RAM,它通過(guò) 一個(gè)簡(jiǎn)單的串行接口與微處理器通信,實(shí)時(shí)時(shí)鐘提供秒,分,時(shí),日,周,月, 年等信息,對(duì)于小于30天的月和月末的日期自動(dòng)進(jìn)行調(diào)整,還包括閏年校正 的功能,時(shí)鐘的運(yùn)行可以采用 24h或帶AM/PM 的12h格式。(1)DS1302的控制字格式DS1302的時(shí)鐘控制字最高有效位(位 7)必須是邏輯1,如果它為邏輯0, 則不能把數(shù)據(jù)寫到DS1302中;位6如果為0,則表示存取日歷時(shí)鐘數(shù)據(jù),為 1表示存取RAM數(shù)據(jù);位5 1( A4 A0)指示操作單元的地址,最低有效位(位0 )為0表示進(jìn)行寫操作,為1表示進(jìn)行讀操作??刂谱挚偸菑淖畹?位開始進(jìn)行輸入/

18、輸出。(2)DS1302的讀/寫時(shí)序A0 | AL|A2話1REErLrurLTTjruru-ururTjmACA1VT圖3-3 DS1302 的讀/寫時(shí)序圖Di在控制指令字輸入后的下一個(gè) SCLK時(shí)鐘的上升沿時(shí),數(shù)據(jù)被寫入 DS1302,數(shù)據(jù)輸入從低位即位0開始;同樣,在緊跟8位的控制指令字后的 下一個(gè)SCLK脈沖的下降沿讀出DS1302的數(shù)據(jù),讀出數(shù)據(jù)時(shí)從低位 0位到高 位7。(3)DS1302的時(shí)鐘寄存器輛存器BIT 7BITSBIT 5BIT 4BIT 3BIT 2BIT1BITO卅80hCH1000-5S銘h00 59Mh12®010時(shí)1-I2/Q-2J-87h86h0Io

19、w a3Ml39h88h00010 月M2昭h3Ah00000raa1-78Dh&Ch10$年OC-SS8Fh8EhWP00 |0000-圖3-4 DS1302 的時(shí)鐘寄存器圖DS1302共有12個(gè)寄存器,其中有七個(gè)寄存器與日歷,時(shí)鐘相關(guān),存放的 數(shù)據(jù)位為BCD碼形式。時(shí)鐘寄存器的第8個(gè)字節(jié)是寫保護(hù)寄存器。當(dāng) WP為“1”的時(shí)候是開啟 寫保護(hù),這個(gè)時(shí)候是禁止對(duì) DS1302進(jìn)行寫操作的。當(dāng) WP為“0”的時(shí)候是 關(guān)閉寫保護(hù),這個(gè)時(shí)候才能對(duì) DS1302進(jìn)行寫操作。按鍵掃描電路:按鍵掃描電路模塊主要用于對(duì)日歷時(shí)間的修改,由四個(gè)按鍵組成,分別是: 選擇鍵,數(shù)值加鍵,數(shù)值減鍵和返回鍵。其中,

20、選擇鍵用于選定要修改的時(shí)間 項(xiàng)目,如年、月、日數(shù)值加鍵和減鍵用于對(duì)修改項(xiàng)的數(shù)值加減操作,返回 鍵用于修改完成后的啟動(dòng)計(jì)時(shí)。軟件設(shè)計(jì)主程序:圖3-5主程序流程圖液晶初始化顯示DS1302設(shè)定的初始化時(shí)間;按鍵掃描更改顯示時(shí)間,使之與當(dāng)前實(shí)際時(shí)間對(duì)應(yīng); 將更改后的時(shí)間送到液晶顯示,啟動(dòng)計(jì)時(shí)。時(shí)間調(diào)整程序:調(diào)整時(shí)間用四個(gè)調(diào)整按鍵,分別定義為選擇鍵,數(shù)值加鍵,數(shù)值減鍵,返 回鍵。在調(diào)整時(shí)間過(guò)程中,首先要按下選擇鍵,在顯示屏上會(huì)顯示對(duì)應(yīng)的要調(diào) 試的時(shí)間項(xiàng)光標(biāo)閃爍,然后可對(duì)數(shù)值進(jìn)行加或減的操作,時(shí)間調(diào)整結(jié)束后按返 回鍵從當(dāng)前調(diào)整的時(shí)刻開始計(jì)時(shí)。時(shí)間調(diào)整程序流程圖如圖3-6所示。3.4實(shí)驗(yàn)結(jié)果將程序下載到系

21、統(tǒng),加電后液晶屏顯示程序設(shè)置的初始化時(shí)間,通過(guò)按鍵 選擇、加、減可對(duì)年、月、日、周、時(shí)、分、秒幾個(gè)時(shí)間進(jìn)行更改,更改完成 后按下返回鍵從更改的時(shí)間處開始計(jì)時(shí)。第4章 基于nrf24L01的無(wú)線通訊系統(tǒng)的設(shè)計(jì)4.1設(shè)計(jì)要求(1) 實(shí)現(xiàn)兩個(gè)單片機(jī)之間的點(diǎn)對(duì)點(diǎn)通訊,最大通訊距離為100米。(2) 主機(jī)按“ K1K4 ”,發(fā)送“ 19 ”,從機(jī)會(huì)接收到相應(yīng)的字符并用數(shù)碼管示。(3) 主從機(jī)可以隨時(shí)調(diào)換角色。4.2系統(tǒng)組成本系統(tǒng)主要由單片機(jī)最小系統(tǒng)和無(wú)線收發(fā)芯片n rf24L01模塊組成。單片機(jī)在整個(gè)系統(tǒng)中起到控制無(wú)線短距通信的作用。由NRF24L01無(wú)線通信收發(fā)模塊實(shí)現(xiàn)無(wú)線數(shù)據(jù)傳輸。整個(gè)系統(tǒng)有發(fā)送和接

22、收兩部分,當(dāng)主機(jī)設(shè)置為發(fā)送模式 時(shí),通過(guò)SPI時(shí)序給既定的發(fā)送緩沖區(qū)寫入數(shù)據(jù)。當(dāng)從機(jī)設(shè)置為接受模式時(shí), 通過(guò)SPI從相應(yīng)的接收緩沖區(qū)讀出數(shù)據(jù),并在數(shù)碼管上顯示。4.3系統(tǒng)設(shè)計(jì)硬件設(shè)計(jì)I > 數(shù)碼管顯示NRF24L01AT89C521 矩陣鍵盤圖4-1無(wú)線通訊硬件原理圖在該系統(tǒng)中,鍵盤輸入是人機(jī)交換的接口,其主要功能是設(shè)置n RF24L01的工作模式和實(shí)現(xiàn)鍵盤輸入字符、數(shù)字等。單片機(jī)是主控模塊實(shí)現(xiàn)數(shù)據(jù)的儲(chǔ)存、 處理,將各模塊聯(lián)系起來(lái)協(xié)調(diào)各模塊的工作。LCD1602主要功能就是顯示作用,將鍵盤輸入或接收到的信息顯示出來(lái)。NRF24L01 模塊:n rf24L01模塊實(shí)際上就是一個(gè)芯片,連了一

23、些必要的電容電阻電感和一個(gè) 天線,然后留出了和單片機(jī)通信的 SPI 口和IRQ中斷引腳。NRF24L01 ,任何 單片機(jī)可以驅(qū)動(dòng),帶硬件 SPI 口的單片機(jī),可以配置好 SPI 外設(shè)以后驅(qū)動(dòng),沒 有硬件SPI 口的單片機(jī),可以用10 口模擬SPI時(shí)序通信。NRF24L01 是一個(gè)數(shù)字芯片,內(nèi)部有若干寄存器,例如數(shù)據(jù)寄存器、配置 寄存器、狀態(tài)寄存器等。單片機(jī)通過(guò) SPI 口,首先配置好 NRF24L01 的配置寄 存器,諸如頻道,通道,地址,接收還是發(fā)送模式等等。然后分兩種情況:(1) 如果配置為了發(fā)送模式,就可以發(fā)送數(shù)據(jù)了,發(fā)送完數(shù)據(jù)以后,IRQ 引腳會(huì)拉低,所以觀察 IRQ 引腳就可以知道有

24、沒有發(fā)送成功;(2) 如果配置為了接收模式,就需要不斷的觀察IRQ 引腳, IRQ 引腳正 常是高電平,如果接收到數(shù)據(jù),就會(huì)變成低電平,所以觀察這個(gè)引腳就知道有 沒有接收到數(shù)據(jù)。在做 NRF24L01 的通信程序時(shí),最好拿兩個(gè)相同的單片機(jī),做相同的程序 (除了一個(gè)配置未發(fā)送,一個(gè)配置為接收)。首先要確保單片機(jī)和 NRF24L01 能夠正常的 SPI 通信,這就需要驗(yàn)證。驗(yàn)證方法是:找一個(gè)可讀可寫的寄存器, 先寫進(jìn)去,然后再讀出來(lái),如果數(shù)據(jù)一樣,那么 SPI 通信就正常,如果讀出來(lái) 的數(shù)據(jù)和寫進(jìn)去的數(shù)據(jù)不一樣,說(shuō)明無(wú)法通信。兩個(gè) nrf24l01 通信,需要滿足 3 個(gè)條件相同:( 1)頻道相同(設(shè)置頻道寄存器 RF_CH) (2)地址相同(設(shè)置 TX_ADDR 和 RX_ADDR_P0 相同)(3)每次發(fā)送接收的字節(jié)數(shù)相同(如果設(shè)置了通道的有效數(shù)據(jù)寬度為n,那么每次發(fā)送的字節(jié)數(shù)也必須為n,當(dāng)然,*=32 )NRF24L01 可以進(jìn)行一對(duì)多相互通信,官方手冊(cè)上說(shuō), nrf24l01 可以一對(duì) 六,指的是自身的通道有 6 個(gè),而且這種模式只能是 1 收 6 發(fā),不能 1 發(fā) 6 收 我們一般用 nrf24l01 的通道 0,通過(guò)改變頻道和地址來(lái)實(shí)現(xiàn) 1 對(duì)多的互發(fā)。它 屬于 2.4G 芯片,但實(shí)際上,可以在 2.4G 到 2.5G

溫馨提示

  • 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論