2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩46頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p>  本科畢業(yè)設(shè)計(論文)</p><p><b>  ( 屆)</b></p><p>  論文題目 基于單片機的CC1100無線溫濕度</p><p><b>  采集系統(tǒng)設(shè)計</b></p><p>  (英文) Based on SCM CC1100 wireless

2、</p><p>  temperature and humidity collection </p><p>  system design</p><p>  所在學院 電子信息學院 </p><p>  專業(yè)班級 電子信息工程 </p><p>  學生

3、姓名 學號 </p><p>  指導教師 職稱 </p><p>  完成日期 年 月 日</p><p><b>  摘要</b></p><p>  隨著信息領(lǐng)域各種技術(shù)的發(fā)展,在數(shù)據(jù)采

4、集方面的技術(shù)也取得了長足的進步,采集數(shù)據(jù)的信息化是目前社會的發(fā)展主流方向。</p><p>  本課題提出一種基于單片機的無線溫濕度采集系統(tǒng)方案,該方案是利用單片機控制DHT11溫度傳感器采集溫濕度、控制1602液晶顯示屏實時顯示溫度值、濕度值,控制CC1100無線模塊進行數(shù)據(jù)的無線傳輸,并由單片機去把溫濕度數(shù)據(jù)傳至計算機進行存儲。本系統(tǒng)中所用到的器件是STC公司的STC89C52單片機、數(shù)字溫濕度傳感器DHT1

5、1和無線芯片CC1100,測量結(jié)果用1602液晶屏顯示采集的數(shù)字信息,并利用單片機串行口,通過RS-232總線及通信協(xié)議將采集的數(shù)據(jù)傳送到PC機,進行進一步的存檔、處理,并對測量結(jié)果進行顯示和存儲。</p><p>  關(guān)鍵詞 單片機;溫濕度采集;CC1100;數(shù)據(jù)傳輸;</p><p><b>  Abstract</b></p><p> 

6、 With the development of various technologies of information in the field,in data collection techniques have also made great progress,collect data,information and social development is the mainstream.</p><p>

7、;  This issue presents a collection based on single chip system solutions for wireless temperature and humidity, The plan is to use single chip microcomputer control DHT11 temperature sensors to collect the temperature a

8、nd humidity, control 1602 liquid crystal display real-time display temperature, humidity value,Control CC1100 wireless module data wireless transmission, and by single-chip microcomputer temperature and humidity data to

9、the computer to storage. This system for devices is the STC89C5</p><p>  Key words:single-chip microcomputer; The temperature and humidity collecting; CC1100; Data transmission;</p><p><b>

10、  目 錄</b></p><p>  一 緒 論 1</p><p>  1.1 概述 1</p><p>  1.2 系統(tǒng)設(shè)計任務(wù)分析2</p><p>  二 總體方案設(shè)計與選擇的論證3</p><p>  2.1 系統(tǒng)總體設(shè)計3</p><p>  2.

11、2 單片機最小系統(tǒng)3</p><p>  2.2.1 單片機的說明3</p><p>  2.2.2 STC89C52單片機簡介4</p><p>  2.3 無線收發(fā)模塊介紹4</p><p>  2.3.1 CC1100概述及特點4</p><p>  2:3.2 CC1100應(yīng)用原理框圖5</p

12、><p>  2.4 LCD液晶顯示6</p><p>  2.4.1 1602LCD的基本參數(shù)6</p><p>  2.4.2 1602LCD接線圖7</p><p>  2.5 溫濕度采集電路7</p><p>  2.5.1 DHT11性能參數(shù)7</p><p>  2.6 聲報警

13、電路設(shè)計8</p><p>  2.7 系統(tǒng)電路框圖說明8</p><p>  2.7.1 發(fā)射機硬件框圖8</p><p>  2.7.2 接收機硬件框圖8</p><p>  三 軟件設(shè)計報告10</p><p>  3.1 單片機軟件設(shè)計10</p><p>  3.

14、1.1 發(fā)送部分軟件設(shè)計10</p><p>  3.1.2 接收部分軟件設(shè)計12</p><p>  3.2 流程圖設(shè)計14</p><p>  3.2.1 發(fā)送部分流程圖14</p><p>  3.2.2 接收部分流程圖15</p><p>  四 系統(tǒng)的調(diào)試與測試結(jié)果15</p>&l

15、t;p>  4.1 調(diào)試步驟15</p><p>  4.2實驗結(jié)果 15</p><p>  4.3下載操作說明(附圖)15</p><p><b>  五 總結(jié)17</b></p><p><b>  致 謝 18</b></p><p><b&g

16、t;  參考文獻19</b></p><p>  附 錄1 系統(tǒng)實物圖20</p><p>  附 錄2 電路原理圖21</p><p>  附 錄3 畢業(yè)設(shè)計作品說明書 22</p><p>  附 錄4 發(fā)送板代碼 23</p><p>  附 錄5 接收板代碼 40</p>

17、<p><b>  一 緒 論</b></p><p><b>  1.1概述</b></p><p>  隨著社會的進步和生產(chǎn)的需要,利用無線通信進行溫度數(shù)據(jù)采集的方式應(yīng)用已經(jīng)滲透到生活各個方面如圖1-1。</p><p>  圖1-1 短距離無線通信的應(yīng)用</p><p>  在工

