【正文】
ystem Based on NRF905 Abstract:Temperature as industry, agriculture, national defense and scientific research departments such as the most mon measuring project. In modern industrial and agricultural production, scientific research in the process of the high and new technology development , it is also a very mon and very important design starting from the practical application of NRF905 wireless transmission module, the ambient temperature data collection, transmission and processing are studied, this paper proposes a temperature detection based on STC89C52 and the overall design scheme of wireless transmission system. This paper introduces the features and working principle of each module, and gives the principle diagram of the hardware and software design scheme of system. System uses the STC89C52 singlechip microputer as the main chip to NRF905 as wireless data transceiver module, using the SPI mouth realize twoway munication, SPI support highspeed data transmission, so as to satisfy the requirement of the radio frequency bandwidth. Through two DS18B20 temperature acquisition of onsite, and their respective data processing temperature data into the single chip microputer from machine, by the NRF905 wireless transmission module is sent to the host, the host end use as a monitor, LCD display LCD1602 for display. When the temperature more than set time limit, to plete the alarm buzzer and dc motor and the simulation of the cooling process. Key words: DS18B20 Temperature Sensor。溫度作為一項工業(yè)常用測量對象,在工業(yè)現(xiàn)場和過程控制中具有至關(guān)重要的作用。無線數(shù)據(jù)傳輸與有線數(shù)據(jù)傳輸相比,有諸多優(yōu)點 :一是成本低,省去大量布線;二是建網(wǎng)快捷,只需在每個終端連接無線數(shù)據(jù)傳輸模塊和架設(shè)適當高度天線;三是適應(yīng)性好,可應(yīng)用于某些特殊環(huán)境;四是擴展性好,只需將設(shè)備與無線數(shù)據(jù)傳輸模塊相連接。溫度對于 工業(yè)的重要性推動了溫度傳感器的發(fā)展。 單片機主要用于控制,它的應(yīng)用領(lǐng)域遍及各個行業(yè),在溫度采 集與顯示系統(tǒng)中用到了自動檢測與傳感 2 技術(shù)、單片機原理及應(yīng)用、單片機接口技術(shù)、模電技術(shù)、數(shù)電技術(shù)等方面大量知識。 本設(shè)計以 STC89C52單片機為核心結(jié)合傳感技術(shù)、單片機接口技術(shù)、 NRF905通信技術(shù)等為溫度檢測分 析搭建了一個平臺,希望能為溫度數(shù)據(jù)采集分析走出一條較為方便的路徑。在單芯片上,擁有靈巧的 8位 CPU和在系統(tǒng)可編程 Flash, 使得 STC89C52為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。掉電保護方式下, RAM內(nèi)容被保存,振蕩器被凍 結(jié),單片機一切工作停止,直到下一個中斷或硬件復位為止。低電壓,低功耗,便于生產(chǎn)便攜式產(chǎn)品控制功能強 。 用單片機可以構(gòu)成形式多樣的控制系統(tǒng)、 數(shù)據(jù)采集系統(tǒng) 。 單 片機在醫(yī)用設(shè)備中的用途亦相當廣泛,例如醫(yī)用呼吸機,各種分析儀,監(jiān)護儀,超聲診斷設(shè)備及病床呼叫系統(tǒng)等等。在講解其工作流程之前我們有必要了解 18B20的內(nèi)部存儲器資源。(2)RAM數(shù)據(jù)暫存器,用于內(nèi)部計算和數(shù)據(jù)存取,數(shù)據(jù)在掉電后丟失, DS18B20共 9個字節(jié) RAM,每個字節(jié)為 8位。第 8個 字節(jié)為計數(shù)寄存器,是為了讓用戶得到更高的溫度分辨率而設(shè)計的,同樣也是內(nèi)部溫度轉(zhuǎn)換、計算的暫存單元。 控制器對 18B20操作流程: :首先我們必須對 DS18B20芯片進行復位,復位就是由控制器(單片機)給 DS18B20單總線至少 480uS的低電平信號。如果復位低電平的時間不足或是單總線的電路斷路都不會接到存在脈沖,在設(shè)計時要注意意外情況的處理。誠然,單總線上可以同時掛接多個器件,并通過每個器件上所獨有的 ID號來區(qū)別,一般只掛接單個 18B20芯片時可以跳過 ROM指令(注意:此處指的跳過 ROM指令并 6 非不發(fā)送 ROM指令,而是用特有的一條“跳過指令”)。 :一個存儲器操作指令結(jié)束后則將進行指令執(zhí)行或數(shù)據(jù)的讀寫,這個操作要視存儲器操作指令而定。若要讀出當前的溫度數(shù)據(jù)我們需要執(zhí)行兩次工作周期,第一個周期為復位、跳過 ROM指令、執(zhí)行溫度轉(zhuǎn)換存儲器操作指令、等待 500uS溫度轉(zhuǎn)換時間。非常適合于低功耗、低成本的系統(tǒng)設(shè)計。 NRF905 通過 ShockBurst 工作模式在 RF 以最大速率進行連接時降低數(shù)字應(yīng)用部分的速度來降低在應(yīng)用中的平均電流消耗。 NRF905的 SPI 接口由 CSN、 SCK、 MOSI 以及 MISO 組成。 LCD1602 液晶顯示器 [4] 1602液晶也叫 1602字符型液晶它是一種專門用來顯示字母、數(shù)字、符號等的 點陣 型液晶模塊它有若干個 5X7或者 5X11等點陣字符位組成,每個點陣字符位都可以顯示一個字符。 1602LCD的特性 :( 1) +5V電壓,對比度可調(diào) ;( 2) 內(nèi)含復位電路 ;( 3) 提 8 供各種控制命令 , 如:清屏、字符閃爍、光標閃爍、顯示移位等多種功能 ;( 4) 有80字節(jié)顯示數(shù)據(jù)存儲器 DDRAM;( 5) 內(nèi)建有 192個 5X7點陣的字型的字符發(fā) 生器CGROM;( 6) 8個可由用戶自定義的 5X7的字符發(fā)生器 CGRAM。光標加 1), N=0(讀或?qū)懸粋€字符后地址指針減 1 amp。 軟件基礎(chǔ) 整個系統(tǒng)設(shè)計過程中,主要用到了 Keil仿真軟件和 STCISP燒錄軟件 ,使得系統(tǒng)設(shè)計快捷高效,以下對所用軟件功能、用法、優(yōu)勢加以介紹! Keil C51 仿真軟件 Keil C51 是德國 Keil Software 公司( ARM 公司之一)出品的 51 系列兼容單片機 C 語言軟件開發(fā)系統(tǒng)。開發(fā)人員可用 IDE 本身或其它編輯器編輯 C 或匯編源文件。 使用獨立的 Keil仿真器時,注意事項: ? 仿真器標配 的晶振,但用戶可以在仿真器上的晶振插孔中換插其他 9 頻率的晶振。 操作說明 : ( 1) 打開 STCISP, 圖 ,在 MCU Type欄目下選中單片機,如 STC89C52RC: 圖 STCISP 打開界面 ( 2) 根據(jù) 9 針數(shù)據(jù)線連接情況選中 COM 端口 ,波特率一般保持默認,如果遇到下載問題,可以適當下調(diào)一些,按 圖 選中各項: 10 圖 STCISP 界面參數(shù)設(shè)置 ( 3) 先確認硬件連接正確,按如圖 “打開文件 ”并在對話框內(nèi)找到您要下載的 HEX文件: 圖 STCISP 打開文件 11 ( 4) 按圖 ,這樣可以使您在每次編譯 KEIL時 HEX代碼能自動加載到 STCISP,點擊 “Download/下載 ”: 圖 STCISP 條件項設(shè)置 ( 5) 手動按下電源開關(guān)便即可把 可執(zhí)行文件 HEX寫入到單片機內(nèi),圖 在寫入程序截圖: 圖 STCISP 下 載過程狀態(tài)圖 12 ( 6) 圖示程序?qū)懭胪戤?,目標板開始運行程序結(jié)果 ,如圖 : 圖 STCISP 下載完成狀態(tài)圖 13 第二章 系統(tǒng)硬件設(shè)計 該設(shè)計是以 NRF905無線芯片和 STC89C52單片機最小系統(tǒng)為核心,能夠?qū)崿F(xiàn)對兩路溫度進行實時檢測。其中 DS18B20數(shù)據(jù)采集模塊、 LCD(數(shù)碼管)數(shù)據(jù)顯示模塊、異常報警模塊和數(shù)據(jù)無線傳輸模塊構(gòu)成了系統(tǒng)的主 要框架,加以單片機的控制,得以實現(xiàn)溫度數(shù)據(jù)采集與遠程數(shù)據(jù)傳輸分析及報警功能。 電源電路供電 DS18B20 溫度數(shù)據(jù)采集 電平復位 LCD(數(shù)碼管)溫度數(shù)據(jù)顯示 溫度異常報警 ISP 下載 STC89C52主控機 NRF905 無線模塊 14 系統(tǒng)各部分電路設(shè) 計 主控電路設(shè)計 [6] 圖 主控電路原理圖 本系統(tǒng)采用 STC89C52為主控芯片, STC89C52單片機與 12M晶振及電容構(gòu)成了單片機最小系統(tǒng)。 、 NRF905通信數(shù)據(jù)收發(fā)口。本系統(tǒng)設(shè)計了比較可靠的電源電路。 LCD 驅(qū)動電路介紹 圖 LCD 驅(qū)動電路原理圖 本系統(tǒng)采用 1602用作溫度數(shù)據(jù)顯示。 DS18B20 電路設(shè) 計 圖 DS1820 電路原理圖 本系統(tǒng) DS18B20采用外部電源供電方式單點測溫結(jié)構(gòu)。 6 , 7 引腳為 載波檢測 和 地址匹配 。在此將程序流程圖給出以說明整個設(shè)計過程中的編程邏輯。 DS18B20 溫度傳感器可以精確到 度。 while(i0)i。 } bit ReadBit_Temp(void) { uint i。 DQ=1。 i=8。 dat=0。 dat=(j7)|(dat1)。 bit testb。0x01。i++。 } else { DQ=0。 i++。 20 WriteByte_Temp(0xcc)。 Change_Temp()。 WriteByte_Temp(0xbe)。 temp=8。 temp=tt*10+。 DATA_BUF=send。 else MOSI=0。 } } unsigned char SpiRead(void) { unsigned char j。 SCK=1。 SCK=0。 delay(1)。 } unsigned char nRF905_CheckCD(void){ if (CD==1) return 1。 return 1。 SpiWrite(WTP)。 CSN=1。 for (i=0。 TRX_CE=1。 nRF905_nRF905_TxPacket()。 CSN=0。i 4 。 } void nRF905_Rx(void) { nRF905_SetRxMode()。 } LCD1602 流程圖 [10]: 圖 LCD1602 流程圖 檢查 1602 是否忙 開始 1602 初始化 1602 寫指令 無動作,繼續(xù)檢測等待寫入 設(shè)定 1602 顯示位置 Y N 1602 寫 DS18B20 溫度數(shù)據(jù) 讀取 DS18B20 溫度數(shù)據(jù) DS18B20 溫度數(shù)據(jù)轉(zhuǎn)換 24 通過控制引腳 RS、 EN 來對 1602 進行寫操作 [11],分別定義了 寫指令 、 寫數(shù)據(jù) 、連續(xù)寫字符 三個子函數(shù)。 LCD1602_EN = 1。 } void LCD1602_write_data(unsigned char dat) { LCD1602_