畢業(yè)論文---溫室大棚的環(huán)境監(jiān)測系統(tǒng)設計_第1頁
已閱讀1頁,還剩77頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、<p>  題 目 溫室大棚的環(huán)境監(jiān)測系統(tǒng)設計 </p><p>  學生姓名 學號 </p><p>  所在學院 物 理 與 電 信 工 程 學 院

2、 </p><p>  專業(yè)班級 通 信 工 程 專 業(yè) 1104 班 </p><p>  指導教師 __ </p><p> 

3、 完成地點 物理與電信工程學院實驗室 </p><p><b>  2015年6月5日</b></p><p><b>  畢業(yè)設計任務書</b></p><p>  一、畢業(yè)設計題目 溫室大棚的環(huán)境監(jiān)測

4、系統(tǒng)設計 </p><p>  二、畢業(yè)設計工作自 2015_年_1_月_10__日 起至___2015 ___年 6 月__ 20 ___日止</p><p>  三、畢業(yè)設計進行地點: 物理與電信工程學院實驗室 </p><p>  四、畢業(yè)

5、設計內容要求:</p><p>  設計目的與意義:隨著人們生活水平的不斷提高,人們對食物的要求也越來越高,溫室大棚作為培育瓜果蔬菜的生長基地,對溫室大棚中植物的生長環(huán)境監(jiān)測是非常有必要的。本次設計要求學生根據(jù)所學知識完成溫室大棚的環(huán)境監(jiān)測系統(tǒng)設計,提高學生的分析問題,解決問題的能力。

6、 </p><p>  其具體要求如下: </p><p>  1.要求自選方案完成溫室大棚的環(huán)境監(jiān)測系統(tǒng)設計; </p><p>  2.要求采用軟、硬結合的方式完成系統(tǒng)電路的設計;

7、 </p><p>  3.要求系統(tǒng)根據(jù)植物生長的環(huán)境要求進行監(jiān)測,如出現(xiàn)異常情況報警; </p><p>  4.要求完成系統(tǒng)硬件電路的搭建和系統(tǒng)整體測試,實現(xiàn)環(huán)境無線監(jiān)測功能。 </p><p>  畢業(yè)論文要求:

8、 </p><p>  1.論文撰寫要求格式規(guī)范,設計思路清晰,條理清楚; </p><p>  2.外文翻譯要求翻譯語句通順流暢,用詞恰當; </p><p>  3. 論

9、文內容準確無誤,用A4紙張打印。 </p><p>  進程安排如下: </p><p>  2015年1月10日--3月15日: 查資料,調研,確定方案,并按時在系統(tǒng)中提交開題報告。 </p><

10、p>  2015年3月16日--4月25日:對系統(tǒng)硬件電路進行模塊化設計,采用編程語言進行軟件編程,完成硬件電路的軟件仿真;在系統(tǒng)中提交外文翻譯;完成中期檢查報告。 </p><p>  2015年4月26日—5月20日:進行系統(tǒng)硬件電路的搭建、調試和測試,完成畢業(yè)設計驗收。</p><p>  2015年5月21日--5月31日:完成畢業(yè)設計任務,并在系統(tǒng)中提交

11、最終論文。 </p><p>  2015年6月1日--6月15日: 畢業(yè)設計答辯。 </p><p>  指 導 教 師 系(教 研 室) 通信工程系 </p><p>  系(教研室)主任簽名

12、 批準日期 </p><p>  接受設計任務開始執(zhí)行日期 學生簽名 </p><p>  溫室大棚的環(huán)境監(jiān)測系統(tǒng)設計</p><p>  [摘要]在農(nóng)業(yè)生產(chǎn)中,溫室大棚的應用越

13、來越廣泛,為人們創(chuàng)造了更高的經(jīng)濟效益。在溫室大棚中,最關鍵的是溫濕度控制調節(jié)。本課題設計了一種基于單片機的溫室大棚的環(huán)境監(jiān)測系統(tǒng),該系統(tǒng)主要由單片機AT89S51、溫濕度傳感器DHT11、無線通信模塊NRF24L01、液晶顯示LCD1602等組成。由DHT11進行溫濕度的采集并且通過NRF24L01無線傳輸模塊傳輸?shù)浇邮斩耍诮邮斩瞬捎靡壕э@示屏來顯示當前狀態(tài)下的溫度和濕度信息,超過設定范圍報警。該系統(tǒng)實現(xiàn)了實時采集溫濕度信息,無線傳輸

14、,報警等功能。</p><p>  [關鍵詞]單片機; 無線傳輸模塊;溫濕度傳感器;LCD液晶顯示屏</p><p>  Design of environmental monitoring system for greenhouse</p><p>  Han Yunpeng</p><p>  (Grade 2011,Class4,Maj

15、or of Communication Engineering,Shaanxi University of Technology,Hanzhong 723001,Shanxi)</p><p>  Tutor:Xue Zhuanhua</p><p>  [Abstract] In the agricultural production, the application of the gr

16、eenhouse is more and more wide, and it has created higher economic benefit. In the greenhouse, the key is the temperature and humidity control adjustment. This paper designs a kind of environmental monitoring system base

17、d on single chip microcomputer. The system is mainly composed of single-chip microcomputer AT89S51, temperature and humidity sensor DHT11, wireless communication module NRF24L01, LCD1602 and so on. The temperatur</p&g

18、t;<p>  [Keywords] SCM, Temperature and humidity sensor , LCD display, Wireless module </p><p><b>  目錄</b></p><p><b>  1.引言1</b></p><p>  2.方案論證及器件選擇

19、3</p><p>  2.1 系統(tǒng)功能設計3</p><p>  2.2 方案論證3</p><p>  2.3 方案選擇4</p><p>  2.4 主要元器件選型4</p><p>  2.4.1 單片機選型4</p><p>  2.4.2 無線傳輸模塊選型4</p

20、><p>  3.硬件電路的設計5</p><p>  3.1 單片機最小系統(tǒng)5</p><p>  3.2 溫濕度傳感模塊設計8</p><p>  3.3 無線模塊設計11</p><p>  3.4 液晶顯示模塊設計14</p><p>  3.5 報警模塊設計16</p&g

21、t;<p>  3.6 系統(tǒng)設計原理圖17</p><p>  4.系統(tǒng)軟件的設計18</p><p>  4.1軟件設計思路18</p><p>  4.2各模塊軟件設計流程圖18</p><p>  4.3軟件調試22</p><p>  4.3.1 KEIL軟件的組成22</p&g

22、t;<p>  4.3.2 KEIL軟件的運行流程22</p><p>  5.系統(tǒng)硬件電路調試及結果分析26</p><p>  5.1 系統(tǒng)硬件電路搭建26</p><p>  5.2 系統(tǒng)硬件電路調試26</p><p>  5.3 系統(tǒng)硬件電路結果分析26</p><p>  6.總結與

