單片機(jī)原理及接口技術(shù)課程設(shè)計(jì)(蔬菜大棚溫度控制器設(shè)計(jì))_第1頁(yè)
已閱讀1頁(yè),還剩25頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p>  單片機(jī)原理及接口技術(shù) 課程設(shè)計(jì)(論文)</p><p>  題目: 蔬菜大棚溫度控制器設(shè)計(jì) </p><p>  院(系): 電氣工程學(xué)院 </p><p>  專(zhuān)業(yè)班級(jí): 電氣121 </p><p>  學(xué) 號(hào):

2、</p><p>  學(xué)生姓名: </p><p>  指導(dǎo)教師: (簽字)</p><p>  起止時(shí)間:2015.06.22-2015.07.05</p><p>  課程設(shè)計(jì)(論文)任務(wù)及評(píng)語(yǔ)</p><p>  院(系):電氣工程學(xué)院

3、 教研室: </p><p>  注:成績(jī):平時(shí)20% 論文質(zhì)量60% 答辯20% 以百分制計(jì)算</p><p><b>  摘 要</b></p><p>  隨著農(nóng)業(yè)產(chǎn)業(yè)規(guī)模的提高,對(duì)于數(shù)量較多的大棚,傳統(tǒng)的溫度控制措施就顯現(xiàn)出很大的局性。為此,在現(xiàn)代化的蔬菜大棚管理中通常有溫度

4、自動(dòng)控制系統(tǒng),以控制蔬菜大棚溫度,適應(yīng)生產(chǎn)需要。 </p><p>  本論文主要闡述了基于AT89C51單片機(jī)的大棚溫度控制系統(tǒng)設(shè)計(jì)原理,主要電路設(shè)計(jì)及軟件設(shè)計(jì)等。該系統(tǒng)采用89C51單片機(jī)作為控制器,溫度傳感器作為溫度數(shù)據(jù)采集系統(tǒng),可對(duì)執(zhí)行機(jī)構(gòu)發(fā)出指令實(shí)現(xiàn)大棚溫度參數(shù)調(diào)節(jié)實(shí)現(xiàn)對(duì)蔬菜大棚溫度的檢測(cè)與控制,從而有效提高蔬菜的產(chǎn)量。文中提出了具體設(shè)計(jì)方案,討論了蔬菜大棚溫濕度巡回檢測(cè)與控制的基本原理,進(jìn)行

5、了可行性論證。</p><p>  關(guān)鍵詞:蔬菜大棚;溫度控制;89C51單片機(jī);</p><p><b>  目 錄</b></p><p><b>  第1章 緒論1</b></p><p>  1.1蔬菜大棚溫度控制器概況1</p><p>  1.2本文研究?jī)?nèi)

6、容2</p><p>  第2章 CPU最小系統(tǒng)設(shè)計(jì)3</p><p>  2.1蔬菜大棚溫度控制器總體設(shè)計(jì)方案3</p><p>  2.2CPU的選擇4</p><p>  2.3數(shù)據(jù)存儲(chǔ)器擴(kuò)展5</p><p>  2.4復(fù)位電路設(shè)計(jì)5</p><p>  2.5時(shí)鐘

7、電路設(shè)計(jì)6</p><p>  2.6CPU最小系統(tǒng)圖6</p><p>  第3章 溫度控制輸入輸出接口電路設(shè)計(jì)8</p><p>  3.1溫度傳感器的選擇8</p><p>  3.2溫度檢測(cè)接口電路設(shè)計(jì)9</p><p>  3.2.1A/D轉(zhuǎn)換器選擇9</p><p&g

8、t;  3.2.2模擬量檢測(cè)接口電路圖9</p><p>  3.3溫度控制電路設(shè)計(jì)10</p><p>  3.4人機(jī)對(duì)話接口電路設(shè)計(jì)10</p><p>  3.4.1按鍵電路設(shè)計(jì)10</p><p>  3.4.2顯示電路設(shè)計(jì)11</p><p>  第4章 蔬菜大棚溫度控制軟件設(shè)計(jì)12<

9、/p><p>  4.1軟件實(shí)現(xiàn)功能綜述12</p><p>  4.2流程圖設(shè)計(jì)12</p><p>  4.2.1主程序流程圖設(shè)計(jì)12</p><p>  4.2.2溫度調(diào)節(jié)流程圖設(shè)計(jì)13</p><p>  4.3程序清單13</p><p>  第5章 系統(tǒng)設(shè)計(jì)與分析1

10、9</p><p>  5.1系統(tǒng)原理圖19</p><p>  第6章 課程設(shè)計(jì)總結(jié)20</p><p><b>  參考文獻(xiàn)21</b></p><p><b>  緒論</b></p><p>  蔬菜大棚溫度控制器概況</p><p>

11、  在人類(lèi)的生活環(huán)境中,溫度扮演著極其重要的角色。自18世紀(jì)工業(yè)革命以來(lái),工業(yè)發(fā)展與是否能掌握溫度有著密切的聯(lián)系。在冶金、鋼鐵、石化、水泥、玻璃、醫(yī)藥等行業(yè),可以說(shuō)幾乎80%的工業(yè)部門(mén)都不得不考慮著溫度的因素。溫度不但對(duì)于工業(yè)如此重要,在農(nóng)業(yè)生產(chǎn)中溫度的監(jiān)測(cè)與控制也有著十分重要的意義。我國(guó)人多地少,人均占有耕地面積更少。因此,要改變這種局面,只靠增加耕地面積是不可能實(shí)現(xiàn)的,因此我們要另辟蹊徑,想辦法來(lái)提高單位畝產(chǎn)量。溫室大棚技術(shù)就是其中

