【正文】
摘 要 本文提出了一種以 MCS— 51 系列單片機(jī) 8051 為主要控制芯片,輔之以其他功能芯片對太陽能熱水器進(jìn)行控制的設(shè)計(jì)方案,使太陽能熱水器使用起來更加方便、安全。 本設(shè)計(jì)采用的是 8051 單片機(jī),其內(nèi)部 ROM 容量為 256B,對于本設(shè)計(jì),無須外部擴(kuò)展存儲器。除了 8051,本設(shè)計(jì)還用到一些重要的外部功能器件,如采用 AD 轉(zhuǎn)換器 0809 來實(shí)現(xiàn)溫度和水位信號的模數(shù)轉(zhuǎn)換,還有可編程輸入輸出接口 8255 來實(shí)現(xiàn)鍵盤和顯示器接口。鍵盤由四個按鍵來設(shè)置水溫或水位,用六位 LED 顯示器分別顯示水溫和水位。本設(shè)計(jì)充分利用 8051 單片機(jī)系 統(tǒng)的三總線控制,即數(shù)據(jù)總線、地址總線、控制總線的設(shè)計(jì)方式,為應(yīng)用系統(tǒng)功能的實(shí)現(xiàn)奠定了基礎(chǔ)。通過對 8051 單片機(jī)的外部功能擴(kuò)展使系統(tǒng)具有自動上水與保溫的功能,還能自動驅(qū)動加熱及上水裝置來滿足系統(tǒng)的設(shè)置,使用起來安全可靠。此外,設(shè)計(jì)方案中還考慮了一些抗干擾措施,例如采用光電隔離器 4N25使輸入輸出有效隔離,采用硬件去抖動措施解決按鍵抖動的問題等等。 本文闡述了此應(yīng)用系統(tǒng)的工作原理,并給出部分硬件及軟件框圖。 關(guān)鍵字: 單片機(jī),溫度控制,水位控制 ABSTRACT This paper presents a kind of design about controlling solar energy waterheater with 8051 and other external facility, making solar energy waterheater more conveni ency. What this design adopt is 8051, with four thousand units of internal RAM capacity and two hundred and fiftysix units of internal ROM capacity which include the special function register. For this design, it has no necessary to expand external memorizer. Besides 8051,this design still uses some important external interface facility. For example, I adopt conversion 0809 to realize the transform of water temperature and water level. Furthermore, I control the keyset and display with programmable interface 8255. The design makes use of the threebusmastering namely total line of data, total line of address and total line of control adequately. So it is easy to realize the function of system. In addition, this design includes some correlative measure of the antiinterference. For example, I adopt light electricity of partition 4N25 to insulate input signal and output signal. I still make use of hardware to solve the problem of keys dithering and so on. This paper have expounded the principle of the application system and offered p artial hardware diagram and software diagram. KEY WORDS: signalchip processor, temperaturecontrol, water levercontrol 目 錄 前言???????????????????????????????? 1 第一章 系統(tǒng)總體方案設(shè)計(jì)?????????????????????? 3 設(shè)計(jì)思路????????????????????????? 3 設(shè)計(jì)總框圖???????????????????????? 4 第二章 系統(tǒng)硬件部分設(shè)計(jì)?????????????????????? 5 數(shù)據(jù)采集?????????????? ??????????? 5 溫度傳感器 AD590?????????????????? 5 水位傳感器????????????????????? 6 采樣保持器????????????????????? 9 數(shù)據(jù)轉(zhuǎn)換???????????????????????? 10 轉(zhuǎn)換概述 ???????????????????? 10 ?????????????????????? 11 MCS51 系列單片機(jī) 8051???????????????? ? 13 單片機(jī)概述???????????????????? 13 單片機(jī) 8051????????????????????? 14 數(shù)碼顯示與鍵盤??????????????????? 16 可編程并行接口 8255????????????????? 17 6 位 LED 數(shù)碼顯示與鍵盤??????????????? 18 輸出驅(qū)動與執(zhí)行機(jī)構(gòu)??????????????????? 19 加熱器的電路連接與分析?????????????? ? 19 達(dá)林頓管的原理及應(yīng)用???????????????? 20 上水閥的驅(qū)動電路分析???????????????? 21 系統(tǒng)的硬件抗干擾設(shè)計(jì)?????????????????? 21 按鍵消抖措施???????????????????? 21 光電隔離的應(yīng)用??????????????????? 23 第三章系統(tǒng)軟件部分設(shè)計(jì)?????????????????????? 24 主程序流程圖?????????????????????? 24 部分中斷服務(wù) 程序與子程序???????????????? 25 8255 初始化???????????????????? 25 AD 轉(zhuǎn)換程序???????????????????? 26 LED 數(shù)碼顯示程序?????????????????? 28 鍵盤掃描子程序??????????????????? 28 結(jié)論??????????????????????????????? 31 致謝??????????????????????????????? 32 參考文 獻(xiàn)????????????????????????????? 33 附錄 前言 目前,單片機(jī)已進(jìn)入人類生活的各個領(lǐng)域,如家用電器的冰箱、洗衣機(jī)、空調(diào)等,由于配上了單片機(jī),增加了功能,實(shí)現(xiàn)了智能化,使人類生活更加方便。為了適應(yīng)不同產(chǎn)品對單片機(jī)的不同要求,半導(dǎo)體生產(chǎn)廠家生產(chǎn)出了各種規(guī)格的單片機(jī)。 MCS— 51 系列單片機(jī)是 Intel 公司繼 MCS— 48 系列之后推出的功能更強(qiáng)、速度更快的 8 位高檔單片微機(jī)系列,更適用于各種復(fù)雜的控制系統(tǒng)、智能化系統(tǒng)。近幾年來, MCS— 51 系列單片機(jī)的開發(fā)應(yīng) 用深受各個應(yīng)用領(lǐng)域的關(guān)注和重視,應(yīng)用十分廣泛,發(fā)展極快,特別是 8051,在國內(nèi)是應(yīng)用最多、影響最大的單片機(jī)。本設(shè)計(jì)就是以 8051 單片機(jī)為主要控制芯片,輔之以其他外設(shè)及功能部件,對太陽能熱水器工作進(jìn)行控制。 目前,太陽能熱水器以其安全、節(jié)能、無污染等優(yōu)點(diǎn)受到越來越多的消費(fèi)者的歡迎。但太陽能熱水器也存在一些缺點(diǎn),如陰雨天無法使用,不能顯示水溫水位,無法自動上水,不能根據(jù)用戶的要求設(shè)置水溫水位等,通常須采用太陽能加熱和電加熱相結(jié)合的方式來解決陰雨天的使用問題。這就需要設(shè)計(jì)一套控制系統(tǒng)來實(shí)現(xiàn)自動電加熱,同時用這套系 統(tǒng)實(shí)現(xiàn)自動上水、保溫和水溫水位的檢測和顯示。本設(shè)計(jì)的目的是設(shè)計(jì)適于日常應(yīng)用的能自動上水的太陽能熱水器,要求能自動檢測水的溫度和水位;當(dāng)水位低于 30L 自動上水;水溫未達(dá)到設(shè)定值而又長時間無變化,系統(tǒng)自動啟動電加熱器將水加熱到設(shè)定溫度,當(dāng)用戶按下加熱鍵時系統(tǒng)也可啟動電加熱器將水加熱到設(shè)定溫度,水溫達(dá)到設(shè)定值后系統(tǒng)自動進(jìn)入保溫狀態(tài)。本設(shè)計(jì)的技術(shù)要求是利用 LED 顯示水溫水位;四個按鍵設(shè)置水溫 /水位;A/D 轉(zhuǎn)換模塊;上水裝置,電加熱裝置;要求本系統(tǒng)具有較高的抗干擾性、實(shí)時性、能根據(jù)檢測數(shù)據(jù)迅速做出處理。在《電子與自動 化》雜志 1998 年第 5 期的內(nèi)容中提到了關(guān)于太陽能熱水器單片機(jī)的控制設(shè)計(jì),其采用的是美國 Microchip公司的高性能單片機(jī) PIC16C73,是一種以 CMOS 工藝制造的具有很高的性能價格比的單片機(jī),其本身資源:精簡指令的 CPU; 4KROM; 8 位 A/D 等,由于PIC16C73 的高性能,所以其太陽能熱水器系統(tǒng)設(shè)計(jì)簡單,性能優(yōu)良,工作可靠且成本較低。而本設(shè)計(jì)要采用的是 MCS— 51 系列單片機(jī) 8051,其內(nèi)部 ROM 為4KB,內(nèi)部 RAM 為 256B(包括特殊功能寄存器),由于其不象 PIC16C73 那樣 自身帶有 A/D 轉(zhuǎn)換功能 ,所以要接 A/D 轉(zhuǎn)換器,以實(shí)現(xiàn)溫度和水位信號的模數(shù)轉(zhuǎn)換。另外,由于本設(shè)計(jì)要用到 6 位 LED 顯示器及四個功能按鍵,故采用一片可編程輸入輸出接口芯片 8255 來實(shí)現(xiàn)這部分的設(shè)計(jì)。此外,本設(shè)計(jì)方案還考慮了抗干擾措施,如光電隔離、鍵盤消抖等,將在后面詳細(xì)闡述。 本系統(tǒng)充分利用了 8051 單片機(jī)的各種資源,使系統(tǒng)使用方便,安全可靠,克服了太陽能熱水器的一些缺點(diǎn),實(shí)現(xiàn)了其運(yùn)行的自動化。 第一章 系統(tǒng)總體設(shè)計(jì)方案 設(shè)計(jì)思路 本次設(shè)計(jì)的目的是設(shè)計(jì)一個太陽能熱水器單片機(jī)控制系統(tǒng)。現(xiàn)在一般的太陽能熱水器雖然有著不少 優(yōu)點(diǎn),如節(jié)能、無污染、安全方便等,但在實(shí)際應(yīng)用中也存在著一些缺點(diǎn),如陰雨天無法使用、無自動上水功能、不顯示水溫水位等等。為了解決上述存在的問題,比較理想的方案就是采用單片機(jī)作為應(yīng)用系統(tǒng)的主控芯片,利用其強(qiáng)大的控制能力和豐富的資源,通過連接各種功能外設(shè),使系統(tǒng)能正確、有效地完成服務(wù)。 在此,我將系統(tǒng)的設(shè)計(jì)分為兩大部分,即硬件設(shè)計(jì)部分和軟件設(shè)計(jì)部分。在硬件部分中,主要解決系統(tǒng)的硬件連接與各功能的分配,各部分的地址分配也被分到硬件部分里。在軟件部分中,則具體分析系統(tǒng)的工作流程,編出部分子程序和中斷服務(wù)程序。 設(shè)計(jì)總框圖 系統(tǒng)總體設(shè)計(jì)框圖如下: 圖 11 系統(tǒng)總體框圖 由圖可知,本系統(tǒng)采用 MCS51 系列單片機(jī) 8051 作為系統(tǒng)的主要控制芯片。根據(jù)本應(yīng)用系統(tǒng)的設(shè)計(jì)任務(wù),輸入通道部分需由傳感器采樣溫度和水位信號,經(jīng)A/D 轉(zhuǎn)換器轉(zhuǎn)換,將模擬量信號轉(zhuǎn)換為數(shù)字量信號后送入 8051,再由 8051 外接的 8255 送 LED 數(shù)碼管顯示。鍵盤有四個按鍵來設(shè)置水溫和水位,當(dāng) 8051 掃描到有按鍵按下時,就輸出控制信號驅(qū)動相應(yīng)的執(zhí)行 機(jī)構(gòu),或控制加熱器改變水溫,或控制上水閥改變水位。系統(tǒng)相應(yīng)的功能由編程來具體實(shí)現(xiàn)。 被 控 對 象 傳 感 器 A/D 轉(zhuǎn) 換 器 8051 單 片 機(jī) 驅(qū)動裝置 LED 數(shù)碼顯示 鍵盤 光電隔離 驅(qū)動裝置 執(zhí)行機(jī)構(gòu) 可 編 程 8255 第二章 系統(tǒng)硬件部分設(shè)計(jì) 數(shù)據(jù)采集 溫度傳感器 AD590 1.溫度傳感器 AD590 的工作原理 AD590 集成溫度傳感器,內(nèi)部含有放大電路,是一種兩端器件。其工作電壓為 +4~+30V,測溫范圍是 55~150 攝氏度,對應(yīng)于熱力學(xué)溫度 T 每變化 1K,輸出電流就變化 1μA。在 (對應(yīng)于 攝氏度)時輸出電流恰好等于。這表明,其輸出電流 I( μA)與熱力學(xué)溫度 T( K) 嚴(yán)格成正比。 AD590 的電路符號為: AD590 作為一種高阻電流源,不存在反饋線上的電壓信號損失和噪聲干擾問題,其等效于一個高阻抗的恒流源,其輸出阻抗大于 10MΩ,能大大減小因電源電壓波動而產(chǎn)生的測溫誤差。例如,當(dāng)電源電壓從 5V 變化到 10V 時,所引起的電流最大變化量僅為 1μA,等價于 1 攝氏度的測溫誤差。 2. AD590 在本系統(tǒng)設(shè)計(jì)中的應(yīng)用 由 AD590 構(gòu)成的溫度檢測電路如圖 21 所示: 從圖中可知,由 MC1403 型帶隙基準(zhǔn)電壓源輸出的 + 基準(zhǔn)電壓,經(jīng)可調(diào)