18、業(yè)現(xiàn)場中,由于生產(chǎn)環(huán)境的限制或者其他情況,工作人員不能長時間停留在現(xiàn)場觀察設(shè)備是否運行正常,這時就需要采集數(shù)據(jù)并傳輸數(shù)據(jù)到一個環(huán)境相對好的操控室內(nèi)給工作人員監(jiān)控設(shè)備運轉(zhuǎn)情況,這樣就會產(chǎn)生數(shù)據(jù)傳輸問題。由于廠房大、需要傳輸數(shù)據(jù)多,使用傳統(tǒng)的有線數(shù)據(jù)傳輸方式就需要鋪設(shè)很多很長的通訊線,這樣不僅浪費資源,占用空間,且可操作性差,出現(xiàn)錯誤時換線困難等問題。因此利用無線傳輸?shù)姆绞竭M行數(shù)據(jù)采集就顯得尤為重要。</p><p>

19、;  在過去農(nóng)業(yè)生產(chǎn)上,不論是溫室大棚的溫濕度監(jiān)測,還是糧倉的管理,傳統(tǒng)上都是采取分區(qū)取樣的人工方法,這樣帶來了工作量大,可靠性差等問題。而且現(xiàn)代大棚和糧倉占地面積大,檢測目標分散,測點較多,傳統(tǒng)的方法已經(jīng)不能滿足當前農(nóng)業(yè)發(fā)展的需要。當前的科技水平下,無線通信技術(shù)的發(fā)展使得溫濕度采集測量更為精確,簡便易行。</p><p>  在日常生活中,隨著人們生活水平的提高,居住條件也逐漸變得智能化。如今有些家庭就會安裝室

20、內(nèi)溫濕度采集控制系統(tǒng),其原理就是利用無線通信技術(shù)采集室內(nèi)溫濕度的數(shù)據(jù),并根據(jù)室內(nèi)溫濕度情況遙控空調(diào)等電器來調(diào)節(jié)房間里的溫濕度,合理的溫濕度可以更好地改善人們的居住環(huán)境。</p><p>  以上只是簡單列舉幾個現(xiàn)實的例子,在現(xiàn)實生活中,這種無線溫濕度采集系統(tǒng)已經(jīng)被大量的應(yīng)用于工農(nóng)業(yè)、環(huán)境監(jiān)測、軍事國防、機器人控制等許多重要領(lǐng)域,凡是布線繁雜或不允許布線的場合都希望能通過無線方案來解決。為此,需要設(shè)計相應(yīng)的接口系統(tǒng)

21、,控制這些射頻芯片工作,完成可靠穩(wěn)定的無線數(shù)據(jù)通信,這樣的研究也變得更加有意義了。</p><p>  1.2系統(tǒng)設(shè)計任務(wù)分析</p><p>  本系統(tǒng)的設(shè)計采用了低功耗單片機STC89C52RC控制CC1100射頻芯片實現(xiàn)短距離無線數(shù)據(jù)通信。該接口設(shè)計具有成本低、功耗低、傳輸速率高、軟件設(shè)計簡單以及通信穩(wěn)定可靠等特點。整個系統(tǒng)可分為發(fā)送和接收二部分,通過CC1100無線數(shù)據(jù)通信收發(fā)模塊

22、來實現(xiàn)無線數(shù)據(jù)傳輸。發(fā)送部分以單片機STC89C52為核心,使用溫濕度轉(zhuǎn)換芯片DHT11實時采集溫濕度并通過液晶屏顯示。將采集的溫濕度無線傳送給接收部分,然后再在液晶屏上顯示,并通過串口發(fā)送到PC機上顯示和記錄,通過蜂鳴器實現(xiàn)對溫濕度過高或過低進行報警。</p><p>  本系統(tǒng)的核心控制芯片選用的是STC89C52RC。單片機在各個技術(shù)領(lǐng)域中的迅猛發(fā)展,與單片機所構(gòu)成的計算機應(yīng)用系統(tǒng)的特點有關(guān):</p&

23、gt;<p>  · 單片機構(gòu)成的應(yīng)用系統(tǒng)有較大的可靠性。</p><p>  · 系統(tǒng)構(gòu)建簡潔、易行,能方便的實現(xiàn)系統(tǒng)功能。</p><p>  · 由于構(gòu)成的系統(tǒng)是一個計算機系統(tǒng),相當多的功能由軟件實現(xiàn),故具有柔性特點和優(yōu)異的性能價格比。</p><p>  二 總體方案設(shè)計與選擇的論證</p>&

24、lt;p><b>  2.1系統(tǒng)總體設(shè)計</b></p><p>  溫濕度監(jiān)測系統(tǒng)的硬件框圖如圖2-1所示,包括微處理器及其外圍電路(STC89C52單片機、串口通信RS232、溫濕度傳感器DHT11、無線收發(fā)模塊CC1100和1602液晶顯示。)</p><p>  圖2-1 硬件框圖</p><p>  系統(tǒng)由兩臺溫濕度測量器組成

25、,一臺為接收機,另一臺為發(fā)送機。系統(tǒng)啟動后,由發(fā)送機實時測量環(huán)境中的溫度與濕度在本機液晶屏上顯示,并通過無線模塊將測量到的溫濕度數(shù)據(jù)發(fā)送給接收機并同步顯示。</p><p>  2.2單片機最小系統(tǒng)</p><p>  2.2.1單片機的說明</p><p>  單片機的原名叫Microcontroller,即微型控制器。單片機有別于通用微型計算機,它是專門為控制和