12、一個(gè)好的方法。溫室大棚就是建立一個(gè)模擬適合生物生長(zhǎng)的氣候條件,創(chuàng)造一個(gè)人工氣象環(huán)境,來(lái)消除溫度對(duì)生物生長(zhǎng)的約束。而且,溫室大棚能克服環(huán)境對(duì)生物生長(zhǎng)的限制,能使不同的農(nóng)作物在不適合生長(zhǎng)的季節(jié)產(chǎn)出,使季節(jié)對(duì)農(nóng)作物的生長(zhǎng)影響不大,部分或完全擺脫了農(nóng)作物對(duì)自然條件的依賴(lài)。由于溫室大棚能帶來(lái)可觀的經(jīng)濟(jì)效益,所以溫室大棚技術(shù)越來(lái)越普及,并且已成為農(nóng)民增收的主要手段。</p><p>  隨著大棚技術(shù)的普及,溫室大棚數(shù)量不斷增

13、多,溫室大棚的溫度控制便成為一個(gè)十分重要的課題。傳統(tǒng)的溫度控制是在溫室大棚內(nèi)部懸掛溫度計(jì),通過(guò)讀取溫度值了解實(shí)際溫度,然后根據(jù)現(xiàn)有溫度與額定溫度進(jìn)行比較,看溫度是否過(guò)高或過(guò)低,然后進(jìn)行相應(yīng)的通風(fēng)或者灑水。這些操作都是在人工情況下進(jìn)行的,耗費(fèi)了大量的人力物力?,F(xiàn)在,隨著國(guó)家經(jīng)濟(jì)的快速發(fā)展,農(nóng)業(yè)產(chǎn)業(yè)規(guī)模的不斷提高,農(nóng)產(chǎn)品在大棚中培育的品種越來(lái)越多,對(duì)于數(shù)量較多的大棚,傳統(tǒng)的溫度控制措施就顯現(xiàn)出很大的局限性。溫室大棚的建設(shè)對(duì)溫度檢測(cè)與控制技術(shù)

14、也提出了越來(lái)越高的要求。</p><p>  今天,我們的生活環(huán)境和工作環(huán)境有越來(lái)越多稱(chēng)之為單片機(jī)的小電腦在為我們服務(wù)。采用單片機(jī)來(lái)對(duì)溫度進(jìn)行控制,不僅具有控制方便、組態(tài)簡(jiǎn)單和靈活性大等優(yōu)點(diǎn),而且可以大幅度提高被控溫度的技術(shù)指標(biāo),從而能夠大大提高產(chǎn)品的質(zhì)量和數(shù)量。單片機(jī)以其功能強(qiáng)、體積小、可靠性高、造價(jià)低和開(kāi)發(fā)周期短等優(yōu)點(diǎn),成為自動(dòng)化和各個(gè)測(cè)控領(lǐng)域中必不可少且廣泛應(yīng)用的器件,尤其在日常生活中也發(fā)揮越來(lái)越大的作用。

15、因此,單片機(jī)對(duì)溫度的控制問(wèn)題是一個(gè)工農(nóng)業(yè)生產(chǎn)中經(jīng)常會(huì)遇到的問(wèn)題。</p><p>  因此,本課題圍繞基于單片機(jī)的溫室大棚控制系統(tǒng)展開(kāi)了應(yīng)用研究工作。</p><p><b>  本文研究?jī)?nèi)容</b></p><p>  本文介紹的溫度測(cè)控系統(tǒng)就是基于單片機(jī)技術(shù)及其器件組建的。該系統(tǒng)能夠?qū)Υ笈飪?nèi)的溫度進(jìn)行采集,利用溫度傳感器將溫室大棚內(nèi)溫度的變

16、化,變換成數(shù)字量,其值由單片機(jī)處理,最后由單片機(jī)去控制液晶顯示器,顯示溫室大棚內(nèi)的實(shí)際溫度,同時(shí)通過(guò)與預(yù)設(shè)量比較,對(duì)大棚內(nèi)的溫度進(jìn)行自動(dòng)調(diào)節(jié)。這種設(shè)計(jì)方案實(shí)現(xiàn)了溫度實(shí)時(shí)測(cè)量、顯示和控制。該系統(tǒng)抗干擾能力強(qiáng),具有較高的測(cè)量精度,不需要任何固定網(wǎng)絡(luò)的支持,安裝簡(jiǎn)單方便,性?xún)r(jià)比高,可維護(hù)性好。這種溫度測(cè)控系統(tǒng)可應(yīng)用于農(nóng)業(yè)生產(chǎn)的溫室大棚,實(shí)現(xiàn)對(duì)溫度的實(shí)時(shí)控制,是一種比較智能、經(jīng)濟(jì)的方案,適于大力推廣,以便促進(jìn)農(nóng)作物的生長(zhǎng),從而提高溫室大棚的畝產(chǎn)

17、量,以帶來(lái)很好的經(jīng)濟(jì)效益和社會(huì)效益。</p><p><b>  CPU最小系統(tǒng)設(shè)計(jì)</b></p><p>  蔬菜大棚溫度控制器總體設(shè)計(jì)方案</p><p>  由溫度傳感器檢測(cè)溫度,通過(guò)A/D轉(zhuǎn)換器將檢測(cè)信號(hào)轉(zhuǎn)換成數(shù)字量,進(jìn)而利用89C51單片機(jī)對(duì)采集的溫度信號(hào)進(jìn)行判斷與調(diào)節(jié),通過(guò)顯示模塊顯示當(dāng)前溫度值,當(dāng)監(jiān)測(cè)到蔬菜大棚溫度超過(guò)上限報(bào)警值

18、時(shí),可開(kāi)啟220V供電的排風(fēng)扇降溫;當(dāng)溫度低于下限報(bào)警值時(shí),可開(kāi)啟加熱引風(fēng)機(jī)提高溫室內(nèi)的溫度,直至符合要求時(shí)為止。</p><p>  圖2-1 總體方案框圖</p><p>  圖2-2 各模塊與89C51單片機(jī)的關(guān)系</p><p>  表2-1 各模塊功能</p><p><b>  CPU的選擇</b><

