基于51單片機的通風電路的設計.doc_第1頁
基于51單片機的通風電路的設計.doc_第2頁
基于51單片機的通風電路的設計.doc_第3頁
基于51單片機的通風電路的設計.doc_第4頁
基于51單片機的通風電路的設計.doc_第5頁
已閱讀5頁,還剩32頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1 陽泉職業(yè)技術(shù)學院陽泉職業(yè)技術(shù)學院 畢畢 業(yè)業(yè) 論論 文文 畢業(yè)生姓名畢業(yè)生姓名 鐘毅芳鐘毅芳 專業(yè)專業(yè) 應用電子技術(shù)應用電子技術(shù) 學號學號 080724015080724015 指導教師指導教師喬永鳳喬永鳳 所屬系 部 所屬系 部 信息系信息系 二二 一一一一年五月年五月 2 陽泉職業(yè)技術(shù)學院陽泉職業(yè)技術(shù)學院 畢業(yè)論文評閱書畢業(yè)論文評閱書 題目 題目 基于基于 51 單片機的通風電路設計單片機的通風電路設計 信息信息系系 應用電子技術(shù)應用電子技術(shù) 專業(yè)專業(yè) 姓姓 名名 鐘毅芳鐘毅芳 設計時間 設計時間 2011 年年 3 月月 7 日日 2011 年年 5 月月 6 日日 評閱意見 評閱意見 成績 成績 指導教師 指導教師 簽 簽 字 字 職職 務 務 3 2011 年年月月 日日 陽泉職業(yè)技術(shù)學院陽泉職業(yè)技術(shù)學院 畢業(yè)論文答辯記錄卡畢業(yè)論文答辯記錄卡 信息信息 系系 應用電子技術(shù)應用電子技術(shù) 專業(yè)專業(yè) 姓名姓名 鐘毅芳鐘毅芳 答答 辯辯 內(nèi)內(nèi) 容容 問問 題題 摘摘 要要評評 議議 情情 況況 記錄員 記錄員 簽 簽 名 名 成成 績績 評評 定定 指導教師評定成績指導教師評定成績答辯組評定成績答辯組評定成績綜合成績綜合成績 注 評定成績?yōu)樽?評定成績?yōu)?100 分制 指導教師為分制 指導教師為 30 答辯組為 答辯組為 70 4 專業(yè)答辯組組長 專業(yè)答辯組組長 簽名 簽名 2011 年年 月月 日日 目錄 中文摘 要 3 英文摘要 4 引 言 5 1方案的選擇及認證 6 1 1電源方案選擇 6 1 2測溫傳感器模塊 6 1 3顯示模塊 7 1 4 電機驅(qū)動模塊的選擇 7 2 硬件系統(tǒng)設計與電路設計 7 2 1 通風電路組成框圖 8 2 2 STC89C51 單片機硬件結(jié)構(gòu) 8 2 3 最小應用系統(tǒng)設計 8 2 3 1 時鐘電路 9 2 3 2 復位電路 10 2 4 溫度測量電路單元模塊設計 10 2 5 電機驅(qū)動單元模塊設計 12 2 6液晶 LCD1602 顯示模塊硬件電路設計 14 3 軟件設計 14 3 1 軟件程序設計 14 3 2 主程序流程圖 14 3 3 讀取溫度流程圖 15 3 4溫度報警控制電機流程圖 16 3 5液晶 LCD1602 顯示溫度 17 3 6報警溫度上下限設置和按鍵處理 18 結(jié)論 19 謝辭 19 參考文獻 20 附件 1 通風電路主板 串口的原理圖 21 附件 2 通風電路主板 串口的 PCB 圖 22 附件 3 實物圖 23 附件 4 程序清單 23 5 基于 51 單片機的通風電路設計 摘摘 要要 本設計采用 STC89S51 單片機為控制核心 電機的硬件驅(qū)動采用 ULN2003 芯片 由單片機輸出信號控制電機轉(zhuǎn)動 利用溫度傳感器模塊實現(xiàn)智 能檢測當前環(huán)境溫度 整個系統(tǒng)的電路結(jié)構(gòu)簡單 可靠性高 設計測試結(jié)果滿 足要求 設計原理簡明 方案正確 關(guān)鍵詞 關(guān)鍵詞 通風系統(tǒng) STC89S51 DS18B20 ULN2003驅(qū)動 自動測溫 6 Design of analog bus stop system Based on single chip body bus campaign Major of Applied Electronic Technology Information and Engineering College Wanghui Abstract The design for the control of single chip core STC89C51 electrical hardware drivers using the ULN2003 chip single chip output by the PWM control of motor speed the use of infrared detection module bus intelligent automatic tracing the circuit structure of the whole system is simple high reliability Experimental test results meet the requirements design principles of simplicity the program correctly Keyword Intelligent ventilation system STC89S51 DS18B20 ULN2003 Automatic temperature 7 引引 言言 隨著人們生活水平的不斷提高 單片機控制無疑是人們追求的目標之一 它 所給人帶來的方便也是不可否定的 其中智能通風系統(tǒng)就是一個典型的例子 但人們對它的要求越來越高 要為現(xiàn)代人工作 科研 生活 提供更好的更方 便的設施就需要從屬于單片機技術(shù)入手 一切向著數(shù)字化控制 智能化控制方 向發(fā)展 本設計所介紹的液晶溫度控制直流電機與傳統(tǒng)的手動控制直流電機及測溫電路 相比 具有讀數(shù)方便 顯示的信息比較多 測溫范圍廣 測溫比較準確 實現(xiàn) 了智能化 其輸出溫度采用液晶 1602 顯示 主要用于對測溫比較準確的場所 或科研實驗室使用 該設計控制器使用單片機 STC89S51 測溫傳感器使用 DS18B20 用液晶芯片 LCD1602 實現(xiàn)溫度顯示 能準確到小數(shù)點后一位達到以上 要求 單片機技術(shù)已經(jīng)普及到我們生活 工作 科研 各個領(lǐng)域 已經(jīng)成為一種比較 成熟的技術(shù) 本文主要介紹了一個基于 STC89S51 單片機的測溫控制電機風扇 系統(tǒng) 詳細描述了利用溫度傳感器 DS18B20 開發(fā)測溫系統(tǒng)的過程 重點對傳感 器在單片機下的硬件連接 軟件編程以及各模塊系統(tǒng)流程進行了詳盡分析 對 各部分的電路也一一進行了介紹 該系統(tǒng)可以方便的實現(xiàn)實現(xiàn)溫度采集和顯示 并可根據(jù)需要發(fā)光報警溫度 它使用起來相當方便 具有精度高 量程寬 靈 敏度比較高 體積小 功耗低環(huán)保實惠廉價等優(yōu)點 適合于我們?nèi)粘I詈凸?農(nóng)業(yè)生產(chǎn)中的溫度測量 也可以當作溫度處理模塊嵌入其它系統(tǒng)中 作為其他 主系統(tǒng)的輔助擴展 DS18B20 與 STC89S51 結(jié)合實現(xiàn)最簡溫度檢測系統(tǒng)和具有 智能化的控制風扇的開啟與關(guān)閉 該系統(tǒng)結(jié)構(gòu)簡單 抗干擾能力強 適合于惡 劣環(huán)境下進行現(xiàn)場溫度測量 有廣泛的應用前景 8 1 1 方案的選擇方案的選擇及認證及認證 1 11 1 電源方案選擇電源方案選擇 由于本系統(tǒng)需要 5V 電源供電 我們考慮了如下幾種方案為系統(tǒng)供電 方案 1 采用 4 節(jié) 1 5V 干電池供電 電壓達到 12V 經(jīng) 7805 穩(wěn)壓后給直流 電機供電及單片機系統(tǒng)和其他芯片供電 由于干電池電量有限 使用大量的干 電池將會給系統(tǒng)調(diào)試帶來不便 而且電池對環(huán)境產(chǎn)生污染源 因此 我們放棄 了這種方案 方案 2 采用變壓器整流濾波再經(jīng)過 7805 穩(wěn)壓穩(wěn)定后再給直流電機供電 及單片機和其他芯片供電 此方案是自制一個 5v 電源 電路比較簡單 而 且元件也比較廉價 電路板小而易攜帶 因此 這種方案比較可行 因此我們 選擇了此方案 綜上考慮 我們選擇了方案 2 1 11 1測溫傳感器測溫傳感器模塊模塊 方案 1 使用熱敏電阻設計 由于本設計是測溫控制直流電機電路 可以使用熱敏電阻之類的器件利用其感 溫效應 在將隨被測溫度變化的電壓或電流采集過來 進行 A D 轉(zhuǎn)換后 就可 以用單片機進行數(shù)據(jù)的處理 在顯示電路上 就可以將被測溫度顯示出來 這 種設計需要用到 A D 轉(zhuǎn)換電路 感溫電路比較麻煩而且測量的精度不夠 抗干 擾能力比較差 受各方面因素的影響較多 所以此方案不可取 方案 2 使用 DS18B20 傳感器設計 采用 STC89C51 單片機作控制器 溫度傳感器選用 DS18B20 來對環(huán)境溫度采集 測溫電路由溫度傳感器 DS18B20 實現(xiàn) 本設計所介紹的 DS18B20 溫度采集與傳 統(tǒng)的熱敏電阻之類的利用感溫效應相比 具有溫度采集數(shù)據(jù)處理方便 測溫范 圍廣 測溫準確 主要用于對測溫比較準確的場所 或科研實驗室使用 該設 計控制器使用單片機 STC89S51 測溫傳感器使用 DS18B20 用 實現(xiàn)溫度顯示 能準確達到以上要求 故選擇方案二 9 1 21 2顯示顯示模塊模塊 方案 1 用四位七段數(shù)碼管 對于數(shù)碼顯示 顯示的數(shù)據(jù)信息比較有限 而且顯示的控制比較繁瑣 因此我們放棄了這種方案 方案 2 用液晶 LCD1602 顯示 可以顯示的數(shù)據(jù)信息比較多 對液晶現(xiàn)實 的控制寫入比較簡單 而且它的價格然我們接受的起 所以我們選擇了方案 2 1 4 電機驅(qū)動模塊的選擇電機驅(qū)動模塊的選擇 方案 1 采用專用芯片 L298N 作為直流電機驅(qū)動芯片 L298N 是一個具有高 電壓大電流的全橋驅(qū)動芯片 它相應頻率比較高 一片 L298N 可以分別控 制兩個直流電機 而且還帶有控制使能端 用該芯片作為電機驅(qū)動 操作 方便 穩(wěn)定性好 性能優(yōu)良 但芯片比較貴 方案 2 用分立元件制作直流電機驅(qū)動電路 由分立元件構(gòu)成電機驅(qū)動電 路 結(jié)構(gòu)簡單 價格低廉 在實際應用中比較廣泛 但是這種電路工作性能不 夠穩(wěn)定 方案 3 用 ULN2003 反相器作為直流電機驅(qū)動芯片 ULN2003 也是一個 7 路 反向器電路 即當輸入端為高電平時 ULN2003 輸出端為低電平 當輸入端為低 電平時 ULN2003 輸出端為高電平 具有電流增益高 工作電壓高 溫度范圍寬 帶負載能力強等特點 而且價格低廉 因此我們選用了方案 3 能夠較好地滿足系統(tǒng)的要求 因此我們選擇了此方案 2 硬件系統(tǒng)設計與電路設計硬件系統(tǒng)設計與電路設計 硬件設計系統(tǒng)主要包括了測溫系統(tǒng)的設計以及單片機應用系統(tǒng)設計 一個單片機應用系統(tǒng)的硬件電路設計主要包含有兩部分內(nèi)容 一是系統(tǒng)擴 展 即單片機內(nèi)部的功能單元 如 ROM RAM I O 口 定時 計數(shù)器 中斷系統(tǒng) 等 當不能滿足應用系統(tǒng)的要求時 還必須在片外進行擴展 選擇適當?shù)男酒?設計相應的電路 二是系統(tǒng)配置 既按照系統(tǒng)功能要求配置外圍設備 并要考 慮設計合適的接口電路 10 2 12 1 通風電路組成框圖通風電路組成框圖 通風系統(tǒng)的控制核心是 STC89S51 單片機 系統(tǒng)由測溫模塊 直流電機驅(qū)動 模塊 LCD 顯示模塊 LED 燈光報警指示模塊 電源模塊等幾部分構(gòu)成 系統(tǒng)框圖如圖 2 1 所示 AT89C51 時鐘電路 復位電路 LCD1602 液晶顯示 溫度采集 直流 電機 聲光報警 圖 2 1 通風系統(tǒng)框圖 2 22 2 STC89C51STC89C51 單片機硬件結(jié)構(gòu)單片機硬件結(jié)構(gòu) STC89C51 單片機是把那些控制應用所必需的基本內(nèi)容都集成在一個尺寸有 限的電路芯片上 如果按照功能的劃分 它主要由微處理器 數(shù)據(jù)存儲器 程 序存儲器 并行 I O 口 串行口 定時器 計數(shù)器 中斷系統(tǒng)及特殊功能寄存器 組成 它們都是通過片內(nèi)單一總線連接而成 其基本結(jié)構(gòu)仍舊是采用 CPU 加上 外圍芯片的傳統(tǒng)模式 但對各種功能部件的控制是則采用特殊功能寄存器的集 中控制方式 STC89C51 單片機的硬件結(jié)構(gòu)具有功能部件種類齊全 功能強等特 點 特別值得一提的是該單片機中 CPU 中的位處理器 它實際上是一個完整的 一位微計算機 這個一位微計算機有自己的 CPU 位寄存器 I O 口和指令集 1 位機在開關(guān)決策 邏輯電路仿真 過程控制方面非常有效 而 8 位機在數(shù)據(jù) 采集 運算處理方面有明顯的長處 MCS 51 單片機中 8 位機和 1 位機的硬件資 源復合在一起 二者相輔相承 它是單片機技術(shù)上的一個突破 這也是 MCS 51 單片機在設計的精妙之處 2 32 3 最小應用系統(tǒng)設計最小應用系統(tǒng)設計 STC89C51 是片內(nèi)有 ROM EPROM 的單片機 因此 這種芯片構(gòu)成的最小系統(tǒng) 簡單可靠 用 STC89C51 單片機構(gòu)成最小應用系統(tǒng)時 只要將單片機接上時鐘電 路和復位電路即可 如圖 2 3 所示 由于集成度的限制 最小應用系統(tǒng)只能用 11 作一些小型的控制單元 其應用特點如下 1 有可供用戶使用的大量 I O 口線 2 內(nèi)部存儲器容量有限 3 應用系統(tǒng)開發(fā)具有特殊性 圖 2 2 STC89C51 單片機最小系統(tǒng) 2 3 12 3 1 時鐘電路時鐘電路 STC89C51 雖然有內(nèi)部振蕩電路 但要形成時鐘 必須外部附加電路 STC89C51 單片機產(chǎn)生時鐘的方法有兩種 內(nèi)部時鐘方式和外部時鐘方式 本設計采用內(nèi)部時鐘方式 利用芯片內(nèi)部的振蕩電路 在 XTAL1 XTAL2 引 腳上外接定時元件 內(nèi)部的振蕩電路便產(chǎn)生自激振蕩 本設計采用最常用的內(nèi) 部時鐘方式 即用外接晶體和電容組成的并聯(lián)諧振回路 振蕩晶體頻率選擇 11 0592MHz 電容值無嚴格要求 但電容取值對振蕩頻率輸出的穩(wěn)定性 大小 振蕩電路起振速度有少許影響 CX1 CX2 可在 20pF 到 100pF 之間取值 但在 20pF 到 30pF 時振蕩器有較高的頻率穩(wěn)定性 所以本設計中 電容選擇 22pF 在設計印刷電路板時 晶體和電容應盡可能地靠近單片機芯片 以減少寄 生電容的產(chǎn)生 更好的保證振蕩器穩(wěn)定和可靠地工作 12 2 3 22 3 2 復位電路復位電路 STC89C51 的復位是由外部的復位電路來實現(xiàn)的 復位引腳 RST 通過一個施 密特觸發(fā)器來抑制噪聲 在每個機器周期的 S5P2 復位電路采樣施密特觸發(fā)器 的輸出電平一次 然后才能得到內(nèi)部復位操作所需要的信號 復位電路通常采用上電自動復位和按鈕復位兩種方式 最簡單的上電自動復位電路中上電自動復位是通過外部復位電路的電容充 電來實現(xiàn)的 只要 Vcc 的上升時間不超過 1ms 就可以實現(xiàn)自動上電復位 上電 復位電路見圖 2 4 圖 2 3 上電復位 2 42 4 溫度測量電路單元模塊設計溫度測量電路單元模塊設計 測溫所采用的電路如下圖 2 5 所示 圖 2 4 測溫電路原理 我們采用 DS18B20 溫度傳感器實物如圖 2 4 1 所示 13 圖 2 4 1 1 ds18b20 的 8 角封裝 圖 2 4 1 ds18b20 實物 DS18B20 輸出地數(shù)據(jù)格式說明在下圖 2 4 2 中具體表現(xiàn)出來 其中 MS 表示數(shù)據(jù) 的高 8 位 LS 表示數(shù)據(jù)的低 8 位 由于溫度在 0 以上為正溫度 而在 0 以 下為負溫度 因此在計算溫度時必須在溫度轉(zhuǎn)換之前應先對正負數(shù)進行判別 然后再進行轉(zhuǎn)換 當 S 0 時 表示正數(shù) S 1 時 表示負數(shù) 對于負數(shù) 在處 理時是采用了 先取反再加一 即將補碼轉(zhuǎn)換為原碼的方法 同時 為了提高 測量的精度 DS18B20 采用了 12 位數(shù)據(jù)轉(zhuǎn)換的方式 其中 符號位占 l 位 整 數(shù)占 7 位 小數(shù)占 4 位 因此 在計算與處理時 還必須將整數(shù)和小數(shù)分開進 行處理 通過對百分位數(shù)據(jù)的 四舍五入 處理 其引腳說明如下表 2 4 1 8 引腳 SOIC 封裝TO92符號說明 51GND地 42DQ數(shù)據(jù)輸入 輸出 常態(tài)下高電平 33VDD可選電源 表 2 4 1 DS18B20 的存儲器由暫存 RAM 和非易失的 EEPRAM 構(gòu)成 暫存 RAM 共 9 個存儲單元 其結(jié)構(gòu)圖如圖 2 4 2 所示 暫存 RAM 中 TH TL 配置字節(jié)的 拷貝 改變 TH TL 的值 可以改變 DS18B20 的上下限的溫度 通過設置配置 字節(jié)的第 6 7 位 可完成溫度值的分辨率的配置 溫度值低字節(jié)0 溫度值高字節(jié)1 TH 用戶字節(jié) 12 TL 用戶字節(jié) 23 14 配置字節(jié)4 保留字節(jié)5 保留字節(jié)6 保留字節(jié)7 CRC8 CRC 值為前 8 個字節(jié)的校驗位 溫度值的高低字節(jié)位結(jié)構(gòu)如表 2 4 2 1 表 2 4 2 1 本通風系統(tǒng)的溫度測量溫度顯示的整數(shù)溫度值取值時采取 高字節(jié)的低三位 低字節(jié)的高四位 小數(shù)部分 低字節(jié)位的低四位 列表查表 完成 DS18B20 操作指令集如下列表 2 4 2 2 命令說明協(xié)議總線數(shù)據(jù)操作 溫度轉(zhuǎn)換開始溫度轉(zhuǎn)換44H將轉(zhuǎn)換狀態(tài)發(fā)送給主 設備 讀寄存器讀所有寄存器 包括 CRC 字節(jié) BEH將 9 字節(jié)的數(shù)據(jù)發(fā)送 給主設備 寫寄存器數(shù)據(jù)寫入寄存器 TH TL 4EH主設備向 ds18b20 發(fā) 送 3 字節(jié)數(shù) 復制將寄存器 TH TL 恢復到 EEPROM 48H無 回調(diào)由 EEPROM 向寄 存器恢復 TH TL 和配置寄存器數(shù) 據(jù) B8H將恢復狀態(tài)發(fā)送給主 設備 讀電源讀取電源模式B4H向主設備發(fā)送電源狀 態(tài) 表 2 4 2 2 2 52 5 電機驅(qū)動單元模塊設計電機驅(qū)動單元模塊設計 從單片機輸出的信號功率很弱 即使在沒有其它外在負載時也無法帶動電 機 所以在實際電路中我們加入了電機驅(qū)動芯片用來提高輸出電機信號的功率 從而能夠根據(jù)實際需要來控制電機轉(zhuǎn)動 根據(jù)驅(qū)動功率大小以及連接電路的簡 化要求我們選擇了 ULN2003 芯片 其外形 管腳分布如圖 2 7 所示 15 圖 2 5 ULN2003 管腳分布圖 從圖中可以知道 一塊 ULN2003 芯片能夠驅(qū)動兩個電機轉(zhuǎn)動 它的使能端 可以外接高低電平 也可以利用單片機進行軟件控制 極大地滿足各種復雜電 路需要 另外 ULN2003 的驅(qū)動功率較大 能夠根據(jù)輸入電壓的大小輸出不同 的電壓和功率 解決負載能力不足的問題 電機驅(qū)動電路如下圖 2 8 所示 圖 2 6 電機驅(qū)動電路 ULN2003 的 1 8 個引腳接到單片機上 通過對單片機的編程可以實現(xiàn)直流 電機正停轉(zhuǎn)的功能 16 2 62 6液晶液晶 LCD1602LCD1602 顯示模塊硬件電路設計顯示模塊硬件電路設計 圖 2 7 通風系統(tǒng)顯示圖及仿真效果圖 3 3 軟件設計軟件設計 3 13 1 軟件程序設計軟件程序設計 在進行微機控制系統(tǒng)設計時 除了系統(tǒng)硬件設計外 大量的工作就是如何 根據(jù)每個對象的實際需要設計應用程序 在單片機控制系統(tǒng)中 大體上可分為 數(shù)據(jù)處理 過程控制兩個基本類型 數(shù)據(jù)處理包括 數(shù)據(jù)的采集 數(shù)字處理 數(shù)據(jù)變換 顯示處理等 過程控制程序主要是使單片機按一定的方法進行計算 然后再輸出信號 以便控制生產(chǎn) 為了完成上述任務 在進行軟件設計時 通常把整個過程分成若干個部分 每一部分叫做一個模塊 所謂 模塊 實質(zhì)上就是完成一定功能 相對獨立的 程序段 模塊程序設計法的主要優(yōu)點是 1 單個模塊比起一個完整的程序易編寫及調(diào)試 2 模塊可以共存 一個模塊可以被多個任務在不同條件下調(diào)用 3 23 2 主程序流程圖主程序流程圖 主程序流程圖 3 2 如下所示 17 液晶初始化 顯示字符串 讀取測量溫度 按鍵處理 溫度報警判斷 結(jié)束 延時 開始 圖 3 2 程序流程圖 3 33 3 讀取溫度流程圖讀取溫度流程圖 測溫流程圖 3 2 如下 18 開始 DS18B20初始 化故障 DS18B20正常 標志位置0 跳過讀取內(nèi)存 Y N 啟動溫度轉(zhuǎn)換 DS18B20初始 化 跳過讀取內(nèi)存 讀取溫度寄存器 讀取溫度低8位 和高8位 DS18B20正常標 志位置1 結(jié)束 讀取溫度值流程圖 開始 讀取溫度 DS18B20 IS O K 1 N 讀取溫度發(fā)生 變化 刷新顯示 顯示溫度 溫度 Signed Temp 35 電機轉(zhuǎn)動 標識綠燈亮 溫度 Signed Temp 10 電機轉(zhuǎn)動 標識紅燈亮 YY 溫度 10 Signed Temp 35 NN 電機慢慢停轉(zhuǎn) 標識 Y 結(jié)束 Y Y 圖 3 2 讀取溫度流程圖 圖 3 2 1 溫度報警的流程圖 3 43 4溫度報警控制電機流程圖溫度報警控制電機流程圖 溫度報警控制流程圖如圖 3 4 報警溫度原理圖如圖 3 4 1 圖 3 4 1 溫度報警原理圖 19 當溫度值大于 35 度時 電機轉(zhuǎn)動綠燈閃爍報警 當溫度大于 10 度小于 35 度時 電機停止轉(zhuǎn)動 當溫度小于 10 度時 電機轉(zhuǎn)動 紅燈閃爍報警 3 53 5液晶液晶 LCD1602LCD1602 顯示溫度顯示溫度 液晶顯示流程圖如圖 3 5 開始 負數(shù)標識置0 溫度值取反加1 溫度為負數(shù) 小數(shù)部分查表 高位自加 負數(shù)標識置 1 獲取溫度整數(shù)部分 高 位的低三位 低位的高 四位 獲取有符號的溫度值 忽 略小數(shù)位 Y 結(jié)束 液晶顯示 溫度值低位位0 x00 將溫度整數(shù)部分分為三位 刷新LCD顯示 高位為0時不顯示 高位為0 且次高位為0時 次高位不顯 示 顯示負號恰當 顯示標題 溫度符號 Y 圖 3 5 液晶 LCD1602 顯示流程圖 20 3 63 6報警溫度上下限設置和按鍵處理報警溫度上下限設置和按鍵處理 報警溫度上下限設置和按鍵處理流程圖如下 開始 按鍵是否按下 等待釋放 按鍵是否按下 消抖動 結(jié)束 標志位flag加1 Flag 2 Flag 0 Y N 圖 3 6 1 按鍵處理 圖 3 6 2 報警溫度上下限設置 開始 溫度上限加1 K1按下 K2按下 K3按下 K4按下 NNN Y 溫度上限減1溫度下限加1溫度下限減1 YYY 顯示溫度上下限值 結(jié)束 21 結(jié)結(jié)論 論 本設計通風控制系統(tǒng)經(jīng)過論證 證明運行可靠 操作方便 節(jié)省人力投入 提高了自動化控制水平和工作效率 方便了調(diào)試和維護 符合智能通風技術(shù)的 要求 真正做到既經(jīng)濟又實用的控制目的 具有推廣價值 隨著生活水平的提 高 人們對室內(nèi)空氣的要求已從保暖降溫發(fā)展到要求高品質(zhì) 在自然通風達不 到要求時 強制通風的空氣質(zhì)量控制系統(tǒng)則成為建筑必不可少的設施 而這方面 我國才剛剛起步 中低端市場更是空白 本設計已成功地應用于車間的通風機 控制中 應用前景廣闊 可以大量推廣到需要低成本通風系統(tǒng)的場合 如學校 醫(yī)院 家庭 商場及工廠等 22 致謝 致謝 在這段時間里 喬老師嚴謹?shù)闹螌W態(tài)度和熱忱的工作作風令我十分欽佩 她的指導使我們受益匪淺 通過這次畢業(yè)設計 使我深刻地認識到學好專業(yè)知識的重要性 也理解了 理論聯(lián)系實際的含義 并且檢驗了大學三年的學習成果 雖然在這次設計中對 于知識的運用和銜接還不夠熟練 但是我將在以后的工作和學習中繼續(xù)努力 不斷完善 這段時間的設計是對過去所學知識的系統(tǒng)提高和擴充的過程 為今 后的發(fā)展打下了良好的基礎(chǔ) 由于自身水平有限 設計過程中存在了一些不足之處 敬請各位老師批評 指正 參考文獻參考文獻 1 王靖 胡特 謝玉川等 現(xiàn)代住宅室內(nèi)通風方式探討 制冷與空調(diào) 2003 2 2 侯哲生 李 聰 張 伏等 基于單片機的通風機控制器的設計 2005 09 13 3 王成福 趙云等 一種簡單的實用 LCD 數(shù)顯溫度計 2002 4 宋亞偉 李恒宗 基于 DS18B20 的溫度采集控制電路 2008 3 7 9 5 肖晴 液晶顯示溫度的控制 2005 2 6 沈蘭寧 窗戶自動控制管理系統(tǒng)的控制與設計 2009 22 7 張菁 基于單片機溫度控制系統(tǒng)方案的研究 2007 9 8 黨峰 王敬農(nóng) 高國旺 基于 DS18B20 的數(shù)字式溫度計的設計 2007 3 23 附件附件 1 1 通風電路主板通風電路主板 串口的原理圖 串口的原理圖 主板的電路圖 24 電源及串口電路圖 附件附件 2 2 通風電路主板 串口的通風電路主板 串口的 PCBPCB 圖圖 附件電路圖 4 LCD 顯示模塊電路 圖 25 附件附件 3 3 實物圖實物圖 附件附件 4 程序清單程序清單 include include define uchar unsigned char define uint unsigned int void delayNOP nop nop 附件電路圖 4 LCD 顯示模塊電路 圖 26 nop nop ucharflag 0 按鍵標識符 sbit DQ P3 3 溫度傳感器數(shù)據(jù)口 sbit LCD RS P1 2 sbit LCD RW P1 1 sbit LCD EN P1 0 sbit Forward P1 3 高溫報警 sbit Stop P1 1 sbit Reveral P1 5 低溫報警 sbit MA P2 5 電機驅(qū)動 sbitbeep P2 7 蜂鳴器報警 sbitbutton P2 6 按鍵 sbitk1 P2 0 sbitk2 P2 1 sbitk3 P2 2 sbitk4 P2 3 ucharcode speak Hot temp ucharcode speak1 cold temp uchar code helloword Wellcome you uchar code helloword1 Temperature test uchar code helloword2 The test is end uchar code Temp Disp Title Current Temp uchar Current Temp Display Buffer TEMP ucharalarm HI LOW ucharalarm temp 2 15 10 uchargao di uchar ng 0 負溫度標識符 溫度字符 uchar code Temperature Char 8 0 x0C 0 x12 0 x12 0 x0C 0 x00 0 x00 0 x00 0 x00 溫度小數(shù)位對照表 uchar code df Table 0 1 1 2 3 3 4 4 5 6 6 7 8 8 9 9 當前讀取的溫度整數(shù)部分 uchar CurrentT 0 有符號溫度值 char Signed Temp 0 從 DS18B20 讀取的溫度值 uchar Temp Value 0 x00 0 x00 溫度數(shù)據(jù)備份 uchar Back Temp Value 0 xFF 0 xFF 27 待顯示的各溫度數(shù)位 uchar Display Digit 0 0 0 0 傳感器正常標志 bit DS18B20 IS OK 1 voiddisplay alarm temp ucharhigh uchar lowe 延時 1 void DelayXus int x uchar i while x for i 0 i 200 i LCD 忙檢測 uchar LCD Busy Check reentrant uchar result LCD RS 0 LCD RW 1 LCD EN 1 delayNOP result bit P0 LCD EN 0 return result 寫指令 void Write LCD Command uchar cmd while LCD Busy Check LCD RS 0 LCD RW 0 LCD EN 0 delayNOP P0 cmd delayNOP LCD EN 1 delayNOP LCD EN 0 28 寫數(shù)據(jù) void Write LCD Data uchar dat while LCD Busy Check LCD RS 1 LCD RW 0 LCD EN 0 P0 dat delayNOP LCD EN 1 delayNOP LCD EN 0 自定義字符寫 CGRAM void Write NEW LCD Char uchar i Write LCD Command 0 x40 寫 CGRAM for i 0 i 8 i Write LCD Data Temperature Char i 寫入溫度符號 初始化 void LCD Initialise Write LCD Command 0 x01 DelayXus 5 Write LCD Command 0 x38 DelayXus 5 Write LCD Command 0 x0c DelayXus 5 Write LCD Command 0 x06 DelayXus 5 Write NEW LCD Char 溫度符號寫入 CGRAM 設置顯示位置 29 void Set LCD POS uchar pos Write LCD Command pos 0 x80 延時 2 void Delay uint x while x 初始化 DS18B20 uchar Init DS18B20 uchar status DQ 1 Delay 8 DQ 0 Delay 90 DQ 1 Delay 8 status DQ Delay 100 DQ 1 return status 初始化成功返回 0 讀一字節(jié) uchar ReadOneByte uchar i dat 0 DQ 1 nop for i 0 i 1 DQ 1 nop nop if DQ dat 0 x80 30 Delay 30 DQ 1 return dat 寫一字節(jié) void WriteOneByte uchar dat uchar i for i 0 i 1 讀取溫度值 void Read Temperature EA 0 if Init DS18B20 1 DS18B20 故障 DS18B20 IS OK 0 else WriteOneByte 0 xCC 跳過序列號 WriteOneByte 0 x44 啟動溫度轉(zhuǎn)換 Init DS18B20 WriteOneByte 0 xCC 跳過序列號 WriteOneByte 0 xBE 讀取溫度寄存器 Temp Value 0 ReadOneByte 溫度低 8 位 Temp Value 1 ReadOneByte 溫度高 8 位 DS18B20 IS OK 1 EA 1 31 在 LCD 上顯示當前溫度 void Display Temperature uchar i uchar t 150 延時值 uchar ng 0 負數(shù)標識 如果為負數(shù)則取反加 1 并設置負數(shù)標識 if Temp Value 1 Temp Value 0 Temp Value 0 1 if Temp Value 0 0 x00 Temp Value 1 ng 1 查表得到溫度小數(shù)部分 Display Digit 0 df Table Temp Value 0 獲取溫度整數(shù)部分 無符號 CurrentT Temp Value 0 獲取有符號溫度值 忽略小數(shù)位 Signed Temp ng CurrentT CurrentT 將整數(shù)部分分解為三位待顯示數(shù)字 Display Digit 3 CurrentT 100 Display Digit 2 CurrentT 100 10 Display Digit 1 CurrentT 10 刷新 LCD 顯示緩沖 Current Temp Display Buffer 11 Display Digit 0 0 Current Temp Display Buffer 10 Current Temp Display Buffer 9 Display Digit 1 0 Current Temp Display Buffer 8 Display Digit 2 0 Current Temp Display Buffer 7 Display Digit 3 0 高位為 0 時不顯示 if Display Digit 3 0 Current Temp Display Buffer 7 高位為 0 且次高位為 0 時 次高位不顯示 if Display Digit 2 0 負數(shù)符號顯示在恰當位置 32 if ng if Current Temp Display Buffer 8 Current Temp Display Buffer 8 else if Current Temp Display Buffer 7 Current Temp Display Buffer 7 else Current Temp Display Buffer 6 在第一行顯示標題 Set LCD POS 0 x00 for i 0 i 16 i Write LCD Data Temp Disp Title i 在第二行顯示當前溫度 Set LCD POS 0 x40 for i 0 i 16 i Write LCD Data Current Temp Display Buffer i Set LCD POS 0 x4D Write LCD Data 0 x00 Set LCD POS 0 x4E Write LCD Data C 蜂鳴器報警聲音 void beept uchari j 70 for i 0 i alarm temp 0 MA 1 轉(zhuǎn)動 Forward Forward Stop 1 Reveral 1 beept Set LCD POS 0 x00 for i 0 i 13 i Write LCD Data speak i Write LCD Command 0 x8f Write LCD Data Y 風扇開啟標志 else if Signed Temp alarm temp 1 MA 1 轉(zhuǎn)動 Forward 1 Stop 1 beept Reveral Reveral Set LCD POS 0 x00 for i 0 i 13 i Write LCD Data speak1 i 34 Write LCD Command 0 x8f Write LCD Data Y e

溫馨提示

  • 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論