26、智能儀器設(shè)計的一種集成度很高的微型計算機。其控制功能強,有優(yōu)異的性能、價格比,有很高的可靠性。因而,單片機的應(yīng)用范圍在不斷的擴大,它已經(jīng)成了人類生活中不可缺少的工具。下面是單片機在幾個方面的典型應(yīng)用[1]。</p><p>  (1)單片機在智能儀器中的應(yīng)用</p><p>  (2)單片機在機電一體化產(chǎn)品中的應(yīng)用 </p><p>  (3)單片機在過程控制中的應(yīng)

27、用</p><p>  (4)單片機在計算機網(wǎng)絡(luò)及通信中的應(yīng)用</p><p>  (5)單片機在家用電器方面的應(yīng)用[2]</p><p>  2.2.2 STC89C52單片機簡介</p><p>  本設(shè)計中使用的是STC89C52單片機,它完全兼容MCS-51系列單片機的所有功能,并且本身帶有2K的內(nèi)存儲器,可以在編程器上實現(xiàn)閃爍式的電

28、擦寫達幾萬次以上,比以往慣用的8031CPU外加EPROM為核心的單片機系統(tǒng)在硬件上具有更加簡單方便等優(yōu)點。</p><p><b>  1.主要性能</b></p><p>  與MCS-51產(chǎn)品指令系統(tǒng)完全兼容;片內(nèi)集成4KB的FLASH存儲器,可反復編程/擦除1000次;數(shù)據(jù)保留時間:10年;全靜態(tài)設(shè)計,時鐘頻率范圍為0~24MHz、33MHz;三個程序存儲器保

29、密位;128×8 字節(jié)的內(nèi)部RAM;32條可編程的I/O口線;2個可工作于4種模式的16位定時/計數(shù)器;5個中斷源/2個中斷優(yōu)先級;可編程串行通道;具有4種工作模式的全雙工串行口;低功耗的待機工作模式和掉電工作模式;片內(nèi)振蕩器和時鐘電路;具有4種工作模式的全雙工串行口;低功耗的待機工作模式和掉電工作模式;片內(nèi)振蕩器和時鐘電路[3];</p><p>  2.3無線收發(fā)模塊介紹</p>&l

30、t;p>  2.3.1CC1100概述及特點</p><p>  CC1100是一種低成本真正單片的UHF收發(fā)器,為低功耗無線應(yīng)用而設(shè)計。電路主要設(shè)定為在315、433、868和915MHz的ISM和SRD頻率波段,也可以容易地設(shè)置為300-348MHz、400-464MHz和800-928MHz的其他頻率。其數(shù)據(jù)傳輸率可達500kbps,支持2-FSK、GFSK和MSK調(diào)制方式,高靈敏度,內(nèi)置硬件CRC檢

31、錯和點對多點通信地址控制,較低的電流消耗,可編程控制的輸出功率,對所有的支持頻率可達+10dBm,支持低功率電磁波激活(無線喚醒)功能,支持傳輸前自動清理信道訪問(CCA),即載波偵聽系統(tǒng),模塊可軟件設(shè)地址,軟件編程非常方便。通過開啟集成在調(diào)制解調(diào)器上的前向誤差校正選項,能使性能得到提升。</p><p>  CC1100為數(shù)據(jù)包處理[4]、數(shù)據(jù)緩沖、突發(fā)數(shù)據(jù)傳輸、清晰信道評估、連接質(zhì)量指示和電磁波激發(fā)提供廣泛的

32、硬件支持。CC1100引腳圖如下2-2所示:</p><p>  圖2-2 CC1100引腳圖</p><p>  2:3.2 CC1100應(yīng)用原理框圖</p><p>  CC1100只需要少量的外部元件,推薦的應(yīng)用電路見圖2-3,圖2-3中偏阻器R171用來設(shè)置一個精確的偏電流,而C131、C121、L121和L131形成一個平衡轉(zhuǎn)換器,用以將CC1100上的

33、微分RF端口轉(zhuǎn)換成單端RF信號。為了使芯片能夠穩(wěn)定工作,在芯片電源輸入端必須加上濾波電容[5]。</p><p>  圖2-3 CC1100 應(yīng)用參考電路</p><p>  本設(shè)計中CC1100應(yīng)用原理圖及接線圖如圖2-4,、2-5所示,單片機通過CSN、GDO0、GDO1、MOSI、MISO、SCK來控制CC1100模塊的發(fā)送與接收。</p><p>  圖2

34、-4 CC1100接線圖</p><p>  圖2-5 與單片機相連接線圖</p><p>  2.4 LCD液晶顯示</p><p>  2.4.1 1602LCD的基本參數(shù)</p><p>  設(shè)計中使用1602液晶顯示器來實時顯示測量數(shù)據(jù),1602LCD具有微功耗、體積小、顯示內(nèi)容豐富、超薄輕巧的諸多優(yōu)點。</p>&

35、lt;p>  1602LCD分為帶背光和不帶背光兩種,基控制器大部分為HD44780,帶背光的比不帶背光的厚,是否帶背光在應(yīng)用中并無差別[6],本設(shè)計中采用的是帶背光的1602LCD。</p><p>  1602LCD主要技術(shù)參數(shù):顯示容量:16×2個字符</p><p>  芯片工作電壓:4.5—5.5V</p><p>  工作電流:2.0mA

36、(5.0V)</p><p>  模塊最佳工作電壓:5.0V</p><p>  字符尺寸:2.95×4.35(W×H)mm</p><p>  2.4.2 1602LCD接線圖</p><p>  如圖2-6所示,單片機P0口、P3.4、P3.6、P3.7與1602相連接,單片機通過P0口、P3.4、P3.6、P3.7