19、/p><p>  單片微型計(jì)算機(jī)簡(jiǎn)稱(chēng)單片機(jī),又稱(chēng)微控制器,嵌入式微控制器等。它把中央處理器、存儲(chǔ)器、輸入/輸出接口電路以及定時(shí)器計(jì)數(shù)器集成在一塊芯片上,構(gòu)成一個(gè)完整的微型計(jì)算機(jī)。因而單片機(jī)具有性?xún)r(jià)比高、可靠性高、控制功能強(qiáng)大、功耗低、結(jié)構(gòu)簡(jiǎn)單易于擴(kuò)展等優(yōu)異特點(diǎn),在智能化儀表、機(jī)電一體化產(chǎn)品、測(cè)控系統(tǒng)、計(jì)算機(jī)網(wǎng)絡(luò)及通信技術(shù)、家用電器等各大領(lǐng)域均有廣泛的應(yīng)用。</p><p>  本文選用AT89

20、C51單片機(jī)作為應(yīng)用CPU,它由8個(gè)部件組成,即中央處理器,片內(nèi)數(shù)據(jù)存儲(chǔ)器,輸入/輸出接口,可編程串行口,定時(shí)/計(jì)數(shù)器,中斷系統(tǒng)及特殊功能寄存器,各部分通過(guò)內(nèi)部總線相連。其基本結(jié)構(gòu)依然是通用CPU加上外圍芯片的結(jié)構(gòu)模式,但在功能單元的控制上,卻采用了特殊功能寄存器的集中控制方法。它的引腳結(jié)構(gòu)如圖2-3所示。</p><p><b>  數(shù)據(jù)存儲(chǔ)器擴(kuò)展</b></p><p

21、>  89C51片內(nèi)有128B的RAM存儲(chǔ)器,在實(shí)際應(yīng)用中僅靠這128B的數(shù)據(jù)存儲(chǔ)器是遠(yuǎn)遠(yuǎn)不夠的。這種情況下可利用89C51單片機(jī)所具有的擴(kuò)展功能,擴(kuò)展外部數(shù)據(jù)存儲(chǔ)器。89C51單片機(jī)最大可擴(kuò)展64KB RAM。</p><p>  本文中采用6264進(jìn)行數(shù)據(jù)存儲(chǔ)器擴(kuò)展。6264是8K×8位靜態(tài)隨機(jī)存儲(chǔ)器,采用CMOS工藝制造,單一+5V電源供電,額定功耗200mW,典型存取時(shí)間200ns,為28

22、線雙列直插式封裝。</p><p>  6264與89C51的硬件連接圖如圖2-4所示。</p><p><b>  復(fù)位電路設(shè)計(jì)</b></p><p>  復(fù)位是單片機(jī)的初始化操作。單片機(jī)系統(tǒng)在上電啟動(dòng)運(yùn)行時(shí),都需要先復(fù)位,其作用是使CPU和系統(tǒng)中其他部件都處于一個(gè)確定的初始狀態(tài),并從這個(gè)狀態(tài)開(kāi)始工作。因此,復(fù)位是一個(gè)很重要的操作方式。但單

