無線多通道數(shù)據(jù)采集和分析系統(tǒng)研究畢業(yè)論文_第1頁
已閱讀1頁,還剩36頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、<p>  多通道數(shù)據(jù)采集和分析系統(tǒng)研究(下位機(jī))</p><p><b>  摘 要</b></p><p>  隨著現(xiàn)代社會的進(jìn)步,許多領(lǐng)域都越來越依賴于電子技術(shù)的發(fā)展。與我們的生活環(huán)境較為密切如溫度、濕度等都可以通過電子設(shè)備進(jìn)行檢測與控制。在工農(nóng)業(yè)生產(chǎn)方面對這些數(shù)值的要求也越來越高。因此,準(zhǔn)確測量溫濕度等都變得至關(guān)重要。本系統(tǒng)的設(shè)計主要針對辦公室以及倉

2、庫等對溫濕度要求不是很嚴(yán)格但又與我們的生活緊密相關(guān)的環(huán)境進(jìn)行的。</p><p>  針對上述環(huán)境空間大且不易逐點(diǎn)移動測量的特點(diǎn),本文提出一種無線的多點(diǎn)溫濕度采集系統(tǒng)作為解決方案。該系統(tǒng)采用由兩個低功耗、高性能單片機(jī)AT89S52作為系統(tǒng)核心,同時控制3路DS18B20溫度模塊及1路DHT11溫濕度模塊對周圍環(huán)境的溫濕度進(jìn)行檢測,實(shí)時將采集到的數(shù)據(jù)在LCD1602顯示器上顯示出來,同時通過兩個無線數(shù)據(jù)通信收發(fā)芯片

3、NRF24L01組成與上位PC機(jī)通信的智能多通道溫濕度采集系統(tǒng)。下位機(jī)與上位機(jī)之間通過RS232串口模塊進(jìn)行通信,最后在PC機(jī)上完成配置、顯示、畫圖以及實(shí)時存儲數(shù)據(jù)的功能。該設(shè)計方案具有測量精度高,系統(tǒng)功能強(qiáng)大且穩(wěn)定性強(qiáng)等優(yōu)點(diǎn)。</p><p>  本文介紹了基于NRF24L01的短距離多通道無線溫濕度采集系統(tǒng),著重分析了系統(tǒng)的整體設(shè)計,其中主要包括硬件電路設(shè)計、軟件設(shè)計以及通信原理。通過采用模塊化設(shè)計,使得整個

4、系統(tǒng)的設(shè)計思路清晰且易于調(diào)整完善,最終較好的實(shí)現(xiàn)了設(shè)計所要求的功能。</p><p>  關(guān)鍵詞:多通道數(shù)據(jù)采集,無線收發(fā),串口通信</p><p>  Multi-Channel Data Acquisition and Analysis System </p><p>  (Lower Computer)</p><p><b>

5、;  Abstract</b></p><p>  With the progress of modern society, many areas are increasingly dependent on the development of electronic technology. There are so many parameters which can be detected and c

6、ontrolled by electronic devices and also of great reality with our living environment, such as temperature, humidity and so on. On the other hand, the use of these devices in industrial and agricultural areas is more str

7、ictly. Therefore, how to measure these parameters accurately is become more and more important. Our syst</p><p>  Aiming at the space of the measurement environment is the large and difficult to move the dev

8、ice here and there, this paper presents a wireless multi-point temperature and humidity acquisition system. The system consists of two power-saved and high-performance microcontrollers AT89S52 as the core of the system,

9、 contain three channel DS18B20 as temperature control module and one channel DHT11 as humidity module, which achieve to detect the temperature and humidity of surrounding environment. The</p><p>  This paper

10、 introduces us a short-range multi-channel wireless temperature and humidity acquisition system based on the NRF24L01 wireless transceiver. Throughout this article, we mainly analyzes the overall system design, which inc

11、ludes hardware design, software design and communication principles. By adopting modular design, making the whole system design clear and easy to adjust and improve, and ultimately is helpful for achieving the required f

12、unctions of the design quite perfect. </p><p>  Keywords: Multi-channel Data Acquisition, Wireless Transceiver, Serial Communication 目 錄</p><p><b>  摘要I</b></p><p>  A

13、bstractII</p><p><b>  第1章 緒論1</b></p><p>  1.1數(shù)據(jù)采集概述1</p><p>  1.2 數(shù)據(jù)采集的現(xiàn)狀和應(yīng)用情況1</p><p>  1.3 課題指導(dǎo)思想2</p><p>  1.4 課題設(shè)計任務(wù)和要求2</p>

14、<p>  1.4.1課題的設(shè)計任務(wù)2</p><p>  1.4.2課題的技術(shù)要求3</p><p>  1.5 論文結(jié)構(gòu)3</p><p>  第2章 系統(tǒng)總體設(shè)計4</p><p>  2.1系統(tǒng)的工作原理4</p><p>  2.2 系統(tǒng)的總體設(shè)計方案5</p><p

15、>  2.2.1 系統(tǒng)設(shè)計原則5</p><p>  2.2.2系統(tǒng)的設(shè)計方案6</p><p>  2.3 系統(tǒng)硬件電路的器件選擇7</p><p>  2.3.1系統(tǒng)處理器7</p><p>  2.3.2溫濕度模塊7</p><p>  2.3.3顯示模塊7</p><p&g

16、t;  2.3.4無線通信模塊8</p><p>  2.3.5電平轉(zhuǎn)換芯片8</p><p>  2.4 本章小節(jié)8</p><p>  第3章 系統(tǒng)硬件電路設(shè)計9</p><p>  3.1系統(tǒng)硬件電路設(shè)計原則9</p><p>  3.2 系統(tǒng)各部分的硬件電路設(shè)計9</p><p&

17、gt;  3.3 AT89S52單片機(jī)10</p><p>  3.3.1 AT89S52引腳配置10</p><p>  3.3.2 AT89S5硬件電路圖10</p><p>  3.4 溫濕度模塊11</p><p>  3.4.1 DS18B20溫度傳感器11</p><p>  3.4.2 DHT1

18、1溫濕度傳感器13</p><p>  3.5 LCD液晶顯示模塊14</p><p>  3.5.1 LCD1602接口引腳14</p><p>  3.5.2 LCD電路原理圖15</p><p>  3.6 溫控模塊15</p><p>  3.7 無線收發(fā)模塊16</p><p&

19、gt;  3.7.1 NRF24L01概述16</p><p>  3.7.2 引腳功能及描述16</p><p>  3.7.3 NRF24L01應(yīng)用原理圖17</p><p>  3.8 電源電路模塊17</p><p>  3.9 串口通信模塊19</p><p>  3.10 本章小結(jié)20</

20、p><p>  第4章 系統(tǒng)軟件設(shè)計與配置21</p><p>  4.1 系統(tǒng)軟件設(shè)計要解決的問題21</p><p>  4.2 系統(tǒng)軟件模塊化設(shè)計21</p><p>  4.2.1 溫濕度模塊21</p><p>  4.2.2 LCD液晶顯示模塊22</p><p>  4.2.

21、3無線收發(fā)模塊25</p><p>  4.2.4串口通信模塊26</p><p>  4.3 本章小結(jié)26</p><p>  第5章 系統(tǒng)調(diào)試與改進(jìn)27</p><p>  5.1 LCD液晶顯示模塊調(diào)試27</p><p>  5.2 溫濕度模塊調(diào)試28</p><p>  5