37、控制1602顯示數(shù)據(jù)。</p><p>  圖2-6 LCD接線圖</p><p>  2.5溫濕度采集電路</p><p>  2.5.1 DHT11性能參數(shù)</p><p>  本設(shè)計中使用的DHT11數(shù)字溫濕度傳感器是一款含有已校準數(shù)字信號輸出的溫濕度復合傳感器。測量范圍:相對濕度20%~90%RH,攝氏溫度0~50℃。其中傳感器包括

38、了一個電阻式感濕元件和一個NTC測溫元件,并與一個高性能8位單片機相連接。數(shù)據(jù)接口采用單線制串行接口,信號傳輸距離可達20m以上。傳感器性能說明見表2-1。</p><p>  DHT11數(shù)字溫濕度傳感器采用單線雙向的串行接口技術(shù),一次通訊時間約4ms,一次完整的數(shù)據(jù)傳輸為40bit,高位在先,數(shù)據(jù)分小數(shù)部分和整數(shù)部分。即8bit濕度整數(shù)數(shù)據(jù)+8bit濕度小數(shù)數(shù)據(jù)+8bit溫度整數(shù)數(shù)據(jù)+8bit溫度小數(shù)數(shù)據(jù)+8b

39、it校驗碼,其中校驗數(shù)據(jù)等于上述4個8bit數(shù)據(jù)之和所得結(jié)果的末8位[7]。</p><p>  表2-1 傳感器性能:</p><p>  2.6 聲報警電路設(shè)計</p><p>  當外界溫濕度超過預設(shè)溫度上下限時,為更加有效的引起用戶的注意,及時關(guān)注溫濕度的變化,本系統(tǒng)設(shè)計了聲報警電路。該電路由蜂鳴器組成,具體電路如圖2-7所示。</p><

40、;p>  圖2-7 警報電路</p><p>  2.7 系統(tǒng)電路框圖說明</p><p>  2.7.1 發(fā)射機硬件框圖</p><p>  如圖2-8中發(fā)射機原理圖,整個發(fā)射機由主控制器模塊、CC1100模塊、溫濕度測量模塊、警報模塊、按鍵模塊、顯示模塊、電源模塊構(gòu)成。系統(tǒng)開啟后,由溫濕度傳感器測量環(huán)境溫濕度,并將測量結(jié)果傳送給主控模塊處理。然后單片

41、機將處理后的數(shù)據(jù)傳輸給顯示模塊顯示和無線模塊發(fā)送出去。當溫濕度值高于或者低于設(shè)定的上下限時,警報模塊鳴叫。</p><p>  圖2-8 發(fā)射機硬件框圖</p><p>  2.7.2 接收機硬件框圖</p><p>  如圖2-9中接收機原理圖,接收機比發(fā)射機少了一個溫濕度測量模塊,其它模塊都一樣。開啟電源后,由無線模塊接收數(shù)據(jù),將接收到數(shù)據(jù)傳輸給主控模塊處理

42、,在由單片機將處理后的數(shù)據(jù)傳輸給LCD模塊顯示,當溫濕度值高于或者低于設(shè)定的上下限時,警報模塊鳴叫。</p><p>  圖2-9 接收機框圖</p><p><b>  三 軟件設(shè)計報告</b></p><p>  3.1單片機軟件設(shè)計</p><p>  3.1.1發(fā)送部分軟件設(shè)計</p><

