【正文】
(uchar num,uchar dat) //數(shù)據(jù)顯示程序 { uchar i。x0。 sbit SCK =P1^2。介紹了一種利用下位機(jī)通過(guò)無(wú)線通信的方式上傳溫度數(shù)據(jù)到下位機(jī)的方案。 由于起初看到這個(gè)課題,能很清楚地知道需要用單片機(jī)、無(wú)線收發(fā)模塊、串口通信,所以就低估了整個(gè)系統(tǒng)的相關(guān)細(xì)節(jié),而這個(gè)細(xì)節(jié)才是決定這個(gè)課題的關(guān)鍵。 i=t%100%10。 for(j=10。break。 DS18B20 溫度采集并顯示 DS18B20 采集的數(shù)據(jù)能否被下位單片機(jī)識(shí)別并在 LED上顯示是本次設(shè)計(jì)的第一步,這一步不僅要求 DS18B20 能采集溫度并上傳至單片機(jī),還要去單片機(jī)能通過(guò)控制 LED 數(shù)碼管顯示當(dāng)前溫度。 如果是 較長(zhǎng)時(shí)間延時(shí) 的話,即 指 10us 以上的延時(shí) , 在 DS18B20 操作中 , 用到的較長(zhǎng)時(shí)間延時(shí) 常 有 15us、 90us、 270us、 540us 等。其對(duì)時(shí)序及電特性參數(shù)要求較高,必須嚴(yán)格按照它的時(shí)序要求去操作。在 進(jìn)行 的通信 過(guò)程 中, SPI 接口不需要 做 尋址操作, 因?yàn)樯厦嬉呀?jīng)介紹 全雙工通信, 就會(huì)表現(xiàn)地 簡(jiǎn)單高效。下面先介紹這種通信方式。 表 41 9 針串行口插針對(duì)應(yīng)關(guān)系 表 DB9 管腳號(hào) 插針功能說(shuō)明 標(biāo)記 1 接收線信號(hào)檢出 DCD 2 接收數(shù)據(jù) RD 3 發(fā)送數(shù)據(jù) TD 4 數(shù)據(jù)終端就緒 DTR 5 信號(hào)地 SG 6 數(shù)據(jù)傳輸設(shè)備就緒 DSR 7 請(qǐng)求發(fā)送 RTS 8 允許發(fā)送 CTS 9 振鈴指示 RI 由圖 15 以及表 41 可以知道,接收使能 EN 接地,時(shí)鐘有效;掉電模式控制腳 FORCEOFF 始終拉高,即 MAX3221 始終處在工作狀態(tài)。首先設(shè)置通信對(duì)象、端口以及配置格式 (比如數(shù)據(jù)位長(zhǎng)度、校驗(yàn)方式、起始位個(gè)數(shù)、停止位個(gè)數(shù)等 )和其它相關(guān)屬性。由于 VB 下的串行端口通信控件屏蔽了通信過(guò)程中的底層操作,程序員只需要控制 MSComm控件的屬性和事件,結(jié)合 VB 提供的其他控件就可完成對(duì) RS232 串口的初始化和下位機(jī)上溫度數(shù)據(jù)的發(fā)送接收并最終顯示。用 開發(fā)串行通信程序普遍采用的方法有如下兩種:一種是利用 Windows 的 API 函數(shù);另一種是采用 的通訊控件 SerialPort 自行組建上位機(jī)顯示終端。 Nrf24l01 初始化后的流程圖圖 14 如下。 SPI_Write_Buf(WRITE_REG+RX_ADDR_P1,RX_ADDRESS, RX_ADR_WIDTH)。在 CSN 為低的情況下, CE 協(xié)同 NRF24L01 的 CONFIG 寄存器共同決定 NRF24L01 的狀態(tài)。 圖 12 無(wú)線收發(fā)模塊硬件原理圖 從設(shè)計(jì)中單片機(jī)控制的角度來(lái)看,我們只需要關(guān)注圖 11 的六個(gè) 控制和數(shù)據(jù)信號(hào)。 //100 取余再除以 10 得到商,位溫度的個(gè)位 第 17 頁(yè) display(1,i+10)。 第 15 頁(yè) 圖 10 數(shù)碼管與單片機(jī)硬件電路圖 顯示模塊流程如圖 11。 單片機(jī)控制的數(shù)碼管顯示原理如下。//讀高 8 位 temp=b。 第 13 頁(yè) 圖 9 DS18B20 溫度采集流程圖 該模塊中讀取 DS18B20 內(nèi)部數(shù)據(jù)的程序 如下。 DS18B20 芯片封裝如圖 7 所示。其中 P2 僅運(yùn)用了 3 個(gè)端口,用以直接驅(qū)動(dòng)位選。 LED 數(shù)碼管動(dòng)態(tài)顯示就是一位一位地輪流點(diǎn)亮各位數(shù)碼管,對(duì)于每一位 LED 數(shù)碼管來(lái)說(shuō),每隔一段時(shí)間點(diǎn)亮一次,利用人眼的“視覺暫留 效應(yīng),采用循環(huán)掃描的方式,分時(shí)輪流選通各數(shù)碼管的公共端,使數(shù)碼管輪流導(dǎo)通顯示。 圖 6 無(wú)線收發(fā)模塊電路圖 無(wú)線收發(fā)模塊的各引腳直接和單片機(jī)相連,在單片機(jī)的控制下,通過(guò) SPI 接口完成溫度數(shù)據(jù)的讀入讀出,發(fā)送模塊和接收模 塊的 nRF24L01 完成數(shù)據(jù)的無(wú)線傳輸。而一線總線技術(shù)則很好地解決了這個(gè)問(wèn)題 。 C,在 10~+85176。單片機(jī)系統(tǒng)電路的硬件要求有復(fù)位電路,是因?yàn)?微機(jī)電路是時(shí)序數(shù)字電路,它需要穩(wěn)定的時(shí)鐘信號(hào),因此在電源上電時(shí),只有當(dāng) VCC超過(guò) 低于 以及晶體振蕩器穩(wěn)定工作時(shí),復(fù)位信號(hào)才被撤除,微機(jī)電路開始正常工作。本文主要利用MCS51 單片機(jī)、 DS18B20 數(shù)字溫度傳感器、 nRF24L01 單片無(wú)線收發(fā)器和四合一 第 6 頁(yè) 數(shù)碼管實(shí)現(xiàn)多點(diǎn)無(wú)線溫度測(cè)量系統(tǒng),解決上述問(wèn)題。 單片機(jī)內(nèi)部資源介紹 單片機(jī)內(nèi)部有定時(shí)器。當(dāng)需要復(fù)位時(shí),要控制并保持 RST 腳上兩個(gè)機(jī)器周期的高電平。 圖 2 AT89C52 的管腳排列 ②管腳說(shuō)明 。 圖 1 系統(tǒng)框架圖 本系統(tǒng)上位機(jī)與無(wú)線收發(fā)模塊通過(guò) RS232 連接,主要完成單片機(jī)與 PC 機(jī)的數(shù)據(jù)傳輸。在生產(chǎn)過(guò)程中,可以實(shí)現(xiàn)對(duì)人類難以或無(wú)法到達(dá)的工作現(xiàn)場(chǎng)的監(jiān)測(cè),應(yīng)用這一系統(tǒng)可對(duì)生產(chǎn)現(xiàn)場(chǎng)的工藝參數(shù)進(jìn)行采集、監(jiān)視和記錄,為提高產(chǎn)品質(zhì)量、降低成本提供了信息和手段。 Temperature sensor。隨著生活水平的提高和科學(xué)技術(shù)的進(jìn)步,無(wú)論是工業(yè)還是農(nóng)業(yè)或者是日常生活中對(duì)溫度檢測(cè)的要求越來(lái)越高,要求能進(jìn)行一定距離的傳輸。 關(guān)鍵字 : MCS51; nRF24L01; LED 顯示;溫度傳感器;無(wú)線傳輸 The Wireless Temperature Measurement System Based on Single Chip Microputer Abstract:Temperature detection in the daily life, work, and has important application in engineering practice. With the improvement of living standards and the progress of science and technology, whether agricultural or requirement for temperature detection in daily life can request for a distance of transmission. Based on that this design is mainly based on MCS 51 single chip microputer and the temperature sensor, wireless transmitter, LED digital tube and upper unit into synchronous display of temperature acquisition system solved the problems in daily life. Workplace sampling to temperature chip DS18B20 temperature to achieve the precision and accuracy, the last of the collected temperature data by module nRF24L01 wireless transmission and through digital tube display the current temperature controlled by single chip microputer, which can break the traditional operating temperature, is limited by distance of defects and easy to read temperature. After the hardware and software testing, we basically achieved with a temperature sensor to collect temperature, after a certain distance transmission with nRF24L01 in accept the PC software displayed on the model. Transmission distance 50 m, the temperature range of 0 to 125 degrees Celsius, the precision of 1 c. Keywords: MCS51。無(wú)線傳感器節(jié)點(diǎn)采用無(wú)線網(wǎng)狀網(wǎng)設(shè)備,可以組成龐大的網(wǎng)絡(luò)結(jié)構(gòu),支持多達(dá)上千個(gè)測(cè)點(diǎn)同時(shí)進(jìn)行大型結(jié)構(gòu)試驗(yàn)。處理器選用最常用的 MCS51 單片機(jī)。正是基于此,本設(shè)計(jì)才采用 AT89C52作為核心控制器件。 P3 口, P3 口管腳是 8 個(gè)帶內(nèi)部上拉電阻的雙向 I/O 口,可接收輸出 4 個(gè) TTL 門電流。 /EA/VPP,在 AT89C52 訪問(wèn)外部程序存儲(chǔ)器期間,不管是否有內(nèi)部程序存儲(chǔ)器, /EA 都要保持低電平。 89C52 單片機(jī)設(shè)計(jì)了兩個(gè) 8 位的特殊功能寄存器來(lái)控制定時(shí)器 /計(jì)數(shù)器的工作狀態(tài),即 TMOD 和 TCON,它倆都在特殊功能寄存器區(qū)。 ( 1)、 復(fù)位電路 。 圖 4 ASM1117 穩(wěn)壓芯片 第 7 頁(yè) 數(shù)字溫度傳感器 DS18B20 DS18B20 是美國(guó) DALLAS 公司生產(chǎn)的單總線數(shù)字溫度傳感器,從 DS18B20讀出或?qū)懭诵畔H需要一根口線,這是它的最大特點(diǎn)和優(yōu)勢(shì)。 DS18B20 雖然只與微處理器鏈接一條口線,但仍然可實(shí)現(xiàn)與微處理器的雙向通訊。此外,其突出特點(diǎn) 是功耗非常低,輸出發(fā)射模式時(shí)電流只有 11mA,接收模式時(shí)的電流也只為 ,內(nèi)建空閑模式與關(guān)機(jī)模式,便于節(jié)能。NRF24L01P+PA+LNA 無(wú)線模塊集成度極高,尺寸也只有 *,方便 嵌 入 于 任 何 空 間 緊 張 的 產(chǎn) 品 中 , 而 在 本 系 統(tǒng) 中 通 過(guò) SPI 口控制NRF24L01P+PA+LNA 無(wú)線模塊即可完成超遠(yuǎn)距離無(wú)線數(shù)據(jù)傳送系統(tǒng)的設(shè)計(jì)。若數(shù)碼管的位數(shù)不大 第 10 頁(yè) 于 8 位時(shí),只需兩個(gè) 8 位 I/ O 口。 DS18B20 溫度采集模塊 DS18B20 簡(jiǎn)介 前面已經(jīng)介紹,該模塊 采用美國(guó) DALLAS 公司推出的數(shù)字測(cè)溫芯片 DS18B20,它體積小,有多種封裝,具有獨(dú)特的單線接口。 DS18B20 用具有 16 位符號(hào)擴(kuò)展的二進(jìn)制數(shù)據(jù)補(bǔ) 碼讀數(shù)形式提供,以 176。 tempwritebyte(0xbe)。 //乘以 10 表示小數(shù)點(diǎn)后面只取 1 位,加 是四舍五入 return temp。多個(gè)數(shù)碼管動(dòng)態(tài)掃描顯示,是將所有數(shù)碼管的相同段并聯(lián)在一起,通過(guò)選通信號(hào)分時(shí)控制各個(gè)數(shù)碼管的公共端,循環(huán)點(diǎn)亮多個(gè)數(shù)碼管,并 利用人眼的視覺暫留現(xiàn)象,只要掃描的頻率大于 50Hz,將看不到閃爍現(xiàn)象。j) { i=t/100。通過(guò) SPI 總線寫入數(shù)據(jù),數(shù)據(jù)傳輸高效可靠,并且具有自動(dòng)應(yīng)答和自動(dòng)再發(fā)射功能。 IRQ,中斷信號(hào)。 CSN=1。 SPI_RW_Reg(WRITE_REG + RF_SETUP, 0x07)。 inerDelay_us(130)。 MCU 與數(shù)碼管、DS18B Nrf24l01 模塊和上位機(jī)都有通信的實(shí)現(xiàn),都涉及數(shù)據(jù)的讀取或?qū)懭?。單片機(jī)控 制并檢測(cè)溫度,實(shí)時(shí)地通過(guò) RS232 串口將溫度數(shù)據(jù)傳送給 PC機(jī)。 USART(Universal Synchronous/Asynchronous Receiver/Transmitter)是指:同步 /異步串行接收 /發(fā)送器, 第 24 頁(yè) USART 是一個(gè)全雙工通用同步 /異步串行收發(fā)模塊,該接口是一個(gè)高度靈活的串行通信設(shè)備。 Timer2 是為保證串口出錯(cuò)或串口無(wú)信號(hào)時(shí)自動(dòng)跳出的,時(shí)間為 1 分鐘。 圖 17