23、展望29</p><p><b>  6.1 總結29</b></p><p><b>  6.2 展望29</b></p><p><b>  致謝30</b></p><p><b>  參考文獻31</b></p><p

24、>  附錄A 英文文獻原文32</p><p>  附錄B 英文文獻譯文39</p><p>  附錄C 系統(tǒng)源程序45</p><p>  附錄D 元器件清單70</p><p>  附錄E 系統(tǒng)設計原理圖71</p><p><b>  1.引言</b></p>

25、<p>  改革開放以后,我國的經(jīng)濟水平在快速的發(fā)展,我國的社會地位在不斷的進步,生活質量水平的好壞相對很多人來說也變得至關重要。如何在一年四季都能種植和培養(yǎng)出優(yōu)質新鮮的蔬菜,一直是人們研究的課題方向。而基于單片機的溫室大棚環(huán)境參數(shù)監(jiān)控系統(tǒng)對解決這些問題有著非常重大的意義。</p><p>  溫室大棚一直都用于植物種植和培育中,但這需要有一套科學的和先進的管理方法才能更好的運用好溫室栽培這一高效技術,

26、這樣就可用它來監(jiān)控植物在各個時間段所需要的溫度和濕度等一系列環(huán)境參數(shù)。把溫濕度監(jiān)控系統(tǒng)用在溫室大棚中,是將單片機的相關應用具體化和實際化了,體現(xiàn)了單片機的一種實際意義,這種應用隨著溫室大棚的發(fā)展將會十分廣泛,它代表了一種智能監(jiān)控的方法。在工業(yè)設計、農(nóng)業(yè)生產(chǎn)、國防安全等行業(yè),環(huán)境參數(shù)的監(jiān)測都有著非常廣泛的實際應用。因為使用的環(huán)境不同、采集的參數(shù)不同,其系統(tǒng)設計也有著很大不同。在現(xiàn)代實際生活和發(fā)展中這一系統(tǒng)的應用十分廣泛,溫度和濕度是室溫大

27、棚環(huán)境檢測系統(tǒng)中兩個舉足輕重的顯示和判斷指標,需要對溫度和濕度進行定期的抽樣檢測和分析,從而采用合理的方法進行應對。</p><p>  現(xiàn)如今,國內外的溫濕度檢測器件種類五花八門,而且擁有比較廣泛的應用,再加上現(xiàn)代科技不斷發(fā)展的單片機和大規(guī)模集成電路技術,隨之產(chǎn)生了可行性比較高、穩(wěn)定性比較高的單片環(huán)境參數(shù)采集體系。隨著國內外社會的不斷發(fā)展和進步,很多人對現(xiàn)有所處的生活環(huán)境要求變得越來越嚴格。為了讓人們在一年四季

28、都能吃到優(yōu)質的蔬菜,在培育蔬菜的溫室大棚中,對這一點要求尤其嚴格。運用單片機的溫室大棚監(jiān)控系統(tǒng)的設計,將對大棚中環(huán)境的溫濕度監(jiān)控進行具體的設計與實現(xiàn)。</p><p>  在智能測試器件、工業(yè)生產(chǎn)操控、機械統(tǒng)一控制等方面,STC89C51單片機是很好的控制芯片,在很多溫濕度監(jiān)控系統(tǒng)的實際應用也比較常見。用STC89C51單片機實現(xiàn)溫濕度實時的自動監(jiān)控和顯示不僅性能良好,而且價格也非常便宜。同時,在學習和應用中,S

29、TC89C51單片機也易于掌握。使用這一監(jiān)控系統(tǒng),可以對溫室大棚內的溫濕度變化及時、精確的監(jiān)控和顯示以及更重要的報警功能。在溫室大棚當中采用此系統(tǒng)對植物的生活環(huán)境進行了時刻的監(jiān)控,以便能對植物提供更加適宜的環(huán)境。在當今現(xiàn)代的生活中,通過無線通信來采集溫濕度已經(jīng)越來越普遍了。并且隨著工農(nóng)業(yè)的生產(chǎn)對溫濕度的要求越來越高,精準的測量溫濕度變得十分重要。溫度它不能像質量和長度那樣簡單地獲取量值,只有通過其他相關性質間接地測量?,F(xiàn)在溫度測量是可以

30、通過溫度傳感器來測量的,溫度測量的過程簡單來說就是通過傳感器把溫度值轉換為電信號或者其他信號,經(jīng)過相關處理,從而轉換成溫度顯示出來。溫度測量設備一般有溫度傳感器和信號處理電路組成。某些情況下,需要監(jiān)測的范圍很大,布線不方便且不利于后期維護,這時我們就采用無線模塊對溫度進行采集。</p><p>  本次系統(tǒng)的設計采用nRF24L01無線通信模塊,并以STC89C51為核心來控制實現(xiàn)短距離無線溫濕度傳輸。該系統(tǒng)設計

31、具有成本地,傳輸快,軟件設計簡單,功耗低,可靠性高等優(yōu)點。整個設計的主機和從機通NRF24L01無線模塊連接通信。從機以單片機STC89C51為核心,通過無線模塊NRF24L01把溫度傳感器采集的溫度傳送給主機,主機通過無線模塊NRF24L01接收溫度數(shù)據(jù),然后再在液晶LCD1602上面顯示,從而達到實時監(jiān)控的目的。</p><p>  2.方案論證及器件選擇</p><p>  2.1

32、系統(tǒng)功能設計</p><p> ?。?)溫濕度監(jiān)控:實現(xiàn)對溫室大棚溫濕度參數(shù)的實時采集,測量空間的溫度和濕度,由單片機對采集的溫濕度值進行循環(huán)檢測、數(shù)據(jù)處理、顯示,實現(xiàn)溫濕度的智能檢測。</p><p> ?。?)控制處理:當溫濕度越限時報警,并根據(jù)報警信號提示采取一定手段控制。</p><p> ?。?) 無線傳輸:用溫濕度傳感器將測量的溫濕度數(shù)據(jù)通過無線模塊進行

33、傳輸。</p><p>  溫濕度傳感器達到的技術指標:</p><p>  測量范圍: 濕度20-90%RH, 溫度0-50℃</p><p>  測量精度: 濕度±5%RH, 溫度±2℃</p><p><b>  2.2 方案論證</b></p><p>  要實現(xiàn)溫濕度