43、p>  單片機對CC1100無線模塊以及DHT11進行初始化之后,從DHT11讀取溫濕度數(shù)據(jù)。然后經(jīng)過溫濕度處理之后在液晶顯示屏上顯示,最后通過調(diào)用無線發(fā)送程序?qū)貪穸葦?shù)據(jù)發(fā)送給接收端。</p><p>  3.1.1.1溫濕度傳感DHT11</p><p>  對DHT11進行操作,首先通過調(diào)用init_DTH11()函數(shù)對DHT11進行初始化。然后調(diào)用DTH11_RD_CHAR(

44、)函數(shù)讀取DHT11采集到的數(shù)據(jù)并按8位一組,高16位是濕度,低16位是溫度[8]。接著將采集到的數(shù)據(jù)通過DTH11_DUSHU()函數(shù)賦值給wendu和shidu變量。</p><p>  void DTH11_DUSHU()</p><p><b>  {</b></p><p>  unsigned char num;</p>

45、;<p>  if(init_DTH11()==0)</p><p><b>  {</b></p><p>  wendu=DTH11_RD_CHAR();</p><p>  DTH11_RD_CHAR();</p><p>  shidu=DTH11_RD_CHAR();</p><

46、;p>  DTH11_RD_CHAR();</p><p>  DTH11_RD_CHAR();</p><p>  for(num=0;num<17;num++); //最后BIT輸出后拉低總線59us</p><p><b>  DQ=1;</b></p><p><b>  }</b&

47、gt;</p><p><b>  }</b></p><p>  3.1.1.2 LCD液晶顯示</p><p>  本設(shè)計采用的是1602LCD液晶作為顯示,首先通過調(diào)用init_1602( )函數(shù)對1602進行初始化,然后調(diào)用write_com( )、write_str( )、write_data( )三個函數(shù)在顯示接收到的數(shù)據(jù)。writ

48、e_com( )用來定義輸入的地址,write_str( )用來顯示輸入的字符串,write_data( )用來顯示輸入的數(shù)據(jù)。在本設(shè)計1602顯示中使用Tem表示溫度,Hum表示濕度。根據(jù)1602的顯示使用說明調(diào)用函數(shù)write_data( )將接收到是濕度和溫度數(shù)據(jù)轉(zhuǎn)化為十進制數(shù)字顯示:</p><p>  3.1.1.3無線模塊CC1100(發(fā)送)</p><p>  通過調(diào)用Cpu

49、Init();POWER_UP_RESET_CC1100()函數(shù)對CC1100進行初始化,然后將wendu和shidu賦值給TxBuf[0]、TxBuf[1]通過調(diào)用函數(shù)halRfSendPacket(TxBuf,4)發(fā)送出去。具體代碼見附錄。</p><p>  圖3-1 數(shù)據(jù)發(fā)送過程</p><p>  3.1.2接收部分軟件設(shè)計</p><p>  開啟電源

50、,對CC1100無線模塊初始化。將接受到的數(shù)據(jù)通過1602液晶同步顯示出來。</p><p>  3.1.2.1無線模塊CC1100(接收)</p><p>  通過調(diào)用CpuInit();POWER_UP_RESET_CC1100()函數(shù)對CC1100進行初始化,然后進入接受狀態(tài),確定是否接受到數(shù)據(jù),如果接受到數(shù)據(jù)則讀出數(shù)據(jù)并判斷校驗位,校驗成功則返回接受成功,將讀出數(shù)據(jù)顯示。如果接受失

51、敗則調(diào)用halSpiStrobe(CCxxx0_SFRX)函數(shù)清洗接收緩沖區(qū)。具體代碼見附錄。</p><p>  圖3-2 數(shù)據(jù)接收過程</p><p>  3.1.2.2 LCD液晶顯示</p><p>  對1602初始化,將接收到的數(shù)據(jù)RxBuf[0]、RxBuf[1]轉(zhuǎn)換為十進制顯示。因為1602液晶是ASCII顯示,所以在顯示溫度和濕度時需要加上48,

52、如write_data(RxBuf[1]/10%10+48);write_data(RxBuf[1]%10+48)。</p><p>  3.1.2.3串口通信</p><p>  程序的寫入單片機和讀出都需要通過串口,首先對串口進行初始化[9],設(shè)置波特率為4800,將串口線兩端接口分別與PC機和單片機系統(tǒng)接好。開啟電源通過STC-ISP進行下載。</p><p>

53、;  3.1.2.4警報設(shè)計</p><p>  可以在主程序中添加判斷語句對wendu和shidu的大小進行判斷,設(shè)置wendu和shidu變量的上下限,當wendu和shidu變量大于或者小于設(shè)置的上下限則開啟警報[10],以提醒工作人員做出反應(yīng)。</p><p><b>  3.2流程圖設(shè)計</b></p><p>  3.2.1發(fā)送部分

54、流程圖</p><p>  發(fā)送部分的一個循環(huán)的總體思路是這樣的先初始化系統(tǒng),從DHT11中讀出溫濕度,將得到的溫濕度值轉(zhuǎn)化成十進制并通過1602液晶顯示出來,將DHT11采集到的數(shù)值寫入發(fā)送數(shù)據(jù)數(shù)組,然后初始化CC1100,將溫濕度發(fā)送,其流程圖如圖3-3所示。</p><p>  圖3-3 發(fā)送流程圖</p><p>  3.2.2接收部分流程圖</p&

55、gt;<p>  接收部分的總體思路是這樣的,首先還是初始化系統(tǒng),然后進入大循環(huán)判斷狀態(tài)寄存器是否有接收中斷。如果有就從RXFIFO中讀入二進制數(shù)據(jù),然后將數(shù)據(jù)轉(zhuǎn)換成十進制在1602液晶屏上顯示出來,其流程圖如圖3-4所示。</p><p>  圖3-4 接收流程圖</p><p>  四 系統(tǒng)的調(diào)試與測試結(jié)果</p><p><b>  

56、4.1調(diào)試步驟</b></p><p>  步驟一 完成硬件電路的焊接。</p><p>  步驟二 將1602液晶模塊與電路板連接,下載檢測程序檢測是否正常顯示。</p><p>  步驟三 將DHT11傳感器與電路板連接,寫入測量溫濕度的程序。測試DHT11部分硬件及軟件部分是否能正常使用。</p><p>  步驟四 將CC

57、1100的收發(fā)部分分別與兩片電路板相連,寫入發(fā)射一個常數(shù)的程序,檢測收發(fā)模塊及程序是否能正常使用。</p><p>  步驟五 將顯示、收發(fā)、溫度檢測程序整合,檢測系統(tǒng)是否能將發(fā)送端的溫濕度值測量出來發(fā)送到接收端在液晶屏上顯示出來。</p><p><b>  4.2實驗結(jié)果</b></p><p>  經(jīng)過測試能正常檢測出周邊環(huán)境的溫濕度值并

58、實現(xiàn)同步傳輸并顯示。如下圖4-1、4-2。</p><p>  圖4-1發(fā)送機結(jié)果 圖4-2接收機結(jié)果</p><p>  4.3下載操作說明(附圖)</p><p>  本系統(tǒng)使用前先分別將無線發(fā)送、接收程序通過STC_ISP軟件下載燒錄到型號為STC89C52RC的單片機上。具體過程為:先查看COM號,再打開STC

59、_ISP軟件選擇相應(yīng)的串口號,選擇好要下載的16進制文件,進行下載,設(shè)置波特率為115200。參照下圖進行設(shè)置。</p><p><b>  具體下載流程如下:</b></p><p>  右鍵點擊我的電腦打開屬性,在彈出的界面中找到硬件欄。然后點擊設(shè)備管理,右鍵點擊端口COM1選擇屬性設(shè)置波特率。</p><p>  打開STC_ISP軟件,

60、選擇需要下載的文件進行下載,如圖4-3.</p><p>  圖4-3 下載軟件界面說明圖</p><p>  程序下好后,接好電源線,在此使用USB供電。設(shè)發(fā)送部分為A,接收部分為B。分別給A、B通電,打開開關(guān)后,電源指示燈亮,A液晶顯示屏上顯示當前溫濕度,末尾的C表示攝氏度。在這時, B通過無線接收到A發(fā)送的數(shù)據(jù)后,也在液晶顯示屏上顯示溫濕度,比較之后,發(fā)現(xiàn)完全符合。</p>

61、;<p><b>  五 總結(jié)</b></p><p>  數(shù)據(jù)采集與處理是51單片機的常用領(lǐng)域,除了電信號以外,單片機還可以利用傳感器實現(xiàn)對非電信號的采集。本設(shè)計介紹的數(shù)字溫濕度采集器就是一個典型事例。本設(shè)計采用一種直接數(shù)字輸入式的溫濕度傳感芯片DHT11實現(xiàn)了單片機控制的數(shù)字溫濕度計系統(tǒng)。基于DHT11數(shù)字溫濕度傳感器構(gòu)成的實時監(jiān)控系統(tǒng)確實具有精度高、抗干擾能力強、電路簡單

62、等諸多優(yōu)點。相比之下,傳統(tǒng)的溫度檢測系統(tǒng)采用熱敏電阻等溫度敏感元件,熱敏電阻成本低,但需要后續(xù)信號調(diào)理、AD轉(zhuǎn)換處理電路才能將溫度信號轉(zhuǎn)換成數(shù)字信號,不但電路復雜,而且熱敏電阻的可靠性相對較差,測量溫度的精度差,很難保證熱敏電阻的一致性和線性,在應(yīng)用中需要很好的解決引線誤差補償問題、共模干擾問題和放大電路零點漂移誤差等技術(shù)問題。</p><p>  另外本設(shè)計使用CC1100無線傳輸模塊完成了無線傳輸?shù)倪^程。通過

