




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、課程設(shè)計(jì)報(bào)告學(xué)號: 1328403028 姓名: 張帥華 班級: 13電子信息工程 指導(dǎo)老師: 鄧晶蘇州大學(xué) 電子信息學(xué)院2016年5月摘要隨著時(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ì)以及基于無線收發(fā)芯片nrf24L01的簡單無線通訊系統(tǒng)的設(shè)計(jì)。關(guān)鍵詞:單片機(jī) DS18B20 AT24C02 D
2、S1302 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ì).82.1 設(shè)計(jì)要求.82.2 系統(tǒng)組成.82.3 系統(tǒng)設(shè)計(jì).92.3.1 硬件設(shè)計(jì).92.3.2 軟件設(shè)計(jì).102.4 設(shè)計(jì)結(jié)果.11第3章 基于DS1302的電子日歷的設(shè)計(jì).123.1 系統(tǒng)功能.123.2 系統(tǒng)組成.123.3 系統(tǒng)設(shè)計(jì).123.3.1 硬件設(shè)計(jì).123.3.2 軟件設(shè)計(jì).143.4 設(shè)計(jì)結(jié)果.15第4章 基于N
3、RF24L01的無線通信系統(tǒng)的設(shè)計(jì).164.1 系統(tǒng)功能.164.2 系統(tǒng)組成.164.3 系統(tǒng)設(shè)計(jì).164.3.1 硬件設(shè)計(jì).164.3.2 軟件設(shè)計(jì).174.4 設(shè)計(jì)結(jié)果.18總結(jié).19第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ù)字溫度傳感器,與微處理器連接時(shí)僅需要一條口線即可實(shí)現(xiàn)微處理器與 DS
4、18B20 的雙向通訊;有溫度測量范圍寬,測量精度高的特點(diǎn);同時(shí)它的供電方式靈活,可以通過內(nèi)部寄生電路從數(shù)據(jù)線上獲取電源;測量參數(shù)可配置 ,其測量分辨率可通過程序設(shè)定為 912 位。LCD1602:1602液晶也叫1602字符型液晶,是一種專門用來顯示字母、數(shù)字、符號的點(diǎn)陣型液晶模塊,它由若干個(gè)5x7或者5x11的點(diǎn)陣字符位組成,每個(gè)點(diǎn)陣字符位都可以用顯示一個(gè)字符。1.3 系統(tǒng)設(shè)計(jì)1.3.1硬件設(shè)計(jì)圖1-1 數(shù)字溫度計(jì)硬件原理圖在本次系統(tǒng)設(shè)計(jì)中,STC89C52單片機(jī)作為控制器,完成所有功能的控制,包括:(1)DS18B20數(shù)字溫度傳感器的初始化和讀取溫度值;(2)LCD1602顯示驅(qū)動(dòng)與控制
5、。以數(shù)字式溫度傳感器DS18B20作為傳感元件。DS18B20是單總線數(shù)字式溫度傳感器,采用單總線協(xié)議,即與單片機(jī)接口僅需占用一個(gè)I/O端口,無需任何外圍器件,直接將溫度轉(zhuǎn)化為數(shù)字信號,以數(shù)字碼形式串行輸出??捎梢桓鵌/O數(shù)據(jù)線既供電又傳輸數(shù)據(jù)。DS18B20直接讀取被測溫度值,送到LCD1602上進(jìn)行顯示,LCD1602可以顯示兩行字符,每行16個(gè)字符,只能顯示ASCII碼字符。本實(shí)驗(yàn)中需要顯示的數(shù)據(jù)是溫度和DS18B20的唯一序列碼??傮w架構(gòu)如圖1-1所示。將18B20的單總線DQ與單片機(jī)接口P2.2相連,通過時(shí)序控制首先對其進(jìn)行初始化,然后發(fā)送讀寫和溫度轉(zhuǎn)換命令,使DS18B20內(nèi)部溫度
6、傳感器開始工作,最后從溫度寄存器中讀取兩字節(jié)二進(jìn)制碼,轉(zhuǎn)換為溫度值后顯示在LCD上。同理,對于序列碼的讀取,也要在18B20初始化成功的基礎(chǔ)上,發(fā)送讀ROM命令(該命令只適用于總線上存在單只DS18B20),將讀取的字符顯示在液晶屏上。1.3.2 軟件設(shè)計(jì)主程序:圖1-2 主程序流程圖Ø 先進(jìn)行初始化,該初始化包括DS18b20的初始化和液晶屏的初始化。DS18b20的初始化是為器件應(yīng)答準(zhǔn)備,作為從器件的DS18B20在一上電后就一直在檢測總線上是否有480960微秒的低電平出現(xiàn),如果有,在總線轉(zhuǎn)為高電平后等待1560微秒后將總線電平拉低60240微秒做出響應(yīng)存在脈沖,告訴主機(jī)本器件
7、已做好準(zhǔn)備;液晶屏的初始化是為顯示溫度準(zhǔn)備;Ø 調(diào)用顯示子程序顯示當(dāng)前檢測到的溫度值;Ø 不斷刷新溫度數(shù)據(jù)進(jìn)行實(shí)時(shí)顯示。DS18B20的初始化:圖1-3 DS18B20初始化時(shí)序圖初始化流程:Ø 將總線拉低480us960usØ 拉高總線,若DS18B20做出反應(yīng)會(huì)將在15us60us后將總線拉低 Ø 等待DS18B20拉低總線圖1-4 DS18B20初始化流程圖DS18B20讀字節(jié)和寫字節(jié)子程序:圖1-5 寫字節(jié)子程序流程圖 圖1-6 讀字節(jié)子程序流程圖寫字節(jié):寫周期最少為60微秒,最長不超過120微秒。寫周期一開始主機(jī)先把總線拉低1微秒表示
8、寫周期開始。隨后若主機(jī)想寫0,則將總線置為低電平,若主機(jī)想寫1,則將總線置為高電平,持續(xù)時(shí)間最少60微秒直至寫周期結(jié)束,然后釋放總線為高電平至少1微秒給總線恢復(fù) 。而DS18B20則在檢測到總線被拉底后等待15微秒然后從15us到45us開始對總線采樣,在采樣期內(nèi)總線為高電平則為1,若采樣期內(nèi)總線為低電平則為0。讀字節(jié):讀周期是從主機(jī)把單總線拉低1微秒之后開始,先釋放單總線為高電平,以讓DS18B20把數(shù)據(jù)傳輸?shù)絾慰偩€上。作為從機(jī)DS18B20在檢測到總線被拉低1微秒后,便開始送出數(shù)據(jù),若是要送出0就把總線拉為低電平直到讀周期結(jié)束。若要送出1則釋放總線為高電平。主機(jī)在一開始拉低總線1微秒后釋放
9、總線,然后在包括前面的拉低總線電平1微秒在內(nèi)的15微秒時(shí)間內(nèi)完成對總線進(jìn)行采樣檢測,采樣期內(nèi)總線為低電平則確認(rèn)為0。采樣期內(nèi)總線為高電平則確認(rèn)為1。完成一個(gè)讀時(shí)序過程,至少需要60微秒才能完成。讀取溫度子程序:圖1-7 讀取溫度子程序流程圖讀取溫度流程:Ø 跳過ROM操作 (0CCH)Ø 發(fā)送溫度轉(zhuǎn)換命令 (044H) Ø 跳過ROM操作 (0CCH) Ø 發(fā)送讀取溫度命令 (033H) Ø 讀取溫度值 (0BEH)1.4 設(shè)計(jì)結(jié)果摁下獨(dú)立按鍵1可以顯示溫度信息 摁下獨(dú)立按鍵2可現(xiàn)實(shí)序列碼 圖1-8 設(shè)計(jì)測試結(jié)果圖第2章基于AT24C02的數(shù)字
10、密碼鎖設(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無效2.2 系統(tǒng)組成本設(shè)計(jì)由STC89C52單片機(jī)芯片和具有2K位串行CMOS 的EEPROM AT24C02以及LED數(shù)碼管顯示模塊組成。AT24C02:(1) 模塊原理圖圖2-1 AT24C02模塊原理圖(2)發(fā)送器件地址的格式圖2-2 發(fā)送器件地址的格式圖高四位1010是24Cxx系列的固定器件地址,接下來是A2、A1、A0是根據(jù)器件連接來決
11、定,我們的原理圖都接地所以是000。R/W為是選擇讀還是寫,1的時(shí)候是讀,0的時(shí)候是寫。(3)芯片工作時(shí)序l 初始化(scl=H,sda=H)l 寫入過程Ø 發(fā)送器件地址(0XA0):SendByte(0xa0);Ø 發(fā)送要寫入24C02的內(nèi)存地址:SendByte(addr);Ø 發(fā)送要寫入的數(shù)據(jù): SendByte(dat);l 讀出過程Ø 發(fā)送寫入的器件地址(0XA0)Ø 發(fā)送要讀的24C02的內(nèi)存地址Ø 發(fā)送讀出的器件地址(0XA1)Ø 讀取數(shù)據(jù)(4)AT24C02的數(shù)據(jù)發(fā)送時(shí)序Ø 總線起始信號 圖2-3
12、總線起始信號時(shí)序圖 Ø 總線應(yīng)答信號Ø 總線結(jié)束信號圖2-4 總線結(jié)束信號時(shí)序圖2.3 系統(tǒng)設(shè)計(jì)2.3.1 硬件設(shè)計(jì)圖2-5 硬件原理圖單片機(jī)是電子密碼鎖系統(tǒng)的主控制器。AT24C02是密碼儲(chǔ)存電路,它的SCL、SDA端分別接單片機(jī)的P2.1、P2.0端口,用于與單片機(jī)之間讀寫操作的數(shù)據(jù)傳輸;WP接低電平表示單片機(jī)可以對器件進(jìn)行正常的讀/寫操作;A0、A1、A2是器件地址輸入端,都接低電平表示只有一個(gè)AT24C02被器件尋址。用戶設(shè)置的密碼存放在AT24C02中,當(dāng)需要更改或讀取用戶密碼時(shí),只需對AT24C02里的數(shù)據(jù)更改或讀取。矩陣鍵盤電路主要作用是對密碼進(jìn)行輸入、修改、
13、確定等操作,它由行線和列線組成,按鍵位于行、列的交叉點(diǎn)上,行列分別連接到按鍵開關(guān)的兩端。無按鍵按動(dòng)作時(shí)列線處于高電平狀態(tài);有按鍵按下時(shí),交點(diǎn)的行線和列線相通,列線電平狀態(tài)將由與此列線相連的行線電平?jīng)Q定。顯示電路由LED數(shù)碼管和LED指示燈組成。2.3.2 軟件設(shè)計(jì)主程序:圖2-6 主程序流程圖Ø 先對數(shù)碼管的顯示進(jìn)行初始化;Ø 按鍵掃描判斷是否輸入密碼,如果輸入密碼并且輸入正確,則密碼鎖開啟;Ø 按鍵掃描判斷是否進(jìn)行密碼的更改或者密碼鎖的關(guān)閉;Ø 輸入更改后的密碼,若正確則密碼鎖開啟;Ø 假如系統(tǒng)斷電或密碼鎖關(guān)閉按鍵按下則密碼鎖關(guān)閉。AT24C
14、02子程序:開始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位 1、開鎖:下載程序后,直接按六次S1(即代表數(shù)字0),8位LED亮,鎖被打開,輸入密碼時(shí),六位數(shù)碼管依次顯示小橫杠。 2、更改密碼:只有當(dāng)開鎖(LED亮)后,該功能方可使用。首先按下更改密碼鍵S11,然后設(shè)置相應(yīng)密碼,此時(shí)六位數(shù)碼管會(huì)顯示設(shè)置密碼對應(yīng)的數(shù)字。最后設(shè)置完六位后,按下S12確認(rèn)密碼更改,此后新密碼即生效。 3
15、、重試密碼:當(dāng)輸入密碼時(shí),密碼輸錯(cuò)后按下鍵S13,可重新輸入六位密碼。當(dāng)設(shè)置密碼時(shí),設(shè)置中途想更改密碼,也可按下此鍵重新設(shè)置。 4、關(guān)閉密碼鎖:按下S14即可將打開的密碼鎖關(guān)閉。密碼鎖的初始密碼為000000,密碼輸入正確后可啟動(dòng)密碼鎖對密碼進(jìn)行修改的操作,六為密碼分別對應(yīng)LED燈D1,D2,D3,D4,D5,D6,密碼所有位數(shù)輸入正確則六個(gè)LED等被點(diǎn)亮,并且D7,D8也被點(diǎn)亮;若某一位密碼不正確,則所對應(yīng)的LED燈不亮且D7,D8兩個(gè)LED燈也不亮。 圖2-8 設(shè)計(jì)測試結(jié)果圖 第3章基于DS1302的電子日歷設(shè)計(jì)3.1 設(shè)計(jì)要求(1)在LCD上顯示當(dāng)前的時(shí)間信息,即年、月、日、星期、時(shí)、分
16、、秒 (2)具有時(shí)間的調(diào)校功能(3)顯示當(dāng)前調(diào)節(jié)對象(4)日期時(shí)間加調(diào)整與保存。3.2 系統(tǒng)組成本設(shè)計(jì)由STC89C52單片機(jī)最小系統(tǒng)、實(shí)時(shí)時(shí)鐘芯片DS1302以及顯示液晶LCD1602組成。DS1302采用SPI三線接口與CPU進(jìn)行通信,僅用到三根信號線:RST(復(fù)位),I/O(數(shù)據(jù)線),SCLK(同步串行時(shí)鐘)。并可采用突發(fā)方式一次傳送多個(gè)字節(jié)的時(shí)鐘信號和RAM數(shù)據(jù)。實(shí)時(shí)時(shí)鐘可提供秒、分、時(shí)、日、星期、月和年,一個(gè)月小與31天時(shí)可以自動(dòng)調(diào)整,且具有閏年補(bǔ)償功能。3.3 系統(tǒng)設(shè)計(jì)3.3.1 硬件設(shè)計(jì)圖3-1 電子日歷硬件原理圖本系統(tǒng)主要由ST89C52主控模塊、時(shí)鐘復(fù)位電路模塊、DA1302
17、電路模塊、按鍵掃描模塊和LCD1602液晶顯示模塊組成。DS1302與51單片機(jī)的連接只需要利用單片機(jī)的三個(gè)I/O引腳對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í)鐘芯片包括實(shí)時(shí)時(shí)鐘(日歷)和31字節(jié)的靜態(tài)RAM,它通過一個(gè)簡單的串行接口與微處理器通信,實(shí)時(shí)時(shí)鐘提供秒,分,時(shí),日,周,月,年等信息,對于小于30天的月和月末的日期自動(dòng)進(jìn)行調(diào)整,還包括閏年校正的功能,時(shí)鐘的運(yùn)行可以采用24h或帶AM/PM的12h格式
18、。(1)DS1302的控制字格式圖3-2 DS1302的控制字格式DS1302的時(shí)鐘控制字最高有效位(位7)必須是邏輯1,如果它為邏輯0,則不能把數(shù)據(jù)寫到DS1302中;位6如果為0,則表示存取日歷時(shí)鐘數(shù)據(jù),為1表示存取RAM數(shù)據(jù);位5 1(A4A0)指示操作單元的地址,最低有效位(位0)為0表示進(jìn)行寫操作,為1表示進(jìn)行讀操作??刂谱挚偸菑淖畹臀婚_始進(jìn)行輸入/輸出。(2)DS1302的讀/寫時(shí)序圖3-3 DS1302的讀/寫時(shí)序圖在控制指令字輸入后的下一個(gè)SCLK時(shí)鐘的上升沿時(shí),數(shù)據(jù)被寫入DS1302,數(shù)據(jù)輸入從低位即位0開始;同樣,在緊跟8位的控制指令字后的下一個(gè)SCLK脈沖的下降沿讀出DS
19、1302的數(shù)據(jù),讀出數(shù)據(jù)時(shí)從低位0位到高位7。(3)DS1302的時(shí)鐘寄存器圖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í)候是禁止對DS1302進(jìn)行寫操作的。當(dāng)WP為“0”的時(shí)候是關(guān)閉寫保護(hù),這個(gè)時(shí)候才能對DS1302進(jìn)行寫操作。按鍵掃描電路:按鍵掃描電路模塊主要用于對日歷時(shí)間的修改,由四個(gè)按鍵組成,分別是:選擇鍵,數(shù)值加鍵,數(shù)值減鍵和返回鍵。其中,選擇鍵用于選定要修改的時(shí)間項(xiàng)目,如年、月、日數(shù)值加鍵和減鍵用于對修改項(xiàng)的數(shù)值加減操作,返
20、回鍵用于修改完成后的啟動(dòng)計(jì)時(shí)。3.3.2 軟件設(shè)計(jì)主程序:圖3-5 主程序流程圖Ø 液晶初始化顯示DS1302設(shè)定的初始化時(shí)間;Ø 按鍵掃描更改顯示時(shí)間,使之與當(dāng)前實(shí)際時(shí)間對應(yīng);Ø 將更改后的時(shí)間送到液晶顯示,啟動(dòng)計(jì)時(shí)。時(shí)間調(diào)整程序:圖3-6 時(shí)間調(diào)整子程序流程圖調(diào)整時(shí)間用四個(gè)調(diào)整按鍵,分別定義為選擇鍵,數(shù)值加鍵,數(shù)值減鍵,返回鍵。在調(diào)整時(shí)間過程中,首先要按下選擇鍵,在顯示屏上會(huì)顯示對應(yīng)的要調(diào)試的時(shí)間項(xiàng)光標(biāo)閃爍,然后可對數(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é)果將程序下載到系統(tǒng),加電后液
21、晶屏顯示程序設(shè)置的初始化時(shí)間,通過按鍵選擇、加、減可對年、月、日、周、時(shí)、分、秒幾個(gè)時(shí)間進(jìn)行更改,更改完成后按下返回鍵從更改的時(shí)間處開始計(jì)時(shí)。 圖3-7 設(shè)計(jì)測試結(jié)果圖 第4章基于nrf24L01的無線通訊系統(tǒng)的設(shè)計(jì)4.1 設(shè)計(jì)要求(1)實(shí)現(xiàn)兩個(gè)單片機(jī)之間的點(diǎn)對點(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)和無線收發(fā)芯片nrf24L01模塊組成。單片機(jī)在整個(gè)系統(tǒng)中起到控制無線短距通信的作用。由NRF24L01無線通信收發(fā)模塊實(shí)現(xiàn)無線數(shù)據(jù)傳輸。整個(gè)系統(tǒng)有發(fā)送和接
22、收兩部分,當(dāng)主機(jī)設(shè)置為發(fā)送模式時(shí),通過SPI時(shí)序給既定的發(fā)送緩沖區(qū)寫入數(shù)據(jù)。當(dāng)從機(jī)設(shè)置為接受模式時(shí),通過SPI從相應(yīng)的接收緩沖區(qū)讀出數(shù)據(jù),并在數(shù)碼管上顯示。 4.3 系統(tǒng)設(shè)計(jì)4.3.1 硬件設(shè)計(jì)NRF24L01數(shù)碼管顯示AT89C52矩陣鍵盤圖4-1 無線通訊硬件原理圖在該系統(tǒng)中,鍵盤輸入是人機(jī)交換的接口,其主要功能是設(shè)置nRF24L01的工作模式和實(shí)現(xiàn)鍵盤輸入字符、數(shù)字等。單片機(jī)是主控模塊實(shí)現(xiàn)數(shù)據(jù)的儲(chǔ)存、處理,將各模塊聯(lián)系起來協(xié)調(diào)各模塊的工作。LCD1602主要功能就是顯示作用,將鍵盤輸入或接收到的信息顯示出來。NRF24L01模塊:nrf24L01模塊實(shí)際上就是一個(gè)芯片,連了一些必要的電容
23、電阻電感和一個(gè)天線,然后留出了和單片機(jī)通信的SPI口和IRQ中斷引腳。NRF24L01,任何單片機(jī)可以驅(qū)動(dòng),帶硬件SPI口的單片機(jī),可以配置好SPI外設(shè)以后驅(qū)動(dòng),沒有硬件SPI口的單片機(jī),可以用IO口模擬SPI時(shí)序通信。NRF24L01是一個(gè)數(shù)字芯片,內(nèi)部有若干寄存器,例如數(shù)據(jù)寄存器、配置寄存器、狀態(tài)寄存器等。單片機(jī)通過SPI口,首先配置好NRF24L01的配置寄存器,諸如頻道,通道,地址,接收還是發(fā)送模式等等。然后分兩種情況:(1)如果配置為了發(fā)送模式,就可以發(fā)送數(shù)據(jù)了,發(fā)送完數(shù)據(jù)以后,IRQ引腳會(huì)拉低,所以觀察IRQ引腳就可以知道有沒有發(fā)送成功;(2)如果配置為了接收模式,就需要不斷的觀察
24、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)去,然后再讀出來,如果數(shù)據(jù)一樣,那么SPI通信就正常,如果讀出來的數(shù)據(jù)和寫進(jìn)去的數(shù)據(jù)不一樣,說明無法通信。兩個(gè)nrf24l01通信,需要滿足3個(gè)條件相同:(1)頻道相同(設(shè)置頻道寄存器RF_CH)(2)地址相同(設(shè)置TX_ADDR和RX_ADDR_P0相同)(3)每次發(fā)
25、送接收的字節(jié)數(shù)相同(如果設(shè)置了通道的有效數(shù)據(jù)寬度為n,那么每次發(fā)送的字節(jié)數(shù)也必須為n,當(dāng)然,n<=32)NRF24L01可以進(jìn)行一對多相互通信,官方手冊上說,nrf24l01可以一對六,指的是自身的通道有6個(gè),而且這種模式只能是1收6發(fā),不能1發(fā)6收。我們一般用nrf24l01的通道0,通過改變頻道和地址來實(shí)現(xiàn)1對多的互發(fā)。它屬于2.4G芯片,但實(shí)際上,可以在2.4G到2.5G之間的頻道上通信,一共有125個(gè)頻道,它的地址是5字節(jié)的。所以用這種方式,可以實(shí)現(xiàn)一對無數(shù)的通信。但這只是理論數(shù)值,實(shí)際上由于環(huán)境中的各種干擾,通信太多就會(huì)混亂。實(shí)現(xiàn)一對多通信的一種最常用的辦法就是跳頻通信,其實(shí)就
26、是換頻道。原理是:假設(shè)現(xiàn)在1對10通信相互收發(fā)數(shù)據(jù),給10個(gè)節(jié)點(diǎn)的NRF24L01設(shè)置為不同的頻道,如10 20 30 主機(jī)的NRF24L01,要想獲得某個(gè)節(jié)點(diǎn)的數(shù)據(jù),就設(shè)置為某個(gè)節(jié)點(diǎn)的頻道,然后收發(fā)數(shù)據(jù),完成以后,可以再去和另外一個(gè)節(jié)點(diǎn)通信。由于單片機(jī)運(yùn)行速度快,挨個(gè)獲取10個(gè)節(jié)點(diǎn)的數(shù)據(jù),所用的時(shí)間也很短。4.3.2 軟件設(shè)計(jì)開始K1鍵按下K4鍵按下K3鍵按下K2鍵按下配置為發(fā)送模式,發(fā)送數(shù)字4配置為發(fā)送模式,發(fā)送數(shù)字1配置為發(fā)送模式,發(fā)送數(shù)字3配置為發(fā)送模式,發(fā)送數(shù)字2數(shù)碼管顯示圖4-2 主程序流程圖4.4 實(shí)驗(yàn)結(jié)果 1、左邊為發(fā)射機(jī),右邊為接收機(jī)。左邊發(fā)射信號為時(shí)間,且信號比較穩(wěn)定,右邊
27、接收信號在短距離內(nèi)接收信號穩(wěn)定,延遲很短,可以忽略不計(jì),但是接收信號略有閃爍。 2、室內(nèi)接收約30米左右,隔墻只有十五米左右。室外接收約26米。天氣影響很大,下雨時(shí)信號接收約為15米。 3、由于連接線不穩(wěn)定,稍有觸碰就會(huì)影響接收距離,所以誓言時(shí)最好將連接的導(dǎo)線固定設(shè)計(jì)總結(jié)這個(gè)學(xué)期的單片機(jī)課已經(jīng)早早的上完了,但是理論純屬理論,沒有與實(shí)踐的結(jié)合總讓我們學(xué)的不踏實(shí),感覺沒有達(dá)到學(xué)以致用的效果。所慶幸的是在課程介紹考試完之后,老師給我們安排了這次單片機(jī)課程設(shè)計(jì),給了我們學(xué)以致用的做好的實(shí)踐。 關(guān)于這次課程設(shè)計(jì),我們花費(fèi)了比較多的心思,既是對課程理論內(nèi)容的一次復(fù)習(xí)和鞏固,還讓我們豐富了更多與該專業(yè)
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年保安證考試風(fēng)險(xiǎn)預(yù)測與試題及答案
- 保安證的職業(yè)標(biāo)準(zhǔn)試題及答案
- 動(dòng)手能力保安證考試試題及答案
- 生態(tài)旅游景區(qū)規(guī)劃方案
- 如何培訓(xùn)員工心態(tài)
- 廣東梅州職業(yè)技術(shù)學(xué)院《中國現(xiàn)代文學(xué)作品選Ⅰ》2023-2024學(xué)年第一學(xué)期期末試卷
- 中國農(nóng)業(yè)大學(xué)《幼兒游戲與指導(dǎo)》2023-2024學(xué)年第一學(xué)期期末試卷
- 江西省九江市彭澤縣2025屆重點(diǎn)中學(xué)小升初數(shù)學(xué)入學(xué)考試卷含解析
- 寧夏師范學(xué)院《辦公軟件操作實(shí)訓(xùn)》2023-2024學(xué)年第二學(xué)期期末試卷
- 蘇州工業(yè)園區(qū)職業(yè)技術(shù)學(xué)院《中醫(yī)護(hù)理學(xué)基礎(chǔ)Ⅰ實(shí)驗(yàn)》2023-2024學(xué)年第一學(xué)期期末試卷
- 湖北省黃岡市(2024年-2025年小學(xué)三年級語文)人教版隨堂測試(下學(xué)期)試卷(含答案)
- 2024中國軟件供應(yīng)鏈安全分析報(bào)告-2024.08-56正式版
- 省屬企業(yè)陽光采購監(jiān)督管理辦法
- 2024年北京市東城區(qū)中考二模道德與法治試題分析 教學(xué)設(shè)計(jì)
- 項(xiàng)目四任務(wù)1:認(rèn)識毫米波雷達(dá)(課件)
- 銀行保安服務(wù) 投標(biāo)方案(技術(shù)標(biāo))
- 180萬噸柴油加氫裝置可行性研究報(bào)告
- 2024年河北省中考道德與法治真題含解析
- DLT 5285-2018 輸變電工程架空導(dǎo)線(800mm以下)及地線液壓壓接工藝規(guī)程
- 消防員訓(xùn)練傷的預(yù)防及恢復(fù)課件
- 研發(fā)綜合項(xiàng)目管理新規(guī)制度
評論
0/150
提交評論