基于單片機的溫濕度控制系統.doc_第1頁
基于單片機的溫濕度控制系統.doc_第2頁
基于單片機的溫濕度控制系統.doc_第3頁
基于單片機的溫濕度控制系統.doc_第4頁
基于單片機的溫濕度控制系統.doc_第5頁
已閱讀5頁,還剩37頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

基于單片機的溫濕度控制系統 一 主要內容 以 STC89 系列單片機為核心 通過傳感器測試實驗室溫濕度進而啟動設備調整實驗 室溫濕度以達到舒適的環境 二 基本要求 1 以單片機為核心設計整個系統 2 實現傳感器采集的溫濕度數據傳輸到單片機中進行數據分析處理 并啟動相應設備 來調整實驗室溫濕度 3 使用 Keil C 編程實現相關邏輯控制 4 電路原理圖設計 protel 印刷電路圖設計 三 主要技術指標 1 電壓直流 5V 工作電流小于 500mA 2 完成主要功能 3 電路原理圖 4 使用說明書撰寫 5 論文正文不少于 1 5 萬字 查閱文獻資料不少于 15 篇 其中外文文獻 2 篇以上 翻譯與課題有關的外文資料不少于 3000 漢字 四 應收集的資料及參考文獻 C 語言開發 關于 STC89 系列相關單片機開發文檔 相關傳感和顯示器件使用手冊和接口電路 電機驅動模塊 五 進度計劃 2011 年 2 月下旬 單片機開發集訓 單片機工程實習 2011 年 3 月 10 日 資料收集 文獻閱讀 2011 年 3 月 20 日 系統設計 電路實現 2011 年 4 月 15 日 程序邏輯開發以及編譯燒錄 2011 年 5 月 10 日 系統統調完成 2011 年 5 月 15 日 論文撰寫 2011 年 6 月 10 日 答辯準備 ppt 設計 2011 年 6 月 15 日 答辯 目 錄 第第 1 1 章章 緒緒 論論 1 1 1 課題研究的背景 1 1 2 課題研究的意義 1 1 3 課題研究的主要內容 2 1 4 課題研究的工作原理 2 第 2 章 系統總體方案設計 3 2 1 功能要求 3 2 2 設計思路 3 2 3 方案選擇 3 2 3 1 傳感器選擇方案 3 2 3 2 顯示器選擇方案 4 2 3 3 單片機主芯片選擇方案 4 2 4 總體設計框圖 5 第 3 章 系統硬件設計 7 3 1 概述 7 3 2 主控模塊設計 7 3 2 1 STC89C52 芯片的簡介 7 3 2 2 主控模塊電路原理圖 10 3 3 DHT11 傳感器模塊設計 10 3 3 1 DHT11 傳感器簡介 10 3 3 2 DHT11 傳感器模塊電路設計 14 3 4 1602 液晶顯示模塊設計 15 3 4 1 1602 液晶顯示屏簡介 15 3 4 2 1602 液晶顯示模塊電路原理圖 18 3 5 報警模塊 19 3 5 1 蜂鳴器介紹 19 3 5 2 蜂鳴器工作原理 19 第 4 章 系統軟件設計 20 4 1 1602 液晶顯示模塊設計 21 4 2 傳感器模塊設計 23 第 5 章 系統分析與調試 25 第 6 章 結論與展望 27 致 謝 29 附 錄 30 附錄 A 外文資料 30 附錄 B 硬件原理圖 38 附錄 C 程序清單 39 第 1 章 緒 論 1 1 課題研究的背景 溫度 濕度和人類的生產 生活有著密切的關系 同時也是工業生產中最常見 最基本的工藝參數 例如機械 電子 石油 化工等各類工業中廣泛需要對溫度濕 度的檢測與控制 并且隨著人們生活水平的提高 人們對自己的生存環境越來越關 注 而空氣中溫濕度的變化與人體的舒適度和情緒都有直接的影響 所以對溫度濕 度的檢測及控制就非常有必要了 隨著科技的飛速發展和普及 高性能設備越來越多 各行各業對溫濕度的要求 也越來越高 傳統的溫濕度檢測模式是以人為基礎 依靠人工輪流值班 人工巡回 查看等方式來測量和記錄環境狀況信息 在這種模式下 不僅效率低不利于人才資 源的充分利用 而且缺乏科學性 許多重大事故都是由人為因素造成的 人工維護 缺乏完整的管理系統 而問世監控系統就可以解決這樣人才資源浪費 管理不及時 的問題 這是由于它的智能化設計所決定的 故本次設計對于類似項目還具有普遍 意義 1 2 課題研究的意義 8051 單片機是常用于控制的芯片 在智能儀器儀表 工業檢測控制 機電一體 化等方面取得了令人矚目的成果 用其作為溫濕度控制系統的實力也很多 使用 8051 單片機能夠實現溫濕度全程的自動控制 而且 8051 單片機易于學習掌握 性 價比高 使用 8051 型單片機設計溫濕度控制系統 可以即時精確的反應溫室內的溫度以 及適度的變化 完成諸如升溫到特定的溫度 降溫到特定的溫度 在溫度上下限范 圍內保持恒溫等多種控制方式 在濕度控制方面也是如此 將此系統應用到溫室當 中無疑為植被生長提供了更加適宜的環境 對于大棚種植和花圃 花卉栽培 必須 在某些特定環境安裝溫濕度裝置對其進行監控 本系統可以及時 精確的反映室內 的溫度以及濕度的變化 能夠滿足溫濕度的控制要求 1 3 課題研究的主要內容 本系統所要完成的任務是 1 3 1 人性化的設計 界限溫度值及濕度值能夠由用戶根據不同植被的各種生 長需求由鍵盤輸入并通過顯示器顯示 1 3 2 能夠實時 準確的顯示采樣溫度值與濕度值 1 3 3 通過采集溫度及濕度值 準確的判斷標準值與當前值之間的差異 及時 的啟動報警裝置 警報提示音提示音 進行報警 并采取相應的方案 1 3 4 能夠根據環境在不同時間段內對溫濕度的不同要求 用戶可隨機人為的 更改溫度及濕度值 以滿足用戶不同的需求 1 4 課題研究的工作原理 該電路的最關鍵部分是關于溫度和濕度的采集以及檢測 顯示 主控電路芯片 采用學校統一制作的 STC89C52 單片機學習板 STC 單片機執行指令的速度很快 對 工作環境的要求比較低 傳感器模塊我選擇了 DHT11 數字溫濕度傳感器 告別了以 前的單獨測量溫度以及濕度的方式 更簡潔 更方便 連接好外圍電路 通過 DHT11 準確的檢測出當前環境下的溫濕度 并且將所測數據交給 STC 單片機進行分 析和處理 再將所得數據有單片機發送給 HJ1602A 液晶屏 成功完成顯示 控制模 塊采用蜂鳴器報警方式 預先設置好所需溫度和濕度的限值 一個上限一個下限 將蜂鳴器接入電路 通過溫度和濕度的上下限值控制蜂鳴器的報警 若逾越限值 實現蜂鳴器鳴響 但是需要注意的是溫度超標和濕度超標需設置兩種不同的鳴響方 式 用來加以區別 溫度越限以及濕度越限蜂鳴器的領翔方式必須不一樣 提醒工 作人員此時溫度濕度數據出現異常 需及時調整 及時啟用升溫器 加濕器 降溫 風扇以及噴霧器來有效的調整實驗室內溫濕度 從而簡單實現了控制 總體來說 本次設計主要涉及了溫濕度的測量以及實現簡單控制 硬件方面有四個模塊 即傳 感器模塊 STC80C52 單片機主控模塊 LCD1602 液晶顯示模塊以及報警模塊 從硬 件制作方面 也相對簡便 原理清晰 連線方便 不需要額外的焊接等技術 給硬 件的制作帶來了極大的便捷 第 2 章 系統總體方案設計 2 1 功能要求 1 通過數字溫濕度傳感器 DHT11 采集溫濕度數據 即時傳輸給單片機 2 單片機將收到的信號進行分析和處理 將采集到時溫濕度實時數據送給 1602 液晶顯示屏 3 通過 1602LCD 液晶屏完成溫濕度的數據顯示 4 給定溫度濕度上下限數值 設置不同的溫濕度 接入蜂鳴器 實現越限報警 2 2 設計思路 電路總體上分為溫濕度采集部分 中央處理器 顯示模塊以及報警模塊部分 以 STC89C52 單片機最小系統作為核心控制電路 控制 DHT11 傳感器采集的溫濕度的 轉換 控制 1602 液晶屏的顯示 以及蜂鳴器的報警 具體顯示內容及方式由軟件來 完成 采集溫濕度方面由 DHT11 傳感器來完成 它是一個數字溫濕度傳感器 內置 模數轉換 可以直接與單片機相連接 而 1602 液晶屏是插針式 也可以直接與單片 機相連接 因此不需要手動焊接等復雜的過程 具體步驟是 按照原理圖將傳感器 1602 液晶顯示屏分別接入單片機 通過 DHT11 傳感器采集當前的溫濕度值 再經單 片機 將處理后的數據傳送到液晶屏上顯示出來 并且接入蜂鳴器 設置溫度的上 下限值 實現越限報警 2 3 方案選擇 2 3 1 傳感器選擇方案 方案一 選用 DS18B20 溫度傳感器作為溫度檢測模塊 DS18B20 是一線式數字 溫度傳感器 具有獨特的單線式接口方式 測量范圍在 55 125 10 85 誤差范圍在 0 5 最高精度可達 0 0625 HS1101 是電容式濕度傳感器 可測量相對濕度范圍在 0 100 RH 誤差為 2 RH 方案二 選用 DHT11 作為設計的溫濕度檢測模塊 DHT11 是一款集成型的數字 溫濕度一體傳感器 它應用專用的數字模塊采集技術和溫濕度傳感技術 確保產品具有極高的可靠 性與卓越的長期穩定性 傳感器包括一個電阻式感濕元件和一個 NTC 測溫元件 并 與一個高性能 8 位單片機相連接 因此該產品具有品質卓越 超快響應 抗干擾能 力強 性價比極高等優點 測量范圍 20 90 RH 0 50 測溫精度為 2 測濕精度為 5 RH 完全符合本次畢業設計的要求 經上述分析 方案一雖然精度更精確 卻稍顯復雜 方案二即便不能實現方案 一的高精度測量 卻也能滿足設計要求 且簡便易行 可靠穩定 具有超高的性價 比 故選擇方案二 2 3 2 顯示器選擇方案 方案一 采用 12864 液晶顯示屏 液晶顯示模塊是 128 64 點陣的漢字圖形型液晶 顯示模塊 可顯示漢字及圖形 內置 8192 個中文漢字 16X16 點陣 128 個字符 8X16 點陣 及 64X256 點陣顯示 RAM GDRAM 可與 CPU 直接接口 提供兩種界面 來連接微處理機 8 位并行及串行兩種連接方式 具有多種功能 光標顯示 畫面 移位 睡眠模式等 方案二 采用 HJ1602 液晶顯示屏 HJ1602A 是一種工業字符型液晶 能夠同 時顯示 16x02 即 32 個字符 16 列 2 行 1602 只能顯示字母 數字和符號能顯示 16 2 個字符 但寄存器不止 32 個 有一些顯示效果 如字符一個個顯示 字符從 左到右或從右到左顯示等等 顯示效果簡單 總結 在編程使用方面 兩者難度差不多 原理差不多 都是寫指令 寫地址 寫數據等等 當然 12864 液晶屏顯示更全面 字符更多 相比于 1602 液晶屏 12864 能更形象具體的實現顯示功能 不過 1602 液晶屏也能實現設計的要求 網上 買比較廉價 最低的六塊錢左右 而 12864 液晶顯示屏最便宜的也要四十塊錢 從 造價方面考慮 當然是價格低廉的優先 而 HJ1602A 就是最好的選擇 2 3 3 單片機主芯片選擇方案 方案一 AT89C51 是美國 ATMEL 公司生產的低電壓 高性能 CMOS 型 8 位單片機 器件采用 ATMEL 公司的高密度 非易失性存儲技術生產 兼容標準 MCS 51 指令系統 片內置通用 8 位中央處理器 CPU 和 Flash 存儲單元 功能強大 其片內的 4K 程序 存儲器是 FLASH 工藝的 這種單片機對開發設備的要求很低 開發時間也大大縮短 寫入單片機內的程序還可以進行加密 這又很好地保護我們的勞動成果 再者 AT89C51 目前的售價比 8031 還低 市場供應也很充足 AT89C51 可構成真正的單片 機最小應用系統 縮小系統體積 增加系統的可靠性 降低系統的成本 只要程序 長度小于 4K 四個 I O 口全部提供給用戶 可用 5V 電壓編程 而且擦寫時間僅需 lOms AT89C51 芯片提供三級程序存儲器加密 提供了方便靈活而可靠的硬加密手 段 能完全保證程序或系統不被仿制 PO 口是三態雙向口 通稱數據總線口 因為 只有該口能直接用于對外部存儲器的讀 寫操作 方案二 STC89C51 系列單片機的指令系統和 AT89C51 系列的完全兼容 但實際 操作起來卻存在很多問題 1 AT89C51 不帶 ISP 下載 要用下載器才行 STC89C52 可以用你的 USB 轉串 口下載 下載軟件可以到 STC 廠家網上去下 2 STC 單片機執行指令的速度很快 大約是 AT 的 3 30 倍 盡管快是好事 但這樣一來 你在 AT 上好使的程序在 STC 上不一定好用 最典型的例子就是那些對 時序有嚴格要求的模塊 用 STC 時注意得加長延時 大約是 AT 的 10 30 倍就差不 多 這一點自己調試就知道了 3 STC 單片機對工作環境的要求比較低 電壓低于 5 伏時仍然正常工作 甚 至 3 伏到 4 伏之間都還可以工作 然而這樣的環境下 AT 肯定不行了 所以當一個系 統用 STC 單片機好用 但用 AT 的單片機不工作時 直接查最小系統 看單片機的供 電是否正常 比較這兩種方案 由于在學校期間學過數字電路 單片機原理 C 語言程序設 計 綜合考慮單片機的各部分資源和作為學生能夠獲得的資源 經過對比此次設計 要求 我選擇用 STC 系列芯片完成 而且學校也提供了相應的硬件操作平臺 實際 操作起來比較方便 故 STC 為更合理的選擇 2 4 總體設計框圖 按照系統功能的具體要求 在保證實現其功能的然礎上 盡可能降低系統成本 總體設計方案圍繞上述思想 初步確定系統的方案如圖 2 1 所示 從圖中可以看出 系統有微處理器模塊 1602 字符液晶顯示模塊 DHT11 傳感 器模塊和報警模塊組成 在方案設計中 遵循簡潔至上的原則 因此所有的外圍模 塊采用串行方式與微處理器模塊接口 該設計以 STC89C51 系列單片機為控制核心 實現溫濕度采集及顯示的基本功能 在設計系統時 為了更好地采用模塊化設計法 分步的設計各個單元功能模塊 系統的硬件部分可以分為傳感器的使用 單片機控 P2 0 STC89C52 主 控模塊 P2 2 P2 4 P0 7 DHT11 傳感器模 塊 1602 字符液晶模 塊 報警模塊 傳感器與之相 連 1602 字符液 晶與之相連 制 1602 液晶顯示和實現報警四大部分 第 3 章 系統硬件設計 3 1 概述 此次的畢業設計主要由 4 個大的模塊構成 分別是主控模塊 傳感器模塊 LCD 液晶顯示模塊及報警模塊 其中主控模塊是此次畢業設計的核心模塊 主要是指 STC89C52 芯片 它控制整個系統的運行 利用其各個口分別控制其他模塊 使其他 模塊能夠成為一個整體 實現功能的需要 報警模塊主要指將蜂鳴器接入單片機電 路 通過對時時溫度的檢測 并給定所需要的溫度區間 即給定上下限值 實現越 限報警 傳感器模塊用于實驗室實時溫濕度的檢測 由于 DHT11 的數字一體性 集 成了模數轉換等模塊 直接接單片機即可 LCD 液晶顯示模塊同樣接入單片機 完 成對單片機處理后的數據進行顯示 3 2 主控模塊設計 3 2 1 STC89C52 芯片的簡介 功能特性 STC89C52 是一種低功耗 高性能 CMOS8 位微控制器 具有 8K 在系 統可編程 Flash 存儲器 與工業 80C51 產品指令和引腳完全兼容 片上 Flash 允許 程序存儲器在系統可編程 亦適于常規編程器 在單芯片上 擁有靈巧的 8 位 CPU 和在系統可編程 Flash 使得 STC89C52 為眾多嵌入式控制應用系統提供高靈活 超 有效的解決方案 如圖 3 1 所示 STC89C52 具有以下標準功能 8k 字節 Flash 256 字節 RAM 32 位 I O 口線 看門狗定時器 2 個數據指針 三個 16 位 定時器 計數器 一個 6 向量 2 級中斷結構 全雙工串行口 片內晶振及時鐘電路 另外 AT89S52 可降至 0Hz 靜態邏輯操作 支持 2 種軟件可選擇節電模式 空閑模 式下 CPU 停止工作 允許 RAM 定時器 計數器 串口 中斷繼續工作 掉電保護 方式下 RAM 內容被保存 振蕩器被凍結 單片機一切工作停止 直到下一個中斷 或硬件復位為止 主要性能 與 MCS51 單片機產品兼容 8K 字節在系統可編程 Flash 存儲器 1000 次擦寫周期 全靜態操作 0Hz 33Hz 三級加密程序存儲器 32 個可編程 I O 口線 三個 16 位定時器 計數器八個中斷源 全雙工 UART 串行通道 低功耗 空閑和掉電模式 掉電后中斷可喚醒 看門狗定時器 雙數據指針 掉電標識符 圖 3 1 STC89C52 芯片 管腳說明 VCC 供電電壓 GND 接地 P0 口 P0 口為一個 8 位漏級開路雙向 I O 口 每腳可吸收 8TTL 門電流 當 P1 口的管腳第一次寫 1 時 被定義為高阻輸入 P0 能夠用于外部程序數據存儲器 它 可以被定義為數據 地址的第八位 在 FIASH 編程時 P0 口作為原碼輸入口 當 FIASH 進行校驗時 P0 輸出原碼 此時 P0 外部必須被拉高 P1 口 P1 口是一個內部提供上拉電阻的 8 位雙向 I O 口 P1 口緩沖器能接收 輸出 4TTL 門電流 P1 口管腳寫入 1 后 被內部上拉為高 可用作輸入 P1 口被外 部下拉為低電平時 將輸出電流 這是由于內部上拉的緣故 在 FLASH 編程和校驗 時 P1 口作為第八位地址接收 P2 口 P2 口為一個內部上拉電阻的 8 位雙向 I O 口 P2 口緩沖器可接收 輸 出 4 個 TTL 門電流 當 P2 口被寫 1 時 其管腳被內部上拉電阻拉高 且作為輸 入 并因此作為輸入時 P2 口的管腳被外部拉低 將輸出電流 這是由于內部上拉 的緣故 P2 口當用于外部程序存儲器或 16 位地址外部數據存儲器進行存取時 P2 口輸出地址的高八位 在給出地址 1 時 它利用內部上拉優勢 當對外部八位地 址數據存儲器進行讀寫時 P2 口輸出其特殊功能寄存器的內容 P2 口在 FLASH 編程 和校驗時接收高八位地址信號和控制信號 P3 口 P3 口管腳是 8 個帶內部上拉電阻的雙向 I O 口 可接收輸出 4 個 TTL 門 電流 當 P3 口寫入 1 后 它們被內部上拉為高電平 并用作輸入 作為輸由于 外部下拉為低電平 P3 口將輸出電流 ILL 這是由于上拉的緣故 P3 口也可作為 STC89C52 的一些特殊功能口 如下表所示 管腳備選功能 表 3 1 P3 口的第二功能 P3 0 RXD 串行輸入口 P3 1 TXD 串行輸出口 P3 2 INT0 外部中斷 0 P3 3 INT1 外部中斷 1 P3 4 T0 記時器 0 外部輸入 P3 5 T1 記時器 1 外部輸入 P3 6 WR 外部數據存儲器寫選通 P3 7 RD 外部數據存儲器讀選通 P3 口同時為閃爍編程和編程校驗接收一些控制信號 RST 復位輸入 當振蕩器復位器件時 要保持 RST 腳兩個機器周期的高電平時 間 ALE PROG 當訪問外部存儲器時 地址鎖存允許的輸出電平用于鎖存地址的地 位字節 在 FLASH 編程期間 此引腳用于輸入編程脈沖 在平時 ALE 端以不變的 頻率周期輸出正脈沖信號 此頻率為振蕩器頻率的 1 6 因此它可用作對外部輸出 的脈沖或用于定時目的 然而要注意的是 每當用作外部數據存儲器時 將跳過一 個 ALE 脈沖 如想禁止 ALE 的輸出可在 SFR8EH 地址上置 0 此時 ALE 只有在執行 MOVX MOVC 指令是 ALE 才起作用 另外 該引腳被略微拉高 如果微處理器在外部 執行狀態 ALE 禁止 置位無效 PSEN 外部程序存儲器的選通信號 在由外部程序存儲器取指期間 每個機器 周期兩次 PSEN 有效 但在訪問外部數據存儲器時 這兩次有效的 PSEN 信號將不出 現 EA VPP 當 EA 保持低電平時 則在此期間外部程序存儲器 0000H FFFFH 不管是否有內部程序存儲器 注意加密方式 1 時 EA 將內部鎖定為 RESET 當 EA 端保持高電平時 此間內部程序存儲器 在 FLASH 編程期間 此引腳也用于施加 12V 編程電源 VPP XTAL1 反向振蕩放大器的輸入及內部時鐘工作電路的輸入 XTAL2 來自反向振蕩器的輸出 XTAL1 和 XTAL2 分別為反向放大器的輸入和輸出 該反向放大器可以配置為片 內振蕩器 石晶振蕩和陶瓷振蕩均可采用 如采用外部時鐘源驅動器件 XTAL2 應 不接 有余輸入至內部時鐘信號要通過一個二分頻觸發器 因此對外部時鐘信號的 脈寬無任何要求 但必須保證脈沖的高低電平要求的寬度 3 2 2 主控模塊電路原理圖 單片機主程序模塊通過對 DHT11 傳感器采集到信號的讀取 將得到的數據信號 進行分析和處理 再將處理后的信號發送給 1602 液晶顯示模塊 完成信息的接收與 發送 并且連接蜂鳴器 控制報警系統 如圖 3 2 所示 圖 3 2 STC89C52 模塊電路原理圖 3 3 DHT11 傳感器模塊設計 3 3 1 DHT11 傳感器簡介 DHT11 數字溫濕度傳感器是一款含有已校準數字信號輸出的溫濕度復合傳感器 它應用專用的數字模塊采集技術和溫濕度傳感技術 確保產品具有極高的可靠性與 卓越的長期穩定性 傳感器包括一個電阻式感濕元件和一個 NTC 測溫元件 并與一 個高性能 8 位單片機相連接 因此該產品具有品質卓越 超快響應 抗干擾能力強 性價比極高等優點 每個 DHT11 傳感器都在極為精確的濕度校驗室中進行校準 校 準系數以程序的形式儲存在 OTP 內存中 傳感器內部在檢測信號的處理過程中要調 用這些校準系數 單線制串行接口 使系統集成變得簡易快捷 超小的體積 極低 的功耗 信號傳輸距離可達 20 米以上 使其成為各類應用甚至最為苛刻的應用場合 的最佳選則 產品為 4 針單排引腳封裝 連接方便 特殊封裝形式可根據用戶需求 而提供 DHT11 傳感器實物圖如下 3 3 所示 圖 3 3 DHT11 傳感器實物圖 1 引腳介紹 Pin1 VDD 電源引腳 供電電壓為 3 5 5V Pin2 DATA 串行數據 單總線 Pin3 NC 空腳 請懸浮 Pin4 VDD 接地端 電源負極 2 接口說明 建議連接線長度短于 20 米時用 5K 上拉電阻 大于 20 米時根據實際情況使用合適的 上拉電阻 圖 3 4 DHT11 典型應用電路 3 數據幀的描述 DATA 用于微處理器與 DHT11 之間的通訊和同步 采用單總線數據格式 一次通 訊時間 4ms 左右 數據分小數部分和整數部分 具體格式在下面說明 當前小數部分用 于以后擴展 現讀出為零 操作流程如下 一次完整的數據傳輸為 40bit 高位先出 數據格式 8bit 濕度整數數據 8bit 濕度小數數據 8bi 溫度整數數據 8bit 溫度小數數據 數據傳送正確時校驗和數據等于 8bit 濕度整數數據 8bit 濕度小數數據 8bi 溫度 整數數據 8bit 溫度小數數據 所得結果的末 8 位 4 電氣特性 VDD 5V T 25 除非特殊標注 表 3 2 DHT11 的電氣特性 參數條件Mintypmax單位 供電DC355 5V 測量0 52 5mA 平均0 21mA 供電電流 待機100150uA 采樣周期秒1次 注 采樣周期間隔不得低于 1 秒鐘 5 時序描述 用戶 MCU 發送一次開始信號后 DHT11 從低功耗模式轉換到高速模式 等待主機 開始信號結束后 DHT11 發送響應信號 送出 40bit 的數據 并觸發一次信號采集 用 戶可選擇讀取部分數據 從模式下 DHT11 接收到開始信號觸發一次溫濕度采集 如果 沒有接收到主機發送開始信號 DHT11 不會主動進行溫濕度采集 采集數據后轉換到 低速模式 通訊過程如下圖 3 5 所示 圖 3 5 總線空閑狀態為高電平 主機把總線拉低等待 DHT11 響應 主機把總線拉低必須 大于 18 毫秒 保證 DHT11 能檢測到起始信號 DHT11 接收到主機的開始信號后 等待 主機開始信號結束 然后發送 80us 低電平響應信號 主機發送開始信號結束后 延時 等待 20 40us 后 讀取 DHT11 的響應信號 主機發送開始信號后 可以切換到輸入模 式 或者輸出高電平均可 總線由上拉電阻拉高 圖 3 6 總線為低電平 說明 DHT11 發送響應信號 DHT11 發送響應信號后 再把總線拉高 80us 準備發送數據 每一 bit 數據都以 50us 低電平時隙開始 高電平的長短定了數 據位是 0 還是 1 格式見下面圖示 如果讀取響應信號為高電平 則 DHT11 沒有響應 請檢查線路是否連接正常 當最后一 bit 數據傳送完畢后 DHT11 拉低總線 50us 隨 后總線由上拉電阻拉高進入空閑狀態 數字 0 信號表示方法如下圖 3 7 所示 圖 3 7 數字 1 信號表示方法如下圖 3 8 所示 圖 3 8 3 3 2 DHT11 傳感器模塊電路設計 DHT11 傳感器連接 STC89C51 系列單片機相對比較簡單 單片機的 P2 0 口用來 發收串行數據 即數據口 連接傳感器的 Pin2 單總線 串行數據 由于測量范 圍電路小于 20 米 建議加一個 5K 的上拉電阻 因此在傳感器的 Pin2 口與電源之間 連接一個 5K 電阻 而傳感器的電源端口 Pin1 和 Pin4 分別接單片機的 VDD 和 GND 端 傳感器的第三腳懸浮放置 DHT11 傳感器原件的電路原理圖如下 3 9 所示 圖 3 9 DHT11 電路原理圖 3 4 1602 液晶顯示模塊設計 3 4 1 1602 液晶顯示屏簡介 HJ1602A 是一種工業字符型液晶 能夠同時顯示 16x02 即 32 個字符 16 列 2 行 在日常生活中 我們對液晶顯示器并不陌生 液晶顯示模塊已作為很多電子產 品的通過器件 如在計算器 萬用表 電子表及很多家用電子產品中都可以看到 顯示的主要是數字 專用符號和圖形 在單片機的人機交流界面中 一般的輸出方 式有以下幾種 發光管 LED 數碼管 液晶顯示器 發光管和 LED 數碼管比較常用 軟硬件都比較簡單 在單片機系統中應用晶液顯示器作為輸出器件有以下幾個優點 由于液晶顯示器每一個點在收到信號后就一直保持那種色彩和亮度 恒定發光 而不像陰極射線管顯示器 CRT 那樣需要不斷刷新新亮點 因此 液晶顯示器畫質 高且不會閃爍 液晶顯示器都是數字式的 和單片機系統的接口更加簡單可靠 操作更加方便 液晶顯示器通過顯示屏上的電極控制液晶分子狀態來達到顯示的目的 在重量 上比相同顯示面積的傳統顯示器要輕得多 相對而言 液晶顯示器的功耗主要消耗在其內部的電極和驅動 IC 上 因而耗電 量比其它顯示器要少得多 字符型液晶顯示模塊是一種專門用于顯示字母 數字 符號等點陣式 LCD 目 前常用 16 1 16 2 20 2 和 40 2 行等的模塊 下面以長沙太陽人電子有限公司的 1602 字符型液晶顯示器為例 介紹其用法 一般 1602 字符型液晶顯示器實物如圖 3 10 和 3 11 所示 圖 3 10 液晶屏正面 圖 3 11 液晶屏背面 1 引腳說明 第 1 腳 VSS 為地電源 第 2 腳 VDD 接 5V 正電源 第 3 腳 VL 為液晶顯示器對比度調整端 接正電源時對比度最弱 接地時對比 度最高 對比度過高時會產生 鬼影 使用時可以通過一個 10K 的電位器調整對比 度 第 4 腳 RS 為寄存器選擇 高電平時選擇數據寄存器 低電平時選擇指令寄存 器 第 5 腳 R W 為讀寫信號線 高電平時進行讀操作 低電平時進行寫操作 當 RS 和 R W 共同為低電平時可以寫入指令或者顯示地址 當 RS 為低電平 R W 為高電平時可以讀忙信號 當 RS 為高電平 R W 為低電平時可以寫入數據 第 6 腳 E 端為使能端 當 E 端由高電平跳變成低電平時 液晶模塊執行命令 第 7 14 腳 D0 D7 為 8 位雙向數據線 第 15 腳 背光源正極 第 16 腳 背光源負極 2 1602LCD 的 RAM 地址映射以及標準字庫表 LCD1602 液晶模塊內部的字符發生存儲器已經存儲了 160 個不同的點陣字符圖 形 這些字符圖有 阿拉伯數字 英文字母的大小寫 常用的符號 和日文假名等 每一個字符都有一個固定的代碼 比如大寫的英文字母 A 的代碼是 01000001B 41H 顯示時模塊把地址 41H 中的點陣字符圖形顯示出來 我們就能看 到字母 它的讀寫操作 屏幕和光標的操作都是通過指令編程來實現的 說明 1 為高 電平 0 為低電平 指令 1 清顯示 指令碼 01H 光標復位到地址 00H 位置 指令 2 光標復位 光標返回到地址 00H 指令 3 光標和顯示模式設置 I D 光標移動方向 高電平右移 低電平左移 S 屏幕上所有文字是否左移或者右移 高電平表示有效 低電平則無效 指令 4 顯示開關控制 D 控制整體顯示的開與關 高電平表示開顯示 低 電平表示關顯示 C 控制光標的開與關 高電平表示有光標 低電平表示無光標 B 控制光標是否閃爍 高電平閃爍 低電平不閃爍 指令 5 光標或顯示移位 S C 高電平時移動顯示的文字 低電平時移動光標 指令 6 功能設置命令 DL 高電平時為 4 位總線 低電平時為 8 位總線 N 低電平時為單行顯示 高電平時雙行顯示 F 低電平時顯示 5X7 的點陣字符 高電平時顯示 5x10 的點陣字符 有些模塊是 DL 高電平時為 8 位總線 低電平時 為 4 位總線 指令 7 字符發生器 RAM 地址設置 指令 8 DDRAM 地址設置 指令 9 讀出忙信號和光標地址 BF 為忙標志位 高電平表示忙 此時模塊不 能接收命令或者數據 如果為低電平表示不忙 模塊就能接收相應的命令或者數據 指令 10 寫數據 指令 11 讀數據 液晶顯示模塊是一個慢顯示器件 所以在執行每條指令之前一定要確認模塊的 忙標志為低電平 表示不忙 否則此指令失效 要顯示字符時要先輸入顯示字符地 址 也就是告訴模塊在哪里顯示字符 1602 內部顯示地址如圖 3 12 所示 圖 3 12 1602 內部顯示地址 例如第二行第一個字符的地址是 40H 那么是否直接寫入 40H 就可以將光標定 位在第二行第 一個字符的位置呢 這樣不行 因為寫入顯示地址時要求最高位 D7 恒定為高電平 1 所以實際寫入的數據應該是 01000000B 40H 10000000B 80H 11000000B C0H 在對液晶模塊的初始化中要先設置其顯示模式 在液晶模塊顯 示字符時光標是自動右移的 無需人工干預 每次輸入指令前都要判斷液晶模塊是 否處于忙的狀態 1602 液晶模塊內部的字符發生存儲器 CGROM 已經存儲了 160 個不同的點陣字符圖形 如下圖所示 這些字符有 阿拉伯數字 英文字母的大小 寫 常用的符號 和日文假名等 每一個字符都有一個固定的代碼 比如大寫的英 文字母 A 的代碼是 01000001B 41H 顯示時模塊把地址 41H 中的點陣字符圖形 顯示出來 我們就能看到字母 A 3 4 2 1602 液晶顯示模塊電路原理圖 液晶顯示的原理是利用液晶的物理特性 通過電壓對其顯示區域進行控制 有 電就有顯示 這樣即可以顯示出圖形 液晶顯示器具有厚度薄 適用于大規模集成 電路直接驅動 易于實現全彩色顯示的特點 目前已經被廣泛應用在便攜式電腦 數字攝像機 PDA 移動通信工具等眾多領域 圖 3 13 1602 顯示模塊 3 5 報警模塊 3 5 1 蜂鳴器介紹 蜂鳴器是一種一體化結構的電子訊響器 采用直流電壓供電 廣泛應用于計算機 打印機 復印機 報警器 電子玩具 汽車電子設備 電話機 定時器等電子產品 中作發聲器件 蜂鳴器主要分為壓電式蜂鳴器和電磁式蜂鳴器兩種類型 蜂鳴器在 電路中用字母 H 或 HA 舊標準用 FM LB JD 等 表示 3 5 2 蜂鳴器工作原理 圖 3 14 蜂鳴器工作原理圖 第 4 章 系統軟件設計 在對我們所要設計的課題有了整體的了解之后 需要先建立程序框架的流程圖 對整個設計劃分模塊 逐個模塊實現其功能 最終把各個子模塊合理的連接起來 構成總的程序 主程序首先要對整個系統進行初始化 然后將采集到的溫濕度指令 傳給系統的主流程圖如圖 4 1 所示 開始 初始化 延時 溫濕度測量 1602 顯示數據 判斷溫度 溫度 低于 26 高于 30 蜂鳴器鈴響蜂鳴器鈴響 結束 圖 4 1 主程序流程圖 4 1 1602 液晶顯示模塊設計 液晶顯示模塊是一個慢顯示器件 在執行每條指令之前要確認模塊的忙標志為 低電平 表示不忙 則此指令失效 要顯示字符時要先輸入顯示字符地址 告訴模 塊在哪里現實了字符 1602 液晶顯示模塊可與 STC89C52 直接接口的 軟件流程圖 如圖 4 2 所示 開始 LCD 初始化 延時 設第一行顯示位 置 顯示第一行內容 設第二行顯示位置 顯示第二行內容 圖 4 2 1602 液晶顯示模塊程序流程圖 4 2 傳感器模塊設計 溫濕度模塊 DH11 數字溫濕傳感器加濕器溫濕度傳感器隨著科技的不斷發展 汽 車 空調 除濕器 烘干機等種類繁多的電器都已進入人們的日常生活 而這些電 器設備很多都離不開對溫度 濕度等環境因素的要求 因此 溫度 濕度傳感器用 途越來越廣泛 新一代的數字傳感器不再需要外置的 A D 轉換模塊 并具有標準接 口 使用方便 得到了越來越多的應用 DHT11 作為一種新型的單總線溫濕度數字 傳感器 具有更多的優點 它使系統設計更加簡單 控制方便 易于實現 1 單總 線通信簡介 目前常用的微機與外設之間進行數據傳輸的串行總線主要有 I2C 總線 SPI 總線和 SCI 總線 其中 I2C 總線以同步串行兩線方式進行通信 1 條時鐘線 1 條數據線 SPI 總線則以同步串行三線方式進行通信 1 條時鐘線 1 條數據輸入線 1 條數據輸出線 而 SCI 總線是以異步方式進行通信的 1 條數據輸入線 1 條數據 輸出線 這些總線至少需要兩條或兩條以上的信號線 DHT11 傳感器模塊的軟件流程圖如下圖所示 給 DHT11 上電 延時 1S 保持高電平 檢測記錄信號 輸出低電平 延時 輸出低電平 數據輸出 結束信號 圖 4 3 DHT11 傳感器模塊程序流程圖 第 5 章 系統分析與調試 本設計是在 Keil C 環境下開發的 Keil C 軟件支持 C 語言的編程及調試 運 用方便 是做 C 語言畢業設計者的首選 設計的首要任務是安裝和學習使用這個軟 件 在簡單的學習和了解 Keil C 后 我們便可在此環境下開始了對帶錄音功能的電 子琴的設計工作 在編譯完 Keil C 后 再運用 STC ISP V480 軟件燒錄到開發板上 實現實物與程序的連接 在燒錄前要對 STC ISP V480 進行一些必要的設置 第一步 設置 MCU Type 為 STC89C52RC 第二步 打開編寫好并編譯的程序文件 它是以 hex 為后綴的文件 第三步 選擇對應的 COM 端口 可在我的電腦的設備管理處查 看 COM 選項 第四步 點擊 Download 下載 等提示 請給 MCU 上電時 打開開發板上的開關 它就自行燒錄了 Keil C 程序運行如圖 5 1 所示 圖 5 1 keil C 運行圖 圖 5 2 程序燒錄運行圖 在完成對程序的調試及燒錄之后 還需要對其進行演示 把開發板與電腦連上 設置好對應的接口 完成供電及下載 開始供電后 稍帶幾秒等 1602 液晶屏能正常 顯示當前溫濕度了之后 觀察當前溫濕度的變化 并且針對與自己設定的限值相比 較 若當前溫度沒有超標 即沒有超過限值 可以用手捂住 DHT11 傳感器 令其溫 度的顯示超標 測試能否達到報警 經過測試 完全可行 因而簡單的實現了對溫 度的控制 濕度控制原理跟溫度一樣 第 6 章 結論與展望 本系統以單片機為核心部件的控制系統 利用軟件編程 最終基本上實現了各 項要求 雖然系統還存在一些不足 比如溫濕度測量不夠精確 特別是濕度 波動 較大 嘗試了各種改進方法 仍然不太理想 不過大體能反映出設計的目的和要求 與預期的結果相差不多 經過近兩個月的奮斗 從確定題目 到后來查找資料 理論學習 實驗編程調 試 這一切都使我的理論知識和動手能力有了很大的提高 了解了單片機的硬件結 構和軟件編程方法 對單片機的工作方式有了很大的認知 同時 對一些外圍設備 比如傳感器 液晶屏 鍵盤 蜂鳴器等有了一定的了解 學會了對一項工程如何設 計 首先 要分析需要設計的系統要實現什么功能 需要什么器件 然后 針對設 計購買相應的硬件 選用硬件時不僅要選用經濟的 更重要的是如何能更精確更方 便的完成系統的要求 再次 對各個硬件的軟件實現要弄清楚 如何更好的實現各 個硬件的協調 更好的通過主控制器件實現硬件的功能 最后 通過各種測試與調 試 讓設計更好的完成系統要求 但因為我們的水平有限 此設計中也存在一定的不足 就比如說對濕度的控制 方面 由于溫度時刻都在發生著變化 而濕度的變化又大體上取決于溫度 因而對 于濕度的控制有點困難 同時由于濕度變化波動比較大 造成報警頻繁 為濕度限 值的設定也帶來了不小的麻煩 溫濕度控制已經成為了 21 世紀熱門研究話題之一 無論是從生產還是生活 與 我們人類都是息息相關的 而智能化的控制溫濕度已經發展成為一種必然 隨著世 界經濟的發展 人們生活水平的提高以及社會的進步 我們不可能一直墨守陳規 不能在恪守以前利用人力資源來控制溫濕度的方法 不僅浪費大量的人力資源 財 力資源 并且控制系統也更加單一化 而采用自動控制的辦法 既節省了人力資源 更體現了與時俱進的思想 世界在進步 而這種進步就該體現在各個方面 參考文獻 1 陳明熒 8051 單片機課程設計實訓教材 M 北京 清華大學出版社 2003 2 徐新艷 單片機原理 應用與實踐 M 北京 高等教育出版社 2005 3 吳金戌 沈慶陽 郭庭吉 8051 單片機實踐與應用 M 北京 清華大學出版社 2002 4 王千 實用電子電路大全 M 電子工業出版社 2001 5 馮博琴 微型計算機原理與接口技術 M 北京 清華大學出版社 2004 6 張毅剛 MCS 51 單片機應用設計 M 哈爾濱工業大學出版社 2004 7 張淑清 姜萬錄等 單片微型計算機接口技術及應用 M 國防工業出版社 2003 8 吳金戌 沈慶陽 郭庭吉 8051 單片機實踐與應用 M 北京 清華大學出版社 2001 9 馮博琴 微型計算機原理與接口技術 M 清華大學出版社 2004 10 張毅剛 MCS 51 單片機應用設計 M 哈爾濱工業大學出版社 2004 11 趙亮 侯國銳 單片機 C 語言編程與實例 M 北京 人民郵電出版社 2003 12 王振紅 李洋 郝承祥 ISD4004 語音芯片的工作原理及其在智能控制系統中的應用 J 電子器件 2002 年 3 月第 25 卷第 1 期 13 R L Geiger P E Allen N R Strader VLSI Design Techniques for Analog And Digitial Ciruits McGraw Hill Inc 1990 14 ANALOG DEVICES The technology of AT89C51 EB OL White Paper Spe 28 2000 致 謝 畢業在即 而畢業論文則是畢業前的最后一環 也是非常重要的一環 為期兩 個多月的畢業設計過程中 老師給與了我很大幫助 無論是從實習期間的懵懂狀態 再到硬件設計以及畢業論文的完成后的略有小成 我都會有深深的感慨 熱情的教 師團隊以及同學間的相互幫助 使我更加增強了團隊意識以及競爭意識 大學四年一路走來 我在課堂上學習了不少相關知識 尤其是 單片微型計算 機原理與接口技術 和 傳感器原理與應用技術 這兩門課程為我今天的畢業設計 帶來了極大的幫助 把淺淺的理論上升到實踐 使我對理論的掌握更加深入 從而 培養了自己的動手能力 增強學習單片機的興趣 同時我還要感謝實習老師 經過老師的耐心講解 我慢慢學會了各種簡單元器 件的使用 比如蜂鳴器 數碼管 LED 燈等 并能自主的設計小問題 自主的完成 實驗 在做畢業設計的過程中 也是指導老師給我指明了思路 包括硬件采購 電 路連接以及軟件程序設計等 都給我提供了相當大的幫助 在此 特意對實習老師 表示深深感謝 最后 還要對學校表示感謝 是學校給我們提供了一次難能可貴的實習機會 而實習期間 剛好排除了我們對畢業設計一點頭緒也沒有的煩惱 并且通過本次實 習 為大家畢業設計的完成做了很大鋪墊 因此 這次實習機會不僅重要 并且顯 得那么寶貴 還有學校從硬件方面也對我們能幫助很大 實驗室老師辛苦的焊接 STC89C52 單片機學習板 大大的方便了我們完成畢業設計 總之 無論是從學生 老師還是到學校 本次畢業設計過程中我受到了很大的 幫助和啟發 沒有你們 我的畢業設計就堅持不下來 感謝你們 有了你們 我受 益匪淺 STC89C52 的介紹 綜合描述綜合描述 STC89C52 是美國 ATMEL 公司生產的低功耗 高性能 CMOS 8 位單片機 片內含 4k bytes 的可系統編程的 Flash 只讀程序存儲器 器件采用 ATMEL 公司的高密度 非易失性存儲技術生產 兼容標準 8051 指令系統及引腳 由于將多功能 8 位 CPU 和 閃爍存儲器組合在單個芯片中 ATMEL 的 STC89C52 是一種高效微控制器 STC89C52 是它的一種精簡版本 STC89C52 單片機為很多嵌入式控制系統提供了一種靈活性高 且價廉的方案 可為您提供許多高性價比的應用場介 可靈活應用于各種控制領域 STC89C52 具有如下特點 40 個引腳 4k Bytes Flash 片內程序存儲器 128 bytes 的隨機存取數據存儲器 RAM 32 個外部雙向輸入 輸出 I O 口 5 個中 斷優先級 2 層中斷嵌套中斷 2 個 16 位可編程定時計數器 2 個全雙工串行通信口 看門狗 WDT 電路 片內時鐘振蕩器 此外 STC89C52 設計和配置了振蕩頻率可 為 0Hz 并可通過軟件設置省電模式 空閑模式下 CPU 暫停工作 而 RAM 定時計數 器 串行口 外中斷系統可繼續工作 掉電模式凍結振蕩器而保存 RAM 的數據 停 止芯片其它功能直至外中斷激活或硬件復位 同時該芯片還具有 PDIP TQFP 和 PLCC 等三種封裝形式 以適應不同產品的需求 功能特性概述 功能特性概述 STC89C52 提供以下標準功能 4k 字節 Flash 閃速存儲器 128 字節內部 RAM 32 個 I O 口線 看門狗 WDT 兩個數據指針 兩個 16 位定時 計數器 一個 5 向 量兩級中斷結構 一個全雙工串行通信口 片內振蕩器及時鐘電路 同時 AT89C51 可降至 0Hz 的靜態邏輯操作 并支持兩種軟件可選的節電工作模式 空閑方式停止 CPU 的工作 但允許 RAM 定時 計數器 串行通信口及中斷系統繼續工作 掉電方 式保存 RAM 中的內容 但振蕩器停止工作并禁止其它所有部件工作直到下一個硬件 復位 主要特性 主要特性 與 MCS 51 兼容 4K 字節可編程閃爍存儲器 壽命 1000 寫 擦循環 數據保留時間 10 年 全靜態工作 0Hz 24MHz 三級程序存儲器鎖定 128 8 位內部 RAM 32 可編程 I O 線 兩個 16 位定時器 計數器 5 個中斷源 可編程串行通道 低功耗的閑置和掉電模式 片內振蕩器和時鐘電路 引腳功能說明 引腳功能說明 VCC 供電電壓 GND

溫馨提示

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

評論

0/150

提交評論