22、.3 無線收發(fā)模塊調(diào)試31</p><p>  5.4串口通信模塊調(diào)試32</p><p>  5.5系統(tǒng)改進(jìn)方案33</p><p>  5.5.1 擴(kuò)大傳輸距離的擴(kuò)展設(shè)計33</p><p>  5.5.2 溫控模塊和顯示模塊的改進(jìn)33</p><p>  5.5.3 采用PCB制板33</p&g

23、t;<p>  5.6 本章小結(jié)34</p><p><b>  結(jié)論35</b></p><p><b>  謝辭36</b></p><p><b>  參考文獻(xiàn)37</b></p><p>  附錄 軟件程序38</p><p

24、><b>  緒論</b></p><p>  1.1 數(shù)據(jù)采集概述</p><p>  數(shù)據(jù)采集,是指從傳感器和其它待測設(shè)備等模擬和數(shù)字被測單元中自動采集信息的過程。 數(shù)據(jù)采集系統(tǒng)是結(jié)合基于計算機(jī)(或微處理器)的測量軟硬件產(chǎn)品來實(shí)現(xiàn)靈活的、用戶自定義的測量系統(tǒng)。根據(jù)使用目的的不同,數(shù)據(jù)采集系統(tǒng)的實(shí)現(xiàn)方式也各不相同。如基于DSP的數(shù)據(jù)采集系統(tǒng)具有極強(qiáng)的數(shù)據(jù)處理功

25、能,能滿足對信號的快速采樣及對采樣數(shù)據(jù)快速處理 浮點(diǎn)數(shù)DSP芯片保證了計算的快速性和精度;有的系統(tǒng)要求大量的存儲采樣數(shù)據(jù),這就要求外部電路有其他存儲介質(zhì),利用SD卡或計算機(jī)硬盤作為存儲器,就可以使得單片機(jī)系統(tǒng)下的信息存儲容量遠(yuǎn)遠(yuǎn)大于目前其他可以與單片機(jī)接口的存儲芯片的容量,從而解決了單片機(jī)系統(tǒng)中大容量信息存儲的需求??傊?,數(shù)據(jù)采集系統(tǒng)的實(shí)現(xiàn)方式多種多樣,設(shè)計者可以根據(jù)不同的使用目的設(shè)計出滿足自己設(shè)計需求的數(shù)據(jù)采集系統(tǒng)。</p>

26、;<p>  在計算機(jī)廣泛應(yīng)用的今天,數(shù)據(jù)采集的在多個領(lǐng)域有著十分重要的應(yīng)用。它是計算機(jī)與外部物理世界連接的橋梁。利用串行或紅外通信方式,實(shí)現(xiàn)對移動數(shù)據(jù)采集器的應(yīng)用軟件升級,通過制訂上位機(jī)(PC)與移動數(shù)據(jù)采集器的通信協(xié)議,實(shí)現(xiàn)兩者之間阻塞式通信交互過程。在工業(yè)、工程、生產(chǎn)車間等部門,尤其是在對信息實(shí)時性能要求較高或者惡劣的數(shù)據(jù)采集環(huán)境中更突出其應(yīng)用的必要性。例如:在工業(yè)生產(chǎn)和科學(xué)技術(shù)研究的各行業(yè)中,常常利用PC或工控機(jī)對

27、各種數(shù)據(jù)進(jìn)行采集。這其中有很多地方需要對各種數(shù)據(jù)進(jìn)行采集,如液位、溫度、壓力、頻率等?,F(xiàn)在常用的采集方式是通過數(shù)據(jù)采集板卡,常用的有A/D卡以及232、485等總線板卡。衛(wèi)星數(shù)據(jù)采集系統(tǒng)是利用航天遙測、遙控、遙監(jiān)等技術(shù),對航天器遠(yuǎn)地點(diǎn)進(jìn)行各種監(jiān)測,并根據(jù)需求進(jìn)行自動采集,經(jīng)過衛(wèi)星傳輸?shù)綌?shù)據(jù)中心處理后,送給用戶使用的應(yīng)用系統(tǒng)。</p><p>  1.2 數(shù)據(jù)采集的現(xiàn)狀和應(yīng)用情況</p><p&

28、gt;  目前針對多通道數(shù)據(jù)采集體統(tǒng)的研究主要集中在數(shù)據(jù)傳輸?shù)耐叫?、系統(tǒng)容量及低能耗等特點(diǎn)。有些研究雖然在同步性上有所突破,但在系統(tǒng)容量或者能耗方面仍需改進(jìn),或者在能耗方面取得一定的成就,但系統(tǒng)的精度或分辨率等均達(dá)不到要求??梢姳菊n題在一定的程度上還是有很大發(fā)展空間的。</p><p>  現(xiàn)代數(shù)據(jù)采集系統(tǒng)具有以下幾個特點(diǎn):</p><p>  現(xiàn)代數(shù)據(jù)采集系統(tǒng)一般都內(nèi)含有計算機(jī)系統(tǒng),這

29、使得數(shù)據(jù)采集的質(zhì)量和效率等大為提高,同時顯著節(jié)省了硬件投資;</p><p>  軟件在數(shù)據(jù)采集系統(tǒng)中的作用越來越大,增加了系統(tǒng)設(shè)計的靈活性。</p><p>  數(shù)據(jù)采集與數(shù)據(jù)處理相互結(jié)合得日益緊密,形成了數(shù)據(jù)采集與處理相互融合的系統(tǒng),可實(shí)現(xiàn)從數(shù)據(jù)采集、處理到控制的全部工作;</p><p>  速度快,數(shù)據(jù)采集過程一般都具有“實(shí)時”的特性。對于通用數(shù)據(jù)采集系統(tǒng)一

30、般希望有盡可能的速度,以滿足更多的應(yīng)用環(huán)境;</p><p>  隨著微電子技術(shù)的發(fā)展,電子集成度的提高,數(shù)據(jù)采集系統(tǒng)的體積越來越小,可靠性越來越高,甚至出現(xiàn)了單片數(shù)據(jù)采集系統(tǒng);</p><p>  總線在數(shù)據(jù)采集系統(tǒng)中的應(yīng)用越來越廣泛,總線技術(shù)對數(shù)據(jù)采集系統(tǒng)結(jié)構(gòu)的發(fā)展起著重要作用。</p><p>  A/D轉(zhuǎn)換器是數(shù)據(jù)采集系統(tǒng)的核心,擔(dān)負(fù)著將模擬信號變成適合于計

31、算機(jī)數(shù)字處理的二進(jìn)制代碼的任務(wù)。A/D轉(zhuǎn)換的常用方法有:計數(shù)式A/D轉(zhuǎn)換,逐次逼近型A/D轉(zhuǎn)換、雙積分式A/D轉(zhuǎn)換、并行A/D轉(zhuǎn)換和串/并行A/D轉(zhuǎn)換等[1]。</p><p>  1.3 課題指導(dǎo)思想</p><p>  學(xué)習(xí)數(shù)據(jù)采集的基本原理和實(shí)現(xiàn)方法,學(xué)習(xí)并了解Protues仿真軟件的基</p><p><b>  本原理和特點(diǎn);</b>

32、</p><p>  根據(jù)實(shí)際情況制作溫濕度采集系統(tǒng)外圍電路;</p><p>  查找資料,制定多通道無線數(shù)據(jù)采集系統(tǒng)的初步設(shè)計方案,使用KeilC51</p><p>  開發(fā)軟件調(diào)試編譯程序等;</p><p>  學(xué)習(xí)LCD1602控制和顯示的基本原理;</p><p>  學(xué)習(xí)C51語言,實(shí)現(xiàn)利用DS18B2