63、無線傳輸模塊可以省去有線帶來的布線麻煩。</p><p>  在此次設(shè)計過程中也遇到一些問題,比如,在單片機對于CC1100寄存器的定義、如何發(fā)送和讀寫、液晶的顯示等問題。</p><p>  不過,通過這次的學習和實踐,我學會了如何看待問題,解決問題。例如,在編譯程序時無錯誤,而編譯并生成應(yīng)用是提示內(nèi)存溢出的問題,后來發(fā)現(xiàn)是一些變量的定義太多還有重復定義造成的。下載時總是提示下載失敗,但

64、是當把1602模塊拿掉后又能正常下載,至今未找出原因。</p><p>  在方老師的指導下,經(jīng)過4個月的努力,本論文已經(jīng)完成了預期的目標并且保存了完整的記錄文檔。相關(guān)工作總結(jié)如下:</p><p><b>  本設(shè)計內(nèi)容重點:</b></p><p>  CC1100無線傳輸模塊的操作。</p><p>  DHT11

65、的操作命令。</p><p><b>  1602液晶顯示。</b></p><p>  CC1100正常傳送和接收。</p><p>  接收板能同步顯示發(fā)送板采集到的溫濕度數(shù)據(jù)。</p><p>  在學習期間,我了解和熟悉了溫濕度采集系統(tǒng)的全部流程,對keil和protel的應(yīng)用更加熟悉了,為以后的工作、學習打下良

66、好的基礎(chǔ)。</p><p><b>  致 謝</b></p><p>  經(jīng)過四個月的制作和調(diào)試,本次畢業(yè)設(shè)計已經(jīng)接近尾聲,作為一個本科生的畢業(yè)設(shè)計,由于經(jīng)驗的匱乏,有許多考慮不周全的地方,如果沒有導師的督促指導,很多問題都不清楚如何下手解決。</p><p>  在這里首先要感謝我的指導老師方老師。方老師平日里工作繁多,但在我做畢業(yè)設(shè)計的每

67、個階段,從外出實習到查閱資料,設(shè)計草案的確定和修改,中期檢查,后期詳細設(shè)計等整個過程中都給予了我悉心的指導。</p><p>  然后還要感謝大學四年來所有的老師,為我們打下電子信息工程專業(yè)知識的基礎(chǔ)。</p><p>  最后感謝電信學院和我的母校—萬里學院四年來對我的栽培。</p><p><b>  參考文獻</b></p>

68、<p>  [1]周航慈.單片機應(yīng)用程序設(shè)計技術(shù)[M].北京航空航天大學出版社,1991.</p><p>  [2]郭兵.SOC技術(shù)原理應(yīng)用[M].清華大學出版社,2006.</p><p>  [4]郭麗霞,李正斌,楊欣.基于MSP430F2012和CC1100的無線溫濕度傳感器節(jié)點設(shè)計[J].《電子與封裝》 2010年第10卷第7期 12-15頁.</p>

69、<p>  [7]倪天龍.單總線傳感器DHT11在溫溫度測控中的應(yīng)用[J].《單片機與嵌入式系統(tǒng)應(yīng)用》 2010年06期</p><p>  [9]范逸之.Visual Basic 與RS232 串口通訊控制[M].中國青年出版社</p><p>  [10] 戴佳,戴衛(wèi)恒,劉博文。51單片機C語言應(yīng)用程序設(shè)計 實例精講[M],2008.12:73—85</p>&

