




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、 . . . 職業(yè)技術(shù)學院職業(yè)技術(shù)學院畢畢業(yè)業(yè)設(shè)設(shè)計計說說明明書書畢業(yè)生畢業(yè)生:鐘毅芳鐘毅芳專業(yè)專業(yè):應用電子技術(shù)應用電子技術(shù)學號學號:080724015080724015指導教師指導教師:喬永鳳喬永鳳所屬系(部)所屬系(部):信息系信息系 . . . - 2 - / 39二二一一年五月一一年五月 . . . I / 39職業(yè)技術(shù)學院職業(yè)技術(shù)學院畢業(yè)論文評閱書畢業(yè)論文評閱書題目:題目: 基于基于 5151 單片機的通風電路設(shè)計單片機的通風電路設(shè)計 信息信息 系系 應用電子技術(shù)應用電子技術(shù) 專業(yè)專業(yè) 鐘毅芳鐘毅芳 設(shè)計時間:設(shè)計時間:20112011 年年 3 3 月月 7 7 日日201120
2、11 年年 5 5 月月 1616 日日評閱意見:評閱意見:成績:成績:指導教師:(簽字)指導教師:(簽字)職職務:務:20112011 年月日年月日職業(yè)技術(shù)學院職業(yè)技術(shù)學院 . . . II / 39畢業(yè)論文答辯記錄卡畢業(yè)論文答辯記錄卡 信息信息 系系 應用電子技術(shù)應用電子技術(shù) 專業(yè)專業(yè) 鐘毅芳鐘毅芳答答 辯辯 容容問問 題題 摘摘 要要評評 議議 情情 況況記錄員:(簽名)記錄員:(簽名)成成 績績 評評 定定指導教師評定成績指導教師評定成績答辯組評定成績答辯組評定成績綜合成績綜合成績注:評定成績?yōu)樽ⅲ涸u定成績?yōu)?100100 分制,指導教師為分制,指導教師為 30%30%,答辯組為,答辯
3、組為 70%70%。專業(yè)答辯組組長:(簽名)專業(yè)答辯組組長:(簽名) 20112011 年月日年月日 . . . i / 39摘要摘要本設(shè)計采用 STC89S51 單片機為控制核心,電機的硬件驅(qū)動采用 ULN2003 芯片,由單片機輸出信號控制電機轉(zhuǎn)動,利用溫度傳感器模塊實現(xiàn)智能檢測當前環(huán)境溫度,整個系統(tǒng)的電路結(jié)構(gòu)簡單,可靠性高。設(shè)計測試結(jié)果滿足要求,設(shè)計原理簡明,方案正確。關(guān)鍵詞關(guān)鍵詞:通風系統(tǒng) STC89S51 ULN2003 驅(qū)動 自動測溫 . . . ii / 39AbstractAbstractThe design for the control of single-chip cor
4、e 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 requ
5、irements, design principles of simplicity, the program correctly.Keyword:Keyword:Intelligent ventilation system STC89S51 ULN2003Automatic temperature目目 錄錄摘要 I引言 IV1 方案的選擇與認證 11.1 電源方案選擇 11.2 測溫傳感器模塊 11.3 顯示模塊 11.4 電機驅(qū)動模塊的選擇 2 . . . iii / 392 硬件系統(tǒng)設(shè)計與電路設(shè)計 22.1 通風電路組成框圖 22.2STC89C51 單片機硬件結(jié)構(gòu) 32.3 最小應用系統(tǒng)
6、設(shè)計 32.3.1 時鐘電路 42.3.2 復位電路 42.4 溫度測量電路單元模塊設(shè)計 52.5 電機驅(qū)動單元模塊設(shè)計 82.6 液晶 LCD1602 顯示模塊硬件電路設(shè)計 103 軟件設(shè)計 103.1 軟件程序設(shè)計 103.2 主程序流程圖 113.3 讀取溫度流程圖 113.4 溫度報警控制電機流程圖 123.5 液晶 LCD1602 顯示溫度 133.6 報警溫度上下限設(shè)置和按鍵處理 14結(jié)論 15致 16參考文獻 17附件 1.通風電路主板、串口的原理圖 18附件 2.通風電路主板、串口的 PCB 圖 19附件 3.程序清單 20 . . . iv / 39引言引言隨著人們生活水平的
7、不斷提高,單片機控制無疑是人們追求的目標之一,它所給人帶來的方便也是不可否定的,其中智能通風系統(tǒng)就是一個典型的例子,但人們對它的要求越來越高,要為現(xiàn)代人工作、科研、生活、提供更好的更方便的設(shè)施就需要從屬于單片機技術(shù)入手,一切向著數(shù)字化控制,智能化控制方向發(fā)展。本設(shè)計所介紹的液晶溫度控制直流電機與傳統(tǒng)的手動控制直流電機與測溫電路相比,具有讀數(shù)方便,顯示的信息比較多,測溫圍廣,測溫比較準確,實現(xiàn)了智能化,其輸出溫度采用液晶 1602 顯示,主要用于對測溫比較準確的場所,或科研實驗室使用,該設(shè)計控制器使用單片機 STC89S51,測溫傳感器使用 DS18B20,用液晶芯片 LCD1602 實現(xiàn)溫度顯
8、示,能準確到小數(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詈凸ぁ⑥r(nóng)業(yè)生產(chǎn)中的溫度測量,也可以當作溫度處理模塊嵌入其它系統(tǒng)中,
9、作為其他主系統(tǒng)的輔助擴展。DS18B20 與STC89S51 結(jié)合實現(xiàn)最簡溫度檢測系統(tǒng)和具有智能化的控制風扇的開啟與關(guān)閉,該系統(tǒng)結(jié)構(gòu)簡單,抗干擾能力強,適合于惡劣環(huán)境下進行現(xiàn)場溫度測量,有廣泛的應用前景。 . . . 1 / 391 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)生污染源。因此,我們放棄
10、了這種方案。方案 2: 采用變壓器整流濾波再經(jīng)過 7805 穩(wěn)壓穩(wěn)定后再給直流電機供電與單片機和其他芯片供電,。此方案是自制一個+5v 電源,電路比較簡單,而且元件也比較廉價,電路板小而易攜帶。因此,這種方案比較可行,因此我們選擇了此方案。綜上考慮,我們選擇了方案 2。1.21.2 測溫傳感器模塊測溫傳感器模塊方案 1:使用熱敏電阻設(shè)計由于本設(shè)計是測溫控制直流電機電路,可以使用熱敏電阻之類的器件利用其感溫效應,在將隨被測溫度變化的電壓或電流采集過來,進行 A/D 轉(zhuǎn)換后,就可以用單片機進行數(shù)據(jù)的處理,在顯示電路上,就可以將被測溫度顯示出來,這種設(shè)計需要用到 A/D 轉(zhuǎn)換電路,感溫電路比較麻煩而
11、且測量的精度不夠,抗干擾能力比較差,受各方面因素的影響較多,所以此方案不可取。方案 2:使用 DS18B20 傳感器設(shè)計采用 STC89C51 單片機作控制器,溫度傳感器選用 DS18B20 來對環(huán)境溫度采集,測溫電路由溫度傳感器 DS18B20 實現(xiàn),本設(shè)計所介紹的 DS18B20 溫度采集與傳統(tǒng)的熱敏電阻之類的利用感溫效應相比,具有溫度采集數(shù)據(jù)處理方便,測溫圍廣,測溫準確,主要用于對測溫比較準確的場所,或科研實驗室使用,該設(shè)計控制器使用單片機 STC89S51,測溫傳感器使用 DS18B20,用,實現(xiàn)溫度顯示,能準確達到以上要求。故選擇方案二。1.31.3 顯示顯示模塊模塊方案 1:用四位
12、七段數(shù)碼管,對于數(shù)碼顯示,顯示的數(shù)據(jù)信息比較有限,而且顯示的控制比較繁瑣,因此我們放棄了這種方案。 . . . 2 / 39方案 2:用液晶 LCD1602 顯示,可以顯示的數(shù)據(jù)信息比較多 ,對液晶現(xiàn)實的控制寫入比較簡單,而且它的價格然我們接受的起,所以我們選擇了方案 2。1.41.4 電機驅(qū)動模塊的選擇電機驅(qū)動模塊的選擇方案 1:采用專用芯片 L298N 作為直流電機驅(qū)動芯片。L298N 是一個具有高電壓大電流的全橋驅(qū)動芯片,它相應頻率比較高,一片 L298N 可以分別控制兩個直流電機,而且還帶有控制使能端。用該芯片作為電機驅(qū)動,操作方便,穩(wěn)定性好,性能優(yōu)良,但芯片比較貴。方案 2:用分立元
13、件制作直流電機驅(qū)動電路。由分立元件構(gòu)成電機驅(qū)動電路,結(jié)構(gòu)簡單,價格低廉,在實際應用中比較廣泛。但是這種電路工作性能不夠穩(wěn)定。 方案 3:用 ULN2003 反相器作為直流電機驅(qū)動芯片,ULN2003 也是一個 7 路反向器電路,即當輸入端為高電平時 ULN2003 輸出端為低電平,當輸入端為低電平時ULN2003 輸出端為高電平,具有電流增益高、工作電壓高、溫度圍寬、帶負載能力強等特點,而且價格低廉。因此我們選用了方案 3。能夠較好地滿足系統(tǒng)的要求,因此我們選擇了此方案。2 2 硬件系統(tǒng)設(shè)計與電路設(shè)計硬件系統(tǒng)設(shè)計與電路設(shè)計硬件設(shè)計系統(tǒng)主要包括了測溫系統(tǒng)的設(shè)計以與單片機應用系統(tǒng)設(shè)計。一個單片機應
14、用系統(tǒng)的硬件電路設(shè)計主要包含有兩部分容:一是系統(tǒng)擴展,即單片機部的功能單元,如 ROMRAMI/O 口定時/計數(shù)器中斷系統(tǒng)等,當不能滿足應用系統(tǒng)的要求時,還必須在片外進行擴展,選擇適當?shù)男酒?,設(shè)計相應的電路。二是系統(tǒng)配置,既按照系統(tǒng)功能要求配置外圍設(shè)備,并要考慮設(shè)計合適的接口電路。2.12.1 通風電路組成框圖通風電路組成框圖通風系統(tǒng)的控制核心是 STC89S51 單片機,系統(tǒng)由測溫模塊、直流電機驅(qū)動模塊、LCD 顯示模塊、LED 燈光報警指示模塊、電源模塊等幾部分構(gòu)成。系統(tǒng)框圖如圖 2-1 所示。 . . . 3 / 39AT89C51時鐘電路復位電路LCD1602液晶顯示溫度采集直流電機聲
15、光報警圖 2-1 通風系統(tǒng)框圖2.2STC89C512.2STC89C51 單片機硬件結(jié)構(gòu)單片機硬件結(jié)構(gòu)STC89C51 單片機是把那些控制應用所必需的基本容都集成在一個尺寸有限的電路芯片上。如果按照功能的劃分,它主要由微處理器、數(shù)據(jù)存儲器、程序存儲器、并行 I/O 口、串行口、定時器/計數(shù)器、中斷系統(tǒng)與特殊功能寄存器組成。它們都是通過片單一總線連接而成,其基本結(jié)構(gòu)仍舊是采用 CPU 加上外圍芯片的傳統(tǒng)模式。但對各種功能部件的控制是則采用特殊功能寄存器的集中控制方式。STC89C51 單片機的硬件結(jié)構(gòu)具有功能部件種類齊全,功能強等特點。特別值得一提的是該單片機中 CPU 中的位處理器,它實際上
16、是一個完整的一位微計算機,這個一位微計算機有自己的 CPU、位寄存器、I/O 口和指令集。1 位機在開關(guān)決策、邏輯電路仿真、過程控制方面非常有效;而 8 位機在數(shù)據(jù)采集,運算處理方面有明顯的長處。MCS-51 單片機中 8 位機和 1 位機的硬件資源復合在一起,二者相輔相承,它是單片機技術(shù)上的一個突破,這也是 MCS-51 單片機在設(shè)計的精妙之處。2.32.3 最小應用系統(tǒng)設(shè)計最小應用系統(tǒng)設(shè)計STC89C51 是片有 ROM/EPROM 的單片機,因此,這種芯片構(gòu)成的最小系統(tǒng)簡單可靠。用 STC89C51 單片機構(gòu)成最小應用系統(tǒng)時,只要將單片機接上時鐘電路和復位電路即可,如圖 2-3 所示。由
17、于集成度的限制,最小應用系統(tǒng)只能用作一些小型的控制單元。其應用特點如下:(1) 有可供用戶使用的大量 I/O 口線。(2) 部存儲器容量有限。(3) 應用系統(tǒng)開發(fā)具有特殊性。 . . . 4 / 39圖 2-2 STC89C51 單片機最小系統(tǒng)2.3.12.3.1 時鐘電路時鐘電路STC89C51 雖然有部振蕩電路,但要形成時鐘,必須外部附加電路。STC89C51 單片機產(chǎn)生時鐘的方法有兩種。部時鐘方式和外部時鐘方式。本設(shè)計采用部時鐘方式,利用芯片部的振蕩電路,在 XTAL1、XTAL2 引腳上外接定時元件,部的振蕩電路便產(chǎn)生自激振蕩。本設(shè)計采用最常用的部時鐘方式,即用外接晶體和電容組成的并聯(lián)
18、諧振回路。振蕩晶體頻率選擇 11.0592MHz。電容值無嚴格要求,但電容取值對振蕩頻率輸出的穩(wěn)定性、大小、振蕩電路起振速度有少許影響,CX1、CX2 可在 20pF 到 100pF 之間取值,但在 20pF 到 30pF 時振蕩器有較高的頻率穩(wěn)定性。所以本設(shè)計中,電容選擇 22pF。在設(shè)計印刷電路板時,晶體和電容應盡可能地靠近單片機芯片,以減少寄生電容的產(chǎn)生,更好的保證振蕩器穩(wěn)定和可靠地工作。2.3.22.3.2 復位電路復位電路STC89C51 的復位是由外部的復位電路來實現(xiàn)的。復位引腳 RST 通過一個施密特觸發(fā)器來抑制噪聲,在每個機器周期的 S5P2, 復位電路采樣施密特觸發(fā)器的輸出電
19、平一次,然后才能得到部復位操作所需要的信號。復位電路通常采用上電自動復位和按鈕復位兩種方式。 . . . 5 / 39最簡單的上電自動復位電路中上電自動復位是通過外部復位電路的電容充電來實現(xiàn)的。只要 Vcc 的上升時間不超過 1ms,就可以實現(xiàn)自動上電復位。上電復位電路見圖 2-4。圖 2-3 上電復位2.42.4 溫度測量電路單元模塊設(shè)計溫度測量電路單元模塊設(shè)計測溫所采用的電路如下圖 2-5 所示:圖 2-4 測溫電路原理我們采用 DS18B20 溫度傳感器實物如圖 2-4-1 所示:圖 2-4-1-1 ds18b20 的 8 角封裝 . . . 6 / 39圖 2-4-1 ds18b20
20、實物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ù)的“四舍五入”處理。其引腳
21、說明如下表 2-4-18 引腳 SOIC 封裝TO92符號說明51GND地42DQ數(shù)據(jù)輸入/輸出,常態(tài)下高電平33VDD可選電源表 2-4-1DS18B20 的存儲器由暫存 RAM 和非易失的 EEPRAM 構(gòu)成。暫存 RAM 共 9 個存儲單元,其結(jié)構(gòu)圖如圖 2-4-2 所示。暫存 RAM 中 TH、TL、配置字節(jié)的拷貝。改變 TH、TL 的值,可以改變 DS18B20 的上下限的溫度。通過設(shè)置配置字節(jié)的第 6 7 位,可完成溫度值的分辨率的配置。溫度值低字節(jié)0溫度值高字節(jié)1TH/用戶字節(jié) 12TL/用戶字節(jié) 23配置字節(jié)4保留字節(jié)5保留字節(jié)6保留字節(jié)7CRC8CRC 值為前 8 個字節(jié)的校
22、驗位。溫度值的高低字節(jié)位結(jié)構(gòu)如表 2-4-2-1: MSb (unit=oc) LSB232221202-12-22-32-4 . . . 7 / 39表 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ā)送給主設(shè)備讀寄存器讀所有寄存器,包括 CRC 字節(jié)BEH將 9 字節(jié)的數(shù)據(jù)發(fā)送給主設(shè)備寫寄存器數(shù)據(jù)寫入寄存器(TH、TL)4EH主設(shè)備向 ds18b20 發(fā)送 3 字節(jié)數(shù)復制將寄存
23、器 TH、TL恢復到 EEPROM48H無回調(diào)由 EEPROM 向寄存器恢復 TH、TL 和配置寄存器數(shù)據(jù)B8H將恢復狀態(tài)發(fā)送給主設(shè)備讀電源讀取電源模式B4H向主設(shè)備發(fā)送電源狀態(tài)表 2-4-2-22.52.5 電機驅(qū)動單元模塊設(shè)計電機驅(qū)動單元模塊設(shè)計從單片機輸出的信號功率很弱,即使在沒有其它外在負載時也無法帶動電機,所以在實際電路中我們加入了電機驅(qū)動芯片用來提高輸出電機信號的功率,從而能SSSSS262524 . . . 8 / 39夠根據(jù)實際需要來控制電機轉(zhuǎn)動。根據(jù)驅(qū)動功率大小以與連接電路的簡化要求我們選擇了 ULN2003 芯片,其外形、管腳分布如圖 2-7 所示。 圖 2-5 ULN20
24、03 管腳分布圖從圖中可以知道,一塊 ULN2003 芯片能夠驅(qū)動兩個電機轉(zhuǎn)動,它的使能端可以外接高低電平,也可以利用單片機進行軟件控制,極滿足各種復雜電路需要。另外,ULN2003 的驅(qū)動功率較大,能夠根據(jù)輸入電壓的大小輸出不同的電壓和功率,解決負載能力不足的問題。電機驅(qū)動電路如下圖 2-8 所示。圖 2-6 電機驅(qū)動電路ULN2003 的 18 個引腳接到單片機上,通過對單片機的編程可以實現(xiàn)直流電機正停轉(zhuǎn)的功能。 . . . 9 / 392.62.6 液晶液晶 LCD1602LCD1602 顯示模塊硬件電路設(shè)計顯示模塊硬件電路設(shè)計GND1VCC2V03RS4R/W5E6DB07DB18DB
25、29DB310DB411DB512DB613DB714BLA VCC15BLK GND16LCD1602134567829a-1kVCCVCCVCCR?10KVCC圖 2-7 通風系統(tǒng)顯示圖與仿真效果圖3 3 軟件設(shè)計軟件設(shè)計3.13.1 軟件程序設(shè)計軟件程序設(shè)計在進行微機控制系統(tǒng)設(shè)計時,除了系統(tǒng)硬件設(shè)計外,大量的工作就是如何根據(jù)每個對象的實際需要設(shè)計應用程序。在單片機控制系統(tǒng)中,大體上可分為數(shù)據(jù)處理、過程控制兩個基本類型。數(shù)據(jù)處理包括:數(shù)據(jù)的采集、數(shù)字處理、數(shù)據(jù)變換,顯示處理等。過程控制程序主要是使單片機按一定的方法進行計算,然后再輸出信號,以便控制生產(chǎn)。為了完成上述任務,在進行軟件設(shè)計時,
26、通常把整個過程分成若干個部分,每一部分叫做一個模塊。所謂“模塊” ,實質(zhì)上就是完成一定功能,相對獨立的程序段。 模塊程序設(shè)計法的主要優(yōu)點是:(1)單個模塊比起一個完整的程序易編寫與調(diào)試; . . . 10 / 39(2)模塊可以共存,一個模塊可以被多個任務在不同條件下調(diào)用;3.23.2 主程序流程圖主程序流程圖主程序流程圖 3-2 如下所示:圖 3-2 程序流程圖液晶初始化顯示字符串讀取測量溫度按鍵處理溫度報警判斷結(jié)束延時開始3.33.3 讀取溫度流程圖讀取溫度流程圖測溫流程圖 3-2 如下: . . . 11 / 39開始DS18B20初始化故障DS18B20正常標志位置0跳過讀取內(nèi)存YN啟
27、動溫度轉(zhuǎn)換DS18B20初始化跳過讀取內(nèi)存讀取溫度寄存器讀取溫度低8位和高8位DS18B20正常標志位置1結(jié)束讀取溫度值流程圖開始讀取溫度DS18B20_IS_OK=1?N讀取溫度發(fā)生變化?刷新顯示顯示溫度溫度Signed_Temp=35電機轉(zhuǎn)動標識綠燈亮溫度Signed_Temp=10電機轉(zhuǎn)動標識紅燈亮YY溫度10Signed_Temp35NN電機慢慢停轉(zhuǎn)標識Y結(jié)束YY圖 3-2 讀取溫度流程圖圖 3-2-1 溫度報警的流程圖3.43.4 溫度報警控制電機流程圖溫度報警控制電機流程圖溫度報警控制流程圖如圖 3-4:報警溫度原理圖如圖 3-4-1:圖 3-4-1 溫度報警原理圖 . . . 1
28、2 / 39當溫度值大于 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 液晶 LCD16
29、02 顯示流程圖 . . . 13 / 393.63.6 報警溫度上下限設(shè)置和按鍵處理報警溫度上下限設(shè)置和按鍵處理報警溫度上下限設(shè)置和按鍵處理流程圖如下開始按鍵是否按下等待釋放按鍵是否按下消抖動結(jié)束標志位flag加1Flag=2?Flag=0YN圖 3-6-1 按鍵處理 圖 3-6-2 報警溫度上下限設(shè)置開始溫度上限加1K1按下?K2按下?K3按下?K4按下?NNNY溫度上限減1溫度下限加1溫度下限減1YYY顯示溫度上下限值結(jié)束 . . . 14 / 39結(jié)結(jié)論論本設(shè)計通風控制系統(tǒng)經(jīng)過論證,證明運行可靠,操作方便,節(jié)省人力投入,提高了自動化控制水平和工作效率,方便了調(diào)試和維護,符合智能通風技術(shù)
30、的要求,真正做到既經(jīng)濟又實用的控制目的,具有推廣價值。隨著生活水平的提高,人們對室空氣的要求已從保暖降溫發(fā)展到要求高品質(zhì)。在自然通風達不到要求時,強制通風的空氣質(zhì)量控制系統(tǒng)則成為建筑必不可少的設(shè)施,而這方面我國才剛剛起步,中低端市場更是空白。本設(shè)計已成功地應用于車間的通風機控制中,應用前景廣闊,可以大量推廣到需要低成本通風系統(tǒng)的場合,如學校、醫(yī)院、家庭、商場與工廠等。 . . . 15 / 39致致在這段時間里,喬老師嚴謹?shù)闹螌W態(tài)度和熱忱的工作作風令我十分欽佩,她的指導使我們受益匪淺。通過這次畢業(yè)設(shè)計,使我深刻地認識到學好專業(yè)知識的重要性,也理解了理論聯(lián)系實際的含義,并且檢驗了大學三年的學習成
31、果。雖然在這次設(shè)計中對于知識的運用和銜接還不夠熟練。但是我將在以后的工作和學習中繼續(xù)努力、不斷完善。這段時間的設(shè)計是對過去所學知識的系統(tǒng)提高和擴充的過程,為今后的發(fā)展打下了良好的基礎(chǔ)。由于自身水平有限,設(shè)計過程中存在了一些不足之處,敬請各位老師批評指正。參考文獻參考文獻1王靖,胡特,玉川等.現(xiàn)代住宅室通風方式探討.制冷與空調(diào).2003(2).2侯哲生,聰,伏等.基于單片機的通風機控制器的設(shè)計.2005-09-13.3 王成福,云等.一種簡單的實用 LCD 數(shù)顯溫度計.2002.4 宋亞偉,恒宗.基于 DS18B20 的溫度采集控制電路.2008,3,7(9).5 肖晴.液晶顯示溫度的控制.20
32、05(2). 6 蘭寧.窗戶自動控制管理系統(tǒng)的控制與設(shè)計.2009(22).7 菁.基于單片機溫度控制系統(tǒng)方案的研究.2007(9). . . . 16 / 398 黨峰,王敬農(nóng),高國旺.基于 DS18B20 的數(shù)字式溫度計的設(shè)計.2007(3). . . . 17 / 39附件附件 1.1.通風電路主板通風電路主板、串口的原理圖、串口的原理圖EA /V P31X 119X 218RES ET9RD17W R16IN T 012IN T 113T014T115P101P112P123P134P145P156P167P178P0039P0138P0237P0336P0435P0534P0633P
33、0732P2021P2122P2223P2324P2425P2526P2627P2728PSE N29A LE /P30TX D11RX D10U 189C 51C122pFC222pFY 112M H zR210KC310UV C CENRSRWV C CVS S1VC C2VO3DB 07DB 18DB 29DB 310DB 411DB 512DB 613DB 714RS4RW5EN6BL+15BL-16U 3LCD 1602RSRWENV C CV C CR310KVO1234567898*1KCO N 9V C C123D S18B20R14.7KV C CAM 1V OG N DV
34、C C12J2V C C12J3串串STO PFor w ardReveralR8470R10470D 1G R EEND 2REDV C CReveralFor w ardIN 11IN 22IN 33IN 44IN 55IN 66IN 77CO M M O N8CLA M P9O U T 710O U T 611O U T 512O U T 413O U T 314O U T 215O U T 116U 4U LN 2003+-V C CA12345678J412345678J512345678J8E2C3B1Q 1PN PR44.7KV C CS1BU ZZERCJ110UR211K1A
35、2KD 3123PO W ER1CO N 3V C C+S2S3串S4串S5串串K 2K 3K 4K 5K 2K 4K 5K 3123pow erCO N 3JD Q主板的電路圖 . . . 18 / 39+-R1IN13R2IN8T1N11T2N10C1+1C1-3R1OUT12R2OUT9T1OUT14T2OUT7C2+4C2-5V+2V-6VCC16GND15JP1MAX232C31UFC41UFC21UFC11UF162738495J5DB912J1CON212J3CON212J2CON2123J4CON3S1SW SPST+C6100UF+C5100UFC80.1UFC70.1UD2
36、LEDD1LEDVin1GND2Vout3U1VOLTREGVCCVCCVCCR3RES2R1RES2R2RES2RXDP3.1VCCTXDP3.0TXDRXDP3.05VVCC電源與串口電路圖附件附件 2.2.通風電路主板、串口的通風電路主板、串口的 PCBPCB 圖圖附件電路圖 4 LCD 顯示模塊電路圖 . . . 19 / 39附件附件 3.3.程序清單程序清單#include #include #define uchar unsigned char#define uint unsigned intvoid delayNOP() _nop_();_nop_();_nop_();_nop
37、_();ucharflag=0; /按鍵標識符 . . . 20 / 39sbit DQ = P33; /溫度傳感器數(shù)據(jù)口sbit LCD_RS = P12; sbit LCD_RW = P11;sbit LCD_EN = P10;sbit Forward=P13;/高溫報警sbit Stop=P11; sbit Reveral=P15;/低溫報警sbit MA = P25; /電機驅(qū)動sbit beep=P27;/蜂鳴器報警sbit button=P26; /按鍵sbit k1=P20; sbit k2=P21; sbit k3=P22;sbit k4=P23;ucharcode speak
38、=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_temp2=15,10;uchargao,di;u
39、char ng = 0;/負溫度標識符/溫度字符uchar code Temperature_Char8 = 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_Tem
40、p_Value = 0 xFF,0 xFF;/待顯示的各溫度數(shù)位uchar Display_Digit = 0,0,0,0;/傳感器正常標志 . . . 21 / 39bit DS18B20_IS_OK = 1;/voiddisplay_alarm_temp(ucharhigh,ucharlowe);/-/ 延時 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
41、_RW = 1; LCD_EN = 1; delayNOP(); result = (bit)(P0 & 0 x80); 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; /-/ 寫數(shù)據(jù)/-void Write_LCD_Data(uchar
42、dat) . . . 22 / 39 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_Chari); /寫入溫度符號/-/ 初始化 /-v
43、oid 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 /-/ 設(shè)置顯示位置/-void Set_LCD_POS(uchar pos) Write_LCD_Command(pos | 0 x80); /-/ 延時 2/- . .
44、. 23 / 39void 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; _
45、nop_(); _nop_(); if(DQ) dat |= 0 x80; Delay(30); DQ = 1; return dat;/-/ 寫一字節(jié) /- . . . 24 / 39void 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)
46、; /啟動溫度轉(zhuǎn)換 Init_DS18B20(); WriteOneByte(0 xCC); /跳過序列號 WriteOneByte(0 xBE); /讀取溫度寄存器 Temp_Value0 = ReadOneByte(); /溫度低 8 位 Temp_Value1 = ReadOneByte(); /溫度高 8 位 DS18B20_IS_OK = 1; EA=1;/-/ 在 LCD 上顯示當前溫度 /-void Display_Temperature() uchar i; uchar t = 150;/延時值 uchar ng = 0; /負數(shù)標識 /如果為負數(shù)則取反加 1,并設(shè)置負數(shù)標識
47、if ( (Temp_Value1 & 0 xF8) = 0 xF8) . . . 25 / 39 Temp_Value1 = Temp_Value1; Temp_Value0 = Temp_Value0 + 1; if (Temp_Value0 = 0 x00) Temp_Value1+; ng = 1; /查表得到溫度小數(shù)部分 Display_Digit0 = df_Table Temp_Value0 & 0 x0F ; /獲取溫度整數(shù)部分(無符號) CurrentT =(Temp_Value0 & 0 xF0)4)|(Temp_Value1 & 0 x07
48、)4); /獲取有符號溫度值(忽略小數(shù)位) Signed_Temp = !ng ? CurrentT : - CurrentT; /將整數(shù)部分分解為三位待顯示數(shù)字 Display_Digit3 = CurrentT / 100; Display_Digit2 = CurrentT % 100/10 ; Display_Digit1 = CurrentT% 10 ; /刷新 LCD 顯示緩沖 Current_Temp_Display_Buffer11 = Display_Digit0+ 0; Current_Temp_Display_Buffer10 = .; Current_Temp_Disp
49、lay_Buffer 9 = Display_Digit1 + 0; Current_Temp_Display_Buffer 8 = Display_Digit2 + 0; Current_Temp_Display_Buffer 7 = Display_Digit3 + 0; /高位為 0 時不顯示 if (Display_Digit3 = 0) Current_Temp_Display_Buffer7 = ; /高位為 0 且次高位為 0 時,次高位不顯示 if (Display_Digit2 = 0 & Display_Digit3 = 0) Current_Temp_Displa
50、y_Buffer8 = ; /負數(shù)符號顯示在恰當位置 if (ng) if (Current_Temp_Display_Buffer8 = ) Current_Temp_Display_Buffer8 = -; else if (Current_Temp_Display_Buffer7 = ) Current_Temp_Display_Buffer7 = -; else . . . 26 / 39 Current_Temp_Display_Buffer6 = -; /在第一行顯示標題 Set_LCD_POS(0 x00); for(i = 0; i 16; i+) Write_LCD_Data
51、( Temp_Disp_Titlei ); /在第二行顯示當前溫度 Set_LCD_POS(0 x40); for(i = 0; i 16; i+) Write_LCD_Data( Current_Temp_Display_Bufferi ); 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_temp0) 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( speaki ); Write_LCD_Command(0 x8f);Write_LCD_Data(Y); /風扇開啟標志 else if ( Signed_Temp alarm_temp1) 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( speak1i ); W
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 修建性設(shè)計合同范本
- 10萬噸煤礦合同范本
- 單位只交社保合同范本
- 公司銷售代理合同范本
- 出售機械板車合同范本
- 醫(yī)藥培訓銷售合同范本
- 個人精裝房租賃合同范例
- 保潔大掃除合同范本
- 買汽車有沒有三包合同范本
- 加工基地 合同范本
- 《水稻育秧技術(shù)新》課件
- 2024-2025年第一學期初中德育工作總結(jié)
- 圍手術(shù)期手術(shù)患者護理要點
- 2025年大連長興開發(fā)建設(shè)限公司工作人員公開招聘高頻重點提升(共500題)附帶答案詳解
- 貨物學 課件1.3貨物的計量
- 《鈉離子電池用電解液編制說明》
- 全球醫(yī)療旅游經(jīng)濟的現(xiàn)狀與未來趨勢
- 2024年度儲能電站在建項目收購合作協(xié)議范本3篇
- 新建冷卻塔布水器項目立項申請報告
- 廣東省梅州市梅縣區(qū)2023-2024學年八年級上學期期末數(shù)學試題
- 2025屆江蘇省南通市海門市海門中學高三最后一模數(shù)學試題含解析
評論
0/150
提交評論