33、0和DHT11溫濕度采集模塊進(jìn)行數(shù)據(jù)采集</p><p>  的代碼設(shè)計和軟件仿真;</p><p>  學(xué)習(xí)NRF24L01無線模塊相關(guān)知識,實(shí)現(xiàn)采集數(shù)據(jù)的收發(fā)功能;</p><p>  測試數(shù)據(jù)采集系統(tǒng),分析結(jié)果,并且驗(yàn)證采集和顯示的功能,逐步完善系統(tǒng)功能。</p><p>  1.4 課題設(shè)計任務(wù)和要求</p><p

34、>  1.4.1 課題的設(shè)計任務(wù)</p><p>  通過查閱相關(guān)資料完成多通道數(shù)據(jù)采集系統(tǒng)下位機(jī)部分設(shè)計及其外圍硬件電路。設(shè)計過程中,查閱DS18B20、DHT11、LCD1602模塊的工作原理,用KeilC51編寫并調(diào)試系統(tǒng)軟件,同時采用Protues仿真軟件進(jìn)行仿真。完成這些后,再通過RS232串口與上位機(jī)進(jìn)行通信。最終實(shí)現(xiàn)溫濕度采集在下位機(jī)的顯示并與上位機(jī)通信的功能。</p><

35、p>  1.4.2 課題的技術(shù)要求</p><p>  自主設(shè)計和完成多通道無線數(shù)據(jù)采集系統(tǒng)硬件電路及外圍溫控電路等;</p><p>  通過C51編寫系統(tǒng)軟件,運(yùn)用KeilC編譯成功并燒寫到系統(tǒng)中;</p><p>  用Protues實(shí)現(xiàn)DS18B20溫度采集和LCD1602液晶顯示兩個功能模塊;</p><p>  設(shè)計無線收發(fā)

36、電路,在無干擾及遮擋物的情況下,傳輸距離約為20m;</p><p>  最終實(shí)現(xiàn)一個測量溫度范圍為-55~+125℃,其中溫度精度為0.5℃,測量濕度范圍為20~90%RH,濕度精度為±5%RH并可與上位機(jī)通信的多通道無線溫濕度采集系統(tǒng)。</p><p><b>  1.5 論文結(jié)構(gòu)</b></p><p>  經(jīng)過前面對多通道數(shù)據(jù)

37、采集系統(tǒng)相關(guān)情況的介紹,我們不難發(fā)現(xiàn)可以通過多種方式設(shè)計出我們需要的系統(tǒng),這里我們選擇一些簡單實(shí)用且經(jīng)濟(jì)的方案。在本文接下來的內(nèi)容里,我們將針對這個方案進(jìn)行詳盡的闡述,論文的具體結(jié)構(gòu)如下:</p><p>  第1章:簡要概述課題目前研究的相關(guān)內(nèi)容,系統(tǒng)方案的選擇以及實(shí)現(xiàn)的基本功能;</p><p>  第2章:圍繞系統(tǒng)的總體設(shè)計方案進(jìn)行展開,解釋系統(tǒng)的工作原理,著重介紹系統(tǒng)各功能模塊相應(yīng)

38、器件的選擇;</p><p>  第3章:詳細(xì)介紹系統(tǒng)硬件電路的設(shè)計過程,說明系統(tǒng)硬件電路的設(shè)計原則,根據(jù)各功能模塊之間的關(guān)系逐一介紹設(shè)計過程;</p><p>  第4章:本章詳細(xì)介紹系統(tǒng)軟件的設(shè)計思想、各個軟件模塊的軟件框圖以及生成的總系統(tǒng)的情況。</p><p>  第5章:本章包括軟硬件的系統(tǒng)調(diào)試,調(diào)試過程中使用Protues仿真軟件進(jìn)行系統(tǒng)仿真。針對仿真過

39、程中出現(xiàn)的問題進(jìn)行結(jié)果分析,并一一解決;</p><p>  第6章:總結(jié)課題的研究內(nèi)容,針對系統(tǒng)在其它更高要求或者其它不同應(yīng)用的領(lǐng)域中,提出更符合要求的措施。</p><p><b>  系統(tǒng)總體設(shè)計</b></p><p>  本課題是基于AT89S52單片機(jī)為核心的多通道無線溫濕度采集系統(tǒng),主要由上位機(jī)和下位機(jī)兩個部分組成。其中下位機(jī)包含

40、溫濕度采集模塊、LCD液晶顯示模塊、無線收發(fā)模塊、串口通信模塊以及由電機(jī)組成的溫控模塊。溫濕度模塊由3路DS18B20溫度模塊及1路DHT11溫濕度模塊組成,主要負(fù)責(zé)對周圍環(huán)境溫度數(shù)據(jù)進(jìn)行采集并通過單總線傳輸給單片機(jī)進(jìn)行處理;LCD液晶顯示模塊則負(fù)責(zé)把經(jīng)過單片機(jī)處理過的數(shù)據(jù)顯示出來,相當(dāng)于一個用戶界面;無線收發(fā)模塊由兩個NRF24L01無線模塊與單片機(jī)組成,一個負(fù)責(zé)發(fā)送經(jīng)過處理的溫濕度數(shù)據(jù),另一個則負(fù)責(zé)接收并傳給RS232串口通信模塊;

41、串口通信模塊,顧名思義就是經(jīng)由串口負(fù)責(zé)與上位PC機(jī)進(jìn)行通信;溫度控制模塊則由一個小電機(jī)與5V繼電器構(gòu)成,當(dāng)系統(tǒng)某一路所采集到的數(shù)據(jù)超過上限值時,單片機(jī)通過一個三極管驅(qū)動繼電器導(dǎo)通,同時控制小電機(jī)工作,達(dá)到降溫效果。以上幾部分共同構(gòu)成了本系統(tǒng)的下位機(jī)部分。上位機(jī)部分由C++軟件編寫而成,主要負(fù)責(zé)接收下位發(fā)送上來的數(shù)據(jù),并進(jìn)行相應(yīng)的配置處理,把接收到的數(shù)據(jù)顯示出來并根據(jù)需要繪制成圖表。</p><p>  2.1 系

42、統(tǒng)的工作原理</p><p>  按照電路原理圖連接完電路,打開開關(guān)即可開始工作。當(dāng)四路采集電路都配置有相應(yīng)模塊時,MPU接收數(shù)據(jù)置于LCD1602顯示,通過軟件設(shè)計可觀察到四路采集電路是否都正常工作、保持溫度在正常范圍以及接收到的數(shù)據(jù)來自哪路等。同時根據(jù)接收到的數(shù)據(jù)判斷是否超過上限值,如果是則通過三極管驅(qū)動繼電器導(dǎo)通,控制小電機(jī)工作,達(dá)到降溫效果,當(dāng)溫度回到正常水平時,繼電器恢復(fù)原先狀態(tài),電機(jī)停止工作。完成顯示

43、及溫度控制后,程序接著運(yùn)行,MPU把溫濕度數(shù)據(jù)寫入與其相連的NRF24L01,并發(fā)送出去。這是負(fù)責(zé)接收的NRF24L01模塊,接收到從機(jī)傳過來的數(shù)據(jù),開始接收并同步通過RS232串口通信模塊發(fā)送給上位PC機(jī),PC機(jī)對下位機(jī)發(fā)過來的數(shù)據(jù)進(jìn)行分析,并根據(jù)需要繪制圖表。以上就是整個系統(tǒng)的工作原理,如圖2-1為整個系統(tǒng)的流程圖。</p><p>  圖2-1 系統(tǒng)流程圖</p><p>  2.2

