




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、摘 要本文的電熱水器控制器設計采用了AT89S51單片機作來設計的。本設計利用溫度傳感器及模數轉換器等來完成。在硬件設計方面,主要對電源電路、單片機最小系統及其擴展、模數轉換電路、鍵盤顯示及接口電路、水溫檢測電路、報警電路進行了簡明的介紹。而且還介紹了該設計中應用到的主要芯片的性能和特點,包括AT89S51、74LS377、DS18B20等。在軟件設計方面,采用匯編語言編程。然后對軟件調試進行了誤差分析。該電熱水器設計完善,實現方案簡單易行。采用軟件設計來控制,可以實現檢測水溫,智能加熱,并且提高了整機的可靠性及準確性。關鍵詞:單片機,電熱水器,設計ABSTRACT In this paper
2、, the design of electric water heater controller uses AT89S51 MCU to design.The design of temperature sensor and analog to digital converter to complete.In the aspect of hardware design, mainly on power supply circuit, MCU minimum system and its expansion, modulus conversion circuit, keyboard displa
3、y and interface circuit, temperature detection circuit, alarm circuit are introduced in brief.And also introduces the performance and characteristics of the main chip to the application in the design, including AT89S51, 74LS377, DS18B20 etc. In the software design, the assembly language is used.And
4、then error analysis of software debugging. The electric water heater is designed and perfected, and the realization scheme is simple and feasible.The software design to control and temperature detection can be achieved, intelligent heating and improve the reliability and accuracy of the whole.Keywor
5、ds: single-chip microcomputer,electric water heater, design目 錄引言1第1章 緒論 21.1 課題的背景 21.2 課題研究的目的及意義 21.3 國內外的研究情況和成果 3第2章 電熱水器的設計方案 ··42.1設計要求 4 2.2 方案設計 4第3章電熱水器的硬件系統設計 63.1 方案驗證63.2 硬件系統設計93.2.1 電源電路93.2.2 顯示/鍵盤接口電路 93.2.3 報警電路113.2.4 模數轉換電路123.2.5 溫度檢測電路··153.2.6時鐘電路163.2.7 顯示模
6、塊173.2.8 AT89S51功能及特性介紹20第4章電熱水器的軟件系統設計244.1 主程序流程框圖244.2鍵掃描子程序流程框圖264.3顯示子程序流程框264.4 運行程序流程框圖274.5 軟件仿真27結論與體會29致謝 30參考文獻30附錄1設計程序清單32附錄2單片機的電熱水器控制器原理圖40引 言電熱水器按加熱功率大小可分為儲水式、即熱式、速熱式三種;儲水式是電熱水器的主要形式,按照安裝方式的不同,可進一步分為立式、橫式、落地式、槽下式以及最新上市的與浴室柜體設計的集成式。按承壓與否,又可分為敞開式和封閉式,按用途,可分為家用和商用。按加熱方式,可分為磁能、電阻絲、硅管等三種。
7、電熱水器經過十余年的發展,熱水器的技術不斷進步,行業先后有防電墻、防電閘、3D速熱、變頻增容等革新性產品出現,電熱器在安全、節能、加熱速度、出水量等方面不斷進步,市場銷售歷年一持續增長。隨著近幾年生活水平的提高,人們對用水量的需求越來越大,所以電熱水器的暢銷容積已經從2000年左右的40升提升到如今的60升左右。儲水式電熱水器的有點在于安全性能高,能量潔凈。能多路控水。既可用于淋浴、盆浴,還可用于洗衣、洗菜。安裝也比較簡單。即熱式電熱水器的優點具有即開即熱,省時省電,節能環保、體積小巧、水溫恒定等優點。智能電熱水器必然將成為以后家電的必然趨勢。單片機成為家用電器常用的控制器件,本文介紹了基于A
8、T89S51單片機控制的電熱水器控制電路,包括溫度測量單片機控制、水溫設定與自動調節電路、鍵盤控制、液晶顯示、報警電路五部分,在控制回路采用PID模糊控制方法,基于模糊控制的方法,在強時變、大時滯、非線性系統中的控制效果有著明顯的優勢,把二者結合起來,可使控制器的性能指標達到最優的目的。基于模糊控制技術的單片機控制的電熱水器,是對傳統的電熱水器開關控制的改造,具有達到設定溫度的時間短、穩態溫度波動小、反應靈敏、抗干擾能力強、節省電能等優點。首先通過按下鍵盤按鍵設定所需的溫度,并通過液晶顯示,再通過溫度傳感器DS18B20測出電熱水器的溫度,送液晶顯示并送單片機與設定水溫加以比較,設定水溫高于實
9、測水溫則通過繼電器觸頭的通斷來控制是否對電熱絲進行加熱,從而實現水溫的測量以及控制,在水溫高于設定溫度時,蜂鳴器報警,其簡潔、智能、精確的優點基本能滿足人們的需求,并且將會得到廣泛的應用 。第1章 緒論1.1 課題的背景中國已是熱水器生產大國,伴隨著住宅消費和人們對生活品質要求的提高,熱水器已由一個高檔的奢侈品成為居民喬遷新居、廚衛裝修的必備產品。近幾年來,隨著人們生活水平的不斷提高,智能化的家用電器逐漸走進千家萬戶,此外,受瓶裝氣和區域管道燃氣提價影響,而且城鎮的電價普遍有所下調,許多居民轉而選擇相對省錢的電器產品。全國城鎮熱水器擁有率為72.3%,45%的城市居民家庭表示要在今后幾年購買熱
10、水器,市場平均每年的最低需求維持在1000萬臺左右。除太陽能熱水器外,中國熱水器行業有一定規模的生產企業大約有200家。由此可見電熱水器在中國有廣闊的市場,但由此也衍生了很多問題,如漏電,環保等一系列問題,近年來電熱水器多次出現漏電傷人甚至致死事件,因此其安全性一直為消費者所關注。 所以對熱水器的改良和智能化設計是大勢所趨。在當今社會,科技日新月異,熱水器技術飛速發展,越來越多的科技成果被運用到熱水器的制造中。如今的熱水器產品已經絕對不是一個簡單的加熱器,而是科技含量高的現代化家電產品。隨著我國人民生活水平的逐漸提高,其生活條件有了很大的改善,智能化電器在人們日常生活中占有比重越來越大,與家庭
11、生活密切相關的熱水器品種層出不窮,花樣翻新。正是在這樣的背景下,本設計選擇基于AT89S51單片機的智能電熱水器的設計研究。1.2 課題研究的目的及意義本選題目的是基于人們對現代家庭舒適、便利、安全以及多元化信息服務的需要設計出一款經濟可靠,精確實現控制的電熱水器控制電路利用單片機控制,即達到較好的效果,又降低了價格,使熱水器更加的經濟可靠。利用按鍵精確地設定溫度,精確調溫使溫度達到使用者要求的溫度,從而實現人性化控制。能進行高溫保護,防止熱水器干燒而導致事故。能實現自動斷電的安全功能,使人們洗浴時能放心享受,利于人們的身體健康1.3 國內外研究狀況和成果據了解,熱水器內膽最關鍵,如果內膽損壞
12、就意味著整臺機器報廢。與其他家用產品不同的是,電熱水器沒有必要頻繁升級換代,出于安全性和經濟性的考慮,熱水器的耐用性才是廠商需要絞盡腦汁的。空調的核心是壓縮機,電扇的核心是電機。對于熱水器來說內膽是最關鍵的,從一定意義來說,內膽的品質就代表熱水器的品質。目前的內膽技術紛 繁復雜,但究其本質目標都是一樣的:保溫、耐壓、不生銹、無水垢、不滲水是內膽的基本要求。 燃氣熱水器設有自動恒溫控制,停氣自動關機,超水溫泄壓等安全保護功能,即使臨時停氣,仍有儲存的熱水使用。智能化技術的運用有兩個好處,一是更方便,二是更節能,按照用戶的使用習慣提前預先加熱,讓使用者隨心享用熱水。而在非用水時間則啟動中溫保溫方程
13、式,根據設定溫度計算出最節能的保溫溫度,減小熱水器內外溫差,因而大大減少保溫加熱次數,真正做到不拔插頭更省電。在節能上冰箱等家電產品已經走在了前面,熱水器這種用電量很大的產品更加應該推進節能技術的普及。對于傳統的電熱水器行業而言,要想出現本質性的突破幾乎是不可能的,而在功能上不斷提升,抓住人性化需求,卻是一條可行之路。而事實正是如此。阿里斯頓、比利奇、史密斯、海爾、美的爭先恐后推出了超大液晶屏、電子線控、超薄時尚、雙管加熱、漏電保護器、防電墻、多口出水等新技術,尤其是海爾,甚至在電熱水器上增加了按摩功能,專門的噴霧按摩噴嘴,讓消費者可以足不出戶就感受按摩的快樂。國外對智能電熱水器的主要研究成果
14、有:西門子智能電熱水器,采用德國新電腦溫控技術,確保出水溫度均勻恒定,使沐浴成為真正的享受。西門子家電集團采用西門子在電站技術上的強大防漏電安全技術為基礎,開發出獨有的ELCB德國安全專家模式功能。除具有正常的防漏電裝置外,還具備安全電流自我檢測功能,隨時檢測防漏電系統是否正常工作,雙重保險將個體與電源完全分開,杜絕意外發生。櫻花IMES智能記憶節能系統,突破了傳統單時段節能模式,提供了獨一無二的三時段定時預熱和七種供水模式,其工作過程“聰明伶俐”,它不斷自動存儲、分析主人近一個月用水的具體數據,以最經濟的模式提前為主人準備熱水,真正實現全天候節能供水。特別是還具備體貼的停電數據保留功能,就算
15、停電48小時,也能自動記憶所有參數,讓主人毫無后顧之憂。全新的智能中溫保溫功能,徹底彌補了傳統中溫保溫的缺陷,根據設定水溫、環境、季節的不同,自動選擇最節能的保溫狀態,避免固定中溫技術大幅度溫差造成不必要的浪費,縮短加熱時間,切實做到省電節能 第2章 總體方案設計 設計包括硬件設計和軟件設計這兩項。硬件設計是通過對設計要求的理解分析,對各種元器件的認識,從而得到分立元件與集成塊的一些連接方法,來達到設計的功能要求。然后把元器件焊接在一塊電路板上,完成器件的設計。硬件設計包括對各種元器件的接法和功能的了解,還有對各種元器件和設計方案的正確選擇。軟件設計是分析你所設計的硬件用程序來實現它的功能,并
16、且調試優化功能。2.1 設計要求課題是設計基于單片機控制的電熱水器控制系統,讓電熱水器按人們的需要可以快速、穩定的滿足人們所需要的溫度,來表現電熱水器較一般熱水器所獨有的優勢。要求溫度傳感器及轉換電路,水溫設定與自動調節電路,單片機輸入輸出接口電路以及顯示模塊的設計。在這其中的主要難點就是實現PID控制溫度。2.2 方案設計方案設計的總體思路如下:首先通過鍵盤設定一個溫度值,然后通過溫度傳感器采集溫度,與設定的溫度進行比較,如果溫度小于設定值電熱水器開始加熱,當水溫達到設定值時,則停止加熱,設定的溫度和水溫通過LED數碼管顯示出來。當水溫高于某臨界溫度(如70°)時,報警器發出報警,
17、同時中斷加熱。所以可以得出電路以單片機為核心,包括溫度設定按鍵模塊,LED顯示模塊,報警和輸出電路等模塊組成,其系統模塊框圖見圖2.1溫度設定溫度測量單片機數碼管顯示報警圖2.1 系統模塊框圖 溫度設定電路。通過一個按鍵產生脈沖輸入單片機來調節水溫的設定值。 溫度測定電路,采用溫度傳感器來測量溫度。 單片機,是整個電路的控制核心,實現PID模糊控制。 數碼管顯示,單片機通過動態掃描方式輸出并利用數碼管顯示溫度的設定值和實際測溫值。 報警電路,當實際溫度高于設定溫度時,報警電路報警。基于以上模塊設計出了電路的基本結構圖,如圖2.2給定單片機SSR驅動電烤箱溫度傳感器報警及顯示電路圖2.2系統結構
18、圖結構圖中以單片機為核心進行系統設計。通過單片機對偏差進行PID運算,輸出占空比可變的PWM波形,從而控制固態繼電器的導通時間,即通過調節加熱功率即可達到控制溫度恒定的目的。第3章 硬件系統設計3.1 方案驗證本課題是基于AT89S51單片機的智能電熱水器的控制器的設計,要達到的控制要求有:(1)用兩位數碼管顯示水溫,兩位數碼管顯示預設溫度。(2)水溫檢測顯示范圍為0099,精度為±1。(3)溫度預設范圍為3060,當檢測溫度低于預設溫度1時,開始加熱;檢測溫度高于預設溫度1時,停止加熱。(4)設置3個程序按鍵。電源開關鍵:電源關閉時,4個數碼管熄滅,加熱元件斷電,但單片機系統正常工
19、作,熱水器面板上的電源指示燈點亮。電源開啟后,根據上次設定的溫度(220V總電源不能關閉)自動進入工作狀態。如220V總電源關閉后再開機,預設溫度自動定為40。溫度+鍵:每按一次該鍵,預設溫度加1,長按該鍵(時間超過1秒以上),預設溫度快速增加,當預設溫度加到60時,按該鍵不起作用。溫度鍵:每按一次該鍵,預設溫度減1,長按該鍵(時間超過1秒以上),預設溫度快速減小,當預設溫度減到30時,按該鍵不起作用。(5)設置3個面板指示燈。電源指示燈(紅):接通220V電源,該指示燈點亮。加熱指示燈(綠):加熱元件工作時,該指示燈被點亮。報警指示燈(黃):當熱水器出現異常情況時,該指示燈被點亮。(6)報警
20、設置。高溫報警:當檢測溫度高于65時,自動報警。低溫報警:當檢測溫度低于0時,自動報警。缺水報警:當儲水箱內缺水時,自動報警。漏電報警:當熱水器發生漏電情況時,自動報警。(7)設置一個蜂鳴器,當熱水器出現異常情況而報警時,由蜂鳴器發出報警聲,并自動切斷加熱元件的供電。方案一:以AT89S51單片機為控制中心的智能電熱水器AT89S51單片機具有結構簡單、控制能力強、可靠性高、體積小、價格低等優點,在許多行業都得到了廣泛的應用。以AT89S51單片機為核心,配以外圍電路如時鐘電路、復位電路、按鍵、顯示器件即可構成交通燈系統,結構框圖如圖2.1.1:溫度檢測AT89S51水位檢測漏電檢測電源電路加
21、熱電路顯示電路圖3.1 AT89S51控制的智能電熱水器方案二:PIC16C72單片機為控制器件的智能電熱水器PIC16C72是美國微芯(Microchip)公司推出的8/11位單片機,采用寬字節單周期指令,哈佛雙總線和RISC結構,其數據吞吐量最高可達6MIPS,這幾乎是其它大多數8位微控制器速度的4倍128腳封裝的PIC16C72單片機內集成了以下主要功能:2KB片內ROM程序存儲器,128KB數據存儲器;22位I/O線;5路8位A/D轉換器,2個8位,1個16位多功能計數器/定時器,1個捕捉/比較/脈寬調制(CCP)部件。以PIC16C72為控制芯片的電熱水器,雖然功能很強大,但是存在一
22、些很需要改進的地方:中斷的現場保護是中斷應用中一個很重要的部分由PIC16C72的指令系統中沒有專門的PUSH(入棧)和POP(出棧)指令,所以要用一段程序來實現該功能。對可能用到的W寄存器和STATUS寄存器內容進行現場保護1然后在中斷服務程序中對馬達,繼電器進行控制1漏電檢測報警在中斷里給出,而每50ms進入一次中斷,所以發生漏電時最多50ms即可切斷電源1入口中斷保護控制馬達控制繼電器如果用直流對電機進行控制,其轉速太快,過調量太大,容易引起震蕩。通過以上兩種設計方法的比較來看,實現電熱水器的智能控制可以有很多種方法。可以采用可編程序控制器PLC,各種單片機來實現。但考慮到成本控制和軟硬
23、件實現難度,采用方案一的控制系統設計,可以進一步提高電熱水器的智能作用,能夠保證持續的熱水供應,并能夠在異常情況下自動斷電,可以滿足人們日常生活的需要,提高了人們生活的質量。智能電熱水器將由AT89S51單片機作為控制芯片,經分析設計要求,初步確定其由8個模塊組成,如下圖所示:溫度檢測AT89S51水位檢測漏電檢測加熱保溫指示電源電路加熱電路顯示電路蜂鳴器圖3.2 基于AT89S51的智能電熱水器時鐘電路用來產生時鐘信號供單片機工作,晶振采用12MHz,平衡電容采用33pF。復位電路在系統上電或運行過程中對單片機進行初始化操作。按鍵采用獨立式熱鍵,用來擴展系統功能,分別可以實現電源開關、溫度增
24、加和溫度減少三個功能。數碼管用來顯示水溫和水位兩組數據,所有數碼管采用共陽接法,段控端接在單片機同一I/O口,位控端分別接在不同位的I/O口。發光二極管用來指示系統運行狀態,電源指示燈(紅):接通220V電源,該指示燈點亮。加熱指示燈(綠):加熱元件工作時,該指示燈被點亮。報警指示燈(黃):當熱水器出現異常情況時,該指示燈被點亮。ISP接口通過并口與PC機連接,實現單片機與PC機通訊,用編譯器對源程序進行調試及編譯,通過ISP接口將形成的二進制目標程序下載到AT89S51單片機上。依據設計要求,系統上電復位后按默認值開始運行,然后開始檢測溫度按鍵,若無按鍵,則按設定溫度進行工作;若溫度鍵已按下
25、,則開始設定溫度范圍,并按新的設定值開始加熱。接著繼續檢測溫度按鍵,若無按鍵,則接著上一步的執行(以新的設定值開始工作)。若有按鍵,則重新設定溫度范圍,如此循環。另外,在運行主程序的時候,首先要檢測水位,若達不到預設值,則斷電,蜂鳴器報警;若達到預設值,則開始檢測水溫。3.2 硬件系統設計單片機應用系統的硬件電路設計包含兩部分內容:一是系統擴展,即單片機內部的功能單元,如ROM、RAM、I/O、定時器/計數器、中斷系統等不能滿足應用系統的要求時,必須在片外進行擴展,選擇適當的芯片,設計相應的電路。二是系統的配置,即按照系統功能要求配置外圍設備,如鍵盤、顯示器、打印機、A/D、D/A轉換器等,要
26、設計合適的接口電路。本設計中只用最小系統加上鍵盤、顯示、ISP接口電路,單片機本身資源可以滿足設計要求,所以不必對單片機進行擴展。系統的硬件系統以AT89S51單片機為核心,主要分兩部分:直流穩壓電源和智能電熱水器控制電路,其原理圖見附錄二。直流穩壓電源由變壓器、整流橋、濾波電路、穩壓電路組成。智能電熱水器系統由時鐘電路、復位電路、報警電路、ISP在線編程接口電路鍵盤、模數轉換電路和顯示接口電路組成。3.2.1 電源電路電源電路按元件類型可分為電子管穩壓電路、三極管穩壓電路、可控硅穩壓電路、集成穩壓電路等。根據調整元件與連接方法,可分為并聯型和串聯型;根據調整元件工作狀態不同,可分為線性和開關
27、穩壓電路。本設計中采用了線性工作狀態的線性集成穩壓電源。直流穩壓電源一般由電源變壓器、整流濾波電路及穩壓電路所組成,設計框圖:電源變壓器整流濾波電路穩壓電路輸入電壓U1輸出電壓U2圖3.3 直流穩壓電源3.2.2 鍵盤接口電路本畢業設計的按鍵采用獨立式按鍵,是直接用I/O口線構成的單個按鍵電路,其特點是每個按鍵單獨占用一根I/O口線,每個按鍵的工作不會影響其它I/O口線的狀態。獨立式按鍵的典型應用如圖:AT89S51P1.0P1.1P1.2ABC+5V圖3.4 獨立式按鍵圖3.5 七段數碼管按鍵輸入均采用低電平有效,此外,上拉電阻保證了按鍵斷開時,I/O口線有確定的高電平。當I/O口線內部有上
28、拉電阻時,外電路不可接上拉電阻。獨立式按鍵的軟件常采用查詢式結構。先逐位查詢每根I/O口線的輸入狀態,如某一根I/O口線輸入為低電平,則可確認該I/O口線所對應的按鍵已按下,然后,再轉向該鍵的功能處理程序,具體編程見程序清單。3.2.3 報警電路熱水器工作環境潮濕,為了保證使用者安全,控制器應具備漏電檢測功能。在正常情況下,流過磁環的電流大小相等,方向相反,磁環檢測線圈無感應電流信號,漏電檢測集成電路輸出低電平。當出現漏電電流時,由于流過磁環的電流不平衡,于是磁環檢測線圈感應出漏電信號,經集成電路M54123L放大輸出高電平,經三極管倒相后輸出至單片機。單片機接收到漏電信號,則停止加熱、保溫及
29、鍵盤操作,結束程序并發出報警信號,蜂鳴器連續嗚響。在漏電保護及自檢不合格情況下,只有關閉電源及排除故障后,重新接通電源才能工作。 圖3.6 報警電路3.2.4模數轉換電路ADC0809的管腳分布及其與AT89S51的主要接口示意圖: 圖3.7 ADC0809引腳及與AT89S51連接示意圖由上圖可知,ADC0809由一個8路模擬開關、一個地址鎖存與譯碼器、一個A/D轉換器和一個三態輸出鎖存器組成。多路開關可選通8個模擬通道,允許8路模擬量分時輸入,共用A/D轉換器進行轉換。三態輸出鎖器用于鎖存A/D轉換完的數字量,當OE端為高電平時,才可以從三態輸出鎖存器取走轉換完的數據。IN0IN7為8條模
30、擬量輸入通道,ADC0809對輸入模擬量要求:信號單極性,電壓范圍是05V,若信號太小,必須進行放大;輸入的模擬量在轉換過程中應該保持不變,如若模擬量變化太快,則需在輸入前增加采樣保持電路。 數字量輸出及控制線:11條ST為轉換啟動信號。當ST上跳沿時,所有內部寄存器清零;下跳沿時,開始進行A/D轉換;在轉換期間,ST應保持低電平。EOC為轉換結束信號。當EOC為高電平時,表明轉換結束;否則,表明正在進行A/D轉換。OE為輸出允許信號,用于控制三條輸出鎖存器向單片機輸出轉換得到的數據。OE1,輸出轉換得到的數據;OE0,輸出數據線呈高阻狀態。D7D0為數字量輸出線。 CLK為時鐘輸入信號線。因
31、ADC0809的內部沒有時鐘電路,所需時鐘信號必須由外界提供,通常使用頻率為500KHZ,VREF(),VREF()為參考電壓輸入。地址輸入和控制線:4條ALE為地址鎖存允許輸入線,高電平有效。當ALE線為高電平時,地址鎖存與譯碼器將A,B,C三條地址線的地址信號進行鎖存,經譯碼后被選中的通道的模擬量進轉換器進行轉換。A,B和C為地址輸入線,用于選通IN0IN7上的一路模擬量輸入。通道選擇表如下表所示; 表3.1 ADC0809通道選擇表CBA選擇的通道000IN0001IN1010IN2011IN3100IN4101IN5110IN6111IN7ADC0809應用說明:(1) ADC0809
32、內部帶有輸出鎖存器,可以與AT89S51單片機直接相連。 (2) 初始化時,使ST和OE信號全為低電平。 (3) 送要轉換的那一通道的地址到A,B,C端口上。 (4) 在ST端給出一個至少有100ns寬的正脈沖信號。 (5) 是否轉換完畢,我們根據EOC信號來判斷。 (6) 當EOC變為高電平,這時給OE為高電平,轉換的數據就輸出給單片機了。3.2.5溫度檢測電路溫度模塊是硬件模塊非常重要的一個模塊,溫度檢測主要任務是檢測系統的采樣溫度,并通過相應的轉換,把系統的溫度轉換成單片機能處理的數字信號。本文采用溫度傳感器DS18B20采集電熱水器的實時溫度, 提供給AT89S51的P3.2口作為數據
33、輸入。圖3.8 AT89S51的P3.2口在本次設計中我們所控的對象為水溫。其電路原理框圖如下:圖3.9 溫度檢測電路DS18B20是DALLAS公司生產的一線式數字溫度傳感器,具有3引腳TO92小體積封裝形式;溫度測量范圍為55125,可編程為9位12位A/D轉換精度,測溫分辨率可達0.0625,被測溫度用符號擴展的16位數字量方式串行輸出,支持3V5.5V的電壓范圍,使系統設計更靈活、方便;其工作電源既可在遠端引入,也可采用寄生電源方式產生;多個DS18B20可以并聯到3根或2根線上,CPU只需一根端口線就能與諸多DS18B20通信,占用微處理器的端口較少,可節省大量的引線和邏輯電路。以上
34、特點使DS18B20非常適用于遠距離多點溫度檢測系統。分辨率設定,及用戶設定的報警溫度存儲在EEPROM中,掉電后依然保存。DS18B20使電壓、特性有更多的選擇,讓我們可以構建適合自己的經濟的測溫系統。如圖2所示DS18B20的2腳DQ為數字信號輸入/輸出端;1腳GND為電源地;3腳VDD為外接供電電源輸入端。當傳感器工作時,如果水溫超過60,將溫度傳給單片機,蜂鳴器報警,并斷電;如果水溫低于30,熱水器開始工作,加熱指示。3.2.6時鐘電路單片機內部有一個高增益反向放大器,輸入端為芯片引腳,輸出端為引腳。而在芯片外部和 之間跨接晶體振蕩器和微調電容,從而構成一個穩定的自激振蕩器。晶體震蕩頻
35、率高,則系統的時鐘頻率也高,單片機運行速度也就快,但反過來運行速度快對存儲器的速度要求就高,對印制電路板的工藝要求也高,所以,這里使用震蕩頻率為12MHz的石英晶體。震蕩電路產生的震蕩脈沖并不直接是使用,而是經分頻后再為系統所用,震蕩脈沖經過二分頻后才作為系統的時鐘信號。在設計電路板時,振蕩器和電容應盡量靠近單片機,以避免干擾。需要注意的是:電路板時,振蕩器和電容應盡量安裝得與單片機靠近,以減小寄生電容的存在更好的保障振蕩器穩定、可靠的工作電路圖如圖2.27所示圖 3.10 時鐘電路3.2.7 顯示模塊現在驅動LED數碼管流行采用單片機設計電路,但發現一些顯示(LED數碼管)電路設計復雜,沒有
36、充分利用單片機的電器特點、沒有采用“硬件軟化”的方法。直接用單片機的8位數據口作為數碼管的8段顯示驅動口。這種顯示方式雖然簡便,電路也最簡單,但顯示的位數很少(只用四位)。但已經滿足了此次設計要求,所以選用此種方式。LED數碼管的結構及工作原理 LED數碼管(LED Segment Displays)是由多個發光二極管封裝在一起組成“8”字型的器件,引線已在內部連接完成,只需引出它們的各個筆劃,公共電極。LED數碼管常用段數一般為7段有的另加一個小數點,還有一種是類似于3位“+1”型。位數有半位,1,2,3,4,5,6,8,10位等等.,LED數碼
37、管根據LED的接法不同分為共陰和共陽兩類,了解LED的這些特性,對編程是很重要的,因為不同類型的數碼管,除了它們的硬件電路有差異外,編程方法也是不同的。圖是共陰和共陽極數碼管的內部電路,它們的發光原理是一樣的,只是它們的電源極性不同而已。顏色有紅,綠,藍,黃等幾種。LED數碼管廣泛用于儀表,時鐘,車站,家電等場合。選用時要注意產品尺寸顏色,功耗,亮度,波長等。下面將介紹常用LED數碼管內部引腳圖片圖3.12 這是一個7段兩位帶小數點 10引腳的LED數碼管圖3.12 引腳定義每一筆劃都是對應一個字母表示 DP是小數點.LED數碼管要正常顯示,就要用驅動電路來驅動數碼管的各個段碼,從而
38、顯示出我們要的數位,因此根據LED數碼管的驅動方式的不同,可以分為靜態式和動態式兩類。A、靜態顯示驅動:靜態驅動也稱直流驅動。靜態驅動是指每個數碼管的每一個段碼都由一個單片機的I/O埠進行驅動,或者使用如BCD碼二-十進位*器*進行驅動。靜態驅動的優點是編程簡單,顯示亮度高,缺點是占用I/O埠多,如驅動5個數碼管靜態顯示則需要5×840根I/O埠來驅動,要知道一個89S51單片機可用的I/O埠才32個呢。故實際應用時必須增加*驅動器進行驅動,增加了硬體電路的復雜性。B、動態顯示驅動: 數碼管動態顯示介面是單片機中應用最為廣泛的一種顯示方式之一,動態驅動是將所
39、有數碼管的8個顯示筆劃"a,b,c,d,e,f,g,dp "的同名端連在一起,另外為每個數碼管的公共極COM增加位元選通控制電路,位元選通由各自獨立的I/O線控制,當單片機輸出字形碼時,所有數碼管都接收到相同的字形碼,但究竟是那個數碼管會顯示出字形,取決于單片機對位元選通COM端電路的控制,所以我們只要將需要顯示的數碼管的選通控制打開,該位元就顯示出字形,沒有選通的數碼管就不會亮。 透過分時輪流控制各個LED數碼管的COM端,就使各個數碼管輪流受控顯示,這就是動態驅動。在輪流顯示過程中,每位元數碼管的點亮時間為12ms,由于人的視覺暫留現象及發光二極
40、體的余輝效應,盡管實際上各位數碼管并非同時點亮,但只要掃描的速度足夠快,給人的印象就是一組穩定的顯示資料,不會有閃爍感,動態顯示的效果和靜態顯示是一樣的,能夠節省大量的I/O埠,而且功耗更低。本次設計是使用了8段4位共陰數碼管的動態顯示方式。然而,設計中發現如果嚴格按照一般的數碼管用法,即adp段對應單片機數據位的高到低位一一對應,但是數碼管的封裝不是按順序一一對應的,布線和做板就比較麻煩。因此設計時既然用單片機譯碼就在硬件連接的基礎上做軟件譯碼,這樣就方便了電路的布線,也體現了單片機編程的靈活性。數碼管的數據位由單片機的P0口控制,數碼管的段選由P2.4P2.7控制。本次系統設計中的數碼管與
41、單片機的連接如下圖3.13所示。圖3.13 數碼管與單片機的連接圖基于以上數碼管的硬件連接,在單片機編程時要對數碼管進行軟件譯碼,各數字所對應的碼字如下表所示:表3.2 八段共陰數碼管段碼顯示字符共陰段碼顯示字符共陰段碼00xEB80xFB10x2890xFA20x73A0xF930x7AB0x9B40xB8C0xC350xDAd0x3B60xDBE0xD370x68F0xD12.2.8 AT89S51功能特點介紹 (1)主要性能參數:與 MCS-51 產品指令系統完全兼容4k字節在線系統編程(ISP)Flash 閃速存儲器1000次擦寫周期 4.05.5V 的工作電壓范圍全靜態工作模式:0H
42、z33MHz三級程序加密鎖128×8字節內部RAM32個可編程I/O口線 2個16位定時/計數器6個中斷源全雙工串行UART通道低功耗空閑和掉電模式看門狗(WDT)及雙數據指針掉電標識和快速編程特性靈活的在線系統編程(ISP字節或頁寫模式)(2)串行編程指令設置:串行編程指令設置為一個4字節協議。(3)并行編程接口:采用控制信號的正確組合可對Flash閃速存儲陣列中的每一代碼字節進行寫入和存儲器的整片擦除,寫操作周期是自身定時的,初始化后,它將自動定時到操作完成。(4)功能特性概述:AT89S51 提供以下標準功能:4k字節Flash閃速存儲器,128字節內部RAM,32個I/O口線
43、,看門狗(WDT),兩個數據指針,兩個16位定時/計數器,一個5向量兩級中斷結構,一個全雙工串行通信口,片內振蕩器及時鐘電路。同時,AT89S51可降至0Hz的靜態邏輯操作,并支持兩種軟件可選的節電工作模式。空閑方式停止CPU的工作,但允許RAM,定時/計數器,串行通信口及中斷系統繼續工作。掉電方式保存RAM中的內容,但振蕩器停止工作并禁止其它所有部件工作直到下一個硬件復位。(5)芯片擦除:在并行編程模式,利用控制信號的正確組合并保持ALE/PROG引腳200ns500ns的低電平脈沖寬度即可完成擦除操作。在串行編程模式,芯片擦除操作是利用擦除指令進行。在這種方式,擦除周期是自身定時的,大約為
44、500ms。擦除期間,用串行方式讀任何地址數據,返回值均為00H。(6)Flash閃速存儲器的串行編程:將RST接至Vcc,程序代碼存儲陣列可通過串行ISP接口進行編程,串行接口包含SCK線、MOSI(輸入)和MISO(輸出)線。將RST拉高后,在其它操作前必須發出編程使能指令,編程前需將芯片擦除。芯片擦除則將存儲代碼陣列全寫為FFH。外部系統時鐘信號需接至XTAL1端或在XTALl和XTAL2接上晶體振蕩器。最高的串行時鐘(SCK)不超過l/16晶體時鐘,當晶體為33MHz時,最大SCK頻率為2MHz。Flash閃速存儲器的串行編程方法:上電次序:將電源加在Vcc和GND引腳,RST置為“H
45、”,如果XTAL和XTAL2接上晶體或者在XTAL1接上333MHz的時鐘頻率,等候10ms。將編程使能指令發送到MOSI(Pinl.5),編程時鐘接至SCK(Pinl.7),此頻率需小于晶體時鐘頻率的l/16。代碼陣列的編程可選字節模式或頁模式。寫周期是自身定時的,一般不大于 0.5ms(5V 電壓時)。任意代碼單元均可由MISO(Pinl.6)和讀指令選擇相應的地址回讀數據進行校驗。編程結束應將RST置為“L”以結束操作。斷電次序:如果需要的話按這個方法斷電,假如沒有使用晶體,將XATL置為低,RST置低,關斷Vcc。(7)數據校驗:數據校驗也可在串行模式下進行,在這個模式下,在一個寫周期
46、中,通過輸出引腳MISO串行回讀一個字節數據的最高位將作為最后寫入字節的反碼。(8)AT89S51單片機最小系統AT89S51單片機最小系統由AT89S51單片機及其外圍電路組成,外圍電路包括時鐘電路和復位電路兩部分。時鐘電路:時鐘電路為單片機產生時序脈沖,單片機所有運算與控制過程都是在統一的時序脈沖的驅動下的進行的,時鐘電路就好比人的心臟。同樣,如果單片機的時鐘電路停止工作(晶振停振),那么單片機也就停止運行了。當采用內部時鐘時,連接方法如下圖所示,在晶振引腳XTAL1(19腳)和XTAL2(18腳)引腳之間接入一個晶振,兩個引腳對地分別再接入一個電容即可產生所需的時鐘信號,電容的容量一般在
47、幾十皮法,如30PF。單片機內部有一個高增益反向放大器,輸入端為芯片引腳XTAL1,輸出端為引腳XTAL2。而在芯片外部XTAL1和 XTAL2之間跨接晶體震蕩器和微調電容,從而構成一個穩定的自激振蕩器。外接晶體(石英或陶瓷,陶瓷的精度不高,但價格便宜)振蕩器以及電容C1和C2構成并聯諧振電路,接在放大器的反饋回路中, C1和C2的大小會對振蕩器頻率的高低、振蕩器的穩定性、起振的快速性和溫度特性有一定的影響。因此建議在采用石英晶體振蕩器時取C=30+/-10pF,陶瓷振蕩器時取C=40+/-10pF,典型值為40pF。在設計電路板時,振蕩器和電容應盡量安裝得與單片機靠近,以減小寄生電容的存在,
48、更好的保障振蕩器穩定、可靠的工作。在任何情況下,振蕩器始終驅動內部時鐘發生器向主機提供時鐘信號,因為時鐘發生器的輸入是一個二分頻電路,所以對外部振蕩信號的脈寬無特殊要求,但必須保證高、低電平的最小寬度。復位電路:單片機的復位電路分上電復位和按鍵手動復位。它是利用外部復位電路來實現的。當Vcc上升時間不超過1ms(RC=),振蕩器啟動時間不超過10ms。在加電情況下,這個電路可以使單片機復位。在加電開機時,RST上的電壓從Vcc逐漸下降,RST引腳的電位是Vcc與電容電壓的差,RST上的電壓必須保證在斯密特觸發器的閥值電壓以上足夠長時間,以滿足復位操作的要求。按鍵電平復位是將復位端通過電阻與Vc
49、c相連。在按鍵電平復位和按鍵脈沖復位兩種簡單的復位電路中,干擾易串入復位端,在大多數情況下,不會造成單片機的錯誤復位,但會引起內部寄存器錯誤復位,這里可在復位端引腳上接一個去藕電容。需說明的是,如復位電路中R、C的值選擇不當,使復位時間過長,單片機將處于循環復位狀態。為了使用方便和設計電路簡化及設計要求,我們采用上電復位和按鍵電平復位相結合的方法。復位后,單片機從0000H單元開始執行程序,并初始化一些專用寄存器為復位狀態值,受影響的專用寄存器如下表所示:表3.3 專用寄存器狀態表寄存器狀態寄存器狀態PC0000HTCON00HACC00HTL000HPSW00HTH000HSP07HTL10
50、0HDPTR0000HTH100HP0 - P3 FFHSCON00HIPxxx00000HSBUF不確定IE0xx00000HPCON0xxx0000HTMOD00H 圖3.14 單片機最小系統 第4章 軟件系統設計軟軟件軟是電路必不可少的一部分,是整個電路的靈魂部分,只有軟硬件完美的配合才是一個完整的電路設計,下面將著重介紹系統的軟件部分設計軟件設計由主程序,鍵掃描子程序及若干功能模塊子程序組成。其中主控制器子程序包括A/D轉換子程序(水位、水溫),鍵盤處理及顯示子程序,加熱控制子程序(使用輸出比較功能),漏電保護子程序等組成。主程序要先初始化系統的工作參數,主要是
51、單片機的定時器,COP模塊、A/D轉換、端口、鍵中斷等的工作模式參數設定,之后系統主程序循環調用各個功能模塊子程序,對相關事件的處理依靠標志位和判斷標志位實現。4.1 主程序流程框圖水溫時繼電器常開觸頭閉合,電熱絲加熱,否則返回。當水溫大于臨界溫度值時,蜂鳴器報警并且停止加熱。圖4.1顯示了本系統的主程序流程圖。開始初始化設定溫度讀取溫度臨界溫度<實測水溫設定溫度>實測水溫電熱絲加熱報警,停止加熱返回返回圖4.1 主程序流程圖4.2 鍵掃描子程序流程框圖開始按鍵掃描溫度加預設溫度減有鍵按下嗎?是溫度鍵嗎?是溫度鍵嗎?圖4.2 鍵掃描子程序流程框圖4.3顯示開始恢復現場將代碼送入P1
52、口確定寄存器組調延時將位碼送入P2口判斷4位顯示完了嗎?現場保護結束NY子程序流程框圖圖4.3. 顯示子程序流程框圖3.4運行程序流程框圖開始斷電水溫高于設定值嗎?水溫低于設定值嗎?通電加熱報警斷電水位低于設定值嗎?NNYNY圖4.4運行程序流程框圖3.5 軟件仿真Proteus 產品系列包含了革命性的VSM技術,用戶可以對基于微控制器的設計連同所有的周圍電子器件一起仿真,用戶甚至可以實時采用諸如LED/LCD、鍵盤、RS232終端等動態外設模型來對設計進行交互仿真。ISIS提供給用戶圖形外觀包括線寬、填充類型、字符等的全部控制,使用戶能夠生成如雜志上看到一樣精美的原理圖,遠勝過CAD軟件繪制出的稀薄的線條。畫完圖可以以圖形文件輸出,或者拷貝到剪切板以便其他文件使用。這就使得ISIS成為制作技術文件,學術論文,項目報告的理想工具,也是PCB設計的一個出色的前端,其畫圖的外形由風格模板定義。此界面下調出元件組成原理圖,調試流程如下:按鍵上電復位水位檢測水溫檢測數碼管顯示下載程序運行: 圖4.5 軟件仿真示意圖程序調試分為三個部分:按鍵調試,指示燈顯示調試,及數碼管顯示。在具體仿真的過程中,按鍵調試時,應注意按鍵的次序,首先是
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
評論
0/150
提交評論