23、片機(jī)本身不能自動(dòng)復(fù)位的,必須配合相應(yīng)的外部復(fù)位電路才能實(shí)現(xiàn)的。</p><p>  當(dāng)89C51通電,時(shí)鐘電路開(kāi)始工作,在單片機(jī)的RST引腳加上大于24個(gè)時(shí)鐘周期以上的正脈沖,系統(tǒng)即初始復(fù)位。初始化后,程序計(jì)數(shù)器PC指向0000H,P0`P3輸出口全部為高電平,堆棧指針寫(xiě)入07H,其他專(zhuān)用寄存器被清0。RST由高電平降為低電平后,系統(tǒng)從0000H地址開(kāi)始執(zhí)行程序。</p><p><

24、b>  時(shí)鐘電路設(shè)計(jì)</b></p><p>  單片機(jī)的各個(gè)功能部件的運(yùn)行都是以時(shí)鐘控制信號(hào)為基準(zhǔn),有條不紊的一拍一拍的工作。因此,時(shí)鐘頻率直接影響到單片機(jī)的速度。設(shè)計(jì)晶振電路如下圖。</p><p>  其中,復(fù)電容參數(shù)值:C1=C2=30pF</p><p>  晶振頻率為12MHz。</p><p><b>

25、;  CPU最小系統(tǒng)圖</b></p><p>  CPU最小系統(tǒng)圖由89C51單片機(jī)、數(shù)據(jù)擴(kuò)展芯片、時(shí)鐘電路和復(fù)位電路構(gòu)成。</p><p>  89C51單片機(jī)最小系統(tǒng)復(fù)位電路的極性電容C1的大小直接影響單片機(jī)的復(fù)位時(shí)間,89C51單片機(jī)最小系統(tǒng)容值越大需要的復(fù)位時(shí)間越短。</p><p>  89C51單片機(jī)最小系統(tǒng)晶振的振蕩頻率直接影響單片機(jī)的處

26、理速度,頻率越大處理速度越快。下圖為CPU最小系統(tǒng)圖(省略了數(shù)據(jù)存儲(chǔ)器的擴(kuò)展部分)。</p><p>  溫度控制輸入輸出接口電路設(shè)計(jì)</p><p><b>  溫度傳感器的選擇</b></p><p>  傳統(tǒng)的模擬式溫度傳感器,如熱電阻、熱敏電阻,在一些溫度范圍內(nèi)線性不好,需要經(jīng)行冷端補(bǔ)償或引線補(bǔ)償;集成模擬溫度傳感器與之相比,具有靈敏度

27、高、線性度好、響應(yīng)速度快等優(yōu)點(diǎn),而且它還將驅(qū)動(dòng)電路、信號(hào)處理電路以及需要的邏輯控制電路集成在單片IC上,有尺寸小,使用方便等優(yōu)點(diǎn)。常見(jiàn)的模擬溫度傳感器有LM3911、LM335、LM45、AD22103電壓輸出型、AD590電流輸出型。經(jīng)比較,本設(shè)計(jì)的溫度傳感器選用AD590。</p><p>  AD590是電流輸出型的集成溫度傳感器,具有測(cè)溫誤差小、動(dòng)態(tài)阻抗高、響應(yīng)速度快、傳輸距離遠(yuǎn)、體積小、微功耗等優(yōu)點(diǎn),適

28、合遠(yuǎn)距離測(cè)溫、控溫,不需要進(jìn)行非線性校準(zhǔn)。其工作電壓范圍較寬(4~30 V),測(cè)溫范圍為-55~150 ℃,輸出電阻較大,長(zhǎng)導(dǎo)線上的壓降一般不影響測(cè)量精度,因此不需要專(zhuān)門(mén)的溫度補(bǔ)償電路。流過(guò)AD590 的電流等于所處環(huán)境的熱力學(xué)溫度系數(shù)。它只需要一個(gè)電源即可實(shí)現(xiàn)溫度到電流的線性變換,然后再終端使用一只取樣電阻,即可實(shí)現(xiàn)電流到電壓的轉(zhuǎn)換。它使用方便,并且具有較高的精度。下圖為AD590的基本應(yīng)用電路。</p><p&g

29、t;  溫度檢測(cè)接口電路設(shè)計(jì)</p><p><b>  A/D轉(zhuǎn)換器選擇</b></p><p>  由于溫度是一種模擬信號(hào),則由信號(hào)采集電路采集的信號(hào)是一種模擬信號(hào),而且頻率很低,但是單片機(jī)所識(shí)別的是具有高低電位的數(shù)字信號(hào),這就要求在信號(hào)處理中必須把模擬信號(hào)轉(zhuǎn)換成數(shù)字信號(hào)從而輸出給單片機(jī)處理。</p><p>  ADC0809是采樣分辨率

30、為8位的、以逐次逼近原理進(jìn)行的A/D轉(zhuǎn)換器件。內(nèi)有一個(gè)8通道多路開(kāi)關(guān)以及微處理機(jī)兼容的控制邏輯的CMOS組件。它由比較器、逐次逼近器、A/D轉(zhuǎn)換器及控制和定時(shí)5部分組成,輸出具有TTL三態(tài)鎖存緩沖器,可以直接連到單片機(jī)數(shù)據(jù)總線上。</p><p>  ADC0809的最大不可調(diào)誤差為±1LSB。</p><p>  模擬量檢測(cè)接口電路圖</p><p> 

31、 模擬量檢測(cè)接口電路由A/D轉(zhuǎn)換器、89C51單片機(jī)和溫度傳感器組成。整體接線圖如下圖所示:</p><p><b>  溫度控制電路設(shè)計(jì)</b></p><p>  在本設(shè)計(jì)中,被測(cè)溫度信號(hào)經(jīng)采樣處理后,還需要通過(guò)單片機(jī)系統(tǒng)的P1.2口輸出用以控制蔬菜大棚的溫度,通過(guò)這種方式達(dá)到控制的目的??刂频姆绞街饕心M量控制和開(kāi)關(guān)量控制。本系統(tǒng)采用的是開(kāi)關(guān)量控制。所謂的開(kāi)關(guān)

32、量控制就是通過(guò)控制設(shè)備的“開(kāi)”或“關(guān)”狀態(tài)的時(shí)間來(lái)達(dá)到控制的目的。</p><p>  本設(shè)計(jì)采用繼電器作為控制電路的主要器件,繼電器具有一定的隔離作用,在繼電器前面加一個(gè)三極管用以放大輸出信號(hào)就可以驅(qū)動(dòng)繼電器的閉合和斷開(kāi),從而實(shí)現(xiàn)弱電控制強(qiáng)電的效果。本設(shè)計(jì)采用直流驅(qū)動(dòng)電壓為+5V的繼電器。觸電輸出部分可以直接與市電連接??刂齐娐啡鐖D3-3所示:</p><p>  人機(jī)對(duì)話接口電路設(shè)計(jì)&

33、lt;/p><p><b>  按鍵電路設(shè)計(jì)</b></p><p>  非編碼鍵盤(pán)可以分為兩種結(jié)構(gòu)形式:獨(dú)立式按鍵和行列式按鍵,獨(dú)立式按鍵的電路的結(jié)構(gòu)和處理程序簡(jiǎn)單,擴(kuò)展方便,但占用的I/O口線相對(duì)較多,不適合在按鍵數(shù)量較多的場(chǎng)合下采用。</p><p>  本設(shè)計(jì)有三個(gè)按鍵,共需要三個(gè)I/O口線,占用的口線不多,因此可以采用獨(dú)立式按鍵。<

34、/p><p><b>  設(shè)計(jì)按鍵電路如圖。</b></p><p><b>  顯示電路設(shè)計(jì)</b></p><p>  在本設(shè)計(jì)中系統(tǒng)的顯示采用七段數(shù)碼管作為顯示器件。 </p><p>  圖3-5 LED數(shù)碼管</p><p>  發(fā)光二極管的陽(yáng)極連在一起稱(chēng)為共

35、陽(yáng)極顯示器,陰極連在一起稱(chēng)為共陰極顯示器。一位顯示器由八個(gè)發(fā)光二極管組成,其中,7個(gè)發(fā)光二級(jí)管構(gòu)成字形“8”的各個(gè)比劃(段)a~g,另一個(gè)小數(shù)點(diǎn)為dp發(fā)光二極管。當(dāng)在某段發(fā)光二極管施加一定的正向電壓時(shí),該段比劃即點(diǎn)亮,不加電壓則該段二極管不亮。為了保護(hù)各段LED不被損壞,需要外加限流電阻。</p><p>  蔬菜大棚溫度控制軟件設(shè)計(jì)</p><p><b>  軟件實(shí)現(xiàn)功能綜述

36、</b></p><p>  本課設(shè)要實(shí)現(xiàn)的是蔬菜大棚溫度控制。由89C51單片機(jī)和其他一些器件組成的控制系統(tǒng),要實(shí)現(xiàn)的軟件功能是將蔬菜大棚中的溫度信息通過(guò)溫度檢測(cè)模塊傳送給89C51單片機(jī),途中利用A/D轉(zhuǎn)換器將模擬信號(hào)轉(zhuǎn)換為數(shù)字信號(hào),讓單片機(jī)識(shí)別,并顯示。然后溫度進(jìn)行判斷,進(jìn)行調(diào)節(jié),通過(guò)顯示模塊顯示溫度,使大棚中的的溫度一直維持在適合蔬菜生長(zhǎng)的條件下。</p><p>&l

37、t;b>  流程圖設(shè)計(jì)</b></p><p><b>  主程序流程圖設(shè)計(jì)</b></p><p>  溫度信號(hào)通過(guò)溫度檢測(cè)模塊傳送給89C51單片機(jī),途中利用A/D轉(zhuǎn)換器將模擬信號(hào)轉(zhuǎn)換為數(shù)字信號(hào),讓單片機(jī)識(shí)別,并處理,然后溫度進(jìn)行判斷,進(jìn)行調(diào)節(jié)。</p><p>  圖4-1 主程序流程圖</p><p

38、><b>  溫度調(diào)節(jié)流程圖設(shè)計(jì)</b></p><p>  圖4-2 加熱調(diào)節(jié)流程圖 圖4-3 降溫調(diào)節(jié)流程圖</p><p><b>  程序清單</b></p><p>  ENABLEEQU00H</p><p>  DTSIGNE

39、QU01H</p><p>  SDSIGNEQU02H</p><p>  HAVEEQU03H;DS18B20有無(wú)</p><p>  PSHUEQU04H</p><p>  LED0EQUP2.0</p><p>  LED1EQUP2.1</p><p&g

40、t;  LED2EQUP2.2</p><p>  WR1820EQUP2.6</p><p>  SEGEQUP0;顯示</p><p>  WARNH0EQU31H;溫度上限</p><p>  WARNH1EQU32H;溫度下限</p><p>  TEMP0EQU34

41、H;溫度小數(shù)部分</p><p>  TEMP1EQU35H;溫度整數(shù)部分</p><p>  DIS0EQU36H;小數(shù)位</p><p>  DIS1EQU37H;個(gè)位</p><p>  DIS2EQU38H;十位</p><p>  DIS3EQU39H;百位&

42、lt;/p><p>  ORG0000H</p><p>  AJMPMAIN</p><p>  ORG000BH</p><p>  AJMPT0INT</p><p>  ORG0023H</p><p>  AJMPS_INT</p><p&

43、gt;<b>  主程序</b></p><p>  ORG0030H</p><p><b>  MAIN:</b></p><p>  MOVSP,#40H;堆棧棧底放50H</p><p>  MOVWARNH0,#25H</p><p>  MOV

44、WARNH1,#18H</p><p>  CALLT0INIT;初始化T0</p><p>  CALLSCANKEY;掃描鍵盤(pán)</p><p>  CLRENABLE;清使能標(biāo)志</p><p>  CLRDTSIGN;清數(shù)據(jù)標(biāo)志</p><p>  LCALLINT_EN<

45、;/p><p><b>  LOOP:</b></p><p>  CALLDISPLY;調(diào)用顯示子程序</p><p>  AJMPLOOP ;T0初始化</p><p><b>  TOINIT:</b></p><p>  ORLTMOD,#01H</

46、p><p>  ANLTMOD,#F1H</p><p>  MOVTH0,#3CH</p><p>  MOVTL0,#B0H</p><p>  MOVR7,#15H;軟件計(jì)數(shù)初值</p><p>  RET ;開(kāi)中斷子程序</p><p><b&g

47、t;  INT_EN:</b></p><p><b>  SETBEA</b></p><p>  SETBET0;開(kāi)T0中斷</p><p><b>  STEBTR0</b></p><p>  RET ;關(guān)中斷子程序</p>

48、<p><b>  INT_DS:</b></p><p>  CLRET0;關(guān)T0中斷</p><p>  CLRTR0;T0停止計(jì)數(shù)</p><p>  RET ;顯示子程序</p><p><b>  DISPLY:</b><

49、;/p><p><b>  PUSHACC</b></p><p><b>  PUSH06H</b></p><p>  MOVA,TEMP1;溫度整數(shù)部分送A</p><p><b>  DISPLY1:</b></p><p>  MOVB,

50、#100H</p><p>  DIVAB;相除取百位</p><p>  MOVDIS3,A;百位送DIS3</p><p>  MOVA,B;余數(shù)送A</p><p>  MOVB,#10H</p><p>  DIVAB;相除取十位</p><p>  M

51、OVDIS2,A;十位送DIS2</p><p>  MOVDIS1,B;個(gè)位送DIS1</p><p>  MOVDIS0,TEMP0;小數(shù)部分送DIS0</p><p>  MOVDPTR,#ZIXING;送字形碼首地址</p><p>  MOVA,DIS0;取小數(shù)</p><p>

52、  MOVCA,@A+DPTR;取對(duì)應(yīng)字形碼</p><p><b>  MOVP0,A</b></p><p><b>  SETBLED0</b></p><p><b>  SETBLED1</b></p><p><b>  SETBLED2<

53、;/b></p><p><b>  CLRLED0</b></p><p>  MOVSEG,A;送字形碼</p><p>  CALLDELAY0</p><p>  MOVA,DIS1;取個(gè)位</p><p>  MOVCA,@A+DPTR;取對(duì)應(yīng)字形碼<

54、;/p><p><b>  MOVP0,A</b></p><p>  CLRACC.7;清最高位顯示小數(shù)點(diǎn)</p><p><b>  SETBLED0</b></p><p><b>  SETBLED1</b></p><p><b&g

55、t;  SETBLED2</b></p><p><b>  CLRLED1</b></p><p>  MOVSEG,A ;送字形碼</p><p>  CALLDELAY0</p><p>  MOVA,DIS2;取十位</p><p>  MOVCA,

56、@A+DPTR;取對(duì)應(yīng)字形碼</p><p><b>  MOVP0,A</b></p><p><b>  OUTDIS:</b></p><p><b>  POP06H</b></p><p><b>  POPACC</b></

57、p><p><b>  RET</b></p><p><b>  ZIXING: </b></p><p>  DB 03FH,006H,05BH,04FH,66H,6DH,7DH,078H 7FH,6FH;共陽(yáng)數(shù)碼管但是加了uln2803才使用共陰極數(shù)碼管字型碼</p><p><b> 

58、??;延時(shí)子程序</b></p><p><b>  DELAY0:</b></p><p>  MOVR6,#1FH</p><p><b>  DEL0:</b></p><p>  MOVR5,#0BH</p><p><b>  DEL1:

59、</b></p><p><b>  NOP</b></p><p>  DJNZR5,DEL1</p><p>  DJNZR6,DEL0</p><p><b>  RET</b></p><p><b> ??;鍵盤(pán)子程序</b>

60、</p><p><b>  SCANKEY:</b></p><p><b>  ACALLKEY</b></p><p>  JNBF0,LNEXT</p><p>  ACALLKEYPROC</p><p><b>  LNEXT:</b&g

61、t;</p><p>  AJMPSCANKEY</p><p><b>  DELAY:</b></p><p>  MOVR7,#100H</p><p>  D1:MOVR6,#100H</p><p><b>  DJNZR6,$</b></p&

62、gt;<p>  DJNZR7,D1</p><p><b>  RET</b></p><p><b>  KEYPROC:</b></p><p><b>  MOVA,B</b></p><p>  JBACC.0,KEYS1</p>

63、<p>  JBACC.1KEYS2</p><p>  JBACC.2,KEYS3</p><p>  JBACC.3,KEYS4</p><p>  AJMPKEY_RET</p><p><b>  KEYS1:</b></p><p><b>  SETBS

64、1</b></p><p>  AJMPKEY_RET</p><p><b>  KEYS2:</b></p><p><b>  SETBS2</b></p><p>  AJMPKEY_RET</p><p><b>  KEYS3:&l

65、t;/b></p><p><b>  SETBS3</b></p><p>  AJMPKEY_RET</p><p><b>  KEYS4:</b></p><p><b>  SETBS4</b></p><p>  AJMPKE

66、Y_RET</p><p><b>  KEY_RET:</b></p><p><b>  RET</b></p><p><b>  KEY:</b></p><p><b>  CLRF0</b></p><p> 

67、 ORLP1,#00001111B</p><p><b>  MOVA,P1</b></p><p>  ORLA,#11110000B</p><p><b>  CPLA</b></p><p><b>  JZK_RET</b></p>&l

68、t;p>  CALLDELAY</p><p>  ORLA,#00001111B</p><p><b>  MOVA,P1</b></p><p>  ORLA,#11110000B</p><p><b>  CPLA</b></p><p><

69、b>  JZK_RET</b></p><p><b>  MOVB,A</b></p><p><b>  SETBF0</b></p><p><b>  K_RET:</b></p><p>  ORLP1,#00001111B</p

70、><p><b>  MOVA,P1</b></p><p><b>  ORLA</b></p><p>  JZK_RET1</p><p>  AJMPK_RET</p><p><b>  K_RET1:</b></p>&

71、lt;p>  CALLDELAY</p><p><b>  RET</b></p><p>  S1:INCC</p><p>  JBC#1,T1</p><p>  JBC#2,T2</p><p>  JBC#3,T3</p><p>

72、<b>  RET</b></p><p>  S2:MOVA,31H</p><p><b>  INCA</b></p><p><b>  AJMPS4</b></p><p>  S3:MOVB,32H</p><p>&l

73、t;b>  DECB</b></p><p><b>  AJMPS4</b></p><p>  S4:MOVA,31H</p><p>  MOVB,32H</p><p><b>  RET</b></p><p>  T1:M

74、OVA,WARNH0</p><p>  AJMPDISPLY1</p><p>  T2: MOVA,WARNH1</p><p>  AJMPDISPLY1</p><p>  T3:AJMPDISPLY1</p><p><b>  CLRC</b></p>

75、;<p><b>  AJMPS1</b></p><p><b>  RET</b></p><p><b> ?。籘0中斷子程序</b></p><p><b>  T0INT:</b></p><p><b>  PUS

76、HACC</b></p><p><b>  PUSH06H</b></p><p><b>  PUSH05H</b></p><p>  MOVTL0,#B0H</p><p>  MOVTH0,#3CH</p><p>  DJNZR7,OU

77、TSINT</p><p>  MOVR7,#15H</p><p>  LCALLGET_TEMPER;讀取溫度</p><p>  JNBHAVE,OUTT0INT</p><p>  MOVA,TEMP1</p><p><b>  CLRC</b></p&g

78、t;<p>  SUBBA,WARNH0;將讀取的溫度與高溫限比較</p><p>  TINT0:JNZT1NT1;判斷是否大于高溫限</p><p>  AJMPT1NT2;不大于轉(zhuǎn)T1NT2’</p><p>  T1NT1:CLRP2.3</p><p>  CLR

79、P2.4</p><p>  AJMPTINT4</p><p>  TINT2:SUBBA,WARNH1;將讀取的溫度與低溫限比較</p><p>  JCTINT3;判斷是否小于低溫限</p><p>  AJMPTINT4;不小于轉(zhuǎn)TINT4</p><p>  T

80、INT3:CLRP2.3</p><p><b>  CLRP2.5</b></p><p>  AJMPTINT4</p><p>  TINT4:CALLPRO;處理數(shù)據(jù)</p><p>  OUTT0INT:</p><p><b>  POP

81、05H</b></p><p><b>  POP06H</b></p><p><b>  POPACC</b></p><p><b>  RETI</b></p><p>  從18B20獲得溫度數(shù)據(jù)程序</p><p> 

82、 GET_TEMPER:</p><p>  CALLINI_18B20;操作前先復(fù)位</p><p>  JBHAVE,GET0;若18B20存在則轉(zhuǎn)</p><p>  MOVTEMP0,#0FH;數(shù)碼管顯示000</p><p>  MOVTEMP1,#00H</p><p>  AJMP

83、OUTGET;退出</p><p><b>  GET0:</b></p><p>  MOVA,#CCH;跳過(guò)ROM匹配</p><p>  CALLWR_18B20</p><p>  MOVA,#44H;開(kāi)始轉(zhuǎn)化</p><p>  CALLWR_18B20<

84、;/p><p>  MOVR6,#11H;延遲約800ms</p><p><b>  GET1:</b></p><p>  LCALLDISPLY</p><p>  DJNZR6,GET1</p><p>  CALLINI_18B20;操作前先復(fù)位</p>&l

85、t;p>  MOVA,#CCH;跳過(guò)ROM匹配</p><p>  CALLWR_18B20</p><p>  MOVA,#0BEH;讀取命令</p><p>  CALLWR_18B20</p><p>  CALLRD_18B20;開(kāi)始讀取ROM</p><p>  OUTGET:

86、RET</p><p> ??;18B20復(fù)位程序</p><p>  INI_18B20:</p><p>  SETBWR_18B20</p><p><b>  NOP</b></p><p>  CLRWR_18B20;拉低數(shù)據(jù)線</p><p>  MOV

87、R6,#3H ;延遲約500us</p><p><b>  INI1:</b></p><p>  MOVR5,#75H</p><p><b>  DJNZR5,$</b></p><p>  DJNZR6,INI1</p><p>  SETBWR_1

88、8B20;然后釋放</p><p><b>  NOP</b></p><p><b>  NOP</b></p><p>  MOVR5,#25H</p><p>  INI2:JNBWR_18B20,INI3;等待18B20回應(yīng)</p><p>  DJN

89、ZR5,INI2</p><p>  AJMPINI4;延時(shí)</p><p>  INI3:SETBHAVE;置標(biāo)志位,表示18B20存在</p><p><b>  AJMPINI5</b></p><p>  INI4:CLRHAVE ;消標(biāo)志位,表示18B20不存在&

90、lt;/p><p><b>  LJMPINI7</b></p><p>  INI5:MOVR5,#90H</p><p>  INI6:DJNZR5,INI6;時(shí)序要求延時(shí)一段時(shí)間</p><p>  INI7:SETBWR_18B20</p><p>  RET

91、;18B20寫(xiě)程序</p><p>  WR_18B20: </p><p>  MOV R6,#8H ;一共8位數(shù)據(jù)</p><p>  CLR C </p><p><b>  WR1: </b></p><p>  CLR WR_18B20

92、 :拉低數(shù)據(jù)線</p><p>  MOV R5,#6H ;延遲約17us </p><p><b>  DJNZR5,$</b></p><p>  RRCA;右移數(shù)據(jù)到CY</p><p>  MOVWR_18B20,C;寫(xiě)入18B20</p>&

93、lt;p>  MOVR5,#25H;保持電平35us</p><p><b>  DJNZR5,$</b></p><p>  SETBWR_18B20;釋放數(shù)據(jù)線</p><p><b>  NOP</b></p><p>  DJNZR6,WR1;若未完成寫(xiě)入,繼續(xù)SETBW

94、R_18B20;釋放數(shù)據(jù)線</p><p><b>  RET</b></p><p>  ;18B20讀程序(高位寸TEMP1,低位存TEMP0)</p><p><b>  RD_18B20:</b></p><p>  MOVR6,#2H;需要讀2個(gè)字節(jié)的數(shù)據(jù)</p>&l

95、t;p>  MOVR0,#TEMP0;送高位首地址</p><p><b>  RD0:</b></p><p>  MOVR5,#8H;讀8位數(shù)據(jù)</p><p><b>  RD1:</b></p><p>  CLRC;清CY,為讀數(shù)據(jù)做準(zhǔn)備</p>

96、<p>  SETBWR_18B20</p><p><b>  NOP</b></p><p>  CLRWR_18B20;拉低數(shù)據(jù)線</p><p><b>  NOP</b></p><p>  SETBWR_18B20;釋放數(shù)據(jù)線</p><p&g

97、t;  MOVR4,#08H;稍作延遲</p><p><b>  DJNZR4,$</b></p><p>  MOVC,WR_18B20;讀數(shù)據(jù)線數(shù)據(jù)到C</p><p>  MOVR4,#23H;延遲</p><p><b>  DJNZR4,$</b></p>

98、<p>  RRCA;右移CY數(shù)據(jù)到A</p><p>  DJNZR5,RD1;若8位沒(méi)讀完,轉(zhuǎn)RD1</p><p>  MOV@R0,A;將讀到數(shù)據(jù)送ROM</p><p>  INCR0;ROM指針加一</p><p>  DJNZR6,RD0;若2字節(jié)未讀完,轉(zhuǎn)RD0</p>

99、<p><b>  RET</b></p><p><b>  ;獲得數(shù)據(jù)處理程序</b></p><p><b>  PRO:</b></p><p>  MOV21H,TEMP0;溫度低8位存位尋址區(qū)21H</p><p>  MOV22H,TEMP1

100、;溫度高8位存位尋址區(qū)22H</p><p>  MOVA,22H;高8位數(shù)據(jù)送A</p><p>  SWAPA;交換高低4位保護(hù)數(shù)據(jù)</p><p>  MOVC,0FH;將21H第7位送ACC第3位</p><p>  MOVACC.3,C</p><p>  MOVC,0EH<

101、;/p><p>  MOVACC.2,C</p><p>  MOVC,0DH</p><p>  MOVACC.1,C</p><p>  MOVC,0CH</p><p>  MOVACC.0,C</p><p>  MOVTEMP1,A</p><p>

102、;  MOVA,TEMP0</p><p>  ANLA,#0FH</p><p>  MOVDPTR,#XIAOSHU</p><p>  MOVCA,@A+DPTR</p><p>  MOVTEMP0,A</p><p>  MOVA,TEMP1</p><p>  CJNE

103、A,#128,FSHU;判斷是否為負(fù)溫度</p><p><b>  CLRC</b></p><p><b>  FSHU:</b></p><p>  JCNOTFU;不是負(fù)數(shù)轉(zhuǎn)NOTFU</p><p>  ADDA,#01H</p><p><

104、b>  CPLA</b></p><p>  SETBFSHU;負(fù)數(shù)標(biāo)致位置1</p><p>  NOTFU:CLRFSHU</p><p>  OUTPRO:RET</p><p><b>  XIAOSHU:</b></p><p>  DB 00H

105、00H 01H 02H 03H 03H 04H 04H 05H 06H ;小數(shù)部分轉(zhuǎn)化為BCD表</p><p><b>  END</b></p><p><b>  系統(tǒng)設(shè)計(jì)與分析</b></p><p><b>  系統(tǒng)原理圖</b></p><p><b>

106、;  課程設(shè)計(jì)總結(jié)</b></p><p>  本設(shè)計(jì)是以溫度采集及控制過(guò)程設(shè)計(jì)為總目標(biāo),以89C51單片機(jī)最小應(yīng)用系統(tǒng)為總控制中心,輔助設(shè)計(jì)有溫度檢測(cè)電路、A/D轉(zhuǎn)換電路、鍵盤(pán)電路、數(shù)碼管顯示電路、控溫電路等。</p><p>  89C51單片機(jī)把中央處理器、存儲(chǔ)器、輸入/輸出接口電路以及定時(shí)器計(jì)數(shù)器集成在一塊芯片上,具有體積小、功耗低、價(jià)格低廉、抗干擾能力強(qiáng)且可靠性高等特

107、點(diǎn)。</p><p>  89C51單片機(jī)最小系統(tǒng)由89C51單片機(jī)、數(shù)據(jù)擴(kuò)展芯片、時(shí)鐘電路和復(fù)位電路構(gòu)成,形成了總控制中心,對(duì)數(shù)據(jù)進(jìn)行處理。本文中詳細(xì)介紹了89C51的引腳功能,為正確使用89C51提供了條件,同時(shí)也對(duì)最小系統(tǒng)中的替他部分進(jìn)行了說(shuō)明及描述。</p><p>  輸入輸出接口電路包含溫度傳感器、A/D轉(zhuǎn)換器、鍵盤(pán)電路和顯示電路。溫度信號(hào)通過(guò)溫度傳感器,經(jīng)過(guò)A/D轉(zhuǎn)換器,將模

108、擬信號(hào)變?yōu)閿?shù)字信號(hào),送入89C51單片機(jī)中,對(duì)數(shù)據(jù)進(jìn)行處理,再由溫度調(diào)節(jié)模塊對(duì)溫度進(jìn)行合理的調(diào)節(jié)、控制,由數(shù)碼管顯示電路顯示溫度數(shù)值,方便直觀的了解大棚中的溫度情況。</p><p>  最后對(duì)89C51單片機(jī)進(jìn)行軟件編程,完成本文研究的內(nèi)容,即蔬菜大棚的溫度控制設(shè)計(jì)。</p><p><b>  參考文獻(xiàn)</b></p><p>  [1]

109、梅麗鳳等.單片機(jī)原理及接口技術(shù).清華大學(xué)出版社,2009.7</p><p>  [2] 趙晶.Prote199高級(jí)應(yīng)用.人民郵電出版社,2000 </p><p>  [3] 于海生.微型計(jì)算機(jī)控制技術(shù).清華大學(xué)出版社,2003.4</p><p>  [4] 隋振.單片機(jī)應(yīng)用與編程技術(shù).中國(guó)電力出版社,2009</p><p>  [5]

110、 馮國(guó)民.如何調(diào)節(jié)蔬菜大棚的溫濕度及光照.吉林農(nóng)業(yè)出版社,2006</p><p>  [6] 周堅(jiān).片機(jī)輕松入門(mén).北京更空橫田大學(xué)出版社,2010</p><p>  [7] 王慶利,袁建敏.單片機(jī)設(shè)計(jì)案例實(shí)踐教程.郵電大學(xué)出版社,2008</p><p>  [8] 沈紅衛(wèi).基于單片機(jī)的智能系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn).電子工業(yè)出版社,2005</p><

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論