44、 系統(tǒng)的總體設(shè)計原則</p><p>  設(shè)計系統(tǒng)之前,首先要對整個過程中所要實(shí)現(xiàn)的功能具有清楚的認(rèn)識,才能正確的選擇所需要的元器件,才能正確的進(jìn)行軟件設(shè)計。</p><p>  2.2.1 系統(tǒng)設(shè)計原則</p><p> ?。?)確保功能的完全實(shí)現(xiàn)</p><p>  系統(tǒng)是整個課題研究的重中之重,系統(tǒng)的設(shè)計的最終目的就是實(shí)現(xiàn)預(yù)定的功能,一

45、切對系統(tǒng)的優(yōu)化以及擴(kuò)展,都是基于系統(tǒng)滿足功能的前提下實(shí)現(xiàn)的。</p><p> ?。?)系統(tǒng)結(jié)構(gòu)的合理性</p><p>  系統(tǒng)結(jié)構(gòu)的合理與否,對結(jié)構(gòu)的可靠性,性價比等有直接影響。首先是硬件結(jié)構(gòu)的設(shè)計,層次分明,可以減少硬件上面的干擾。軟件功能要合理設(shè)計,盡可能的軟件設(shè)計代替硬件設(shè)計,能用軟件設(shè)計,就不用硬件電路。</p><p><b> ?。?)抗干

46、擾能力</b></p><p>  抗干擾能力是無線通信中的重要因素,確保數(shù)據(jù)準(zhǔn)確無誤的傳輸,排除其它的干擾信號。從硬件電路的設(shè)計,元器件的布局,軟件的設(shè)計開始,就需要開始重視如何避開外界的干擾信號的影響,確保系統(tǒng)的可靠性。</p><p>  2.2.2 系統(tǒng)的設(shè)計方案</p><p>  系統(tǒng)設(shè)計過程中,首先考慮到溫濕度采集的準(zhǔn)確性以及經(jīng)過MPU處理

47、的溫濕度數(shù)據(jù)在LCD1602 的正常顯示上。系統(tǒng)采用逐一掃描法接收來自傳感器的數(shù)據(jù),再把采集進(jìn)來的數(shù)據(jù)一一送到LCD上顯示以及通過無線收發(fā)模塊發(fā)送到上位機(jī)上進(jìn)行處理與配置。由于這一特性,就必須考慮到各傳感器工作的時候是否會相互影響等問題。經(jīng)過軟件設(shè)計,最終實(shí)現(xiàn)各傳感器的“熱插拔”功能,即各路傳感器獨(dú)立工作,彼此之間不會互相干擾或相互影響的溫濕度采集模塊。</p><p>  在溫控模塊上,采用HRS4H-S-DC

48、5V繼電器作為控制普通電機(jī)工作的主要器件。但是由于單片機(jī)的輸出功率比較低,輸出電流只有10mA左右,不能驅(qū)動繼電器工作,所以選用S8550三極管對繼電器控制的I/O進(jìn)行功率放大,以使繼電器能夠正常工作,正??刂齐姍C(jī)工作,達(dá)到系統(tǒng)設(shè)計的基本要求。</p><p>  作為系統(tǒng)支持的NRF24L01無線收發(fā)模塊的設(shè)計上亦存在一定的問題,如它的工作電壓范圍為1.9~3.6V,而51單片機(jī)的輸出電壓為5V,如果直接用單片

49、機(jī)I/O口驅(qū)動該模塊,肯定會把它燒壞。這就要求我們在設(shè)計一個可以穩(wěn)定輸出電壓在1.9~3.6V之間的電源模塊。通過查閱相關(guān)資料,我們選取MIC5205作為穩(wěn)壓模塊,并設(shè)計相關(guān)穩(wěn)壓電路,最終在輸入為5V的情況下得到一個電壓值為3.3V的電壓模塊,為后面無線收發(fā)模塊的正常工作奠定了不可或缺的基礎(chǔ)。</p><p>  關(guān)于整個多通道無線溫濕度采集系統(tǒng)的總體設(shè)計方案,我們就介紹到這。下面我們看下系統(tǒng)的硬件框架圖,如圖2

50、-2所示。</p><p>  圖2-2 系統(tǒng)硬件框架圖</p><p>  2.3 系統(tǒng)硬件電路的器件選擇</p><p>  2.3.1 系統(tǒng)處理器</p><p>  對本課題的系統(tǒng)來講,綜合多方面的因素,選擇單片機(jī)更加合適。因此我們選擇最熟悉也是市場上最常用的AT89S52作為核心芯片。一方面考慮到成本問題,另一方面也顧及到現(xiàn)在網(wǎng)上很

51、多與課題相關(guān)的資料也都是以AT89S52作為例子的,這樣在參考別人資料的時候也會比較容易理解。而且,我們學(xué)習(xí)單片機(jī)的時候用的就是AT89S52,感覺會比較熟悉,這樣學(xué)起來也不會有太大難度。綜合以上因素考慮,我們選擇了AT89S52作為整個系統(tǒng)的核心芯片。</p><p>  2.3.2 溫濕度模塊</p><p>  在溫度采集芯片的選擇上,我們選取了目前市面上最常用的DS18B20單總線

52、測溫芯片。如果你在網(wǎng)上查閱測溫相關(guān)的芯片,你一定會被大量關(guān)于DS18B20的信息所淹沒。雖然期間有考慮過使用熱敏電阻,采用電橋法為構(gòu)架組成的模擬測溫電路,但是由于模擬電路的不穩(wěn)定性以及出現(xiàn)問題時,不容易糾錯和替換等因素,我們最終決定使用3路DS18B20作為系統(tǒng)的測溫模塊器件。</p><p>  溫濕度采集模塊器件的選擇上,我們選擇一路DHT11對溫濕度進(jìn)行采集。方案設(shè)計過程中有考慮到SHT11溫濕度采集芯片,

53、雖然精度比較高但成本過于高昂,另外也有考慮到使用濕敏電容HS1101采用模擬電路作為濕度采集模塊。但數(shù)字式的溫濕度采集模塊可同時采集系統(tǒng)周圍環(huán)境溫度和濕度,可謂達(dá)到一舉兩得的成效,而且在相同的測量環(huán)境的情況下,還可以與DS18B20測溫模塊進(jìn)行測溫精度比較。所以我們優(yōu)先選擇了DHT11作為溫濕度采集模塊核心器件。</p><p>  2.3.3 顯示模塊</p><p>  目前比較流行的

54、顯示模塊有數(shù)碼管以及LCD液晶顯示模塊。數(shù)碼管一般是七段或者八段的,數(shù)碼管只能簡單的顯示幾個數(shù)字,內(nèi)容比較單一,受溫度,電流大小影響比較大,采用的是LED燈的顯示方式,焊接的時候,如果不小心的話還很容易燒壞。所以本設(shè)計著重考慮LCD液晶顯示模塊。首先考慮到的是LCD12864,但下位機(jī)部分只負(fù)責(zé)顯示各路采集的溫度數(shù)據(jù),不需要過于強(qiáng)大的顯示功能,如果選擇該器件,會造成資源的浪費(fèi)以及編寫軟件時不必要的時間浪費(fèi)。因此,我們最終選擇LCD160