70、lt;p>  [11] Stuart Ball . Temperature Measurement Technique 2002.1</p><p>  附 錄1 系統(tǒng)實物圖</p><p><b>  發(fā)射機</b></p><p><b>  接收機</b></p><p>  附 錄2

71、 電路原理圖</p><p><b>  發(fā)射機原理圖</b></p><p><b>  接收機原理圖</b></p><p>  附 錄3 畢業(yè)設(shè)計作品說明書</p><p><b>  一、作品名稱</b></p><p>  基于單片機的CC11

72、00無線溫濕度采集器</p><p><b>  二、作品功能</b></p><p>  1、測量環(huán)境中溫度與濕度值。</p><p>  2、將測量到的溫濕度值實時無線傳送到上位機顯示。</p><p><b>  三、操作步驟</b></p><p>  1、發(fā)射機:將

73、DHT11傳感器、CC1100無線模塊、LCD顯示模塊插入對應(yīng)的插口。</p><p>  接收機:將CC1100無線模塊、LCD顯示模塊插入對應(yīng)的插口。</p><p>  2、連接USB線提供電源。</p><p><b>  3、開啟開關(guān)</b></p><p>  4、觀察發(fā)射機和接收機顯示內(nèi)容是否一致。<

74、/p><p><b>  四、注意事項</b></p><p>  1、切勿將DHT11插反,易燒壞芯片。</p><p>  2、切勿將無線模塊插反,易燒壞芯片。</p><p>  3、DHT11剛剛開啟測量時,測量值與實際不符,請等待幾分鐘。</p><p>  4、下載程序時,如果提示下載失敗

75、,請拿掉LCD顯示模塊后在下載。</p><p>  附 錄4 發(fā)送板代碼</p><p>  // 濕度20-90 溫度0-50采樣間隔1S無線模塊板</p><p>  #include<reg52.h></p><p>  #include<intrins.h></p><

76、p>  #define WRITE_BURST 0x40//連續(xù)寫入</p><p>  #define READ_SINGLE 0x80//讀</p><p>  #define READ_BURST 0xC0//連續(xù)讀</p><p>  #define BYTES_IN_RXFI

77、FO 0x7F //接收緩沖區(qū)的有效字節(jié)數(shù)</p><p>  #define CRC_OK 0x80 //CRC校驗通過位標志</p><p>  //**************CC1100接口***********************</p><p>  sbit GDO0=P3^3;<

78、;/p><p>  sbit GDO2=P1^4;</p><p>  sbitMISO=P1^2;</p><p>  sbitMOSI=P1^1;</p><p>  sbitSCK=P3^2;</p><p>  sbitCSN=P1^3;</p><p>  //**

79、**************DTH11*************</p><p>  sbit DQ=P2^3; </p><p>  // **********************1602**********************</p><p>  sbit lcden=P3^7;</p><p>  sbit lcdrs=P3^4

80、;</p><p>  sbit lcdrw=P3^6;</p><p>  sbit BELL=P1^6;</p><p>  unsigned char wendu;</p><p>  unsigned char shidu;</p><p>  //***************更多功率參數(shù)設(shè)置可詳細參考DAT

81、ACC1100英文文檔中第48-49頁的參數(shù)表******************</p><p>  unsigned char PaTabel[8] = {0x60 ,0x60 ,0x60 ,0x60 ,0x60 ,0x60 ,0x60 ,0x60}; //0dBm</p><p>  //*******************CC1100程序函數(shù)聲明****************

82、******************</p><p>  void SpiInit(void);</p><p>  void CpuInit(void);</p><p>  void RESET_CC1100(void);</p><p>  void POWER_UP_RESET_CC1100(void);</p><

83、;p>  void halSpiWriteReg(unsigned char addr, unsigned char value);</p><p>  void halSpiWriteBurstReg(unsigned char addr, unsigned char *buffer, unsigned char count);</p><p>  void halSpiStrob

84、e(unsigned char strobe);</p><p>  unsigned char halSpiReadReg(unsigned char addr);</p><p>  void halSpiReadBurstReg(unsigned char addr, unsigned char *buffer, unsigned char count);</p>&l

85、t;p>  unsigned char halSpiReadStatus(unsigned char addr);</p><p>  void halRfWriteRfSettings(void);</p><p>  void halRfSendPacket(unsigned char *txBuffer, unsigned char size); </p><

86、;p>  unsigned char halRfReceivePacket(unsigned char *rxBuffer, unsigned char *length); </p><p>  //********************延時*************************************</p><p>  void Delay(unsigned in

87、t s);</p><p>  void inerDelay_us(unsigned char n);</p><p>  //*************************CC1100配置************************************</p><p>  // CC1100 STROBE, CONTROL AND STATUS REG

88、SITER</p><p>  #define CCxxx0_IOCFG2 0x00 // GDO2 output pin configuration</p><p>  #define CCxxx0_IOCFG1 0x01 // GDO1 output pin configuration</p><p>  #d

89、efine CCxxx0_IOCFG0 0x02 // GDO0 output pin configuration</p><p>  #define CCxxx0_FIFOTHR 0x03 // RX FIFO and TX FIFO thresholds</p><p>  #define CCxxx0_SYNC1 0x0

90、4 // Sync word, high unsigned char</p><p>  #define CCxxx0_SYNC0 0x05 // Sync word, low unsigned char</p><p>  #define CCxxx0_PKTLEN 0x06 // Packet length</p