34、的采集和傳輸有多種方案,下面介紹以下兩種方案。</p><p>  方案一:采用可編程邏輯器件設計</p><p>  用可編程邏輯器件設計,而所設計的電路比較繁雜,可能用到十幾片數(shù)字集成塊,利用數(shù)字電路的各功能模塊的組合來完成其功能,焊接的過程比較復雜,成本也比較高。這里可以利用ALTERA公司的FLEX10K系列PLD器件。結構清晰的設計,各個模塊,從硬件上設計起來相對簡單,比較方便控

35、制與顯示的模塊間的連接。但是如果結合本設計的特點,EDA在功能擴展上會受到約束,而且EDA占用的資源也會比較多。用可編程邏輯器件設計,成本上來講處在弱勢[1]。方案一的設計框圖如圖2.1所示。</p><p>  圖2.1系統(tǒng)設計框圖</p><p>  方案二: 基于單片機的設計</p><p>  以單片機為控制核心,采用溫濕度測量技術,通信技術,控制技術等技術

36、,以溫濕度傳感器作為測量元件,構成智能溫濕度測量控制系統(tǒng)??煞譃闇貪穸葴y量電路,顯示電路,報警電路,無線模塊,圖2.1選用的主要器件有:單片機STC89C51,溫濕度傳感器DHT11,1602LCD顯示模塊,LED燈,報警裝置蜂鳴器,NRF2401無線模塊等。方案二的設計框圖如圖2.2所示。</p><p>  圖2.2 系統(tǒng)設計框圖</p><p><b>  2.3 方案選擇

37、</b></p><p>  方案二可以利用單片機內部的控制只讀存儲器和隨機存儲器及其豐富的引腳資源,外接鍵盤輸入,液晶顯示器等實現(xiàn)數(shù)據(jù)的傳輸處理和顯示功能,通過與無線芯片傳輸數(shù)據(jù)及指令來完成數(shù)據(jù)的無線傳輸,因此可以采用基于SPI總線的射頻收發(fā)芯片。單片機可擴展性強,體積小,實用性強,功能齊全,而且設計起來比較簡單,就具備可用實驗室的條件,硬件更加容易實現(xiàn)。方案一的好處是設計較為簡單,但是無線發(fā)送只能

38、通過不包含傳輸協(xié)議和差錯校驗的無線傳輸模塊傳輸數(shù)據(jù),沒有掉電存儲的功能,且控制的準確性和靈活性較差,故不采用。經(jīng)過綜合考慮此次設計采用方案二。</p><p>  2.4 主要元器件選型</p><p>  2.4.1 單片機選型</p><p>  方案一:采用STC89C51實現(xiàn)。</p><p>  單片機軟件編程可簡單地實現(xiàn)多數(shù)功能,

39、自由度大,結構清晰,便于調試和維護,可讀性和移植性強。并且具有體積小,硬件搭建簡單等優(yōu)點。本系統(tǒng)由一臺主機,2臺從機組成2級分布式溫度測量進行多路溫度數(shù)據(jù)采集。另外STC89C51的應用已經(jīng)十分廣泛,相關技術的使用都很熟練,開發(fā)難度很小。</p><p>  方案二:采用MSP430F149單片機。</p><p>  此單片機功耗低,內部集成高速12位ADC,性能強大。但本設計簡單,不需

40、要MSP430F149如此功能強大的單片機,并且MSP430F149成本高,是TPFQ貼片封裝,必須采用PCB制板,增加了開發(fā)周期。</p><p>  綜合考慮我們選擇STC89C51作為本系統(tǒng)的MCU。</p><p>  2.4.2 無線傳輸模塊選型</p><p>  方案一:采用NRF24L01</p><p>  NRF24L01

41、是由NORDIC生產(chǎn)的工作在2.4GHz-2.5GHz的ISM 頻段的單片無線收發(fā)器芯片。無線收發(fā)器包括:頻率發(fā)生器、功率放大器、調制器和解調器、增強型“SchockBurst”模式控制器、晶體振蕩器。輸出功率頻道選擇和協(xié)議的設置可以通過SPI 接口進行設置。幾乎可以連接到各種單片機芯片,并完成無線數(shù)據(jù)傳送工作。極低的電流消耗:當工作在發(fā)射模式下發(fā)射功率為0dBm 時電流消耗為11.3mA ,接收模式時為12.3mA,掉電模式和待機模式

42、下電流消耗更低。</p><p>  方案二:采用超再生式無線模塊</p><p>  超再生式無線模塊超再生接收機價格低廉,經(jīng)濟實惠,而且接收靈敏度高,但是缺點也很明顯,那就是頻率受溫度漂移大,抗干擾能力差。</p><p>  方案選擇:考慮到本設計需要穩(wěn)定可靠地傳輸多字節(jié)的指令數(shù)據(jù),故采用抗干擾能力強且具有差錯校驗功能的NRF24L01無線收發(fā)模塊作為數(shù)據(jù)和指

43、令的傳輸。</p><p><b>  3.硬件電路的設計</b></p><p>  根據(jù)設計方案,總體功能和性價比及其運行速度等因素的考慮,下面進行系統(tǒng)硬件各模塊電路的設計。</p><p>  3.1 單片機最小系統(tǒng)</p><p>  STC89C51是一種低功耗、高性能CMOS8位微控制器,具有8K在系統(tǒng)可編程

44、Flash存儲器。片上Flash允許程序存儲器在系統(tǒng)可編程,亦適于常規(guī)編程器。在單芯片上,STC89C51擁有靈巧的8 位CPU 和在系統(tǒng)可編程Flash,使得STC89C51為眾多嵌入式控制應用系統(tǒng)提供高靈活、超有效的解決方案。</p><p>  STC89C51具有以下標準功能: 8k字節(jié)Flash,256字節(jié)RAM,32 位I/O 口線,看門狗定時器,2 個數(shù)據(jù)指針,三個16 位定時器/計數(shù)器,一個6向量

45、2級中斷結構,全雙工串行口,片內晶振及時鐘電路。另外,STC89C51 可降至0Hz 靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式??臻e模式下,CPU停止工作,允許RAM、定時器/計數(shù)器、串口中斷繼續(xù)工作。掉電保護方式下,RAM內容被保存,振蕩器被凍結,單片機一切工作停止,直到下一個中斷或硬件復位為止[2]。</p><p>  (a)電源及時鐘引腳(4個)</p><p>  VCC:電源接

46、入引腳;</p><p><b>  GND:接地引腳;</b></p><p>  XTAL1:晶體振蕩器接入的一個引腳(采用外部振蕩器時,此引腳接地);</p><p>  XTAL2:晶體振蕩器接入的另一個引腳(采用外部振蕩器時,此引腳作為外部振蕩信號的輸入端)。</p><p> ?。╞)控制線引腳(4個)<