55、2液晶模塊作為系統(tǒng)下位機(jī)的顯示模塊。</p><p>  2.3.4 無線通信模塊</p><p>  根據(jù)查閱的相關(guān)資料顯示,目前主流的短距離無線傳輸技術(shù)有兩種,一種是IrDA紅外通信技術(shù),另一種是工作于ISM頻段射頻通信技術(shù)。在這里我們選擇ISM射頻通信技術(shù)并選取成本低、功耗小且傳輸穩(wěn)定的NRF24L01無線收發(fā)模塊。它的主要優(yōu)點(diǎn)有高頻電感和濾波器全部內(nèi)置,所需要的外圍元件少,接口方式

56、簡單,只需要跟單片機(jī)I/O或SPI相連,編程也較方便,通信速率和傳輸距離等都優(yōu)于藍(lán)牙模塊。</p><p>  2.3.5 電平轉(zhuǎn)換芯片</p><p>  前面已經(jīng)介紹過由于采用NRF24L01無線收發(fā)模塊,所以系統(tǒng)需要一個電源獨(dú)立給無線收發(fā)模塊供電。器件選擇過程中,認(rèn)真的查閱了幾種可行的穩(wěn)壓電源電路。如采用LM2576的穩(wěn)壓電源,需要焊接外部電感等器件一起組成穩(wěn)壓電路,雖然電路比較簡單

57、但輸出不是很穩(wěn)定。所以我們著重考慮采用MIC5205作為穩(wěn)壓電源核心部件。</p><p><b>  2.4 本章小節(jié)</b></p><p>  本章圍繞系統(tǒng)整體的設(shè)計方案,針對各模塊間的聯(lián)系進(jìn)行展開介紹。在總體設(shè)計方案確定之后,再根據(jù)各模塊的特點(diǎn)及其所需實(shí)現(xiàn)的系統(tǒng)功能選擇符合要求的器件,然后在這些器件之間進(jìn)行篩選以及可行性方案考量,最終確定出各電路模塊所需的芯片

58、。可以說本章是整個系統(tǒng)的基礎(chǔ)部分。在設(shè)計過程中,只有先確定整體設(shè)計方案,才能對下面的硬件電路和軟件設(shè)計進(jìn)行相應(yīng)的設(shè)計和修改。</p><p><b>  系統(tǒng)硬件電路設(shè)計</b></p><p>  在總體體統(tǒng)方案確定下來之后,接下來主要是對系統(tǒng)的硬件電路進(jìn)行設(shè)計。這是整個系統(tǒng)能否正常工作的關(guān)鍵所在。當(dāng)然在硬件設(shè)計時單單只考慮系統(tǒng)能否正常工作是遠(yuǎn)遠(yuǎn)不夠的,另外還必須對

59、整個系統(tǒng)運(yùn)行時的工作性能進(jìn)行考量,然后再適當(dāng)?shù)膶ο到y(tǒng)外圍電路進(jìn)行相應(yīng)的擴(kuò)展。</p><p>  3.1系統(tǒng)硬件電路設(shè)計原則</p><p>  根據(jù)對系統(tǒng)所要實(shí)現(xiàn)的功能及系統(tǒng)的實(shí)用性等方面進(jìn)行考量,在硬件設(shè)計過程中應(yīng)采用以下原則:</p><p> ?。?)盡可能選擇典型的電路及電子元器件;</p><p> ?。?)軟硬件設(shè)計應(yīng)兼顧考慮。

60、軟件可以實(shí)現(xiàn)的功能盡可能通過軟件設(shè)計實(shí)現(xiàn),以便簡化硬件電路,但同時也應(yīng)注意到軟件執(zhí)行硬件功能將占用較多的CPU時間,這可能會對系統(tǒng)的性能造成一定的影響;</p><p>  (3)可靠性及抗干擾性能方面是硬件設(shè)計過程中的重中之重,這點(diǎn)必須著重考慮,包括對器件的選擇、電路板的布線等;</p><p> ?。?)單片機(jī)微處理器外接比較多的時候,必須考慮其驅(qū)動能力,否則系統(tǒng)的工作不可靠。<

61、/p><p>  3.2 系統(tǒng)各部分的硬件電路設(shè)計</p><p>  在整個系統(tǒng)的設(shè)計過程中,采用的是AT89S52單片機(jī)作為控制器,在外圍總共32個引腳中,需要合理分配才能使系統(tǒng)的資源最大化。在系統(tǒng)中,對外圍引腳的分配如下:LCD顯示模塊總共用到11個引腳,其中P0口作為LCD的8位數(shù)據(jù)輸入端口,P3.5、P3.6、P3.7作為LCD的RS、RW、E的控制引腳。另外P3.0、P3.2、P3

62、.4、P3.6等四個接口負(fù)責(zé)接收四路溫濕度傳感器傳送上來的數(shù)據(jù)。P3.3口作為溫度控制模塊的控制端。最后,在無線通信模塊中,使用閑置的P1口中的其中六個I/O口。</p><p>  3.3 AT89S52單片機(jī)</p><p>  3.3.1 AT89S52引腳配置</p><p>  如圖3-1所示該單片機(jī)采用40引腳雙列直插封裝(DIP)形式。對于CHMOS單

63、片機(jī)除采用DIP形式外,還采用方形封裝工藝。由于受到引腳數(shù)目的限制,所以有部分引腳具有第二功能。 </p><p><b>  圖3-1引腳配置</b></p><p>  3.3.2 AT89S52硬件電路圖</p><p>  AT89S52作為控制核心,但是電路相對比較簡單(如圖3-2所示)。</p><p>  

64、圖3-2 最小系統(tǒng)原理圖</p><p>  相當(dāng)于一個最小系統(tǒng)。只需一個復(fù)位電路和一個由晶振組成時鐘電路。雖然電路比較簡單,但是在晶振的選擇上也是需要注意的,一般單片機(jī)都是用12M或是11.0592M晶振構(gòu)成內(nèi)部時鐘,如果沒有特殊要求的話兩者都是可行的,但考慮到系統(tǒng)還要涉及串行通信,所以我們這次選擇11.0592M的晶振。這樣下位機(jī)系統(tǒng)時間和上位機(jī)系統(tǒng)時間就能比較準(zhǔn)確的進(jìn)行匹配,也為后面的硬件電路和軟件設(shè)計省去

65、不少麻煩。</p><p><b>  3.4溫濕度模塊</b></p><p>  本系統(tǒng)采用一路溫濕度DHT11和三路DS18B20溫度傳感器分別對周圍環(huán)境的溫濕度進(jìn)行溫度采集。其中DHT11和DS18B20都屬于單總線結(jié)構(gòu)。它具有節(jié)省I/ O口線資源、結(jié)構(gòu)簡單、成本低廉、便于總線擴(kuò)展和維護(hù)等諸多優(yōu)點(diǎn).另外,由于DHT11和DS18B20對溫度的采集精度不同,所以

66、在相同的環(huán)境下可對二者的采集數(shù)據(jù)通過上位機(jī)實(shí)時畫出溫度曲線進(jìn)行比較。</p><p>  3.4.1 DS18B20溫度傳感器</p><p>  3.4.1.1 DS18B20的管腳配置</p><p>  DS18B20的芯片封裝如圖3-3所示。</p><p>  圖3-3 DS18B20芯片封裝</p><p>

67、;<b>  引腳定義: </b></p><p>  (1)DQ為單數(shù)據(jù)總線,是數(shù)字信號輸入/輸出端; </p><p>  (2)GND為電源地; </p><p>  (3)VDD為外接供電電源輸入端(在寄生電源接線方式時接地)。 </p><p>  3.4.1.2 DS18B20電路原理圖</p>

