


版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、燕山大學課程設計說明書題目智能空調控制系統學院(系):年級專業:學 號:學生姓名:指導教師:教師職稱 摘要智能空調控制系統是根據溫度傳感器采集室內的環境溫度與系統的預設值 進行對比,通過控制系統的預先設置,空調進行自動制冷或制熱,從而達到了 智能控制的目的。根據人們對生活環境的要求和單片機的應用特性,本文介紹 了應用 STC89C52 單片機進行控制的智能空調控制系統。智能空調控制系統主要由電源電路、液晶顯示電路、單片機控制電路、按 鍵電路、控制指示電路等組成。其工作原理是溫度傳感器 DS18B20 采集室內溫 度傳送給單片機,單片機分析數據,控制智能空調加熱或制冷。此系統可以通過按鍵設置空調
2、的溫度,使空調對室內進行加溫或降溫,也 可以對系統預設一個溫度值,通過傳感器感知室內溫度與智能空調的預設溫度 值進行對比,通過單片機控制空調對室內進行加溫或降溫,達到智能空調的自 動控制功能。在定時功能啟動的情況下,如果計時時間與定時時間相同,此時 空調相應的狀態會自動關閉,把定時時間存在 STC89C52 單片機內部的 EEPROM 中,斷電后不會消失,直至通過按鍵去改變,達到了智能空調的定時 功能。關鍵詞: 智能空調;液晶顯示; STC89C52 單片機; ds18b20 溫度檢測芯片目錄1 智能空調控制系統的方案設計 1.1.1 智能空調控制系統 1.1.2 系統工作原理 2.1.2.1
3、 系統功能模塊工作原理介紹 2.1.2.2 各功能要求實現的工作原理 2.2 系統功能模塊的設計與實現 5.2.1 主控制模塊 5.2.1.1 主控制單元模塊設計 5.2.1.2 主控制單元工作原理 5.2.2 電源模塊設計 6.2.2.1 電源模塊概述 6.2.2.2 電源模塊的應用 6.2.3 溫度檢測模塊設計 7.2.3.1 溫度傳感器的選取 7.2.3.2 DS18B20 概述 7.2.3.3 溫度檢測單元電路 8.2.4 顯示模塊設計 1.02.4.1 1602 液晶顯示器概述 1.02.4.2 顯示模塊電路 1.52.5 模塊設計 1.72.5.1 鍵盤電路功能設定 1.72.5.
4、2 矩陣鍵盤電路工作原理 1.72.6 外圍驅動電路模塊設計 1.82.6.1 驅動電路 1.82.6.2 JQC-3FF 繼電器 1.83 系統軟件設計 2.0.4 系統測試及結果分析 2.34.1 系統測試 2.34.2 系統測試結果及分析 2.5結 論 2.6.心得體會 錯. 誤 !未定義書簽。參考文獻 錯. 誤 !未定義書簽。附 錄 2.8.1智能空調控制系統的方案設計本系統以單片機 STC89C52為核心,采用電源模塊、溫度采集、鍵盤 輸入、液晶顯示、驅動電路等,實現了基于空調溫度控制系統。把定時時 間存入單片機 EEPROM中,不易丟失。人機交互采用按鍵輸入、液晶顯 示,界面友好,
5、易于操作。1.1智能空調控制系統DS18B20溫度傳感器采集室內溫度數據,并將信息反饋給 CPU,單片機分析并與設定的溫度值進行比較,通過驅動電路使智能空調調節不同的 工作狀態,單片機的工作狀態有加熱、制冷工作狀態。不同的按鍵S的功能設置為:S2為“加”,S10為“減”,S3啟動/ 關閉,S5為啟動智能空調制冷狀態,S6為調節走時按鍵,S7為啟動智能空調暖風工作狀態,S13為開啟/關閉定時,S14為調節定時。系統的結構框圖如圖1-1所示:鍵盤輸入1液晶顯示!/單晶振電路'溫度檢測片復位由路復位電路1 驅動電路機圖1-1智能空調控制系統結構框圖1.2系統工作原理系統功能模塊工作原理介紹電
6、源管理模塊將外部交流電通過整流變壓器及穩壓芯片7805進行穩壓,以便提供給各個系統工作模塊, 如DS18B20溫度傳感器、單片機主控 制單元、液晶顯示單元、驅動電路單元等。單片機(STC89C52)主控制單元負責整個智能空調控制系統的運行控 制,通過人際交互單元 (按鍵及液晶顯示) 的系統功能設置,用1602液晶 顯示器將室內溫度顯示出來,并且可以通過按鍵進行調整,實現空調加熱 或制冷的工作狀態設置,即達到智能空調的手動控制功能。通過DS18B20溫度傳感器實時檢測室溫并通過1602液晶顯示器顯示室溫,并將室溫與預設值進行對比,實現空調自動制冷或加熱,實現了智能空調的自動控制功 能。在定時功能
7、啟動的情況下,如果計時時間與定時時間相同,此時,空 調相應的工作狀態會自動關閉。把定時時間存在STC89C52單片機內部的EEPROM中,斷電后不會消失,直至通過按鍵去改變,實現了智能空調的 定時加熱或制冷功能。各功能要求實現的工作原理1、定時與時間顯示剛開始上電時,1602液晶顯示器上產生實時時間。此系統運用單片機的定時器功能產生走時,采用的是二十四小時制,在一直通電的情況下,會一直加到23:59:59,然后清零從00:00:00重新開始。若開啟定時功能,液晶右下角顯示定時時間,在顯示器的右上角顯示ON,未開啟定時功能則顯示OFF。液晶顯示屏的顯示畫面,如表1-1所示:表1-1未開啟定時或開
8、啟定時功能,液晶顯示屏顯示結果0123456789101112131415OOFNF單片機得電后,其內部定時器會立即開啟,在軟件程序中設定其相應 的內部定時器的寄存器從而相應的走時會比較準確的記錄下來。2、溫度檢測與顯示DS18B20檢測的室內溫度信號返回給單片機,單片機會相應的處理此溫度信號,同時送往液晶顯示器顯示。提前設定的溫度值存在單片機ROM中,單片機處理后,也會在液晶上顯示。如表1-2所示,用*表示實時室內溫度。表1-2液晶顯示屏顯示實時室內溫度(*為溫度值)0123456789101112131415*智能溫控就是感溫頭精確感應,把室內溫度的變化傳遞給中央控制芯片,由芯片控制系統使
9、室內溫度達到顯示屏上的設定溫度,使用者只需要自身的要求而去設定不同的溫度即可,以達到最大的智能化控制。3、鍵盤調節人機交互采用鍵盤輸入。通過鍵盤輸入指令,控制相應的不同狀態的切換、時間定時長短的設定。調整時間設定(*表示光標閃爍)如表 1-3所示。表1-3液晶顯示的調整時間設定(*為走時時間,為定時時間)0123456789101112131415*通過按鍵把定時的時間寫入單片機的EEPROM中,永久性保存。2系統功能模塊的設計與實現2.1主控制模塊主控制單元模塊設計系統主控制單元,采用AT89C52單片機為主控制芯片,主要包括AT89C52單片機、復位電路、時鐘電路、下載電路、電源指示電路。
10、主控制單元工作原理系統主控制單元如圖 2-1所示:U1C1GNDHI30pFVcc卜 XTAL1P0.0/AD0P0.1/AD1P0.2/AD2XTAL2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6RSTP0.7/AD7P2.0/A8P2.1/A9P2.2/A10PSENP2.3/A11AIEP2 4/A12EAP2 5/A13P2.6/A14P2.7/A15P1.0/T2P3.0/RXDP1.1/T2EXP3.1/TXDP1 2P3 2/INT0P1 3P3 3/INT1P1.4P3.4/T0P1 5P3 5/T1P1.7P3.7/RD"193718923312
11、612514817AT89C522930-393824252728151610 1113346736 _35 工 "3 -32R1010kGND圖2-1系統主控制單元功能電路STC89C52單片機具有256KB的程序存儲區、8KBFIashROM,完全滿足系統設計需要,按鍵 S1為復位按鍵,采用低電平復位,電容 C3與電阻R10組成上電復位電路,為了提高串行通信波特率的準確度,時鐘電路采 用12MHZ的晶振和電容 C1、電容C2組成振蕩電路。2.2電源模塊設計電源模塊概述LM7805是常用的三端穩壓器,一般使用的是TO-220封裝,能提供DC5V 的輸出電壓,應用范圍廣,內含過流和過
12、載保護電路。帶散熱片時能持續 提供1A的電流,如果使用外圍器件,它還能提供不同的電壓和電流。電源模塊的應用電源模塊電路如圖2-2所示。電源電路主要為系統提供工作TR1TRAN-2P2SLP=1HLS=0.0025hM=1RP=1mU27805RS=1m圖2-2電源模塊功能電路電源,總電源有 220V輸入,通過變壓器和整流器輸出12V直流電源。但是這個直流電源很不穩定,所以再用一個7805進行穩壓,輸出穩定的5V直流電源。供單片機、Icd1602等使用。2.3溫度檢測模塊設計231溫度傳感器的選取溫度是一種最基本的環境參數,人民的生活舒適度與環境的溫度息息 相關,DS18B20裝置適用于人民的日
13、常生活和工業和農業生產用的溫度測 量。由半導體公司生產的DS18B20型單線智能溫度傳感器,屬于新一代適配微處理器的智能溫度傳感器,可廣泛用于工業、民用、軍事等領域的溫 度測量及控制儀器、測控系統和大型設備中。DS18B20具有體積小,接口方便,傳輸距離遠等特點。采用數字溫度傳感器 DS18B20,與傳統的熱敏電阻相比,它能夠直接 讀出被測溫度并且可根據實際要求通過簡單的編程實現912位的數字值讀數方式。可以分別在93.75ms和750ms內完成9位和12位的數字量,并且從DS18B20讀出的信息或寫入 DS18B20的信息僅需要一根口線(單 線接口)讀寫,溫度變換功率來源于數據總線,總線本身
14、也可以向所掛接 的DS18B20供電,而無需額外電源。因而使用DS18B20可使系統結構更趨簡單,可靠性更高,成本更低。測量溫度范圍為-55 C+125 C。在-10 C +85 C,精度為土 0.5C。DS18B20的精度較差為土 2 C。現場溫度直接以 一 線總線”的數字方式傳輸,大大提高了系統的抗干擾性。既述1 . DS18B20的性能特點:(1) 采用單總線專用技術,既可通過串行口線,也可通過其它I/O 口線與微機接口,無須經過其它變換電路,直接輸出被測溫度值(9位二進制數,含符號位)。(2) 測溫范圍是-55 C +125 C。(3) 內含64位經過激光修正的只讀存儲器ROM。(4)
15、 適配各種單片機或系統機。(5)用戶可分別設定各路溫度的上、下限。內含寄生電源。2. DS18B20內部結構DS18B20內部結構主要由4部分組成:64位光刻ROM,溫度傳感器, 非揮發的溫度報警觸發器 TH和TL ,配制寄存。DS18B20的管腳排列如圖 2-3所示。D c c c N -N E J ©圖2-3 DS18B20引腳圖3. DS18B20引腳功能如下:NC(1、2、6、7、8腳):空引腳,懸空不使用。VDD (3腳):可選電源腳,電源電壓范圍是35.5V。DQ (4腳):數據輸入/輸出腳,漏極開路,常態下高電平。溫度檢測單元電路溫度檢測單元采用DS18B20實現溫度的
16、檢測。功能電路如圖2-4所示,溫度傳感器 DS18B20將采集回來的數據經P2.3 口給AT89C52單片機,AT89C52單片機把這些數據進行分析,送至1602液晶顯示器上顯示溫度。P2.32-4 DS18B 20溫度檢測功能電路具體操作如下:1. DS18B20 初始化。(1) 數據線拉到低電平“ 0 ”。(2) 延時480微妙(該時間的時間范圍可以從480到960微妙)。(3) 數據線拉到高電平“ 1 ”。(4) 延時等待80微妙。如果初始化成功則在 15到60微妙時間內產生一 個由DS18B20所返回的低電平“ 0”。根據該狀態可以來確定它的 存在,但是應注意不能無限的進行等待,不然會
17、使程序進入死循環,所以要進行超時判斷。(5) 若CPU讀到了數據線上的低電平“ 0”后,還要做延時,其延時的時間從發出的高電平算起(第(3 )步的時間算起)最少要 480微妙。2控制器寫時序。(1) 數據線先置“ 0 ”(2) 延時15微妙。(3) 按從低位到高位的順序發送數據(一次只發生一位)。(4) 延時60微妙。(5) 將數據線拉到高電平。(6) 重復15步驟,直到發送完整的字節。(7) 最后將數據線拉高。3. 控制器讀時序。(1) 將數據線拉低“ 0”(2) 延時6微妙。(3) 將數據線拉高“ 1”釋放總線準備讀數據。(4) 延時4微妙。(5) 讀數據線的狀態得到1個狀態位,并進行數據
18、處理。(6) 延時30微妙。(7) 重復17步驟,直到讀完一個字節。2.4顯示模塊設計1602液晶顯示器概述1液晶顯示器簡介液晶顯示器的主要工作原理是通過電流刺激液晶分子,從而產生點、線、面、并配合背部燈管構成不同的顯示畫面。各種不同型號的液晶顯示器都是按照顯示字符的行數或者是液晶顯示器點陣的行、列數進行命名的。例如:1602液晶顯示器所表述的意思就是, 每行顯示16個字符,一共能夠有兩行進行顯示字符。本設計就是應用1602液晶顯示器進行顯示溫度以及定時時間。液晶顯示器的英文名稱是LiquidCrystal Display,所以液晶顯示器又可以叫做LCD,以下的1602液晶顯示器都稱為LCD1
19、602。字符型液晶顯示模塊是一種專門用于顯示字母、數字、符號等點陣式液晶顯示器,LCD1602以并行操作方式占大多數,但是有的也并行操作方式和串行操作方式同時具有,用戶自行選擇并口或串口操作。2. LCD1602的基本參數及引腳功能:LCD1602分為帶背光和不帶背光兩種,基控制器大部分為HD44780,帶背光的比不帶背光的要厚,是否帶背光在應用中并無差別,兩者尺寸差 別,如圖2-5所示:圖2-5LCD1602尺寸圖3. LCD1602主要技術參數:(1) 顯示容量:162個字符芯片工作電壓:4.5 5.5V (3)工作電流:2.0mA(5.0V)模塊最佳工作電壓:5.0V(5)字符尺寸:4.
20、 引腳功能說明:LCD1602采用標準的14腳(無背光)或16腳(帶背光)接口,各引 腳接口說明如表2-1 所示:第1腳:VSS為地電源。第2腳:VDD接5V正電源。第3腳:VL為液晶顯示器對比度調整端,接正電源時對比度最弱,接地時 對比度最高,對比度過高時會產生 “鬼影”,使用時可以通過一個 10K的電位器調整對比度。第4腳:RS為寄存器選擇,高電平時選擇數據寄存器、低電平時選擇指令寄存器。表2-1 LCD1602引腳接口說明編號符號引腳說明編號符號引腳說明1VSS電源地9D2數據口2VDD電源正極10D3數據口3VL液晶顯示偏壓11D4數據口4RS數據/命令選擇12D5數據口5R/W讀/寫
21、選擇13D6數據口6E使能信號14D7數據口7D0數據口15BLA背光源正極8D1數據口16BLK背光源負極第5腳:R/W為讀寫信號線,高電平時進行讀操作,低電平時進行寫操作。當RS和R/W共同為低電平時可以寫入指令或者顯示地址,當 RS為 低電平R/W為高電平時可以讀忙信號, 當RS為高電平R/W為低電平 時可以寫入數據。第6腳:E端為使能端,當E端由高電平跳變成低電平時,液晶模塊執行命令。第714腳:D0D7為8位雙向數據線。第15腳:背光源正極。第16腳:背光源負極。5. LCD1602的指令說明:LCD1602內部的控制器共有11條控制指令,如表3-2所示。LCD1602液晶模塊的讀寫
22、操作、屏幕和光標的操作都是通過指令編程來實現的。(說 明:1為高電平、0為低電平)表3-2 LCD1602控制指令序號指令RSR/WD7D6D5D4D3D2D1D01清顯示00000000012光標返回000000001*3置輸入模式00000001I/DS4顯示開/關控制0000001DCB5光標或字符移位000001S/CR/L*6置功能00001DLNF*7置字符發生存貯器地址0001字符發生存貯器地址8置數據存貯器地址001顯示數據存貯器地址9讀忙標志或地址01BF計數器地址10寫數到CGRAM或DDRAM10要寫的數據內容11從CGRAM 或DDRAM 讀數11讀出的數據內容指令1
23、:清顯示,指令碼 01H,光標復位到地址 00H位置。指令2 :光標復位,光標返回到地址00H。指令3:光標和顯示模式設置I/D:光標移動方向。高電平右移,低電平 左移。S:屏幕上所有文字是否左移或者右移。高電平表示有效,低電平 則無效。指令4 :顯示開關控制。 D :控制整體顯示的開與關,高電平表示開顯示, 低電平表示關顯示。C:控制光標的開與關, 高電平表示有光標,低電平表示無光標。B :控制光標是否閃爍,高電平閃爍,低電 平不閃爍。指令5:光標或顯示移位。S/C:高電平時移動顯示的文字,低電平時移動 光標。指令6 :功能設置命令。DL :高電平時為4位總線,低電平時為 8位總線。N :低
24、電平時為單行顯示,高電平時雙行顯示。F:低電平時顯示5x7的點陣字符,高電平時顯示5x10的點陣字符。指令7 :字符發生器 RAM地址設置。指令& DDRAM地址設置。指令9:讀忙信號和光標地址 BF:為忙標志位,高電平表示忙,此時模塊 不能接收命令或者數據,如果為低電平表示不忙。指令10:寫數據。指令11:讀數據。6. LCD1602的RAM地址映射及標準字庫表:液晶顯示模塊是一個慢顯示器件,所以在執行每條指令之前一定要確認模塊的忙標志為低電平,表示不忙,否則此指令失效。要顯示字符時要 先輸入顯示字符地址, 也就是告訴模塊在哪里顯示字符,圖2-7是LCD1602的內部顯示地址。在對液
25、晶模塊的初始化中要先設置其顯示模式,在液晶模塊顯示字符時光標是自動右移的,無需人工干預。每次輸入指令前都要判斷液晶模塊 是否處于忙的狀態。圖2-7 LCD1602內部顯示地址LCD1602液晶模塊內部的字符發生存儲器(CGROM )已經存儲了 160個不同的點陣字符圖形,如圖3-7所示,這些字符有:阿拉伯數字、英文字母的大小寫、常用的符號等,每一個字符都有一個固定的代碼,比如大寫 的英文字母“ A ”的代碼是01000001B( 41H),顯示時模塊把地址 41H中 的點陣字符圖形顯示出來,我們就能看到字母“A”。7. LCD1602的一般初始化(復位)過程:寫指令38H :顯示模式設置寫指令
26、08H :顯示關閉寫指令01H :顯示清屏寫指令06H :顯示光標移動設置寫指令OCH :顯示開及光標設置顯示模塊電路在該系統中顯示用到的是 LCD1602液晶顯示器。液晶顯示器以其微功耗、體積小、顯示內容豐富、超薄輕巧的諸多優點,在各種小系統中得到了非常廣泛的應用。LCD1602是指顯示的內容為16X 2,即可以顯示2行,每 行16個字符液晶模塊(顯示字符和數字)。LCD1LM016L7 8 9 0 1 2 141 2 34 5 6圖2-8LCD1602與單片機接線電路圖2.5模塊設計鍵盤電路功能設定鍵盤電路圖如圖2-9所示。圖2-9鍵盤電路圖按鍵S116組成矩陣鍵盤與單片機AT89C52的
27、P3 口相連接。S2為“加”,S10為“減”,S3啟動/關閉,S5為啟動智能空調制冷狀態,S6為調節走時按鍵,S7為啟動智能空調暖風工作狀態,S13為開啟/關閉定時,S14為調節定時。矩陣鍵盤電路工作原理矩陣鍵盤采用動態掃描的方式:首先給P3.0 口低電平,然后逐列掃描,如果S1鍵按下則P3.4 口為低電平;然后給 P3.1 口低電平,再逐列掃描, 以此類推,直到 P3.3為低電平,掃描完一次矩陣鍵盤。2.6外圍驅動電路模塊設計261驅動電路本系統中AT89C52單片機根據讀取的按鍵值,做出不同的響應動作。單片機只是一個主控方,他的強大功能必須依靠外圍器件驅動才能完成,所以本設計中通過三極管
28、VT1(8550),繼電器K1后,驅動智能空調的啟動 /停止功能,最終使室內的溫度保持在一個人為感覺良好的理想狀態。通過 控制繼電器的通/斷即可達到智能空調智能控制的要求。驅動電路圖如圖2-10所示。圖2-10驅動電路圖繼電器繼電器的工作原理實質是通過低電壓、小電流控制高電壓、大電流。JQC-3FF-5V繼電器的觸點形式是一開一閉。繼電器的工作參數如表3-4所示。表2-4繼電器工作參數額定電壓:DC-12V額定電流:12觸點切換電流:10觸點切換電壓:1防護特征:塑封式觸點負載:大功率應用范圍:電磁型號:JQC-3FF-5VDC-1ZS(551)觸點形式:一開一閉3系統軟件設計系統軟件設計采用
29、模塊化、結構化的設計思想,使程序便于移植。系 統程序主要包括主程序、系統宏定義、鍵盤處理函數、LCD顯示函數、溫度檢測、系統控制算法函數。首先系統上電后啟動系統功能,此時處于待機狀態,S3按下后液晶顯示器顯示,空調開始工作,然后可以通過人機交互選擇系統所運行的功能。系統上電后自動開始走時,開機后顯示器顯示時間、 室內溫度確定值、設定值以及定時時間。通過人機交互選擇系統所運行的功能,確定這些數 值是否需要進行改動。當上述所有數值設定好后, 再次通過人機交互選擇系統所運行的功能, 把所定時的時間寫入到單片機的EEPROM中,把定時功能開啟。智能空調控制系統的主程序流程圖,如圖3-1所示:圖3-1主
30、程序流程圖智能空調控制系統按鍵部分的子程序流程圖,如圖3-2所示:圖3-2按鍵部分的子程序流程圖液晶顯示部分的子程序流程圖,如圖3-3所示:圖3-3液晶顯示部分的子程序流程圖4系統測試及結果分析通過兩周的設計和制作,本系統成功地實現了設計要求。為驗證系統的功能和各項技術指標,下面通過實驗對本系統進行功能驗證。4.1系統測試i.首先上c電d 液晶顯示器不顯示。2.S3按下后顯示走時,定時、實際溫度值等。3.按下IS按鍵,開啟暖風模式,右上角顯示1.rb 7D6D5D4D3d2d1DODESR EEV DDV SSV314. 按下S13按鍵,開啟定時模式。LM016L5. 定時模式開啟時,按下S1
31、4按鍵,可調節定時時間。此時光標閃爍。 按下S2或S9可調節時間。7D6d5d4d3d2d1DODESR ELE DDV SS123456 789LCD16. 按LMS66按鍵,光標在時間處閃爍,此時按下S2或S9可調節時間。7D6D5D4D3d2d1DODE 5W SR EEV DDV CSV彳034.2系統測試結果及分析通過以上的測試數據分析,可以得出以下結論:1、本系統的走時功能,定時功能得以實現。2、本裝置使用了矩陣鍵盤。按鍵簡潔方便,滿足人們的習慣。可實 現各個功能的調節與運行。3、走時精確度較高,與現實的時間相差甚小,可以完全作為一個電 子鐘使用。走時精確,而就會減小定時長短的失誤
32、,更加精確化。禾U用單 片機的自身資源,節省了成本,減少了外圍電路的設計。4、溫度傳感器檢測的實時溫度準確度較高,可以使室內溫度始終保 持在一個比較理想的狀態中,使人們的生活更加舒適。5、 在本設計中,為了防止在溫控點上壓縮機頻繁的啟動 /關閉,影響 其壽命,溫控的精度誤差控制在1攝氏度。實踐證明,這對室內的溫度并沒 有明顯的影響。結 論本論文分析了智能空調控制系統結構和特點,總結全文,主要的研究工作有以下幾個方面:1、對智能空調控制系統的原理和組成進行了詳細的介紹,確定了系 統的總體設計方案。2、對智能空調控制系統的控制過程做了準確的算法分析,包括檢測 過程中的實時溫度、按鍵復用、驅動等,通
33、過上述分析最終通過程序算法 實現溫度的自動控制控制。3、對鍵盤詳細的分析, 采用內部定時器產生實時時鐘供顯示屏顯示, 使其可作為一臺精度較高的電子時鐘使用。這樣節省了成本。4、以AT89C52最小系統板為控制系統,進行并完成了系統要求所需的各硬件模塊的原理圖,并做了相應的硬件制作調試。采用了DS18B20溫度傳感器檢測實時溫度狀態,使數據更準確,并對DS18B20溫度傳感器進行了精確的控制,提高了檢測系統的可靠性。5、完成了相關的分析算法程序和各功能模塊的應用程序的設計,實 現了溫度控制。整個軟件的設計采用模塊化、結構化設計思想,使程序便 于移植。6、分析了控制系統中可能存在的各種干擾源,在設
34、計控制系統時, 采用硬件和軟件抗干擾技術相結合的方法進行了抗干擾設計,保證了控制 系統的可靠性。1 譚浩強,C程序設計.北京:清華大學出版社,2005.07 。2 7805電壓轉換模塊使用說明書。3 DS18B20溫度傳感器使用手冊。4 LCD1602液晶顯示模塊使用說明書。5 數字電子技術基礎。常丹華 主編6 單片機原理及應用技術。張淑清等編著7 百度文庫以及網上的各種資料。附錄1系統主程序/包含所需頭文件#in clude<reg52.h>#i nclude"LCD1602.h"#in clude"ds18b20.h"#defi ne u
35、int un sig ned int#defi ne uchar un sig ned char/uchar key_value;sbit led=P2A2;/電源指示燈uchar p;/定時中斷參數uchar key_sca n();/矩陣鍵盤掃描*定時中斷初始化 */void dszd_ in it()TMOD=0x01;TR0=1;TH0=(65535-10000)/256;TL0=(65535-10000)%256;ET0=1;EA=1;*空調啟動停止*uchar start()if(key_value=2)/按鍵s3按下打開/關閉空調delay(500);延時500mskey_val
36、ue=0;s3nu m+;s3n um=s3 num%2;if(s3 num=1)begi n=1;if(s3 num=0)begi n=0;if(s3num=1 &&r=1 &&si num=0&&s2num=0)/開關打開 /并且開啟定時并且沒有進行調試if(hour=hour_1 &&mi n=min_1) begi n=0;s3num=0;return begi n; void compare。/*室溫與設定溫度比較*/if(cold=0)制冷模式下if(temper-temp>1)|(temp_temper>
37、1)jidia nqi_1=1;/溫差大于一度啟動電動機if(temper=temp)室內溫度等于設定溫度關閉/電動機jidia nq i_1=0;if(hot=0)暖風模式下if(temper-temp>1)|(temp_temper>1)jidia nq i_2=1;/溫差大于一度啟動電動機if(temper=temp)/室內溫度等于設定溫度關閉電動機jidia nq i_2=0;/*主程序 *void mai n()dszd_i nit();while(1)key_sca n(); start();write_com(0x08);jidia nq i_1=0;jidia nq
38、i_2=0;cold=0;hot=0;while(begi n)/開定時中斷開矩陣鍵盤掃描/關閉顯示/啟動前電機關閉/制冷/暖風指示燈關閉ini t();cold=0;hot=1;while(beg in)led=1;write_hms(0,hour);/初始化液晶顯示/默認為制冷模式電源指示燈一直亮write_hms(3,mi n);write_hms(6,sec);/顯示時間key_sca n();/矩陣鍵盤掃描start();掃描空調開啟/關閉lcd_mode();工作模式LCD_sca n();/更新液晶時間顯示lcd_temp();/更新液晶溫度顯示din gshi();/定時時間顯
39、示和調節LcdDisplay(Ds18b20ReadTemp(); 溫度檢測compare();溫度比較,控制電動機起動/關閉定時中斷*void TimerO() in terrupt 1TH0=(65536-10000)/256;TL0=(65536-10000)%256;P+;if(p=100)P=0;sec+;if(sec=60)sec=0;mi n+;if(mi n=60)mi n=0;hour+;if(hour=24)hour=0;子程序LCD1602.h#ifndef _LCD1602_H_#defi ne _LCD1602_H_#defi ne uint un sig ned i
40、nt#defi ne uchar un sig ned charuchar key_value;sbit cold=P2A0;/綠燈時制冷指示燈sbit hot=P2A1;/紅燈為暖風指示燈sbitjidia nqi_ 1=PUi;sbitjidia nq i_2=P1A2;*定義液晶顯示器 *sbit LCDE=P2A7;sbit LCDRS=P2A6;sbit LCDRW=P2A5;uchar nu m,s1 nu m,s2 nu m,s3 nu m,r;uchar hour,m in, sec,hour_1=1, min_1;uchar temper=26;uchar shi,ge;uc
41、har begi n;/液晶顯示器第一行顯示結果/液晶顯示器第二行顯示結果uchar code table_1="27/ /26 OFF 0"uchar code table_2="00:00:0000:00"void delay(ui nt z)/1ms 延時函數uint i,j;for(i=0;i<z;i+)for(j=0;j<110;j+);*矩陣鍵盤掃描程序*/uchar key_sca n()uchar table=0,i; for(i=0;i<4;i+)P3=(0x10<<i);table=P3;table=ta
42、ble&OxOf;if(table!=OxOf)delay (5);/ 去抖table=P3;區分獨立鍵盤table=table&OxOf;if(table!=0x0f)switch(table)case OxOe:key_value=O+i;break;case OxOd:key_value=4+i;break;case 0x0b:key_value=8+i;break;case 0x07:key_value=12+i;break;while(table!=OxOf)松手檢測table=P3;table=table&OxOf;return key_value;*液晶顯
43、示器寫命令 *void write_com(uchar com)LCDRS=O;LCDRW=O;PO=com;delay(5);LCDE=1;delay(5);LCDE=0; void in it()*液晶顯示器寫數據*/void write_data(uchar date)LCDRS=1;LCDRW=0;P0=date;delay(5);LCDE=1;delay(5);LCDE=0;延時5ms*液晶顯示器初始化*/LCDE=0;write_com(0x38); /顯示模式設制write_com(0x0c); /開顯示不顯示光標光標不閃爍write_com(0x06); /當讀或寫一個字符后地
44、址指針加一,且光標加一 整屏不移動write_com(0x01); / 顯示清屏write_com(0x80); /設計數據指針地址 for(num=0; num <16; nu m+)write_data(table_1 nu m);delay(20);延時 20 ms換行write_com(0x80+0x40); /重新設置數據指針for(num=0; num <16; nu m+)write_data(table_2 nu m); delay(20);伴*void write_hms(uchar add,uchar date) uchar shi,ge;shi=date/10
45、;ge=date%10;write_com(0x80+0x40+add);write_data(0x30+shi);write_data(0x30+ge); void write_temp(uchar date)*uchar shi,ge; shi=date/10; ge=date%10;write_com(0x80+0x07); write_data(0x30+shi); write_data(0x30+ge);/*調整液晶顯示器時間 *void LCD_sca n()uchar panduan_1;if(key_value=5)/按鍵S6摁下panduan_1=1;/delay(50);/
46、延時50mswhile(pa ndua n_1)if(key_value=5)delay(500);延時500ms防止加的過快s1nu m+;key_value=0;if(s1 num=1)TR0=0;/停止時間計時write_com(0x80+0x40+1);/重新設置數據指針換行write_com(OxOf);II顯示光標光標閃爍if(s1 num=2)write_com(0x80+0x40+4);if(s1 num=3)write_com(0x80+0x40+7);if(s1 num=4)s1num=0;write_com(OxOc);TR0=1;pan duan_仁0;/判斷標志位清零
47、退出時間調if(s1 num!=0)if(key_value=1)/ 按鍵 S2 按下delay(500);延時500ms防止加的過快key_value=0;if(s1 num=1)hour+;爍小時處閃爍處閃爍處閃爍if(hour=24)hour=0;write_hms(0,hour);/光標在小時處閃write_com(0x80+0x40+1); 使光標再回到if(s1 num=2)mi n+;if(mi n=60)mi n=0;write_hms(3,min); /光標在分處閃爍write_com(0x80+0x40+4); 光標再回到分if(s1 num=3)sec+;if(hour=60)sec=0;write_hms(6,sec);光標在秒處閃爍write_com(0x80+0x40+7); 光標再回到秒if(key_value=9)/ 按鍵 S10 按下delay(500);延時500ms防止減的過快key_value=0;if(s1num=1)hour-;if(hour=-1)hour=23;回到小時處閃爍write_hms(0,hour); /光標在小時處閃爍 write_com(0x80+0x40+1);/ 使
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 廢品安全拆除協議書
- 律師家產分割協議書
- 建筑垃圾企業協議書
- 廢水處置框架協議書
- 房東同意掛牌協議書
- 承包磚廠合同協議書
- 投資項目參股協議書
- 廢鐵拆除安全協議書
- 抱團取暖銷售協議書
- 房屋框架保護協議書
- 血液凈化標準操作規程 2021 版
- 保護患者隱私權醫療AI技術的倫理要求與實踐
- 權益配置與代理關系的成本效益分析
- 空地或鋪面出租合同協議
- 2025年全國保密教育線上培訓考試試題庫及答案【網校專用】含答案詳解
- 華為管理面試題及答案
- 2024年廣州醫科大學校本部招聘工作人員筆試真題
- 初中2年級家長會課件
- 2025餐飲轉讓合同協議書 餐飲轉讓合同協議書范本
- 2024-2025學年統編版小學道德與法治三年級下冊期中考試測試卷附答案
- 智能垃圾桶設計方案資料
評論
0/150
提交評論