47、;/p><p>  RST/VPD:復位信號輸入引腳/備用電源輸入引腳;</p><p>  ALE/PROG:地址鎖存允許信號輸出引腳/編程脈沖輸入引腳(低電平有效);</p><p>  EA/Vpp:內外存儲器選擇引腳(低電平有效)/片內EPROM(或FlashROM)編程電壓輸入引腳;</p><p>  PSEN:外部存儲器選通信號輸出

48、引腳(低電平有效)。</p><p>  (c) 并行I/O引腳(32個,分成4個8位口)</p><p>  P0.0~P0.7:一般I/O引腳或數(shù)據(jù)/低位地址總線服用引腳;</p><p>  P1.0~P1.7:一般I/O引腳;</p><p>  P2.0~P2.7:一般I/O引腳或高位地址總線引腳;</p><p

49、>  P3.0~P3.7:一般I/O引腳或第二功能引腳。</p><p>  其內部主要由CPU、RAM、ROM、通用I/O及總線構成,內部結構如圖3.2所示。</p><p>  圖3.2 STC89C51內部結構圖</p><p>  CPU:由運算和控制邏輯組成,同時還包括中斷系統(tǒng)和部分外部特殊功能寄存器;</p><p>  R

50、AM:用以存放可以讀寫的數(shù)據(jù),如運算的中間結果、最終結果以及欲顯示的數(shù)據(jù);</p><p>  ROM:用以存放程序、一些原始數(shù)據(jù)和表格;</p><p>  (1)單片機的寄存器:</p><p>  MCS-51器件有單獨的程序存儲器和數(shù)據(jù)存儲器。外部程序存儲器和數(shù)據(jù)存儲器都可以64K尋址。</p><p>  程序存儲器:如果EA引腳接

51、地,程序讀取只從外部存儲器開始。</p><p>  對于 89S52,如果EA 接VCC,程序讀寫先從內部存儲器(地址為0000H~1FFFH)開始,接著從外部尋址,尋址地址為:2000H~FFFFH。</p><p>  數(shù)據(jù)存儲器:STC89C51 有256 字節(jié)片內數(shù)據(jù)存儲器。高128 字節(jié)與特殊功能寄存器重疊。也就是說高128字節(jié)與特殊功能寄存器有相同的地址,而物理上是分開的。&

52、lt;/p><p>  當一條指令訪問高于7FH 的地址時,尋址方式?jīng)Q定CPU 訪問高128 字節(jié)RAM 還是特殊功能寄存器空間。直接尋址方式訪問特殊功能寄存器(SFR)[3]。</p><p>  (2)機器周期和指令周期:</p><p> ?。╝)振蕩周期: 也稱時鐘周期, 是指為單片機提供時鐘脈沖信號的振蕩源的周期。 </p><p>

53、; ?。╞)狀態(tài)周期: 每個狀態(tài)周期為時鐘周期的 2 倍, 是振蕩周期經(jīng)二分頻后得到的。</p><p> ?。╟)機器周期: 一個機器周期包含 6 個狀態(tài)周期S1~S6, 也就是 12 個時鐘周期。在一個機器周期內, CPU可以完成一個獨立的操作。 </p><p> ?。╠)指令周期: 它是指CPU完成一條操作所需的全部時間。 每條指令執(zhí)行時間都是有一個或幾個機器周期組成。</

54、p><p><b> ?。?)中斷:</b></p><p>  STC89C51 有6個中斷源:兩個外部中斷(INT0 和INT1),三個定時中斷(定時器0、1、2)和一個串行中斷。每個中斷源都可以通過置位或清除特殊寄存器IE 中的相關中斷允許控制位分別使得中斷源有效或無效。IE還包括一個中斷允許總控制位EA,它能一次禁止所有中斷[4]。</p><

55、p>  IE.6位是不可用的,對于STC89C51,IE.5位也是不能用的。用戶軟件不應給這些位寫1。它們?yōu)锳T89系列新產(chǎn)品預留。</p><p>  定時器2可以被寄存器T2CON中的TF2和EXF2的或邏輯觸發(fā)。程序進入中斷服務后,這些標志位都可以由硬件清0。實際上,中斷服務程序必須判定是否是TF2 或EXF2激活中斷,標志位也必須由軟件清0。</p><p>  定時器0和定

56、時器1標志位TF0 和TF1在計數(shù)溢出的那個周期的S5P2被置位。它們的值一直到下一個周期被電路捕捉下來。然而,定時器2 的標志位TF2 在計數(shù)溢出的那個周期的S2P2被置位,在同一個周期被電路捕捉下來。</p><p><b> ?。?)復位電路</b></p><p>  本系統(tǒng)采用上電+按鍵復位,是上電復位和按鍵電平復位的組合,無論是上電還是按動按鍵都能使單片機

57、復位。如圖3.3所示。</p><p><b>  圖3.3 復位電路</b></p><p>  在單片機系統(tǒng)中,系統(tǒng)上電啟動的時候復位一次,當按鍵按下的時候系統(tǒng)再次復位,如果釋放后再按下,系統(tǒng)還會復位。所以可以通過按鍵的斷開和閉合在運行的系統(tǒng)中控制其復位。</p><p>  復位電路的原理是單片機RST引腳接收到2US以上的電平信號,只要

58、保證電容的充放電時間大于2US,即可實現(xiàn)復位,所以電路中的電容值是可以改變的。按鍵按下系統(tǒng)復位,是電容處于一個短路電路中,釋放了所有的電能,電阻兩端的電壓增加引起的[4]。</p><p><b> ?。?)時鐘電路</b></p><p>  時鐘引腳為XTAL1、XTAL2,時鐘引腳外接晶體與片內的反向放大器構成了一個振蕩器,它提供單片機的時鐘控制信號,時鐘引腳也

59、可外接晶體振蕩器。</p><p>  XTAL1(19腳):接外部晶體的一個引腳。在單片機內部,它是一個反向放大器的輸入端。這個放大器構成了片內振蕩器。當采用外接晶體振蕩器時,此引腳應接地。</p><p>  XTAL2(18腳):接外部晶體的另一端,在單片機內部接至內部反向放大器的輸出端。若采用外部振蕩器時,該引腳接收振蕩器的信號,即把此信號直接接到內部時鐘發(fā)生器的輸入端[8]。&l

60、t;/p><p>  本系統(tǒng)采用晶振時鐘電路。外部晶振以及電容C1和C2構成并聯(lián)諧振電路,接在放大器的反饋回路中。對外接電容的值雖然沒有嚴格要求,但電容的大小多少會影響振蕩器頻率的高低,振蕩器的穩(wěn)定性,起振的快速性和穩(wěn)定性。外接晶振時,C1和C2通常選擇30pf,晶振采用12MHz[4]。本設計時鐘電路如下圖3.4所示。</p><p><b>  圖3.4 時鐘電路</b&g