68、<p>  DS18B20的溫度檢測與數(shù)字?jǐn)?shù)據(jù)輸出全集成于一個芯片之上,從而抗干擾力更強(qiáng)。而且電路連接也非常簡單,不過硬件電路上的簡單卻給軟件設(shè)計帶來了一定的難度,這在后面的軟件設(shè)計章節(jié)我們將做進(jìn)一步介紹。本次設(shè)計中DS18B20的電路原理圖如圖3-4所示。</p><p>  圖3-4 DS18B20電路原理圖</p><p>  3.4.2 DHT11溫濕度傳感器<

69、/p><p>  DHT11的管腳配置如圖3-5所示。</p><p>  圖3-5 DHT11芯片封裝</p><p>  DHT11引腳說明:</p><p>  引腳1為外接供電電源輸入端;</p><p>  引腳2為串行數(shù)據(jù)輸入輸出接口;</p><p><b>  引腳3懸空,

70、不接;</b></p><p>  引腳4為接地。 </p><p>  建議連接線長度短于20米時用5K上拉電阻,大于20米時根據(jù)實(shí)際情況使用合適的上拉電阻。一般短距離情況下,DHT11的連接原理圖如圖3-6所示。</p><p>  圖3-6 DHT11電路原理圖</p><p>  DHT11的供電電壓為3-5.5V。

71、傳感器上電后,要等待 1s 以越過不穩(wěn)定狀態(tài)在此期間無需發(fā)送任何指令。電源引腳(VDD,GND)之間可增加一個100nF 的電容,用以去耦濾波。</p><p>  3.5 LCD液晶顯示模塊</p><p>  3.5.1 LCD1602接口引腳</p><p>  字符型液晶顯示模塊主要由字符型液晶顯示屏LCD1602構(gòu)成。目前字符型液晶顯示模塊在國際上已經(jīng)規(guī)范

72、化,無論是顯示屏規(guī)格如何變化,其電氣特性和接口形式都是統(tǒng)一的,因此只要設(shè)計出一種型號的接口電路,在指令設(shè)置上稍加修改就可以使用各種規(guī)范的顯示模塊。下面我們開始進(jìn)入1602的介紹。首先對1602 的接口引腳進(jìn)行了解,如表3-1所示。</p><p>  表3-1 LCD1602接口引腳序列圖</p><p>  3.5.2 LCD電路原理圖</p><p>  LCD

73、電路原理圖的設(shè)計主要是控制引腳4-6,數(shù)據(jù)引腳7-14與單片機(jī)之間的連接,另外就是液晶電源1-3,背光電源與驅(qū)動電源之間的連接了。其中液晶模塊的第三根引腳可用于控制液晶屏幕的背景對比度及背光亮度。此處通過接一個10K的可調(diào)電阻實(shí)現(xiàn)了調(diào)節(jié)該屬性的功能。在本次設(shè)計中,液晶模塊的電路原理圖如圖3-7所示。</p><p>  圖3-7 LCD電路原理圖</p><p><b>  3.

74、6 溫控模塊</b></p><p>  采用HRS4H-S-DC5V繼電器控制電機(jī)轉(zhuǎn)動,由于單片機(jī)I/O口輸出電流太小不足以驅(qū)動繼電器工作。所以經(jīng)過查閱相關(guān)資料,最終我們選擇了外加一個由S8550三極管構(gòu)成的放大電路以實(shí)現(xiàn)驅(qū)動繼電器工作同時控制電機(jī)的功能。其電路原理圖如圖3-8所示。</p><p>  圖3-8溫控電路設(shè)計</p><p>  3.7

75、 無線收發(fā)模塊</p><p>  3.7.1 NRF24L01概述 </p><p>  NRF24L01是一款新型單片射頻收發(fā)器件,工作于2.4 GHz~2.5 GHz ISM頻段。內(nèi)置頻率合成器、功率放大器、晶體振蕩器、調(diào)制器等功能模塊,并融合了增強(qiáng)型ShockBurst技術(shù),其中輸出功率和通信頻道可通過程序進(jìn)行配置。NRF24L01功耗低,在以-6dBm的功率發(fā)射時,工作電流也只有

76、9 mA;接收時,工作電流只有12.3 mA,多種低功率工作模式(掉電模式和空閑模式)使節(jié)能設(shè)計更方便[2]。</p><p>  3.7.2引腳功能及描述 </p><p>  NRF24L01的封裝及引腳排列如圖3-9所示。各引腳功能如下。 </p><p>  圖3-9 NRF24L01封裝圖</p><p>  CE:使能發(fā)射或接收;

77、 </p><p>  CSN,SCK,MOSI,MISO:SPI引腳端,微處理器可通過此引腳配置NRF24L01: </p><p>  IRQ:中斷標(biāo)志位;</p><p>  VDD:電源輸入端; </p><p><b>  VSS:電源地;</b></p><p>  XC2,XC1:晶

78、體振蕩器引腳; </p><p>  VDD_PA:為功率放大器供電,輸出為1.8 V; </p><p>  ANT1,ANT2:天線接口;</p><p>  IREF:參考電流輸入[2]。</p><p>  3.7.3 NRF24L01應(yīng)用原理圖 </p><p>  NRF24L01在本次設(shè)計中的電路連接原理

79、圖如圖3-10所示。</p><p>  圖3-10 NRF24L01電路圖</p><p>  3.8 電源電路模塊</p><p>  在前面的系統(tǒng)設(shè)計方案已經(jīng)提過為了確保NRF24L01構(gòu)成的無線收發(fā)模塊能夠正常工作,我們需要設(shè)計一個電平轉(zhuǎn)換模塊,以得到一個3.3V的電壓。這里我們采用MIC5205作為穩(wěn)壓電路的核心芯片。 MIC5205封裝及引腳排列如圖3-

80、11所示。</p><p>  圖3-11 MIC5205引腳圖</p><p>  由MIC5205組成的電路原理圖如圖3-12所示,只要在1腳和地之間以及5腳和地之間各加一個10uf電容,還有在第4引腳和地之間接一個470pf電容,就可構(gòu)成一個提供3.3V穩(wěn)定電壓的電源模塊。另外為了防止5V電源極性接反導(dǎo)致MIC5205芯片被燒壞,可在1腳和5V電源之間接一個二極管。</p>

81、;<p>  圖3-12 MIC5205原理圖</p><p>  3.9 串口通信模塊</p><p>  在本系統(tǒng)中下位機(jī)與上位機(jī)間的通信是通過RS232串口實(shí)現(xiàn)的,由于PC機(jī)輸出的是RS232電平,而單片機(jī)是典型的TTL電平,因此在PC機(jī)與單片機(jī)的連接中必須要有電平轉(zhuǎn)換電路;此處采用的是max232電平轉(zhuǎn)換電路。單片機(jī)的邏輯0是0V,邏輯1是5V,而PC機(jī)用的是負(fù)邏輯,

82、邏輯0在+9~+15之間,邏輯1在-9~-15之間。若用9針串口連接的話,必須要經(jīng)過電平轉(zhuǎn)換[4]。</p><p>  串口通信電路主要有MAX232芯片構(gòu)成,另外需接幾個10uf起到保護(hù)電路及防止干擾等作用。其電路原理圖如圖3-13所示。</p><p>  圖3-13 串口通信原理圖</p><p><b>  3.10 本章小結(jié)</b>

