大棚溫濕度自動控制系統(tǒng)設(shè)計-畢業(yè)設(shè)計
《大棚溫濕度自動控制系統(tǒng)設(shè)計-畢業(yè)設(shè)計》由會員分享,可在線閱讀,更多相關(guān)《大棚溫濕度自動控制系統(tǒng)設(shè)計-畢業(yè)設(shè)計(56頁珍藏版)》請在裝配圖網(wǎng)上搜索。
西華大學(xué)畢業(yè)設(shè)計說明書 大棚溫濕度自動控制系統(tǒng)設(shè)計 摘 要 本設(shè)計是基于 STC89C52RC 單片機(jī)的大棚溫濕度自動控制系統(tǒng) 采用 SHT10 作為溫濕度傳感器 LCD1602 液晶屏進(jìn)行顯示 SHT10 使用類似于 I2C 總線的 時序與單片機(jī)進(jìn)行通信 由于它高度集成 已經(jīng)包括 A D 轉(zhuǎn)換電路 所以使用方便 而且準(zhǔn)確 耐用 LCD1602 能夠分兩行顯示數(shù)據(jù) 第一行顯示溫度 第二行顯示濕度 這個控制系統(tǒng)能夠測量溫室大棚中的溫度和濕度 將其顯示在液晶屏 LCD1602 上 同 時將其與設(shè)定值進(jìn)行對比 如果超出上下限 將進(jìn)行報警并啟動溫濕度調(diào)節(jié)設(shè)備 此 外 還可以通過獨立式鍵盤對設(shè)定的溫濕度進(jìn)行修改 通過設(shè)計系統(tǒng)原理圖 用 Proteus 軟件進(jìn)行仿真 證明了該系統(tǒng)的可行性 關(guān)鍵詞 STC89C52RC SHT10 I 2C 總線 獨立式鍵盤 溫濕度自動控制 Abstract This design is an automatic temperature and humidity controller for greenhouses with the STC89C52RC MCU being its main controller It uses the SHT10 as the temperature and humidity sensor and the LCD1602 to display the messages The SHT10 uses a timing sequence much like the I2C to communicate with the micro controller Because it s a highly integrated chip it already includes an analog to digital converter Therefore it s quite convenient to use and also accurate and durable The LCD1602 can display two lines of messages with the first line for temperature and the second line for humidity The design can measure the temperature and humidity in a greenhouse and then display it on a LCD1602 Meanwhile it compares the data with the set limit If the limit is exceeded then the system will send out a warning using a buzzer and activate the temperature and humidity controlling equipment Besides the set limit can be modified with the independent keyboard Through schematic design and Proteus simulation the feasibility of this design has been proved Keywords STC89C52RC SHT10 I2C bus independent keyboard temperature and humidity control 西華大學(xué)畢業(yè)設(shè)計說明書 目 錄 1 前言 1 2 總體方案設(shè)計 3 2 1 溫濕度控制系統(tǒng)的設(shè)計指標(biāo)要求 3 2 2 系統(tǒng)設(shè)計的原則 3 2 2 1 可靠性 3 2 2 2 性價比 3 2 3 方案比較 4 2 3 1 方案一 4 2 3 2 方案二 4 2 4 方案論證 5 2 5 方案選擇 5 3 單元模塊設(shè)計 6 3 1 各單元模塊功能介紹及電路設(shè)計 6 3 1 1 單片機(jī)最小系統(tǒng) 6 3 1 2 液晶顯示模塊 8 3 1 3 溫濕度傳感器模塊 8 3 1 4 報警電路的設(shè)計 9 3 1 5 輸出電路設(shè)計 10 3 1 6 電源的設(shè)計 12 3 1 7 按鍵電路設(shè)計 13 3 1 8 串口通信電路 14 3 2 元件清單 15 3 3 關(guān)鍵器件的介紹 17 3 3 1 STC89C52RC 17 3 3 2 SHT10 溫濕度傳感器 19 4 系統(tǒng)軟件設(shè)計 22 4 1 軟件設(shè)計的總體結(jié)構(gòu) 22 4 2 主要模塊的設(shè)計流程框圖 24 4 2 1 主程序流程圖 24 4 2 2 SHT10 子程序流程圖 25 西華大學(xué)畢業(yè)設(shè)計說明書 4 2 3 LCD1602 子程序流程圖 27 4 2 4 輸出控制子程序流程圖 28 4 2 5 鍵盤掃描子程序流程圖 29 4 3 軟件設(shè)計所用工具 31 4 3 1 Keil uVision4 31 4 3 2 Proteus 31 5 系統(tǒng)調(diào)試 32 5 1 用 Proteus 搭建仿真總圖 32 5 2 用 Keil 對程序進(jìn)行調(diào)試 編譯 33 6 結(jié)論 36 6 1 系統(tǒng)的功能 36 6 2 系統(tǒng)的指標(biāo)參數(shù) 36 6 3 系統(tǒng)功能分析 36 7 總結(jié)與體會 38 8 致謝 39 9 參考文獻(xiàn) 40 附錄 1 系統(tǒng)的電路原理圖 41 附錄 2 系統(tǒng)仿真總圖 42 附錄 3 系統(tǒng)實物照片 43 附錄 4 系統(tǒng)源程序 44 附錄 5 英文參考資料 46 1 中文翻譯 46 2 英文原文 49 第 0 頁 西華大學(xué)畢業(yè)設(shè)計說明書 1 前言 溫室大棚作為一種高效的農(nóng)業(yè)生產(chǎn)方式 與傳統(tǒng)農(nóng)業(yè)生產(chǎn)方式相比具有很大的優(yōu) 點 溫室農(nóng)業(yè)生產(chǎn)可以獲得高產(chǎn)和優(yōu)質(zhì)的蔬菜 花卉 瓜果 不僅可改變這些產(chǎn)品按 自然季節(jié)供應(yīng)的模式 延長其供應(yīng)期 而且可在不同地方進(jìn)行種植 達(dá)到所謂 地不 分東西南北 食不分春夏秋冬 溫室農(nóng)業(yè)可以改變傳統(tǒng)農(nóng)業(yè)勞動力冬閑夏忙的安排 以小面積獲得高產(chǎn) 減輕大面積的土地壓力 溫室農(nóng)業(yè)采用適時適量供水的優(yōu)化用水 同時配以微灌和高濕環(huán)境 可達(dá)到農(nóng)業(yè)用水高效高產(chǎn) 按產(chǎn)品的數(shù)量平均計算 節(jié)省 水分量是很大的 這種設(shè)施系統(tǒng)可以從簡易到全自動控制 適宜各種狀況下的選擇 特別是對于日光溫室 塑料大棚 相對投資較少 若能降低成本 采用經(jīng)久耐用的低 成本采光材料 發(fā)展前景將更為廣闊 即使在一些偏遠(yuǎn)地區(qū)的農(nóng)村 場所 也可以修 建單個的溫室和塑料大棚 進(jìn)行環(huán)境控制下的蔬菜和瓜果的生產(chǎn) 改變這些地區(qū)的生 活條件 要想實現(xiàn)溫室大棚高效增產(chǎn)的作用 對溫濕度的準(zhǔn)確控制是極其重要的 溫室內(nèi) 空氣濕度的日變化受天氣 加溫及通風(fēng)換氣量的影響 陰天或灌水后室內(nèi)空氣濕度幾 乎都在 90 以上 晴天在傍晚關(guān)窗至次日早晨開窗前溫室維持在高濕度 室內(nèi)濕氣遇 冷后凝結(jié)成水滴附著在薄膜或玻璃的內(nèi)表面上 待到加溫或日出后 室內(nèi)溫度上升 濕度逐漸下降 附著在屋頂上的水滴隨之消失 溫濕度的較大變化對農(nóng)作物的生長十 分不利 研究結(jié)果表明 由于植物體內(nèi)水分不足導(dǎo)致氣孔關(guān)閉 首先妨礙了 CO2 的交 換 而使飽和作用顯著下降 特別是在缺水狀況加劇時 給細(xì)胞原生質(zhì)的生化作用帶 來影響 光合作用顯著下降 而溫度在夜間下降過低也會影響光合作用的效率 因此 非常有必要使用一套溫濕度控制系統(tǒng) 以維持溫室大棚內(nèi)的溫度 濕度在 一個合適的范圍 實現(xiàn)大棚內(nèi)農(nóng)作物的水分 養(yǎng)分的有效供給 提高光合作用的效率 從而達(dá)到增產(chǎn)目的 傳統(tǒng)的溫濕度控制是在溫室大棚內(nèi)部懸掛溫 濕度計 通過讀取溫 濕度值進(jìn)而 了解實際的溫度和濕度 然后根據(jù)現(xiàn)檢測的溫濕度與額定值進(jìn)行比較 看溫濕度是否 超過限定值 然后進(jìn)行相應(yīng)的通風(fēng)或者相應(yīng)的灑水 這些操作都是人工的 耗費了大 量的人力以及物力 現(xiàn)在 隨著國家經(jīng)濟(jì)的迅速發(fā)展 農(nóng)業(yè)產(chǎn)業(yè)規(guī)模的進(jìn)一步提高 大棚中培育出的農(nóng)產(chǎn)品品種數(shù)量的逐漸增多 對于數(shù)量較多而又大型的大棚 傳統(tǒng)的 溫濕度控制措施就出現(xiàn)了局限性 這要求我們提高溫濕度檢測與控制技術(shù) 來滿足對 溫室大棚建設(shè)的需要 第 1 頁 西華大學(xué)畢業(yè)設(shè)計說明書 在本設(shè)計中 采用單片機(jī)來控制溫濕度 不僅具有廉價 配置簡單和靈活的優(yōu)勢 而且可以大大提高所測溫濕度的技術(shù)指標(biāo) 從而可以提高產(chǎn)品的數(shù)量和質(zhì)量 單片機(jī) 因為它具有功能強(qiáng) 高可靠性 體積小 造價便宜和開發(fā)周期短這些優(yōu)勢 廣泛用于 自動化測量和控制現(xiàn)場設(shè)備 特別是在日常生活中發(fā)揮的日益重要的作用 這次選用 STC89C52RC 作為主控制器 可以從按鍵電路輸入設(shè)定的溫濕度 通過 溫濕度傳感器 SHT10 對溫度 濕度信號進(jìn)行采集 然后通過 I2C 總線與單片機(jī)通信 并將溫濕度顯示在液晶屏 LCD1602 上 單片機(jī)把它們與設(shè)定的值進(jìn)行對比后決定是否 報警 并啟動空調(diào)設(shè)備對溫濕度進(jìn)行調(diào)節(jié) 第 2 頁 西華大學(xué)畢業(yè)設(shè)計說明書 2 總體方案設(shè)計 2 1 溫濕度控制系統(tǒng)的設(shè)計指標(biāo)要求 本文要設(shè)計的大棚溫濕度自動控制系統(tǒng) 要能夠及時 準(zhǔn)確地對溫室大棚內(nèi)的溫 度 濕度進(jìn)行采集 將其顯示在 LCD1602 液晶顯示器上 然后與設(shè)定的上下限值進(jìn)行 比較 如果超出限制則啟動溫度 濕度控制設(shè)備 并通過蜂鳴器報警 直到溫濕度回 到規(guī)定的范圍 另外 還要能夠通過按鍵修改設(shè)定的上下限 為了能夠滿足農(nóng)業(yè)生產(chǎn) 的需要 此次設(shè)計要達(dá)到一下指標(biāo) 1 工作環(huán)境 溫室大棚 2 溫度測量誤差 1 3 測溫范圍 0 55 4 濕度測量誤差 5 RH 5 測濕范圍 0 100 RH 6 通過鍵盤電路修改上下限 有 6 溫濕度報警 有 2 2 系統(tǒng)設(shè)計的原則 2 2 1 可靠性 可靠性是在設(shè)計過程中應(yīng)該優(yōu)先考慮的一個因素 一個控制系統(tǒng)必須要能穩(wěn)定 可靠地工作 才能投入到生產(chǎn)實踐中去 如果系統(tǒng)的可靠性不能達(dá)標(biāo) 那么系統(tǒng)出現(xiàn) 故障的可能就會增大 造成很大的損失 這種損失不僅包括經(jīng)濟(jì)上和信譽(yù)上的損失 而且可能會對人身安全產(chǎn)生威脅 要提高控制系統(tǒng)的可靠性 那么就要注意以下幾個方面 選用的元器件要有很高 的可靠性 由于供電電源很容易產(chǎn)生干擾 所以應(yīng)該對其采用抗干擾措施 對輸入輸 出通道也一樣 要采用抗干擾措施 在對電路板的設(shè)計時 要合理的布線和接地 軟 硬件都要進(jìn)行濾波 系統(tǒng)要有自己診斷功能等 2 2 2 性價比 性價比也是一個系統(tǒng)設(shè)計中所要考慮的重要因素 性價比高的產(chǎn)品更容易被消費 者接收 但是設(shè)計過程中不能盲目地追求性價比 它應(yīng)該建立在對產(chǎn)品性能要求的基 礎(chǔ)上 首先要滿足性能要求 然后再設(shè)法降低產(chǎn)品成本 第 3 頁 西華大學(xué)畢業(yè)設(shè)計說明書 2 3 方案比較 2 3 1 方案一 采用 PLC 作為主控制器 使用 PLC 的最大優(yōu)點在于 PLC 使用梯形圖進(jìn)行編程 編程語言形象直觀 難度 較低 因此開發(fā)周期短 便于擴(kuò)展 而且 PLC 抗干擾能力強(qiáng) 工作穩(wěn)定可靠 這一點 已被長期的工業(yè)控制實踐所證明 圖 2 1 用 PLC 作為主控制器的控制系統(tǒng) 2 3 2 方案二 使用單片機(jī)進(jìn)行控制 采用 STC89C52RC 單片機(jī)作為主控制器 可以用 C 語言進(jìn)行編程 由于它支持 ISP 在線編程 因此可以通過 RS232 串口將程序燒錄到單片機(jī)中 很方便 溫濕度傳 感器 SHT10 通過 I2C 總線與單片機(jī)連接 繼電器 鍵盤輸入 加熱器 制冷器 加濕器 除濕器 液晶顯示 蜂鳴器報警 溫濕度傳感器 PLC 溫 室 大 棚 第 4 頁 西華大學(xué)畢業(yè)設(shè)計說明書 圖 2 2 用單片機(jī)作為主控制器的控制系統(tǒng) 2 4 方案論證 從功能上看 兩種控制器都能滿足要求 PLC 在工業(yè)控制領(lǐng)域用得比較多 編程 簡單 而且抗干擾能力強(qiáng) 但是本系統(tǒng)是用于溫室大棚 并沒有其他大型工業(yè)設(shè)備的 干擾 單片機(jī)用 C 語言編程 相對 PLC 的梯形圖要復(fù)雜得多 但是編程更為靈活 可 以實現(xiàn)復(fù)雜的功能 從價格方面上看 單片機(jī)就比 PLC 具有很大的優(yōu)勢 一個單片機(jī)只要幾塊錢 而 一個很一般的 PLC 一般也要幾百上千元 另外 中國是農(nóng)業(yè)大國 隨著溫室大棚越來 越普及 農(nóng)村對溫濕度控制系統(tǒng)的需求也會越來越旺盛 因此雖然用單片機(jī)開發(fā)的周 期較長 但是一旦完成開發(fā) 后期生產(chǎn)環(huán)節(jié)的邊際成本很小 而基于 PLC 的控制系統(tǒng) 受制于 PLC 的高昂價格 價格難以降低 2 5 方案選擇 PLC 和單片機(jī)都能作為主控制器進(jìn)行設(shè)計 但是在價格方面單片機(jī)具有巨大優(yōu)勢 綜上所述 本次設(shè)計采用單片機(jī)作為主控制器 溫濕度傳感器 單片機(jī) 加熱器 制冷器 加濕器 除濕器 鍵盤輸入 蜂鳴器報警 繼電器 液晶顯示 溫 室 大 棚 第 5 頁 西華大學(xué)畢業(yè)設(shè)計說明書 3 單元模塊設(shè)計 3 1 各單元模塊功能介紹及電路設(shè)計 3 1 1 單片機(jī)最小系統(tǒng) 圖 3 1 單片機(jī)最小系統(tǒng) 單片機(jī)最小系統(tǒng)包括單片機(jī) 電源電路 時鐘電路和復(fù)位電路 時鐘電路用于產(chǎn)生單片機(jī)工作時候所必須的時鐘信號 單片機(jī)在時鐘信號的節(jié)拍 下逐條地執(zhí)行指令 單片機(jī)有兩種時鐘信號產(chǎn)生方式 一種是內(nèi)部時鐘方式 另一種 是外部時鐘方式 外部時鐘方式是把已有的時鐘信號從 XTAL1 或 XTAL2 送入單片 一般用于有多個單片機(jī)的情況 所以本設(shè)計中時鐘電路采用內(nèi)部時鐘方式 選用 12M 的晶振和兩個 30pF 的電容與片內(nèi)的高增益反相放大器構(gòu)成一個自激振蕩器 第 6 頁 西華大學(xué)畢業(yè)設(shè)計說明書 電源電路后面的模塊中會單獨提到 用 5V 的直流電源 下面著重論述一下復(fù)位 電路 圖 3 2 上電 手動復(fù)位電路 單片機(jī)的復(fù)位主要有上電復(fù)位和手動復(fù)位 之所以要進(jìn)行復(fù)位 目的就是為了讓 單片機(jī)進(jìn)入初始狀態(tài) 比如讓 PC 指向 0000H 這樣單片機(jī)才能從頭運行程序 因此 上電的時候就要讓單片機(jī)復(fù)位一次 在運行過程中 如果程序出錯 也需要進(jìn)行手動 復(fù)位 本設(shè)計中的復(fù)位電路就是上電 手動復(fù)位電路 復(fù)位時要讓 STC89C52RC 的 RST 引腳得到 2 個機(jī)器周期以上的高電平 先說說上電復(fù)位的工作原理 當(dāng)單片機(jī)上電時 電源 5V 的 Vcc 通過 10K 的電阻對 10uF 的電容進(jìn)行充電 剛上電時 有較大的電流 從 Vcc 經(jīng)電容 電阻流向 GND 由于電容兩端的電壓不可突變 因此仍然為 0V 于 是電阻的兩端分得 5V 的電壓 即 RST 引腳此時的電勢為 5V 隨著充電的繼續(xù)進(jìn)行 電流會逐漸減小 電阻兩端的電壓 UR IR 也逐漸減小 即 RST 引腳的電勢逐漸減小 過了一定時間 RST 引腳兩端的電壓下降到不再是高電平 只要這個充電的時間大于 單片機(jī)兩個機(jī)器周期 就能使單片機(jī)復(fù)位 程序運行過程中如果跑飛了 程序運行出錯或操作錯誤使系統(tǒng)處于死鎖狀態(tài)時 就需要用到手動復(fù)位 手動復(fù)位就是在上電復(fù)位電路的電容兩邊并聯(lián)一個微動開關(guān) 需要手動復(fù)位時將其按下 使之接通 RST 獲得高電平 而且人按動按鈕的時間肯定 是超過兩個機(jī)器周期的 于是單片機(jī)復(fù)位 第 7 頁 西華大學(xué)畢業(yè)設(shè)計說明書 3 1 2 液晶顯示模塊 測量到的溫濕度值將顯示到液晶屏 LCD1602 上 它可以顯示 2 行 每行 16 個字 符 LCD1602 共有三個存儲器 它們是 CGROM CGRAM 和 DDRAM CGROM 用 來保存 LCD1602 內(nèi)部固化的一些字符的字模 比如英文的 26 個字母的大小寫 CGRAM 用來保存用戶自己取的字模 比如 如果要顯示漢字 就必須自己去漢字字 模 在這里我們都用英語字母 故不用 CGRAM DDRAM 用來存儲要顯示的字符的 字模 它和屏幕上的位置是對應(yīng)的 第一行為 00H 到 0FH 第二行為 40H 到 4FH 在 這里需要注意的是 在向 LCD1602 寫入顯示數(shù)據(jù)存儲器地址時 根據(jù)控制指令的格式 最高位 D7 為 1 所以寫入的數(shù)據(jù)為 第一行 80H 到 8FH 第二行 C0H 到 CFH 它與單片機(jī)的接口電路如下圖所示 圖 3 3 LCD1602 與單片機(jī)的接口電路 3 1 3 溫濕度傳感器模塊 溫濕度傳感器選用瑞士 Sensirion 公司生產(chǎn)的 SHT10 SHT1X 系列共有三個型號 SHT10 SHT11 SHT15 他們都是 SMD 貼片封裝的 他們依次性能越來越好 其中 SHT10 屬于經(jīng)濟(jì)型的溫濕度傳感器 三者的溫濕度性能如下圖所示 第 8 頁 西華大學(xué)畢業(yè)設(shè)計說明書 圖 3 4 SHT1X 系列各型號傳感器的濕度 溫度最大誤差 從曲線中可以看出 無論是濕度還是溫度 SHT10 的誤差都是最大的 SHT15 誤 差最小 但是它們的價格也相差很大 SHT10 多為二三十元一個 而 SHT15 價格上百 因此 從滿足大棚溫濕度監(jiān)測的要求來看 SHT10 已經(jīng)足夠 故選用 SHT10 SHT10 與單片機(jī)的接口電路如下所示 圖 3 5 SHT10 與單片機(jī)的接口電路 SHT10 采用類似于 I2C 的兩線制串行總線 一根是時鐘線 一根是數(shù)據(jù)線 數(shù)據(jù) 線要通過一個上拉電阻接到 VCC 目的是避免信號沖突 使單片機(jī)的引腳只提供低電 平 要得到高電平則使該引腳懸空 由上拉電阻提供高電平 3 1 4 報警電路的設(shè)計 當(dāng)大棚內(nèi)的溫濕度超過上下限時 除了需要啟動溫濕度調(diào)節(jié)器之外 還需要進(jìn)行 報警 這里用到的是蜂鳴器 蜂鳴器為一種采用一體化結(jié)構(gòu)的電子器件 采用了直流 電壓來供電 廣泛的應(yīng)用到了計算機(jī) 報警器 復(fù)印機(jī) 電子玩具 電話機(jī) 汽車電 子設(shè)備 定時器等電子產(chǎn)品之中用作發(fā)聲器 第 9 頁 西華大學(xué)畢業(yè)設(shè)計說明書 蜂鳴器分為有源蜂鳴器和無源蜂鳴器 有源蜂鳴器由于內(nèi)部集成了振蕩源 所以 使用直流電壓就可以驅(qū)動它鳴叫 無源蜂鳴器內(nèi)部沒有振蕩源 因此一般使用 2K 5K 方波來驅(qū)動 本設(shè)計中使用的是有源蜂鳴器 在它兩端加載 5V 的直流電壓就 可以使之鳴叫 報警電路設(shè)計如下圖 圖 3 6 報警電路圖 蜂鳴器工作電流一般為 10mA 而單片機(jī)的 I O 口只能承受幾毫安的電流 因此 需要加三極管進(jìn)行驅(qū)動 如上圖所示 單片機(jī)的 I O 口中的 P1 6 接 PNP 型三極管的基 極 當(dāng) P1 6 為低電平時 三極管導(dǎo)通 5V 的電壓加載到蜂鳴器兩端 于是蜂鳴器鳴 叫 當(dāng) P1 6 高電平時 三極管截至 蜂鳴器不鳴叫 3 1 5 輸出電路設(shè)計 當(dāng)溫濕度超出限定值后 單片機(jī)將輸出控制信號 啟動加熱 制冷 加濕 除濕 設(shè)備 弱電控制強(qiáng)電 首先要用到繼電器來控制這些大功率的設(shè)備 而且為了進(jìn)一步 加強(qiáng)弱電和強(qiáng)電的電氣隔離 減少強(qiáng)電設(shè)備對單片機(jī)控制系統(tǒng)的干擾 需要在前一級 加光耦進(jìn)行隔離 光耦的驅(qū)動能力有限 一般電流只能達(dá)到 30mA 左右 不足以驅(qū)動 繼電器 因此再加一個三極管放大電流 原理如圖 3 7 所示 第 10 頁 西華大學(xué)畢業(yè)設(shè)計說明書 圖 3 7 控制電路 輸出電路有四組 每一組由一個光耦 一個三極管 一個繼電器組成 這四組輸 出電路分別控制加濕 除濕 加熱 制冷的設(shè)備 光耦選用 TLP521 4 它是 Toshiba 公司生產(chǎn)的四路光耦 由單片機(jī)直接驅(qū)動 51 單片機(jī) P0 口所能承受的灌電流最大 可以達(dá)到 26mA 輸出系統(tǒng)中的繼電器最多同時 有兩個工作 控制溫度的一個 控制濕度的一個 如果設(shè)置光耦的發(fā)光二極管的電流 為 10mA 那么兩個發(fā)光二極管同時導(dǎo)通時單片機(jī)的灌電流為 20mA 小于 26mA 符 合要求 所以把 P0 口的引腳接到光耦 TLP521 4 輸入測的發(fā)光二極管陰極 繼電器選用 5V 的 驅(qū)動繼電器需要大約 100mA 的電流 也就是說驅(qū)動繼電器的 三極管的集電極電流為 Ic 100mA 三極管選用直流放大系數(shù)為 100 的 9013 根據(jù) Ic Ib 可計算得三極管基極電流 Ib 1mA 而 Vbe 0 7V 又由于光耦中的光電三極 管的集電極 發(fā)射極飽和壓降 Vces 0 3V 所以基極的限流電阻上的壓降為 5 Vces Vbe 4V 4V 0 001A 4K 由于沒有標(biāo)稱值為 4K 的電阻 所以選擇 4 7K 的 還應(yīng)該注意到的一點是 光耦有一個參數(shù)叫電流傳輸比 CTR CTR Io I F 及 輸出端電流的最大值比上輸入端的電流 體現(xiàn)了光耦輸出電流的能力 如果輸入端的 電流為 20mA 電流傳輸比為 50 的話 那么輸入端電流 Io 最大只能為 10mA 在這 里 TLP521 4 的電流傳輸比為 50 輸出端我們剛才算出的電流 Io Ib 1mA 所以輸 入端電流 IF 最小為 2mA 由于電流很小時光耦處于死區(qū) 因此要選大點 這里選擇 IF 10mA 于是 光耦輸入端陽極上的限流電阻為 R 5V 0 7V 0 01A 430 這里選 擇標(biāo)稱值為 470 的電阻 此外 這里用的繼電器是普通的電磁繼電器 通過對電磁繼電器和固態(tài)繼電器進(jìn) 第 11 頁 西華大學(xué)畢業(yè)設(shè)計說明書 行比較 雖然固態(tài)繼電器具有無觸電 動作速度快 使用壽命長等特點 但是本設(shè)計 中的繼電器只在溫濕度超過限定值時才動作 動作頻率低 而且固態(tài)繼電器的價格比 電磁繼電器高得多 所以綜合考慮選擇電磁繼電器 SRD 一 05VDC 一 SL C 3 1 6 電源的設(shè)計 圖 3 8 電源電路 電源電路是整個系統(tǒng)中非常重要的一部分 本設(shè)計中主要用到直流 5V 電源 要 得到 5V 的直流電源 要經(jīng)過降壓 整流 濾波 穩(wěn)壓四個環(huán)節(jié) 由于最后的穩(wěn)壓環(huán)節(jié) LM7805 要得到 5V 的直流輸出 輸入與輸出要有一定的壓 差 根據(jù) LM7805 的數(shù)據(jù)手冊 需要有 10V 的輸入 因此在降壓環(huán)節(jié)把 220V 的電壓 降為 10V 然后用橋式整流電路把交流電整流為直流電 此時的直流電只是方向不變 但仍 按正弦方式變化 是脈動的直流電 因此需要濾波電路將紋波濾掉 C8 和 C2 都用來濾波 但是作用是不一樣的 C8 是大電容 用電解電容 它的作用是低頻濾波 通過充電放電 從而削峰填谷 使電 壓的脈動成分減少 電壓基本保持穩(wěn)定 而 C2 是小電容 所以對于高頻信號容抗很 小 相當(dāng)于短路 從而濾掉高頻信號 需要注意的是 470uF 的大電容可以濾低頻 為什么不能濾高頻 還要單獨加一 個 0 33uF 的小電容來濾高頻 從理論上來說大電容應(yīng)該高頻 低頻都可以 但是由于 制造工藝的原因 電解電容的容值做得很大時 它就不再是一個單純的電容了 它等 效于一個電容串聯(lián)一個電感 在頻率較低時 電感 L jwl 較小 可以忽略不計 但是 當(dāng)頻率很高時 感抗就很大 相當(dāng)于斷路 所以此時這個 470uF 的大電容不能濾掉高 第 12 頁 西華大學(xué)畢業(yè)設(shè)計說明書 頻信號 必須單獨加一個小電容 小電容容值小 因此就不存在感抗的問題 濾波完以后 電壓的脈動成分已經(jīng)下降了很多 但是仍有起伏 所以最后還需加 上一個三端集成穩(wěn)壓器 這里選用 LM7805 它能將電壓穩(wěn)定在 5V 并聯(lián)在 LM7805 兩端的二極管起保護(hù)作用 避免在短路等情況下 LM7805 輸出端的電壓比輸入端高 從而燒壞 LM7805 三端集成穩(wěn)壓器后面又接了一大一小兩個電容 再次進(jìn)行濾波 使電壓更穩(wěn)定 3 1 7 按鍵電路設(shè)計 圖 3 9 按鍵電路圖 鍵盤分為編碼式和非編碼式鍵盤 其中 非編碼式鍵盤又包括矩陣式鍵盤和獨立 式鍵盤 矩陣式鍵盤較為復(fù)雜 一般用于按鍵數(shù)目較多 而單片機(jī)可用的 I O 口又比 較有限時 本控制系統(tǒng)中只需要用到 5 個按鍵 數(shù)目較少 并且可用的 I O 口充足 故采用獨立式鍵盤 一個按鍵對應(yīng)一個單片機(jī)的 I O 口管腳 本設(shè)計中總共用到 5 個按鍵式開關(guān) 他們用來改變設(shè)定的溫濕度上下限數(shù)值 從 S0 到 S4 分別控制進(jìn)入溫度上下限設(shè)置 進(jìn)入濕度上下限設(shè)置 數(shù)值加 數(shù)值減 確認(rèn)并退出 本設(shè)計中的鍵盤是低電平有效 未按鍵時 上拉電阻保證了單片機(jī)的 I O 口是確 定的高電平 當(dāng)某個鍵按下時 I O 口變?yōu)榈碗娖?第 13 頁 西華大學(xué)畢業(yè)設(shè)計說明書 3 1 8 串口通信電路 串口通信可分為同步通信和異步通信 在單片機(jī)的應(yīng)用系統(tǒng)中 主要是采用異步 串行通信 在設(shè)計通信接口時 應(yīng)該采用標(biāo)準(zhǔn)接口 這樣才能夠方便而又準(zhǔn)確的把單 片機(jī)和外設(shè)有機(jī)的連接起來 從而能形成一個測控系統(tǒng) 目前異步串口通信標(biāo)準(zhǔn)有 RS 一 232 RS 一 422 RS 一 485 標(biāo)準(zhǔn) 其中 RS 一 232 是 PC 機(jī)與通信工業(yè)中使用最早的一種串行接口標(biāo)準(zhǔn) 在短距離 較低波特率串行通信中得到了廣泛應(yīng)用 要讓單片機(jī)和 PC 機(jī)通過串口進(jìn)行通信 需 要進(jìn)行電平轉(zhuǎn)換 因為盡管單片機(jī)有串行通信的功能 但單片機(jī)提供的 TTL 電平和 RS232 的電平不一樣 TTL 電平中 電壓小于 0 8V 為低電平 高于 2 4V 為高電平 而 RS232 電平是負(fù)邏輯電平 電壓在 3V 15V 時為高電平 電壓在 3V 15V 時為低 電平 因此要通過 MAX232 這種電平轉(zhuǎn)換芯片進(jìn)行轉(zhuǎn)換 MAX232 是 MAXIM 公司專為 RS 232 標(biāo)準(zhǔn)串口設(shè)計的單電源電平轉(zhuǎn)換芯片 使 用 5V 電源供電 適用于終端設(shè)備和數(shù)據(jù)通信設(shè)備間的接口 對于雙向通信 只需要 使用串行輸入 RXD 引腳 2 串行輸出 TXD 引腳 3 和地線 GND 引腳 5 其電路連接如圖 3 10 所示 圖 3 10 串口通信電路 MAX232 芯片內(nèi)部有一個電源電壓變換器 能夠把輸入的 5V 電壓變換為 RS232 輸出電平所需的 10V 電壓 采用此芯片接口的串行通信系統(tǒng)值需要接 5V 電壓即可 第 14 頁 西華大學(xué)畢業(yè)設(shè)計說明書 MAX232 芯片中有兩組電平轉(zhuǎn)換的引腳 我們這里只需使用其中一組 打頭的字 母 T 表示 TTL 電平 R 表示 RS232 電平 R1IN 和 R2IN 表示輸入 RS232 電平 因此與電腦的串口相連 T1IN 和 T2IN 表示輸入 TTL 電平 因此與單片機(jī)相連 所以 引腳 T1IN T2IN R1OUT R2OUT 為接 TTL CMOS 電平的引腳 引腳 T1OUT T2OUT R1IN R2IN 為接 RS232 電平的引腳 MAX232 芯片專門為電腦的 RS 232 標(biāo)準(zhǔn)串口設(shè)計的接口電路 使用 5v 單電源供 電 MAX232 就是用來進(jìn)行電平轉(zhuǎn)換的 該器件包含 2 驅(qū)動器 2 接收器和一個電壓發(fā) 生器電路提供 EIA TIA 232 E 電平 可以分別接單片機(jī)的串行通信口 MAX232 是一 種雙組驅(qū)動器 接收器 片內(nèi)含有一個電容性電壓發(fā)生器以便在單 5V 電源供電時提供 EIA TIA 232 E 電平 3 2 元件清單 本次設(shè)計需要用到的元器件如下表所示 第 15 頁 西華大學(xué)畢業(yè)設(shè)計說明書 表 3 1 所需元件列表 元件 型號 個數(shù) 單片機(jī) STC89C52RC 1 顯示屏 LCD1602 1 溫濕度傳感器 SHT10 1 芯片底座 DIP40 1 光耦 TLP521 4 1 排針 10 針 10 杜邦線 20 二極管 1N4007 4 三極管 9012 1 三極管 9013 4 電阻 10K 2 電阻 4 7K 9 電阻 1K 1 電阻 470 4 電位器 15K 1 瓷片電容 1uF 5 瓷片電容 0 1uF 1 點解電容 10uF 1 瓷片電容 30pF 2 電平轉(zhuǎn)換芯片 MAX232 1 串口母頭 DB9 1 電平轉(zhuǎn)換芯片 MAX232 1 USB 母座 1 晶振 12MHz 1 自鎖開關(guān) 6 6 5 1 按鍵開關(guān) 6 6 5 6 蜂鳴器 1 繼電器 SRD 一 05VDC 一 SL C 4 第 16 頁 西華大學(xué)畢業(yè)設(shè)計說明書 3 3 關(guān)鍵器件的介紹 3 3 1 STC89C52RC STC89C52RC 單片機(jī)是宏晶科技推出的新一代高速 低功耗 超強(qiáng)抗干擾的單片機(jī) 指令代碼完全兼容傳統(tǒng) 8051 單片機(jī) 12 時鐘 機(jī)器周期和 6 時鐘 機(jī)器周期可以任意選擇 STC89C52RC 的主要性能參數(shù) 1 增強(qiáng)型 8051 單片機(jī) 6 時鐘 機(jī)器周期和 12 時鐘 機(jī)器周期可以任意選擇 指令代碼與傳統(tǒng) 8051 單片機(jī)是兼容的 2 通用 I O 口 32 個 P1 P2 P3 是準(zhǔn)雙向口 弱上拉 P0 口是漏極開路輸出 作為總線擴(kuò)展用時 不用加上拉電阻 作為 I O 口用時 需加上拉電阻 3 ISP 在線編程 IAP 在應(yīng)用可編程 可通過串口下載程序 不需要使 用專門的下載器 非常方便快捷 4 內(nèi)含 8KB 的程序存儲器 1000 次寫 擦寫周期 5 內(nèi)含 512 字節(jié)的 RAM 6 32 個可編程 I O 口線 7 3 個 16 位定時器 計數(shù)器 即定時器 T0 T1 T2 8 6 個中斷源 5 個中斷矢量 2 級優(yōu)先權(quán)的中斷結(jié)構(gòu) 9 具有一個全雙工 UART 串行通道 10 掉電模式和低功耗空閑 STC89C52RC 主要引腳功能 STC89C52RC 的管腳排列如圖 2 一 2 所示 第 17 頁 西華大學(xué)畢業(yè)設(shè)計說明書 圖 3 11 STC89C52RC 引腳圖 P0 口 P0 0 P0 7 P0 端口 P0 0 P0 7 39 32 引腳 P0 口是一個漏極開路的 8 位雙向 I O 口 作為輸出端口 每個引腳能驅(qū)動 8 個 TTL 負(fù)載 對端口 P0 寫入每個引腳能驅(qū)動寫入 1 時 可以作為高阻抗輸入 在訪問外部程序和數(shù)據(jù)存儲器時 在訪問外部程序和數(shù) 據(jù)存儲器時 P0 口也可以提供低 8 位地址和 8 位數(shù)據(jù)的復(fù)用總線位數(shù)據(jù)的復(fù)用總線 在進(jìn)行程序校驗的時候 輸出指令字節(jié) 而在 Flash ROM 編程時 接收指令字節(jié) P1 口 P1 0 P1 7 P1 端口 P1 0 P1 7 1 8 引腳 P1 口是一個 8 位雙向 I O 口 內(nèi)部已經(jīng)自 帶有一個幾十 K 的上拉電阻 對端口寫入 1 時 該引腳被懸空 由內(nèi)部的上拉電 阻把引腳拉到高電平 這時候可以作為輸入口使用 此時 因為內(nèi)部自帶上拉電阻 第 18 頁 西華大學(xué)畢業(yè)設(shè)計說明書 所以被外部器件拉低電壓的引腳會輸出一個電流 P1 的輸出緩沖器可驅(qū)動 4 個 TTL 邏輯門 P2 口 P2 0 P2 7 P2 和 P1 一樣 是一個 8 位雙向 I O 口 內(nèi)部自帶上拉電阻 端口進(jìn)行寫 1 時 該管腳被懸空 由內(nèi)部自帶的上拉電阻將電平拉到高電平 當(dāng)它被當(dāng)作輸入口使 用時 因為內(nèi)部自帶上拉電阻 該引腳在被外部元器件拉低電平的時侯會有電流輸出 在對程序存儲器 ROM 或 16 位的外部數(shù)據(jù)存儲器進(jìn)行讀寫時 P2 口會送出一個高 8 位地址數(shù)據(jù) 在進(jìn)行訪問 8 位地址的外部數(shù)據(jù)存儲器的時侯 P 口線上的內(nèi)容 也 即特殊功能寄存器 SFR 區(qū)中 P2 寄存器內(nèi)容 在整個訪問期間不改變 它的輸出 緩沖級可以驅(qū)動 4 個 TTL 邏輯門 P3 口 P3 0 P3 7 P3 口 和 P1 P2 一樣 是一個 8 位雙向 I 0 口 內(nèi)部自帶弱上拉 對 P3 口進(jìn) 行寫入 l 時 被內(nèi)部的上拉電阻拉高且可以作為一個輸入端口 作輸入端口時 被 外部元器件拉低電平的 P3 口將通過上拉電阻提供電流 P3 口除了作為一個一般的 I 0 口線外 它的第二功能有更重要的用途 P3 口輸出緩沖級可用來驅(qū)動 4 個 TTL 邏輯 門 RST 復(fù)位輸入端 在震蕩期穩(wěn)定有效運行情況下 RST 端維持兩個機(jī)器周期的 高電平 便可復(fù)位器件 PSEN 外部程序存儲器的選通信號 低電平有效 在片外程序存儲器取指期間 當(dāng) PSEN 有效時 程序存儲器的內(nèi)容將會被送至 P0 口 在訪問外部 RAM 時 PSEN 無效 EA VPP 當(dāng) EA 保持低電平時 則在此期間外部存儲器 0000H FFFH 不論是否有內(nèi)部程序存儲器 VCC 電源電壓 XTALI 單芯片系統(tǒng)時鐘的反向放大器輸入端 使用外部振蕩器時 連接外部石 英晶體和微調(diào)電容 XTAL2 系統(tǒng)時鐘的反向放大器輸出端 當(dāng)使用片內(nèi)振蕩器時 外部接石英晶體 和微調(diào)電容 3 3 2 SHT10 溫濕度傳感器 SHT10 是瑞士 Sensirion 公司推出的超小型 自校型 高精度 多功能式的智能傳 感器 采用 SMD 貼片封裝 SHT10 溫濕度傳感器品質(zhì)卓越 具有很明顯的優(yōu)點 如 抗干擾能力強(qiáng) 反應(yīng)快等 傳感器在一塊微型電路板上集成了信號處理電路和傳感元 第 19 頁 西華大學(xué)畢業(yè)設(shè)計說明書 件 由于自帶 ADC 所以輸出數(shù)字信號 傳感器采用瑞士 Sensirion 公司持有專利的 CMOSens 技術(shù) 因此有極高的穩(wěn)定性 準(zhǔn)確性 靠性性 SHT10 包含一個電容性 聚合體濕敏器件 一個基于能隙材料的溫度測量元件 SHT10 可以用來測量相對濕度 溫度和露點等參數(shù) 這類智能傳感器廣泛用于工 農(nóng)業(yè)生產(chǎn) 環(huán)境監(jiān)測 通風(fēng)及空調(diào)設(shè)備等領(lǐng)域 SHT10 的主要性能參數(shù)如下 1 采用兩線制數(shù)字接口 類似于 I2C 總線的時序 2 測量溫濕度的范圍廣 濕度測量范圍為 0 100 RH 溫度測量范圍為 40 123 8 3 測量精度較高 溫度的測量誤差為 0 5 濕度的測量誤差為 4 5 RH 4 濕度值分辨率為 14 位 溫度值輸出分辨率為 12 位 并可以變成 12 位和 8 位 5 將溫濕度傳感器 信號放大器 A D 轉(zhuǎn)換 I C 總線接口全部集成于一個芯片 6 小體積 可表面貼裝 7 具有可靠的 CRC 數(shù)據(jù)傳輸校驗功能 8 片內(nèi)裝載的校準(zhǔn)系數(shù)可保證 100 互換性 9 電流消耗低 測量時 550 A 平均 28 A 休眠時 3 A 10 可給出全校準(zhǔn)相對濕度計溫度值輸出 11 具有漏點值計算輸出功能 電源引腳 VDD SHT10 的供電電壓為 2 4 5 5V 這里選擇 5V 在電源引腳 VDD GND 之間須加一個 100nF 的電容 用于去耦濾波 串行輸入 SCK 用 于微處理器與 SHT10 之間的同步通信 串行數(shù)據(jù) DATA 用于三態(tài)門的數(shù)據(jù)讀取 DATA 在 SCK 時鐘下降沿后會發(fā)生狀態(tài)改變 并且在 SCK 時鐘為上升沿時有效 也 就是微控制器可在 SCK 為高電平段去讀取有效的數(shù)據(jù) 在微控制器向 SHT10 進(jìn)行數(shù) 據(jù)傳送的過程中 必須要保證數(shù)據(jù)線在時鐘線為高電平段時穩(wěn)定 為了避免發(fā)生信號 沖突 微控制器僅僅把數(shù)據(jù)線拉低 在需輸出高電平時 微控制器會將引腳置成高阻 態(tài) 由外部上拉電阻把信號拉為高電平 這里選擇 10K SHT10 在使用時 在數(shù)據(jù)線上用一組 啟動傳輸 的時序來表示初始化數(shù)據(jù)傳輸 包括 當(dāng) SCK 時鐘為高電平的時侯 DATA 翻轉(zhuǎn)至低電平 緊接著 SCK 變成低電平 隨后在 SCK 時鐘為高電平的時侯 DATA 翻轉(zhuǎn)為高電平 后續(xù)的命令包含 3 個地址 目前支持 000 和 5 個命令位 具體命令集見表 4 SHT10 會用下述來方式表示 第 20 頁 西華大學(xué)畢業(yè)設(shè)計說明書 已經(jīng)正確接受到了指令 在第 8 個 SCK 的時鐘下降沿后 將 DATA 下拉至低電平 ACK 位 在第 9 個 SCK 的時鐘下降沿后 釋放 DATA 恢復(fù)為高電平 表 3 2 SHT10 的命令集 根 據(jù)上 表的 命令 集 SHT10 測量時 發(fā)布測量命令 00000101 表示的是相對濕度 RH 00000011 表示的是溫度 T 后 控制器等待測量停止后 此過程大約需要 11 55 210ms 分 別會對應(yīng) 8 12 14 位的測量 確切時間與內(nèi)部的晶振速度有關(guān) 最多會有 15 的 變化 SHT10 通過下拉 DATA 變?yōu)榈碗娖?表示測量已結(jié)束 控制器在觸發(fā) SCK 時 鐘前 必須要等待 數(shù)據(jù)備妥 的信號 接著會傳輸 2 個字節(jié)的測量數(shù)據(jù)以及 1 個字 節(jié)的 CRC 奇偶校驗 uC 需要用下拉 DATA 為低電平 來確認(rèn)每個字節(jié) 全部數(shù)據(jù)會 從 MSB 開始 右值有效 例如 對于 12 位數(shù)據(jù) 從第 5 個 SCK 時鐘起算作 MSB 而對于 8 位數(shù)據(jù) 首字節(jié)則無意義 命令 代碼 預(yù)留 0000 x 溫度測量 00011 濕度測量 00101 讀狀態(tài)寄存器 00111 寫狀態(tài)寄存器 00110 預(yù)留 0101x 1110 x 軟復(fù)位 復(fù)位接口 清空狀態(tài)寄存 器為默認(rèn)值 下一個命令前等待至少 11ms 11110 第 21 頁 西華大學(xué)畢業(yè)設(shè)計說明書 4 系統(tǒng)軟件設(shè)計 系統(tǒng)的工作流程是 操作人員在計算機(jī)上輸入需要設(shè)定的溫濕度限定值 當(dāng)設(shè)定 的溫濕度值與檢測溫濕度值不同時 單片機(jī)控制系統(tǒng)則會采取相應(yīng)的調(diào)節(jié)動作 此程 序流程包括五個部分 第一部分是主程序 其描述總體結(jié)構(gòu) 第二部分是 SHT10 溫度 采集程序 其功能是通過 SHT10 傳感器采集溫濕度值 并進(jìn)行修正 第三部分是 LCD1602 顯示子程序 對 LCD1602 進(jìn)行初始化 將溫濕度進(jìn)行顯示 第四部分是輸 出控制子程序 對設(shè)定值和實際值進(jìn)行判斷以決定是否進(jìn)行溫濕度的調(diào)節(jié) 第五部分 是按鍵輸入電路 用來修改溫濕度上下限值 4 1 軟件設(shè)計的總體結(jié)構(gòu) 本次設(shè)計的大棚溫濕度自動控制系統(tǒng)由一個主程序調(diào)用多個子程序 它們包括 SHT10 溫濕度采集子程序 LCD1602 液晶顯示子程序 輸出控制子程序 鍵盤掃描子 程序 如下圖所示 圖 4 1 程序總體結(jié)構(gòu) 主程序主要就是調(diào)用各個子程序的 C 語言文件中定義的函數(shù) 實現(xiàn) SHT10 LCD1602 初始化等操作 然后測量溫濕度 調(diào)用函數(shù)對數(shù)據(jù)進(jìn)行處理 最后 進(jìn)行顯示并輸出控制信號 在 Keil 工程中編寫程序的時候 為了讓整個工程看起來條理清晰 要按照各個模 塊分別新建 C 文件寫子程序 某個 C 文件要調(diào)用其它 C 文件中的函數(shù)時 要在當(dāng)前 C 語言文件中先進(jìn)行聲明 然后再調(diào)用 或者也可以把每個 C 文件中定義的函數(shù)都寫 主程序 SHT10 溫濕度 采集子 程序 LCD1602 液晶屏顯 示子程序 輸出控 制子程 序 鍵盤掃 描子程 序 第 22 頁 西華大學(xué)畢業(yè)設(shè)計說明書 到相同名字下的 h 頭文件中 其他 C 文件要調(diào)用該函數(shù)時要在前面加上 include 將頭文件包括進(jìn)來 對于變量也是如此 如果某個變量也在其他 C 文件中使用 那么要在一個 C 文件總將它定義為全局變量 即在函數(shù)外面定義 其他 C 文件要使用 該變量時 要先使用 extern 將全局變量的作用域擴(kuò)展到本 C 語言文件 第 23 頁 西華大學(xué)畢業(yè)設(shè)計說明書 4 2 主要模塊的設(shè)計流程框圖 4 2 1 主程序流程圖 圖 4 2 主程序流程圖 Yes 是否超限 將溫濕度與設(shè)定值比較 啟動溫濕度調(diào)節(jié)設(shè)備 對溫濕度數(shù)據(jù)進(jìn)行修正 No 在液晶屏上顯示溫濕度 測量溫濕度 是否有按鍵 初始化 LCD1602 Yes 開始 進(jìn)入鍵盤掃描子程 序 SHT10 復(fù)位 No 第 24 頁 西華大學(xué)畢業(yè)設(shè)計說明書 4 2 2 SHT10 子程序流程圖 圖 4 3 SHT10 子程序流程圖 溫濕度傳感器 SHT10 使用類似于 I2C 總線的時序與單片機(jī)通信 由于 51 單片機(jī) 沒有 I2C 接口 所以需要編寫程序 用單片機(jī)的某兩個 I O 口管腳模擬 I2C 總線的時序 從而與 SHT10 通信 SHT10 有 4 種時序 啟動傳輸時序 寫字節(jié)時序 讀字節(jié)時序及復(fù)位時序 復(fù)位 時序和啟動傳輸時序可通過依次拉低或拉高時鐘線和數(shù)據(jù)線 因而實現(xiàn)起來比較簡單 而寫時序和讀時序就比較復(fù)雜 寫時序用來發(fā)送控制字 即發(fā)送命令 測量結(jié)束后 發(fā)出讀時序讀回測量數(shù)據(jù) 向 SHT10 的 8 個數(shù)據(jù)位的寫入 于第 9 個時鐘周期之后 開始 發(fā)送啟動時序 發(fā)送控制字 接收數(shù)據(jù) 測量結(jié)束 接收校驗位 結(jié)束 No Yes 第 25 頁 西華大學(xué)畢業(yè)設(shè)計說明書 讀取應(yīng)答位 應(yīng)答位為 0 時 表示 SHT10 正確接收 SHT10 讀寫數(shù)據(jù)的規(guī)則是 在時 鐘線的下降沿之后數(shù)據(jù)線改變狀態(tài) 并在時鐘線的上升沿有效 第 26 頁 西華大學(xué)畢業(yè)設(shè)計說明書 4 2 3 LCD1602 子程序流程圖 圖 4 4 LCD1602 子程序流程圖 開始 LCD1602 初始化 設(shè)置首行數(shù)據(jù)指針 寫入首行字符 設(shè)置第二行數(shù)據(jù)指針 寫入第二行字符 結(jié)束 第 27 頁 西華大學(xué)畢業(yè)設(shè)計說明書 4 2 4 輸出控制子程序流程圖 圖 4 5 輸出控制子程序 開始 返回主程序溫度 濕度是否超出上下限 啟動溫濕度調(diào)節(jié)設(shè)備 蜂鳴器報警 溫濕度是否回 到限定值內(nèi) 停止報警 停止溫濕度控制設(shè)備 溫濕度是否留有 足夠的裕量 結(jié)束 No Yes Yes Yes No No 第 28 頁 西華大學(xué)畢業(yè)設(shè)計說明書 4 2 5 鍵盤掃描子程序流程圖 圖 4 6 鍵盤掃描子程序 No Yes 開始 退出鍵盤子程序 延時 10ms 退出鍵盤子程序 上限或下限加一或減一 P2 3 或 P2 4 是 否按下 No P2 3 或 P2 4 是 否仍被按下 Yes Yes No P2 5 或 P2 6 是 否按下 P2 5 或 P2 6 是 否按下 Yes No 第 29 頁 西華大學(xué)畢業(yè)設(shè)計說明書 為了防止抖動 按鍵電路中都要消抖的措施 本設(shè)計中是采用的軟件消抖 在單 片機(jī)檢測到某個鍵按下后 延時 10ms 再監(jiān)測 如果仍然按下 才視為按下了該鍵 S0 S1 S2 S3 S4 分別對應(yīng)單片機(jī)的 P2 3 P2 7 引腳 按下 S0 也就是使 P2 3 為低電平時 進(jìn)入溫度上限的設(shè)置 再按一次進(jìn)入溫度下線的設(shè)置 按下 S1 進(jìn)入濕 度上限的設(shè)置 再按一下進(jìn)入溫度下線的設(shè)置 在每個設(shè)置里面 按 S2 增加限值 按 S3 減小限值 設(shè)置好以后 按 S4 退出設(shè)置 第 30 頁 西華大學(xué)畢業(yè)設(shè)計說明書 4 3 軟件設(shè)計所用工具 4 3 1 Keil uVision4 本次設(shè)計采用 Keil uVision4 來編寫 C 語言程序 通過它的編譯器進(jìn)行編譯 連接 最后將生成的機(jī)器碼下載到單片機(jī)上 Keil 編譯器是目前最流行的單片機(jī)開發(fā)的軟件 它是美國 Keil Software 公司開發(fā) 的 C 語言開發(fā)系統(tǒng) 它提供了一個完整的開發(fā)方案 包括宏匯編 C 編譯器 庫管理 連接器和一個功能強(qiáng)大的仿真調(diào)試器等 通過一個集成開發(fā)環(huán)境將這些部份組合在一 起 Keil C51 整合了豐富的庫函數(shù)和功能強(qiáng)大的集成開發(fā)調(diào)試工具 此外 Keil C51 生成的目標(biāo)代碼效率非常高 這一點從生成的匯編語言就可以看出 大多生成的匯編 語句很緊湊 容易理解 4 3 2 Proteus Proteus 用來對電路進(jìn)行仿真 它的功能強(qiáng)大 包括單片機(jī)在內(nèi)的眾多元器件都可 以仿真 把 Keil 編譯 連接后生成的 hex 文件導(dǎo)入 Proteus 單片機(jī)中即可對單片機(jī)進(jìn) 行仿真 Proteus 軟件是英國 Labcenter electronics 公司出版的 EDA 工具軟件 它不僅具有 其它 EDA 軟件的仿真功能 還可以對單片機(jī)及其外圍器件進(jìn)行仿真 是目前在這方面 做得最好的 EDA 工具軟件 Proteus 在國內(nèi)已受到眾多單片機(jī)開發(fā)者的喜愛 Proteus 實現(xiàn)了從概念到產(chǎn)品的完整設(shè)計 可以實現(xiàn)從原理圖繪制和代碼調(diào)試到單片機(jī)與其外 圍電路仿真 一鍵切換到印刷電路板的設(shè)計 目前世界上只有 Proteus 做到了將電路仿 真 印刷電路板設(shè)計和虛擬模型仿真整合到一個設(shè)計平臺 其處理器模型支持 8051 HC11 AVR ARM 8086 和 MSP430 PIC10 12 16 18 24 30 DsPIC33 等 2010 年又增加了 Cortex 和 DSP 系列處理器 并持續(xù)增加其他系列處理器模型 在編 譯方面 它也支持 IAR Keil 和 MPLAB 等多種編譯器 第 31 頁 西華大學(xué)畢業(yè)設(shè)計說明書 5 系統(tǒng)調(diào)試 5 1 用 Proteus 搭建仿真總圖 打開 Proteus ISIS 在 Proteus ISIS 編輯窗口中單擊元件列表之上的 P 按鈕 添加元件及放置元件 得到界面如圖 5 1 圖 5 1 元器件的選擇 選好元器件后 要對元器件進(jìn)行一個重新的布局 使之看起來很清晰 并且所占 面積較小 若想移動某個元件或多個 單擊其元件 待其顏色變紅后 在按下鼠標(biāo)左 鍵不放 即可拖動元件 為了使仿真圖看起來更整潔 我們部分電路連線選擇連線標(biāo) 簽?zāi)J?以單片機(jī) 19 引腳為例 將其用線引出 如 然后 再點擊左側(cè)任務(wù)欄中 再單擊引線得到對話框如圖 5 2 所示 在窗口中輸入 X1 得到 此效果 第 32 頁 西華大學(xué)畢業(yè)設(shè)計說明書 圖 5 2 連線標(biāo)簽窗口 若要對某個元件或一部分電路做出說明 則單擊任務(wù)欄中的 Text Script Mode 得到如圖 5 3 效果 在界面中輸入文字即可 圖 5 3 說明窗口 按照正確的方法將元器件進(jìn)行合理的排布及連線后 得到圖 5 4 圖 5 4 系統(tǒng)仿真電路圖 5 2 用 Keil 對程序進(jìn)行調(diào)試 編譯 先打開 keil uvision4 這款軟件 新建工程 點擊菜單欄里的 new uvision project 第 33 頁 西華大學(xué)畢業(yè)設(shè)計說明書 然后對工程進(jìn)行保存 再新建文件 點擊菜單欄中 File 下的 new 新建文件 進(jìn)行保存 最后把新建的文件添加到工程文件里 右鍵點擊 project 視圖窗口里的 Source Group1 選擇 Add files to group source group1 如圖所示 圖 5 5 添加文件到工程 這樣 剛才新建的文件便添加到了 Source Group1 中 現(xiàn)在開始在右邊的主界面 編寫 C 語言程序 編寫完成后為了把程序燒錄到單片機(jī)上 還需要把它轉(zhuǎn)換成機(jī)器碼 生成 hex 文件 右擊工程視圖窗口中的 Target1 選擇 Options for Target target1 第 34 頁 西華大學(xué)畢業(yè)設(shè)計說明書 把 Output 選項卡里面的 Create HEX File 前面的勾打上 這 樣編譯后會生成機(jī)器碼 如圖所示 圖 5 6 生成機(jī)器碼 第 35 頁 西華大學(xué)畢業(yè)設(shè)計說明書 6 結(jié)論 6 1 系統(tǒng)的功能 本系統(tǒng)能測量溫室大棚內(nèi)的溫濕度數(shù)據(jù) 將其顯示在液晶屏上 如果溫濕度超出 了設(shè)定的上下限 將進(jìn)行報警 并啟動溫濕度調(diào)節(jié)設(shè)備 溫度回到限定值內(nèi)后 停止 報警 當(dāng)溫度不僅回到上下限以內(nèi) 而且留有一定裕量后 停止溫濕度調(diào)節(jié)設(shè)備 如 果需要修改溫濕度上下限 可以通過按鍵進(jìn)行修改 6 2 系統(tǒng)的指標(biāo)參數(shù) 系統(tǒng)的指標(biāo)參數(shù)完成情況如下表所示 表 6 1 系統(tǒng)指標(biāo)參數(shù)表 實現(xiàn)功能 結(jié)果 完成程度 測量溫度范圍 40 123 8 完成 測量溫度誤差 0 5 完成 測量濕度范圍 0 100 RH 完成 測量適度誤差 4 5 完成 液晶屏顯示 用 LCD1602 顯示 完成 超限報警 用蜂鳴器報警 完成 修改上下限 通過獨立式鍵盤修改 完成 輸出控制 通過光耦 繼電器控制 完成 6 3 系統(tǒng)功能分析 該大棚溫濕度自動控制系統(tǒng)能通過獨立式鍵盤設(shè)置溫濕度上下限 通過 LCD1602 顯示溫濕度 并在超限的情況下報警 啟動調(diào)節(jié)設(shè)備 其中輸出控制和通過鍵盤設(shè)置上下限都是通過調(diào)用子程序?qū)崿F(xiàn)的 鍵盤的工作方 式分兩種 一種是查詢方式 一種是中斷方式 中斷方式比較節(jié)省系統(tǒng)資源 只有當(dāng) 有按鍵按下時才會進(jìn)入鍵盤中斷子程序 進(jìn)一步掃描是那些鍵被按下 而查詢方式則 是在主程序中調(diào)用鍵盤掃描子程序 不管有沒有鍵按下 每次程序循環(huán)中都要一一判 第 36 頁 西華大學(xué)畢業(yè)設(shè)計說明書 斷每個鍵是否按下 故這種方式占用的單片機(jī)的處理時間更多 但是由于本次設(shè)計用 到的按鍵不多 只有五個 功能比較簡單 而且單片機(jī)工作比較空閑 因此使用的是 查詢方式來處理鍵盤的輸入 此外 還應(yīng)注意到的是 當(dāng)溫濕度超限后 要報警并啟動溫濕度調(diào)節(jié)設(shè)備 當(dāng)溫 濕度回到規(guī)定范圍內(nèi)時 只是停止報警 而溫濕度調(diào)節(jié)設(shè)備應(yīng)該繼續(xù)保持工作 直到 溫濕度留有一定裕量時才停止 本設(shè)計中的輸出控制子程序中設(shè)置了溫度 5 和濕度 5 RH 的裕量 這樣當(dāng)溫度上限是 30 度時 如果超出上限 那么溫度回到 30 度時停 止報警 當(dāng)溫度降到 25 度以下時才停止制冷設(shè)備的運行 這樣可以避免溫濕度調(diào)節(jié)設(shè) 備反復(fù)不停地通斷 以致影響使用壽命 第 37 頁 西華大學(xué)畢業(yè)設(shè)計說明書 7 總結(jié)與體會 這次畢業(yè)設(shè)計使我收獲良多 以前偏重于理論知識的學(xué)習(xí) 但是做了畢業(yè)設(shè)計才 發(fā)現(xiàn)在動手實踐上的不足 無論是畫電路原理圖 做仿真 做實物都牽涉到很多自己 以前沒有接觸過的內(nèi)容 通過這次畢業(yè)設(shè)計 我感覺我實際應(yīng)用知識的能力有了很大 提高- 1.請仔細(xì)閱讀文檔,確保文檔完整性,對于不預(yù)覽、不比對內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請點此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
15 積分
下載 |
- 配套講稿:
如PPT文件的首頁顯示word圖標(biāo),表示該PPT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計者僅對作品中獨創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 大棚 溫濕度 自動控制系統(tǒng) 設(shè)計 畢業(yè)設(shè)計
鏈接地址:http://www.3dchina-expo.com/p-9398794.html