61、t;</p><p>  單片機最小系統(tǒng)電路如圖3.5所示。</p><p>  圖3.5 單片機最小系統(tǒng)</p><p>  3.2 溫濕度傳感模塊設計</p><p>  DHT11數(shù)字溫濕度傳感器是一款含有已校準數(shù)字信號輸出的溫濕度復合傳感器,它應用專用的數(shù)字模塊采集技術和溫濕度傳感技術,確保產(chǎn)品具有極高的可靠性和卓越的長期穩(wěn)定性。傳感

62、器包括一個電阻式感濕元件和一個NTC測溫元件,并與一個高性能8位單片機相連接。因此該產(chǎn)品具有品質卓越、超快響應、抗干擾能力強、性價比極高等優(yōu)點。每個DHT11傳感器都在極為精確的濕度校驗室中進行校準。校準系數(shù)以程序的形式存在OTP內存中,傳感器內部在檢測型號的處理過程中要調用這些校準系數(shù)。單線制串行接口,使系統(tǒng)集成變得簡易快捷。超小的體積、極低的功耗,使其成為給類應用甚至最為苛刻的應用場合的最佳選擇。產(chǎn)品為4針單排引腳封裝,連接方便[9

63、]。</p><p><b>  DHT11的簡介</b></p><p>  ·相對濕度和溫度測量</p><p>  ·全部校準,數(shù)字輸出</p><p><b>  ·卓越的長期穩(wěn)定性</b></p><p><b>  

64、3;無需外加器件</b></p><p>  ·超長的信號傳輸距離</p><p><b>  ·超低能耗</b></p><p><b>  ·4引腳安裝</b></p><p>  ·完全互換

65、 </p><p><b> ?。?)引腳說明:</b></p><p>  建議接線長度短于20米時,用5K上拉電阻,大于20米時根據(jù)實際情況使用合適的上拉電阻。</p><p>  引腳1:VDD供電3-5.5V</p><p>  引腳2:DATA串行數(shù)據(jù),單總線</p><p>

66、;  引腳3:NC空腳,懸空</p><p>  引腳4:GND接地,電源負極</p><p><b> ?。?)電源引腳:</b></p><p>  DHT11的供電電壓為3-5.5V。傳感器上電后,要等待 1s 以越過不穩(wěn)定狀態(tài)在此期間無需發(fā)送任何指令。電源引腳(VDD,GND)之間可增加一個100nF 的電容,用以去耦濾波。</p

67、><p>  串行接口(單線雙向)</p><p><b> ?。?)單總線說明</b></p><p>  DHT11器件采用簡化的單總線通信。單總線即只有一根數(shù)據(jù)線,系統(tǒng)中的數(shù)據(jù)交換、控制均由單總線完成。設備(主機或從機)通過一個漏極開路或三態(tài)端口連至該數(shù)據(jù)線,以允許設備在不發(fā)送數(shù)據(jù)時能夠釋放總線,而讓其它設備使用總線;單總線通常要求外接一個約

68、5.1kΩ的上拉電阻,這樣,當總線閑置時,其狀態(tài)為高電平。由于它們是主從結構,只有主機呼叫從機時,從機才能應答,因此主機訪問器件都必須嚴格遵循單總線序列,如果出現(xiàn)序列混亂,器件將不響應主機[10]。</p><p> ?。?)單總線傳送數(shù)據(jù)位定義</p><p>  DATA用于微處理器與DHT11之間的通訊和同步,采用單總線數(shù)據(jù)格式,一次傳送40位數(shù)據(jù),高位先出。 </p

69、><p><b>  數(shù)據(jù)格式:</b></p><p>  8bit濕度整數(shù)數(shù)據(jù)+8bit濕度小數(shù)數(shù)據(jù)+8bit溫度整數(shù)數(shù)據(jù)+8bit溫度小數(shù)數(shù)據(jù)+8bit校驗位。</p><p> ?。?)校驗位數(shù)據(jù)定義</p><p>  “8bit濕度整數(shù)數(shù)據(jù)+8bit濕度小數(shù)數(shù)據(jù)+8bit溫度整數(shù)數(shù)據(jù)+8bit溫度小數(shù)數(shù)據(jù)”8bi

70、t校驗位等于所得結果的末8位。</p><p><b> ?。?)數(shù)據(jù)時序圖</b></p><p>  用戶MCU發(fā)送一次開始信號后,DHT11從低功耗模式轉換到高速模式,等待主機開始信號結束后,DHT11發(fā)送響應信號,送出40bit的數(shù)據(jù),并觸發(fā)一次信號采集,用戶可選擇讀取部分數(shù)據(jù).從模式下,DHT11接收到開始信號觸發(fā)一次溫濕度采集,如果沒有接收到主機發(fā)送開始信

71、號,DHT11不會主動進行溫濕度采集.采集數(shù)據(jù)后轉換到低速模式。</p><p>  圖3.6 數(shù)據(jù)時序圖</p><p><b> ?。?)外設讀取</b></p><p> ?。╝)DHT11上電后,測試環(huán)境溫濕度數(shù)據(jù),并記錄數(shù)據(jù),同時DHT11的DATA數(shù)據(jù)線由上拉電阻拉高一直保持高電平;此時DHT11的DATA引腳處于輸入狀態(tài),時刻檢測

72、外部信號。</p><p>  (b)微處理器的I/O設置為輸出同時輸出低電平,且低電平保持時間不能小于18ms,然后微處理器的I/O設置位輸入狀態(tài),由于上拉電阻,微處理器的I/O即DHT11的DATA數(shù)據(jù)線也隨之變高,等待DHT11作出回答信號。</p><p>  圖3.7 主機發(fā)送起始信號</p><p> ?。╟)DHT11的DATA引腳檢測到外部信號有低電

73、平時,等待外部信號低電平結束,延遲后DHT11的DATA 引腳處于輸出狀態(tài),輸出80us的低電平作為應答信號,緊接著輸出80us的高電平通知外設準備接受數(shù)據(jù),微處理器的I/O此時處于輸入狀態(tài),檢測到I/O有低電平(DHT11回應信號)后 ,等待80us 的高電平后的數(shù)據(jù)接收。</p><p><b>  圖3.8 發(fā)送信號</b></p><p> ?。╠)由DHT1

74、1的DATA引腳輸出40位數(shù)據(jù),微處理器根據(jù)I/O電平的變化接收40位數(shù)據(jù),位數(shù)據(jù)“0”的格式為:50us的低電平和26-28us的高電平;位數(shù)據(jù)“1”的格式為:50us的低電平加70us的高電平。</p><p>  圖3.9 位數(shù)據(jù)“0”的格式 </p><p>  圖3.10 位數(shù)據(jù)“1”的格式</p><p>  (8) 測量分辨率 