91、><p>  #define CCxxx0_PKTCTRL1 0x07 // Packet automation control</p><p>  #define CCxxx0_PKTCTRL0 0x08 // Packet automation control</p><p>  #define CCxxx0_ADDR

92、 0x09 // Device address</p><p>  #define CCxxx0_CHANNR 0x0A // Channel number</p><p>  #define CCxxx0_FSCTRL1 0x0B // Frequency synthesizer control</p>

93、;<p>  #define CCxxx0_FSCTRL0 0x0C // Frequency synthesizer control</p><p>  #define CCxxx0_FREQ2 0x0D // Frequency control word, high unsigned char</p><p>  #de

94、fine CCxxx0_FREQ1 0x0E // Frequency control word, middle unsigned char</p><p>  #define CCxxx0_FREQ0 0x0F // Frequency control word, low unsigned char</p><p>  #defin

95、e CCxxx0_MDMCFG4 0x10 // Modem configuration</p><p>  #define CCxxx0_MDMCFG3 0x11 // Modem configuration</p><p>  #define CCxxx0_MDMCFG2 0x12 // Modem configu

96、ration</p><p>  #define CCxxx0_MDMCFG1 0x13 // Modem configuration</p><p>  #define CCxxx0_MDMCFG0 0x14 // Modem configuration</p><p>  #define CCxxx0_DEVIAT

97、N 0x15 // Modem deviation setting</p><p>  #define CCxxx0_MCSM2 0x16 // Main Radio Control State Machine configuration</p><p>  #define CCxxx0_MCSM1 0x17

98、// Main Radio Control State Machine configuration</p><p>  #define CCxxx0_MCSM0 0x18 // Main Radio Control State Machine configuration</p><p>  #define CCxxx0_FOCCFG 0x19

99、 // Frequency Offset Compensation configuration</p><p>  #define CCxxx0_BSCFG 0x1A // Bit Synchronization configuration</p><p>  #define CCxxx0_AGCCTRL2 0x1B // AGC c

100、ontrol</p><p>  #define CCxxx0_AGCCTRL1 0x1C // AGC control</p><p>  #define CCxxx0_AGCCTRL0 0x1D // AGC control</p><p>  #define CCxxx0_WOREVT1 0x1E

101、 // High unsigned char Event 0 timeout</p><p>  #define CCxxx0_WOREVT0 0x1F // Low unsigned char Event 0 timeout</p><p>  #define CCxxx0_WORCTRL 0x20 // Wake On Radio c

102、ontrol</p><p>  #define CCxxx0_FREND1 0x21 // Front end RX configuration</p><p>  #define CCxxx0_FREND0 0x22 // Front end TX configuration</p><p>  #define

103、 CCxxx0_FSCAL3 0x23 // Frequency synthesizer calibration</p><p>  #define CCxxx0_FSCAL2 0x24 // Frequency synthesizer calibration</p><p>  #define CCxxx0_FSCAL1 0

104、x25 // Frequency synthesizer calibration</p><p>  #define CCxxx0_FSCAL0 0x26 // Frequency synthesizer calibration</p><p>  #define CCxxx0_RCCTRL1 0x27 // RC oscil

105、lator configuration</p><p>  #define CCxxx0_RCCTRL0 0x28 // RC oscillator configuration</p><p>  #define CCxxx0_FSTEST 0x29 // Frequency synthesizer calibration control&

106、lt;/p><p>  #define CCxxx0_PTEST 0x2A // Production test</p><p>  #define CCxxx0_AGCTEST 0x2B // AGC test</p><p>  #define CCxxx0_TEST2 0x2C //

107、Various test settings</p><p>  #define CCxxx0_TEST1 0x2D // Various test settings</p><p>  #define CCxxx0_TEST0 0x2E // Various test settings</p><p>  //

108、 Strobe commands</p><p>  #define CCxxx0_SRES 0x30 // Reset chip.</p><p>  #define CCxxx0_SFSTXON 0x31 // Enable and calibrate frequency synthesizer (if MCSM0.FS_AUTOC

109、AL=1).</p><p>  // If in RX/TX: Go to a wait state where only the synthesizer is</p><p>  // running (for quick RX / TX turnaround).</p><p>  #define CCxxx0_SXOFF 0x32

110、 // Turn off crystal oscillator.</p><p>  #define CCxxx0_SCAL 0x33 // Calibrate frequency synthesizer and turn it off</p><p>  // (enables quick start).</p><p>  #def

111、ine CCxxx0_SRX 0x34 // Enable RX. Perform calibration first if coming from IDLE and</p><p>  // MCSM0.FS_AUTOCAL=1.</p><p>  #define CCxxx0_STX 0x35 // In IDLE st

112、ate: Enable TX. Perform calibration first if</p><p>  // MCSM0.FS_AUTOCAL=1. If in RX state and CCA is enabled:</p><p>  // Only go to TX if channel is clear.</p><p>  #define CCxxx

113、0_SIDLE 0x36 // Exit RX / TX, turn off frequency synthesizer and exit</p><p>  // Wake-On-Radio mode if applicable.</p><p>  #define CCxxx0_SAFC 0x37 // Perform AFC

114、adjustment of the frequency synthesizer</p><p>  #define CCxxx0_SWOR 0x38 // Start automatic RX polling sequence (Wake-on-Radio)</p><p>  #define CCxxx0_SPWD 0x39 /

溫馨提示

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

評論

0/150

提交評論