83、</p><p>  本章用很大的篇幅介紹了系統(tǒng)硬件電路的設(shè)計以及各模塊所采用的器件。其中重點(diǎn)介紹了各模塊核心器件的概況和工作原理。硬件電路的基礎(chǔ)就是要清楚這些器件是如何工作的以及由他們構(gòu)成的電路模塊要如何才能實(shí)現(xiàn)預(yù)期的功能等。對于這些器件如LCD1602、DS18B20、DHT11、NRF24L01等,如果單單只知道其引腳定義而對它們的工作原理一無所知,那肯定就很難能完成整個系統(tǒng)設(shè)計。</p>&

84、lt;p><b>  系統(tǒng)軟件設(shè)計與配置</b></p><p>  4.1 系統(tǒng)軟件設(shè)計要解決的問題</p><p>  軟件設(shè)計的任務(wù)是根據(jù)應(yīng)用系統(tǒng)總體設(shè)計方案的要求和硬件結(jié)構(gòu),設(shè)計出能夠滿足系統(tǒng)要求的控制程序。在本次設(shè)計中,采用自下而上的模塊化設(shè)計思想。先對系統(tǒng)底層的模塊進(jìn)行設(shè)計,然后一步步向上發(fā)展,最終設(shè)計出一套完整的系統(tǒng)軟件方案。這樣不但提高了程序的可

85、讀性,而且有較強(qiáng)的可移植性,同時也為系統(tǒng)的仿真和調(diào)試提供了極大的便利。整個系統(tǒng)的軟件實(shí)現(xiàn)流程圖如圖4-1所示。</p><p>  圖4-1 軟件流程圖</p><p>  4.2 系統(tǒng)軟件模塊化設(shè)計</p><p>  4.2.1 溫濕度模塊</p><p>  在溫濕度模塊軟件部分設(shè)計過程中,首先查閱了DHT11和DS18B20的data

86、sheet以及網(wǎng)上已有的相關(guān)例程。經(jīng)過對芯片時序圖的解讀以及多個例程的深入學(xué)習(xí),最終編寫滿足系統(tǒng)要求的程序,在KeilC51上成功編譯后,先把成功生成的hex16進(jìn)制文件在Protues上進(jìn)行仿真,最終確實(shí)實(shí)現(xiàn)測量周圍環(huán)境溫濕度的功能。其實(shí),在對整個系統(tǒng)其它各功能模塊的軟件的設(shè)計過程也都是遵循這樣的步驟的,所以在軟件的調(diào)試和完善方面花的時間也比硬件電路部分要節(jié)省了很多,成功的縮短了本次畢設(shè)的設(shè)計周期。</p><p&

87、gt;  不論是DHT11溫濕度傳感器還是DS18B20傳感器,系統(tǒng)在對它們進(jìn)行讀寫數(shù)據(jù)前都先要對其進(jìn)行判忙操作。程序如下:</p><p>  bit Initialization ()</p><p><b>  {</b></p><p><b>  while(1)</b></p><p>

88、<b>  {</b></p><p><b>  DQ = 1;</b></p><p>  Delay60us ();</p><p><b>  DQ = 0;</b></p><p>  Delay480us (); </p><p>&

89、lt;b>  DQ=1;</b></p><p>  Delay60us ();</p><p><b>  x=DQ; </b></p><p>  Delay240us (); </p><p><b>  DQ=1;</b></p><p>  ret

90、urn(x);</p><p><b>  }</b></p><p><b>  }</b></p><p>  感覺這兩個芯片的軟件設(shè)計主要在于讀懂芯片的時序圖,否則在編寫程序的時候根本就很難寫出能夠讓芯片正常運(yùn)行的代碼。例如,在編寫DS18B20初始化程序的時候,如果延時時間不夠長,就會使的芯片初始化失敗,從而導(dǎo)致芯

91、片未能正常讀取溫度數(shù)據(jù),芯片一直顯示初始溫度值85℃。只要初始化正確了,后面的讀寫數(shù)據(jù)函數(shù)等都會比較容易上手,所以說能夠理解芯片的工作原理并看懂芯片的時序圖是編寫程序的基礎(chǔ)及重點(diǎn)。</p><p>  4.2.2 LCD液晶顯示模塊</p><p>  相比于DHT11和DS18B20,LCD1602的控制字和ROM指令都比較多,所以編程的時候難度也比較大,除了要讀懂時序圖還必須對它的顯示

92、原理和特點(diǎn)進(jìn)行一番摸索。下面先介紹一下它的初始化流程,如圖4-2所示。</p><p>  圖4-2 LCD初始化流程圖</p><p>  除了初始化部分外,所有的讀寫操作都是首先判斷“忙”標(biāo)志位是否為1,若是則等待;否則為空閑狀態(tài),可進(jìn)行數(shù)據(jù)的讀寫操作。程序如下:</p><p>  void Busy()</p><p><b&g

93、t;  {</b></p><p>  DATA = 0xff;</p><p><b>  RS = 0;</b></p><p>  RW = 1; //讀忙信號;</p><p>  while(DATA & 0x80) //判斷DATA的最高位是否為一;</p><

94、p><b>  {</b></p><p><b>  E = 0;</b></p><p><b>  E = 1;</b></p><p><b>  }</b></p><p><b>  E = 0;</b></p

95、><p><b>  }</b></p><p>  在進(jìn)行指令根數(shù)據(jù)寫之前,先對其狀態(tài)進(jìn)行判斷,為空閑模式的時候,就可以進(jìn)行操作。由RS、RW、E來決定當(dāng)前要進(jìn)行的功能操作。當(dāng)三個引腳分別為0、0、1的時候可寫入數(shù)據(jù),為0、0、0時,則表示可進(jìn)行寫指令操作。</p><p>  LCD1602寫指令程序;</p><p>

96、  void WriteCommand(unsigned char btCommand)</p><p><b>  {</b></p><p><b>  Busy();</b></p><p><b>  RS = 0;</b></p><p>  RW = 0; /

97、/寫指令;</p><p><b>  E = 1;</b></p><p>  DATA = btCommand;</p><p><b>  E = 0;</b></p><p><b>  }</b></p><p>  LCD1602寫數(shù)據(jù)程序&

98、lt;/p><p>  void WriteData(unsigned char btData)</p><p><b>  {</b></p><p><b>  Busy();</b></p><p><b>  RS = 1;</b></p><p>

99、<b>  RW = 0;</b></p><p><b>  E = 1;</b></p><p>  DATA = btData;</p><p><b>  E = 0;</b></p><p><b>  }</b></p><

100、p>  通過以上兩個程序可對LCD寫入數(shù)據(jù)或者指令,后面的其它程序也大多是通過調(diào)用這兩個程序?qū)CD進(jìn)行相關(guān)操作。例如清屏顯示、對LCD寫入一個字符或者字符串等。其中清屏顯示可由寫入ROM指令0x01進(jìn)行,而初始化則是對液晶模塊的顯示方式等進(jìn)行設(shè)置,包括光標(biāo)的顯示及顯示模式等。</p><p>  通過調(diào)用前面的子函數(shù)即可實(shí)現(xiàn)LCD模塊顯示單個字符以及字符串的功能。下面簡單介紹這些程序之間的流程關(guān)系,如圖4