75、</p><p>  測量分辨率分別為8bit(溫度)、8bit(濕度)。</p><p><b>  (9) 電氣特性</b></p><p>  VDD=5V,T = 25℃,除非特殊標注</p><p>  表3.1 電氣特性表</p><p>  溫濕度采集模塊電路設計

76、如圖3.11所示。</p><p>  圖3.11溫濕度采集模塊電路</p><p>  3.3 無線模塊設計</p><p>  nRF24.L01是一款新型單片射頻收發(fā)器件,工作于2.4 GHz~2.5 GHz ISM頻段。內置頻率合成器、功率放大器、晶體振蕩器、調制器等功能模塊,并融合了增強型ShockBurst技術,其中輸出功率和通信頻道可通過程序進行配置。

77、nRF24L01功耗低,在以-6dBm的功率發(fā)射時,工作電流也只有9 mA;接收時,工作電流只有12.3 mA,多種低功率工作模式(掉電模式和空閑模式)使節(jié)能設計更方便[15]。</p><p><b>  (1) 主要特點:</b></p><p> ?。╝)GFSK調制,硬件集成OSI鏈路層</p><p> ?。╞)具有自動應答和自動再發(fā)

78、射功能</p><p> ?。╟)片內自動生成報頭和CRC校驗碼</p><p> ?。╠)數(shù)據(jù)傳輸率為l Mb/s或2Mb/s</p><p> ?。╡)SPI速率為0 Mb/s~10 Mb/s</p><p> ?。╢)125個頻道與其他nRF24系列射頻器件相兼容</p><p> ?。╣)雙通道數(shù)據(jù)接收,內置環(huán)

79、行天線,開闊地無干擾條件通信距離20-50米</p><p> ?。╤)QFN20引腳4 mm×4 mm封裝</p><p>  (i)供電電壓為1.9 V~3.6 V</p><p><b>  (2) 引腳說明:</b></p><p>  圖3.12 nRF24L01</p><p&g

80、t;  nRF24L01引腳排列如圖3.12所示。各引腳功能如下:</p><p>  CE:使能發(fā)射或接收;</p><p>  CSN,SCK,MOSI,MISO:SPI引腳端,微處理器可通過此引腳配置nRF24L01;</p><p>  IRQ:中斷標志位;</p><p>  VDD:電源輸入端;</p><p&

81、gt;<b>  VSS:電源地;</b></p><p>  XC2,XC1:晶體振蕩器引腳;</p><p>  VDD_PA:為功率放大器供電,輸出為1.8 V;</p><p>  ANT1,ANT2:天線接口。</p><p><b>  (3) 工作模式:</b></p>

82、<p>  通過配置寄存器可將nRF24L01配置為發(fā)射、接收、空閑及掉電四種工作模式,如表3.2所示。</p><p><b>  表3.2 工作模式</b></p><p>  待機模式1主要用于降低電流損耗,在該模式下晶體振蕩器仍然是工作的;待機模式2則是在當FIFO寄存器為空且CE=1時進入此模式;待機模式下,所有配置字仍然保留。在掉電模式下電流損耗

83、最小,同時nRF24L01也不工作,但其所有配置寄存器的值仍然保留。</p><p><b> ?。?)工作原理</b></p><p>  圖3.13 電路原理圖</p><p>  發(fā)射數(shù)據(jù)時,首先將nRF24L01配置為發(fā)射模式:接著把接收節(jié)點地址TX_ADDR和有效數(shù)據(jù)TX_PLD按照時序由SPI口寫入nRF24L01緩存區(qū),TX_PL

84、D必須在CSN為低時連續(xù)寫入,而TX_ADDR在發(fā)射時寫入一次即可,然后CE置為高電平并保持至少10μs,延遲130μs后發(fā)射數(shù)據(jù);若自動應答開啟,那么nRF24L01在發(fā)射數(shù)據(jù)后立即進入接收模式,接收應答信號(自動應答接收地址應該與接收節(jié)點地址TX_ADDR一致)。如果收到應答,則認為此次通信成功,TX_DS置高,同時TX_PLD從TX FIFO中清除;若未收到應答,則自動重新發(fā)射該數(shù)據(jù)(自動重發(fā)已開啟),若重發(fā)次數(shù)(ARC)達到上限

85、,MAX_RT置高,TX FIFO中數(shù)據(jù)保留以便再次重發(fā);MAX_RT或TX_DS置高時,使IRQ變低,產(chǎn)生中斷,通知MCU。最后發(fā)射成功時,若CE為低則nRF24L01進入空閑模式1;若發(fā)送堆棧中有數(shù)據(jù)且CE為高,則進入下一次發(fā)射;若發(fā)送堆棧中無數(shù)據(jù)且CE為高,則進入空閑模式2。</p><p>  接收數(shù)據(jù)時,首先將nRF24L01配置為接收模式,接著延遲130μs進入接收狀態(tài)等待數(shù)據(jù)的到來。當接收方檢測到有

86、效的地址和CRC時,就將數(shù)據(jù)包存儲在RX FIFO中,同時中斷標志位RX_DR置高,IRQ變低,產(chǎn)生中斷,通知MCU去取數(shù)據(jù)。若此時自動應答開啟,接收方則同時進入發(fā)射狀態(tài)回傳應答信號。最后接收成功時,若CE變低,則nRF24L01進入空閑模式1。</p><p><b>  (5) 配置字:</b></p><p>  SPI口為同步串行通信接口,最大傳輸速率為10

87、Mb/s,傳輸時先傳送低位字節(jié),再傳送高位字節(jié)。但針對單個字節(jié)而言,要先送高位再送低位。與SPI相關的指令共有8個,使用時這些控制指令由nRF24L01的MOSI輸入。相應的狀態(tài)和數(shù)據(jù)信息是從MISO輸出給MCU。 </p><p>  nRF24L0l所有的配置字都由配置寄存器定義,這些配置寄存器可通過SPI口訪問。nRF24L01 的配置寄存器共有25個,常用的配置寄存器如表3.3所示。</p>

88、<p>  表3.3 配置寄存器</p><p>  無線模塊設計電路圖如圖3.14所示。</p><p>  圖3.14 單片機與nRF24L01連接圖</p><p>  3.4 液晶顯示模塊設計</p><p>  1602液晶也叫1602字符型液晶 它是一種專門用來顯示字母、數(shù)字、符號等的點陣型液晶模塊,它有若干個5x7或

89、者5x11等點陣字符位組成,每個點陣字符位都可以顯示一個字符。每位之間有一個點距的間隔,每行之間也有間隔,起到了字符間距和行間距的作用,正因為如此,他不能顯示圖形(用自定義CGRAM,顯示效果也不好)1602LCD是指顯示的內容為16x2,即可以顯示兩行,每行16個字符液晶模塊(顯示字符和數(shù)字)目前市面上字符液晶絕大多數(shù)是基于HD44780液晶芯片的,控制原理是完全相同的,因此基于HD44780寫的控制程序可以很方便地應用于市面上大部分

90、的字符型液晶。</p><p>  1602LCD主要技術參數(shù):</p><p>  顯示容量:16×2個字符</p><p>  芯片工作電壓:4.5-5.5V</p><p>  工作電流:2.0mA(5.0V)</p><p>  模塊最佳工作電壓:5.0V</p><p>  

91、字符尺寸:2.95×4.35(W×H)mm</p><p> ?。?)引腳功能說明:</p><p>  1602LCD采用標準的14腳(無背光)或16腳(帶背光)接口,各引腳接口說明如下:</p><p>  第1腳:VSS為地電源。</p><p>  第2腳:VDD接5V正電源。</p><p&g

92、t;  第3腳:VL為液晶顯示器對比度調整端,接正電源時對比度最弱,接地時對比度最高,對比度過高時會產(chǎn)生“鬼影”,使用時可以通過一個10K的電位器調整對比度。</p><p>  第4腳:RS為寄存器選擇,高電平時選擇數(shù)據(jù)寄存器、低電平時選擇指令寄存器。</p><p>  第5腳:R/W為讀寫信號線,高電平時進行讀操作,低電平時進行寫操作。當RS和R/W共同為低電平時可以寫入指令或者顯示

93、地址,當RS為低電平R/W為高電平時可以讀忙信號,當RS為高電平R/W為低電平時可以寫入數(shù)據(jù)。</p><p>  第6腳:E端為使能端,當E端由高電平跳變成低電平時,液晶模塊執(zhí)行命令。</p><p>  第7~14腳:D0~D7為8位雙向數(shù)據(jù)線。</p><p>  第15腳:背光源正極。</p><p>  第16腳:背光源負極。<

94、;/p><p> ?。?)液晶顯示原理:</p><p>  讀寫操作時序如圖3.15和圖3.16所示。</p><p>  圖3.15 讀操作時序</p><p>  圖3.16 寫操作時序</p><p>  液晶顯示模塊電路設計如圖3.17所示。</p><p>  圖3.17 1602LCD

95、引腳圖</p><p>  3.5 報警模塊設計</p><p>  本系統(tǒng)采用紅LED燈作為光報警提示,當系統(tǒng)檢測到的數(shù)據(jù)不符合給定的要求時,現(xiàn)場為紅燈報警提示;本系統(tǒng)采用蜂鳴器作為聲報警提示,當系統(tǒng)檢測到的數(shù)據(jù)符合給定的要求時,現(xiàn)場沒有蜂鳴器報警提示;當系統(tǒng)檢測到的數(shù)據(jù)不符合給定的要求時,現(xiàn)場蜂鳴器報警提示。</p><p>  在接收端設計電路圖中,最下方為包

96、含變壓器和整流橋(作用是將220V交流電轉化為9V交流電),濾波電路(電解電容1000uF將9V交流電中低頻部分濾除,瓷片電容0.1uF將9V交流電中高頻部分濾除),LM2940低穩(wěn)壓差穩(wěn)壓芯片(作用是將9V變?yōu)橹绷?V)和AMS1117-3.3將5V電源變?yōu)?.3V(因為NFR24L01無線傳輸模塊工作電壓為3.3V),圖中還有NFR24L01無線傳輸模塊用于指令和數(shù)據(jù)的無線傳輸、液晶顯示模塊LCD1602顯示密碼鎖的開關狀態(tài)和倒計時

97、提示信息、單片機STC89C51RC為核心控制芯片的總體接收端整體電路圖,該接收端電路將發(fā)送端無線傳輸模塊發(fā)送的密碼經(jīng)過NFR24L01無線傳輸模塊準確無誤的接收并進行相應的操作和顯示,完成各種的密碼操作。</p><p>  報警模塊電路圖設計如圖3.18所示。</p><p>  圖3.18 報警模塊電路圖</p><p>  3.6 系統(tǒng)設計原理圖</p

98、><p>  根據(jù)上述各部分設計,系統(tǒng)電路的數(shù)據(jù)發(fā)射端、接收端原理圖見附錄E。</p><p><b>  4.系統(tǒng)軟件設計</b></p><p>  4.1 軟件設計思路</p><p>  本系統(tǒng)軟件系統(tǒng)設計包括:系統(tǒng)初始化模塊,數(shù)據(jù)采集模塊,無線模塊,1602LCD顯示模塊,報警模塊。系統(tǒng)軟件總體流程圖如圖4.1所示

99、。</p><p>  圖4.1 系統(tǒng)總體流程圖</p><p><b>  程序見附錄C。</b></p><p>  4.2各模塊軟件設計流程圖</p><p>  4.2.1 系統(tǒng)初始化模塊</p><p>  系統(tǒng)初始化模塊的主要功能是完成系統(tǒng)的初始化以及設定系統(tǒng)的工作狀態(tài),初始化部分包括

100、以下方面的內容:</p><p> ?。?)單片機初始化以及各種引腳定義</p><p> ?。?)1602液晶初始化及工作方式</p><p>  (3)系統(tǒng)進入正常工作狀態(tài)</p><p>  4.2.2 數(shù)據(jù)采集模塊</p><p>  溫濕度檢測模塊是本系統(tǒng)中的核心模塊之一,它負責完成溫度和濕度的測量及模擬量轉

101、換為數(shù)字量的全過程,這也是它為什么重要的原因。數(shù)字式溫濕度傳感器DHT11直接把檢測到的模擬量轉化為數(shù)字量送給單片機,在經(jīng)過單片機的處理,把溫濕度值顯示在1602液晶上。溫濕度傳感器的精確度值直接影響到整個系統(tǒng)的檢測與控制,所以本系統(tǒng)采用數(shù)字式溫濕度傳感器DHT11采集溫室內的溫濕度。</p><p>  溫濕度判斷控制模塊也是系統(tǒng)的核心模塊之一,所謂判斷控制模塊,就是對當前溫室內的實際溫濕度與給定的溫濕度范圍進

102、行比較,先進行判斷,然后再進行控制,控制模塊是決定系統(tǒng)將要進行什么工作的。如溫度和濕度高于上限時或低于下限時需要進行啟動警報,并且將溫濕度結果以無線進行通信等[13]。溫濕度傳感器程序流程圖如圖4.2所示。</p><p>  圖4.2 溫濕度傳感器程序流程圖</p><p>  4.2.3 無線模塊</p><p> ?。?)無線發(fā)射模塊部分</p>