101、-3所示。</p><p>  圖4-3 LCD軟件編寫流程圖</p><p>  4.2.3 無線收發(fā)模塊</p><p>  無線收發(fā)模塊和LCD顯示模塊都有很多的ROM指令和較多的狀態(tài)字,所以編寫過程必須對這些ROM指令和狀態(tài)字了然于胸,之后在編寫軟件的時候也會變得得心應(yīng)手。不過首要的還是要先把這個模塊的時序圖和工作原理讀懂、讀透,否則也很難編寫出滿足要求的程

102、序。編寫軟件過程中,有個大前提就是必須把兩個NRF24L01的發(fā)送和接收地址值、長度及數(shù)據(jù)通道有效數(shù)據(jù)寬度等設(shè)為相同。下面我們介紹編寫無線收發(fā)模塊時的讀寫時序子程序。</p><p>  uint SPI_RW(uint uchar)</p><p><b>  {</b></p><p>  uint bit_ctr;</p>

103、<p>  for(bit_ctr=0;bit_ctr<8;bit_ctr++) // output 8-bit</p><p><b>  {</b></p><p>  MOSI = (uchar & 0x80); </p><p>  uchar = (uchar << 1);

104、 </p><p>  SCK = 1; </p><p>  uchar |= MISO; </p><p>  SCK = 0; </p><p><b>  }</b></p><p>  return(

105、uchar); </p><p><b>  }</b></p><p>  uchar SPI_Read(uchar reg)</p><p><b>  {</b></p><p>  uchar reg_val;</p><p>  CSN =

106、 0; </p><p>  SPI_RW(reg); </p><p>  reg_val = SPI_RW(0); </p><p>  CSN = 1; </p><p>  return(reg_val); </p><p&g

107、t;<b>  }</b></p><p>  以上兩個函數(shù)分別為無線收發(fā)模塊的讀寫時序函數(shù)。這兩個函數(shù)在整個無線收發(fā)模塊軟件設(shè)計上起到了至關(guān)重要的作用。只有正確的調(diào)用這兩個函數(shù)才能保證無線收發(fā)模塊正常工作,實(shí)現(xiàn)下位機(jī)從機(jī)與主機(jī)之間的數(shù)據(jù)傳輸,最終確保下位機(jī)主機(jī)與上位機(jī)之間通信模塊的正常運(yùn)行。</p><p>  4.2.4 串口通信模塊</p><

108、;p>  串口通信模塊軟件上的設(shè)計主要需要注意初始化時波特率等參數(shù)的設(shè)定,利用串口和上位機(jī)通信時,收發(fā)數(shù)據(jù)都是通過緩存器的讀寫來實(shí)現(xiàn)的。設(shè)計程序如下:</p><p>  void ser_init()</p><p><b>  {</b></p><p>  TMOD=0x20;</p><p><b&g

109、t;  TL1=0xfd;</b></p><p><b>  TH1=0xfd;</b></p><p>  SCON=0x50;</p><p>  PCON &= 0xef;</p><p><b>  TR1=1;</b></p><p><

110、b>  ES=1;</b></p><p><b>  }</b></p><p>  由以上程序可知,對串口初始化主要是對串口的波特率、串口中斷開關(guān)等參數(shù)進(jìn)行設(shè)置。只有在設(shè)置正確的情況下,下位機(jī)系統(tǒng)才能正常的與PC上位機(jī)之間進(jìn)行通信。</p><p><b>  4.3 本章小結(jié)</b></p&g

111、t;<p>  通過模塊化設(shè)計的方法編寫系統(tǒng)軟件,使得在整個軟件設(shè)計過程中減少了很大的工作量。同時,也節(jié)省了很多的時間。而且在進(jìn)行軟件功能的調(diào)試和改進(jìn)方面,也減少了一定的難度。通過一個模塊一個模塊程序的編寫,最后整合在一起,實(shí)現(xiàn)完整的系統(tǒng)功能,雖然在調(diào)試過程中出現(xiàn)了一些問題,但都能很快的找出問題,并迅速的加以解決。另外軟件編寫的時候一定要注意加上注釋,這樣在檢查程序的時候也會有很大的幫助。</p><p

112、><b>  系統(tǒng)調(diào)試與改進(jìn)</b></p><p>  當(dāng)硬件電路焊接和軟件設(shè)計等步驟都完成后,就進(jìn)入了下一個階段——系統(tǒng)調(diào)試。所有的軟硬件設(shè)計都不可能一次性通過。只有經(jīng)過系統(tǒng)調(diào)試才能發(fā)現(xiàn)設(shè)計過程中存在的一些問題,否則系統(tǒng)設(shè)計所預(yù)期的功能也都不能實(shí)現(xiàn),一切都將只是紙上談兵。而且經(jīng)過調(diào)試后,我們還能找到一些完善系統(tǒng)功能的方法,這樣也就使得系統(tǒng)的性能更加的完美。</p>&

113、lt;p>  5.1 LCD液晶顯示模塊調(diào)試</p><p>  本著先從簡單問題著手的指導(dǎo)思想,系統(tǒng)調(diào)試伊始我們打算先把LCD顯示部分先調(diào)試出來,順便可以更加深入的了解LCD1602液晶顯示模塊的工作原理。為了達(dá)到這一目的,我先寫了個時鐘的程序,程序在Protues上仿真的時候達(dá)到了預(yù)期的功能。如圖5-1所示,可看到LCD1602的第一行顯示時鐘的運(yùn)行,第二行則顯示兩個小人追逐的畫面。</p>

114、<p>  圖5-1 LCD顯示仿真</p><p>  由于程序已通過仿真,所以我們就把程序燒寫到最小系統(tǒng)上,按電路圖連接好電路。開啟電源,液晶顯示背光能點(diǎn)亮,但卻沒有預(yù)期的時鐘和小人顯示出來。于是只好先從硬件上找原因。開始著手檢查最小系統(tǒng)與LCD顯示模塊的連線以及最小系統(tǒng)本身的焊接問題。檢查過程確實(shí)查出了一些問題,但把這些問題一一改正過來之后發(fā)現(xiàn)LCD還是不能正常顯示。但是LCD的對比度卻可以成

115、功的調(diào)節(jié)了。第一遍的檢查由于出了不少問題,所以我又十分認(rèn)真的把最小系統(tǒng)的硬件電路查了幾遍,直到確定電路確實(shí)是沒問題的。但是由于LCD仍不能顯示所以我就從最簡單的I/O口正常輸出著手,用單片機(jī)入門級的流水燈程序燒寫進(jìn)系統(tǒng)后發(fā)現(xiàn)小燈的電壓好像有異常。用萬用表測量I/O輸出為1時與地間的電壓,發(fā)現(xiàn)沒有問題,但是當(dāng)測量I/O與小燈正極的電壓時,發(fā)現(xiàn)不是5V的壓差,而是3.27V。找不到頭緒,就只能把硬件帶到實(shí)驗(yàn)室用示波器測量了。拿到實(shí)驗(yàn)室,連接

116、好電路,發(fā)現(xiàn)示波器也只有干擾波,換了幾臺也都是一樣。于是就只能撤退了。</p><p>  回到宿舍之后,又向其它同學(xué)請教了一下,他們也都說不知道什么原因。沒辦法,就只能重新在焊一個電路了。焊完之后按照以往的程序進(jìn)行燒寫。發(fā)現(xiàn)LCD居然能用,然后把兩個最小系統(tǒng)的連線圖進(jìn)行比較也沒找出什么不同。于是就不死心的把原來的最小系統(tǒng)拿過來試了一下,發(fā)現(xiàn)居然也可以用。得不到問題的答案,慶幸的是兩個電路都可以用了。不管怎么樣調(diào)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論