103、<p>  首先進行初始化操作,初始化包括設置單片機I/O和SPI相關寄存器兩部分其可以和nRF24L01通信。通過SPI總線配置射頻芯片使其進入正確的工作模式。發(fā)射數(shù)據(jù)時,首先將nRF24L01配置為發(fā)射模式。接著把發(fā)送端待發(fā)射數(shù)據(jù)的目標地址TX-ADDR和數(shù)據(jù)TX-PLD寫入nRF24L01緩沖區(qū),延時后發(fā)射數(shù)據(jù),其流程圖如圖4.3所示。</p><p>  圖4.3 無線發(fā)射軟件流程圖</

104、p><p>  (2)無線接收模塊部分</p><p>  接收數(shù)據(jù)時,首先將nRF24L01配置為接收模式。接著延遲進入接收狀態(tài)等待數(shù)據(jù)的到來。當接收方檢測到有效地址和CRC時,就將數(shù)據(jù)包儲存在接收堆棧中,同時狀態(tài)寄存器中的中斷標志位RX-DR置高,產(chǎn)生中斷使IRQ引腳變?yōu)榈碗娖?,以便通知MCU去取數(shù)據(jù),其流程圖如圖4.4所示。</p><p>  圖4.4 無線接收

105、軟件流程圖</p><p>  4.2.4 顯示模塊</p><p>  本系統(tǒng)采用1602液晶顯示溫濕度值,當系統(tǒng)剛開始上電時1602液晶不顯示任何數(shù)據(jù),等待從機端的監(jiān)測數(shù)據(jù),雙行顯示在1602液晶上。第一行顯示:Temperature:-- ℃,第二行顯示:Humidity:--%RH。</p><p>  4.2.5 報警模塊</p><p

106、>  報警模塊具備兩項功能,即為報警燈和聲音報警。報警燈模塊是完成LED有規(guī)律的轉換,以便從視覺上提醒用戶。LED是由單片機控制LED燈組成的,其轉換規(guī)律為:</p><p>  (1)系統(tǒng)溫濕度值在給定的范圍時,LED不亮。</p><p> ?。?)系統(tǒng)溫濕度值超出給定的范圍時,紅色LED亮。</p><p>  在LED燈轉換的同時,聲音報警也會同時啟動

107、,可采用延時的方式來延長聲音報警的聲音。</p><p>  警報燈由1個LED燈組成,一共需要1根數(shù)據(jù)線,使用單片機STC89C51控制。要實現(xiàn)的功能是使LED燈有規(guī)律亮與熄滅,當系統(tǒng)上電后,系統(tǒng)進行實時的采樣,并判斷出當前溫濕度與給定溫濕度之間的差異,如果當前溫濕度低于用戶給定的下限溫濕度值,則說明當前溫濕度過低,系統(tǒng)自動啟動紅色警報燈,直至溫濕度值升到適合范圍時警報燈熄滅。反之,如果當前溫濕度高于用戶設定的

108、上限溫濕度值,則說明當前溫濕度過高,系統(tǒng)也會自動啟動警報燈,直至溫濕度值降到適當范圍時警報燈熄滅。</p><p><b>  4.3 軟件調試</b></p><p>  4.3.1 KEIL軟件的組成</p><p>  KEIL IDE Vision3集成開發(fā)環(huán)境主要由以下部分組成:</p><p>  (1)Vi

109、sion3 IDE。Vision3 IDE主要包括:一個功能豐富并含有交互式錯誤提示的編輯器選項設置生成工具,一個工程管理器,以及在線幫助功能。Vision3可以自動完成編譯匯編鏈接程序的操作,使用vision3創(chuàng)建源文件并組成應用工程加以管理;</p><p>  (2) BL51鏈接器定位器。L51鏈接器使用由編譯器匯編器和從庫中提取出來的目標模塊生成的目標模塊創(chuàng)建一個絕對地址目標模塊,絕對地址目標文件或模塊

110、包括不可重定位的代碼和數(shù)據(jù)所有的代碼和數(shù)據(jù)都被固定在具體的存儲器單元中。</p><p>  (3) LIB51庫管理器。B51庫管理器可以從由編譯器和匯編器創(chuàng)建的目標文件中建立目標庫,這些庫是按規(guī)定的格式排列的目標模塊,可以在被鏈接器所使用且當鏈接器處理一個庫時僅僅使用了庫中程序,使用的目標模塊而不是全部加以引用;</p><p>  (4) C51編譯器和A51匯編器。Vision3

111、IDE創(chuàng)建的源文件可以被A51匯編器或C51編譯器處理生成可重定位的object文件。KEIL C51編譯器遵照ANSIC語言標準支持C語言的所有標準特性,另外還添加了幾個可以直接支持80C51結構的特性。KEILA51宏匯編器支持80C51及其派生系列的所有相關指令集[14]。</p><p>  4.3.2 KEIL軟件的運行流程</p><p>  利用KEIL開發(fā)和調試系統(tǒng)軟件流程

112、大致如下所示:</p><p>  (1)啟動µ Vision3</p><p>  首先進入KEIL軟件的集成開發(fā)環(huán)境,選擇“Project→New Project...”菜單,在彈出的“Creat New Project”對話框中為新的工程選擇或者創(chuàng)建一個目錄,并輸入工程文件的名稱,自動生成一個工程文件(.uv2)。然后單擊“保存”按鈕,出現(xiàn)如下圖4.3所示的選擇目標芯片窗口

113、。</p><p>  圖4.3 選擇目標芯片窗口</p><p>  在如圖4.3所示的窗口中,選擇目標CPU,因為Keil C51支持的CPU很多,選擇 STC89C51芯片,單擊“確定”按鈕,出現(xiàn)如圖4.4所示的對話框,要求選擇是否將標準STC89C51啟動文件加入工程中,單擊“是”按鈕,表示將文件加入工程中。</p><p>  回到主窗口,這時,在工程窗口

114、的文件頁中,出現(xiàn)了“Target1”,其前面有“+”號。單擊“+”號展開,可以看到下一層的“Source Group1”,再單擊“Source Group1”前面的“+”,可以看到一個名為STARTUP.C52的文件。STARTUP.C52文件就是剛才加入的、適合大多數(shù)STC89C51派生系列的啟動文件代碼。啟動代碼是目標芯片啟動在main()函數(shù)之前首先執(zhí)行的代碼,用于清除片內數(shù)據(jù)存儲器、初始化硬件、再入堆棧指針。</p>

溫馨提示

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

最新文檔

評論

0/150

提交評論