基于單片機(jī)的飲水機(jī)溫度控制系統(tǒng)--(2)_第1頁
基于單片機(jī)的飲水機(jī)溫度控制系統(tǒng)--(2)_第2頁
基于單片機(jī)的飲水機(jī)溫度控制系統(tǒng)--(2)_第3頁
基于單片機(jī)的飲水機(jī)溫度控制系統(tǒng)--(2)_第4頁
基于單片機(jī)的飲水機(jī)溫度控制系統(tǒng)--(2)_第5頁
已閱讀5頁,還剩29頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、 計(jì)算機(jī)控制技術(shù) 題目:_基于單片機(jī)的飲水機(jī)溫度控制_ 姓名:_ 學(xué)號(hào):_ 專業(yè):_ 2015 年 12 月 31 日 摘要隨著計(jì)算機(jī)在社會(huì)領(lǐng)域的滲透, 單片機(jī)的應(yīng)用正在不斷地深入,同時(shí)帶動(dòng)傳統(tǒng)控制檢測(cè)日新月益更新。在實(shí)時(shí)檢測(cè)和自動(dòng)控制的單片機(jī)應(yīng)用系統(tǒng)中,單片機(jī)往往是作為一個(gè)核心部件來使用,僅單片機(jī)方面知識(shí)是不夠的,還應(yīng)根據(jù)具體硬件結(jié)構(gòu),以及具體應(yīng)用對(duì)象特點(diǎn)的軟件結(jié)合,以作完善。本論文從硬件和軟件兩方面來講述單片機(jī)的溫度控制系統(tǒng),此系統(tǒng)要可以實(shí)時(shí)檢測(cè)飲水機(jī)水箱的水溫,并且可以通過數(shù)碼管顯示水箱水溫度數(shù),可以通過鍵盤或開關(guān)選擇制冷或加熱,可以任意設(shè)置水溫的上下限,如加熱,當(dāng)溫度在設(shè)定的

2、范圍內(nèi)時(shí)正常工作,當(dāng)?shù)陀谒疁叵孪迺r(shí)控制加熱器加熱;如制冷,當(dāng)溫度高于水溫上限時(shí)控制壓縮機(jī)制冷。溫度檢測(cè)范圍095ºC,當(dāng)溫度超過設(shè)定值時(shí)具有示警功能。關(guān)鍵詞: 飲水機(jī);單片機(jī);溫度傳感器I AbstractAlong with the computer in the social sector penetration and MCU application is continuously thorough, and push&

3、#160;the traditional control test on the new beneficial update. In real time detection and automatic control of the microcomputer application system, the MCU is often as 

4、a core component to use, only MCU aspects knowledge is not enough, should according to the specific hardware structure, and the specific application of the characteristics

5、0;of the object software combination to be perfect.  the main purpose of this subject is to design a microcontroller - based drinking fountains temperature control system. This system can real-time detect of water dispenser tank water temperature. This system

6、can real-time detection of water dispenser tank water temperature , and digital display water temperature in degrees cooling or heating , you can select via the keyboard or switch , you can set the water temperature in the upper and lower limits. When the temperature within the limits set by the dri

7、nking fountains will work properly. Such as heating, When the water temperature is lower than limit, it controls heater; such as refrigeration compressor cooling, when the temperature is higher than the water temperature limit control. Temperature detection range of 0 95 º C, accuracy of -1 to

8、+1 ° C, has a warning function when the temperature exceeds the set value. Keywords: drinking fountain SCM sensor.I 目錄摘要Abstract2. 前言22.1概論32.1.1設(shè)計(jì)任務(wù)32.1.2 設(shè)計(jì)分析32.2 系統(tǒng)方案設(shè)計(jì)43. 系統(tǒng)硬件電路設(shè)計(jì)43.1 單片機(jī)最小系統(tǒng)設(shè)計(jì)43.1.1 單片機(jī)選擇53.1.2時(shí)鐘電路63.1.3 復(fù)位電路73.2 溫度采集電路設(shè)計(jì)83.3 A/D轉(zhuǎn)換電路設(shè)計(jì)103.3.1 A/D轉(zhuǎn)換器選擇103.4 顯示電路設(shè)計(jì)

9、133.5 鍵盤電路設(shè)計(jì)153.6 報(bào)警電路設(shè)計(jì)173.7 控制電路設(shè)計(jì)174. 系統(tǒng)軟件設(shè)計(jì)184.1 主程序流程圖及簡要說明184.2 A/D轉(zhuǎn)換子程序194.3 鍵盤子程序204.4 控制子程序224.5 顯示子程序235. 結(jié)論24附錄1:系統(tǒng)硬件原理圖25附錄2:軟件程序清單262. 前言 二十一世紀(jì)是科技高速發(fā)展的信息時(shí)代,電子技術(shù)、微型單片機(jī)技術(shù)的應(yīng)用更是空前廣泛,伴隨著科學(xué)技術(shù)和生產(chǎn)的不斷發(fā)展,需要對(duì)各種參數(shù)進(jìn)行溫度測(cè)量。因此溫度一詞在生產(chǎn)生活之中出現(xiàn)的頻率日益增多,與之相對(duì)應(yīng)的,溫度控制和測(cè)量也成為了生活生產(chǎn)中頻繁使用的詞語,同時(shí)它們?cè)诟餍懈鳂I(yè)中也發(fā)揮著重要的作用。如在日趨發(fā)

10、達(dá)的工業(yè)之中,利用測(cè)量與控制溫度來保證生產(chǎn)的正常運(yùn)行。在農(nóng)業(yè)中,用于保證蔬菜大棚的恒溫保產(chǎn)等。 在單片機(jī)溫度測(cè)量系統(tǒng)中的關(guān)鍵是測(cè)量溫度、控制溫度和保持溫度,溫度測(cè)量是工業(yè)對(duì)象中主要的被控參數(shù)之一。因此,單片機(jī)溫度測(cè)量則是對(duì)溫度進(jìn)行有效的測(cè)量,并且能夠在工業(yè)生產(chǎn)中得到了廣泛的應(yīng)用,尤其在電力工程、化工生產(chǎn)、機(jī)械制造、冶金工業(yè)等重要工業(yè)領(lǐng)域中,擔(dān)負(fù)著重要的測(cè)量任務(wù)。在日常生活中,也可廣泛實(shí)用于地?zé)?、空調(diào)器、電加熱器等各種家庭室溫測(cè)量及工業(yè)設(shè)備溫度測(cè)量場合。但溫度是一個(gè)模擬量,如果采用適當(dāng)?shù)募夹g(shù)和元件,將模擬的溫度量轉(zhuǎn)化為數(shù)字量雖不困難,但電路較復(fù)雜,成本較高。 溫度控制無論是在

11、工業(yè)生產(chǎn)過程中,還是在日常生活中都起著非常重要的作用,而當(dāng)今,我國農(nóng)村的鍋爐取暖等大多數(shù)都沒有溫度監(jiān)控系統(tǒng),部分廠礦,企業(yè)還一直沿用簡單的溫度設(shè)備和紙質(zhì)數(shù)據(jù)記錄儀。無法實(shí)現(xiàn)溫度數(shù)據(jù)的測(cè)量與控制。隨著社會(huì)經(jīng)濟(jì)的高速發(fā)展,越來越多的生產(chǎn)部門和生產(chǎn)環(huán)節(jié)對(duì)溫度控制精一個(gè)集溫度的采集、處理、顯示、自動(dòng)控制為一身的閉環(huán)控制系統(tǒng)。該智能溫度控制系統(tǒng)功耗低,本系統(tǒng)運(yùn)行情況良好且經(jīng)濟(jì)可靠。能利用最少的資源對(duì)不同溫度進(jìn)行高精度的測(cè)量,信息性能可靠、操作便利,復(fù)雜的工作通過軟件編程來完成,可以方便的獲取結(jié)果,在實(shí)際的使用中獲得了理想的效果溫度不是一個(gè)點(diǎn),而是一個(gè)范圍。系統(tǒng)以AT89C51單片機(jī)為核心,組成2.1.1

12、 題目任務(wù) 設(shè)計(jì)一個(gè)基于單片機(jī)的飲水機(jī)溫度控制系統(tǒng),該系統(tǒng)可以實(shí)時(shí)檢測(cè)飲水機(jī)水箱的水溫,并且可以通過數(shù)碼管顯示飲水機(jī)水箱水溫度數(shù),可以通過鍵盤或開關(guān)選擇制冷或加熱,可以人為設(shè)置水的溫度的上下限,如加熱,當(dāng)溫度在設(shè)定的范圍內(nèi)時(shí)正常工作,當(dāng)?shù)陀谒疁叵孪迺r(shí)控制加熱器加熱;如制冷,當(dāng)溫度高于水溫上限時(shí)控制壓縮機(jī)制冷,溫度檢測(cè)范圍095°C,精度-1+1°C,當(dāng)溫度超過設(shè)定值時(shí)具有示警功能。2.1.2 設(shè)計(jì)分析 該系統(tǒng)要完成飲水機(jī)水箱的水溫度控制系統(tǒng)的設(shè)計(jì)。要達(dá)到題目設(shè)計(jì)的要求,設(shè)計(jì)時(shí)需要解決以下幾個(gè)方面的問題:一、如何實(shí)現(xiàn)095°C的溫度檢測(cè)范圍和精度為1°C的

13、溫度測(cè)量;二、如何將水箱的溫度控制在設(shè)定的范圍內(nèi);三、如何選擇器件及設(shè)計(jì)電路使整個(gè)系統(tǒng)穩(wěn)定、有效的工作。2.2 系統(tǒng)方案設(shè)計(jì)方案:以單片機(jī)為核心的控制方案,其原理圖如圖所示。本方案通過溫度傳感器將溫度信號(hào)轉(zhuǎn)換為電流信號(hào),信號(hào)放大后,經(jīng)A/D轉(zhuǎn)換器,A/D轉(zhuǎn)換器將進(jìn)來的模擬信號(hào)轉(zhuǎn)換成數(shù)字信號(hào),然后送到單片機(jī)處理,并將采集的溫度與鍵盤設(shè)定的溫度值進(jìn)行比較,根據(jù)比較的結(jié)果,單片機(jī)輸出相應(yīng)的信號(hào)來控制外部設(shè)施,達(dá)到控制加熱器加熱或壓縮機(jī)制冷的目的。還具有顯示、報(bào)警等功能。 負(fù)載傳感器A/D轉(zhuǎn)換信號(hào)放大單片機(jī)顯示鍵盤報(bào)警加熱或制冷繼電器受控對(duì)象 該方案是采用以單片機(jī)為核心的控制系統(tǒng),尤其對(duì)溫度控制,它可

14、達(dá)到模擬控制所打不到的控制效果,并且可實(shí)現(xiàn)顯示,鍵盤設(shè)定,報(bào)警等功能,大大提高了系統(tǒng)的智能化,也使得系統(tǒng)的測(cè)量結(jié)果精度大大提高。同時(shí),以單片機(jī)為核心的控制系統(tǒng),它的軟件編程比較靈活,易于實(shí)現(xiàn)。3. 系統(tǒng)硬件電路設(shè)計(jì)3.1 單片機(jī)最小系統(tǒng)設(shè)計(jì)本論文設(shè)計(jì)最小系統(tǒng)如圖3.1所示,由主控器AT89C51、時(shí)鐘電路和復(fù)位電路三部分組成。單片機(jī)AT89C51作為核心控制器控制著整個(gè)系統(tǒng)的工作,而始終電路負(fù)責(zé)產(chǎn)生單片機(jī)工作所必須的時(shí)鐘信號(hào),復(fù)位電路使得單片機(jī)能夠正常、有序、穩(wěn)定地工作。 圖3.1單片機(jī)最小系統(tǒng)3.1.1 單片機(jī)選擇AT89C51單片機(jī)是ATMEL公司的AT89系列中的一種,該系列是當(dāng)今世界上

15、最新型的電擦寫八位單片機(jī)之一,和51系列完全兼容,低電壓、低電流、低功耗,價(jià)格低廉,很受到用戶歡迎。其管腳圖如圖3.2所示。 圖3.2 AT89C51管腳圖AT89C51的引腳功能說明: ·Vcc:電源電壓 ·GND:地 ·P0 口:P0 口是一組8 位漏極開路型雙向I/O 口,也即地址/數(shù)據(jù)總線復(fù)用。作為輸出口用時(shí),每位能吸收電流的方式驅(qū)動(dòng)8 個(gè)TTL 邏輯門電路,對(duì)端口寫“1”可作為高阻抗輸入端用。在訪問外部數(shù)據(jù)存儲(chǔ)器或程序存儲(chǔ)器時(shí),這組口線分時(shí)轉(zhuǎn)換地址(低8 位)和數(shù)據(jù)總線復(fù)用,在訪問期間激活內(nèi)部上拉電阻。在Flash 編程時(shí),P0 口接受指令字節(jié),而在程序

16、校驗(yàn)時(shí),輸出指令字節(jié),校驗(yàn)時(shí),要求外接上拉電阻。 ·P1 口:P1 是一個(gè)帶內(nèi)部上拉電阻的8 位雙向I/O 口,P1 的輸出緩沖級(jí)可驅(qū)動(dòng)(吸收或輸出電流)4 個(gè)TTL 邏輯門電路。對(duì)端口寫“1”,通過內(nèi)部的上拉電阻把端口拉到高電平,此時(shí)可作輸入口。作為輸入口使用時(shí),因?yàn)閮?nèi)部存在上拉電阻,某個(gè)引腳被外部信號(hào)拉低時(shí)會(huì)輸出一個(gè)電流(IIL)。Flash 編程和程序校驗(yàn)期間,P1 接受低8 位地址。 ·P2 口:P2 是一個(gè)帶有內(nèi)部上拉電阻的8 位雙向I/O 口,P2 的輸出緩沖級(jí)可驅(qū)動(dòng)(吸收或輸出電流)4 個(gè)TTL 邏輯門電路。對(duì)端口寫“1”,通過內(nèi)部的上拉電阻把端口拉到高電平,

17、此時(shí)可作輸入口。作為輸入口使用時(shí),因?yàn)閮?nèi)部存在上拉電阻,某個(gè)引腳被外部信號(hào)拉低時(shí)會(huì)輸出一個(gè)電流(IIL)。在訪問外部程序存儲(chǔ)器或16 位四肢的外部數(shù)據(jù)存儲(chǔ)器(例如執(zhí)行MOVX DPTR指令)時(shí),P2 口送出高8 位地址數(shù)據(jù),在訪問8 位地址的外部數(shù)據(jù)存儲(chǔ)器(例如執(zhí)行MOVX RI 指令)時(shí),P2 口線上的內(nèi)容(也即特殊功能寄存器(SFR)區(qū)中R2 寄存器的內(nèi)容),在整個(gè)訪問期間不改變。Flash 編程和程序校驗(yàn)時(shí),P2 也接收高位地址和其他控制信號(hào)。 ·P3 口:P3 是一個(gè)帶有內(nèi)部上拉電阻的8 位雙向I/O 口,P3 的輸出緩沖級(jí)可驅(qū)動(dòng)(吸收或輸出電流)4 個(gè)TTL 邏輯門電路。對(duì)

18、端口寫“1”,通過內(nèi)部的上拉電阻把端口拉到高電平,此時(shí)可作輸入口。作為輸入口使用時(shí),因?yàn)閮?nèi)部存在上拉電阻,某個(gè)引腳被外部信號(hào)拉低時(shí)會(huì)輸出一個(gè)電流(IIL)。P3 口還接收一些用于Flash 閃速存儲(chǔ)器編程和程序校驗(yàn)的控制信號(hào)。 ·RST:復(fù)位輸入。當(dāng)振蕩器工作時(shí),RST 引腳出現(xiàn)兩個(gè)機(jī)器周期以上高電平將使單片機(jī)復(fù)位。 ·ALE/PROG:當(dāng)訪問外部程序存儲(chǔ)器或數(shù)據(jù)存儲(chǔ)器時(shí),ALE(地址鎖存允許)輸出脈沖用于鎖存地址的低8 位字節(jié)。即使不訪問外部存儲(chǔ)器,ALE 仍以時(shí)鐘振蕩頻率的1/6 輸出固定的正脈沖信號(hào),因此它可對(duì)外輸出時(shí)鐘或用于定時(shí)目的。要注意的是,每當(dāng)訪問外部數(shù)據(jù)存儲(chǔ)

19、器時(shí)將跳過一個(gè)ALE 脈沖。對(duì)Flash 存儲(chǔ)器編程期間,該引腳還用于輸入編程脈沖(PROG)。如有必要,可通過對(duì)特殊功能寄存器(SFR)區(qū)中的8EH 單元D0 位置位,可禁止ALE 操作。該位置位后,只有一條MOVX 和MOVC 指令A(yù)LE 才會(huì)被激活。此外,該引腳會(huì)被微弱拉高,單片機(jī)執(zhí)行外部程序時(shí),應(yīng)設(shè)置ALE 無效。 ·PSEN:程序存儲(chǔ)允許輸出是外部程序存儲(chǔ)器的讀選通型號(hào),當(dāng)89C51 由外部存儲(chǔ)器取指令(或數(shù)據(jù))時(shí),每個(gè)機(jī)器周期兩次PSEN 有效,即輸出兩個(gè)脈沖。在此期間,當(dāng)訪問外部數(shù)據(jù)存儲(chǔ)器,這兩次有效的PSEN 信號(hào)不出現(xiàn)。 ·EA/VPP:外部訪問允許。欲使

20、CPU 僅訪問外部程序存儲(chǔ)器(地址為 0000HFFFFH),EA 端必須保持低電平(接地)。需注意的是:如果加密位LB1 被編程,復(fù)位時(shí)內(nèi)部會(huì)鎖存EA 端狀態(tài)。如EA 端為高電平(接Vcc 端),CPU 則執(zhí)行內(nèi)部程序存儲(chǔ)器中的指令。Flash 存儲(chǔ)器編程時(shí),該引腳加上+12v 的編程允許電源Vpp,當(dāng)然這必須是該器件使用12v 編程電壓Vpp。 ·XTAL1:振蕩器反相放大器及內(nèi)部時(shí)鐘發(fā)生器的輸入端。 ·XTAL2:振蕩器反相放大器的輸出端。鑒于AT89C51單片機(jī)所具有的特性及本論文設(shè)計(jì)控制的復(fù)雜性和兼顧顯示、報(bào)警、鍵盤控制等較高要求,本論文設(shè)計(jì)選用AT89C51單片

21、機(jī)作為中心控制器。3.1.2時(shí)鐘電路時(shí)鐘電路用于產(chǎn)生AT89C51單片機(jī)工作時(shí)所必需的時(shí)鐘信號(hào)。其電路與AT89C51的連接如圖3.1所示。AT89C51單片機(jī)本身就是一個(gè)復(fù)雜的同步時(shí)序電路,為了保證同步工作方式的實(shí)現(xiàn),AT89C51單片機(jī)應(yīng)在唯一的時(shí)鐘信號(hào)控制下,嚴(yán)格按時(shí)序執(zhí)行指令進(jìn)行工作,而時(shí)序所研究的是指令執(zhí)行中各個(gè)信號(hào)的關(guān)系。在執(zhí)行指令時(shí),CPU首先要到指令存儲(chǔ)器中取出需要執(zhí)行的指令操作碼,然后譯碼,并由時(shí)序電路產(chǎn)生一系列控制信號(hào)去完成指令所規(guī)定的操作。CPU發(fā)出的時(shí)序信號(hào)有兩種,一是用于片內(nèi)對(duì)各個(gè)功能部件的控制。另一種是對(duì)片外存儲(chǔ)器或I/O口的控制,這種時(shí)序?qū)τ诜治觥⒃O(shè)計(jì)硬件接口電路

22、至關(guān)重要。這也是單片機(jī)應(yīng)用設(shè)計(jì)者最關(guān)心的問題。時(shí)鐘是單片機(jī)的心臟,單片機(jī)各個(gè)功能部件的運(yùn)行都是以時(shí)鐘頻率為基準(zhǔn),有條不紊地工作。因此,時(shí)鐘頻率直接影響單片機(jī)的速度,時(shí)鐘電路的質(zhì)量也直接影響單片機(jī)系統(tǒng)的穩(wěn)定性。AT89C51單片機(jī)內(nèi)部有一個(gè)用于構(gòu)成振蕩器的高增益反相放大器,該高增益反相放大器的輸入端為芯片引腳X1,輸出引腳X2。這兩個(gè)引腳跨接石英晶體振蕩器和微調(diào)電容,就構(gòu)成一個(gè)穩(wěn)定的自激振蕩器。雖然AT89C51有內(nèi)部振蕩電路,但要形成時(shí)鐘,必須外接元件。外接晶體以及X1和X2構(gòu)成并聯(lián)諧振電路。電容的大小會(huì)影響振蕩器頻率的高低、振蕩器的穩(wěn)定性、起振的快速性和溫度的穩(wěn)定性。除使用晶體振蕩器外,如對(duì)

23、時(shí)鐘頻率要求不高,還可以用陶瓷振蕩器來代替。電路中的電容容值通常選擇為30PF左右,本電路選擇的是20PF,這并不影響系統(tǒng)的工作和控制的結(jié)果。晶體的振蕩的頻率的范圍通常是在1.2MH到12MH之間。晶體的頻率越高,則系統(tǒng)的時(shí)鐘頻率就越高,單片機(jī)的運(yùn)行速度也就越快。但反過來運(yùn)行速度越快對(duì)存儲(chǔ)器的速度要求就越高,對(duì)印刷電路板的工藝要求也高。AT89C51單片機(jī)常選擇振蕩頻率6MH或12MH的石英晶體,隨著集成電路制造工藝技術(shù)的發(fā)展,單片機(jī)的時(shí)鐘頻率也在逐步提高,現(xiàn)在的高速單片機(jī)芯片的時(shí)鐘頻率已經(jīng)達(dá)到40MH??紤]到本設(shè)計(jì)所用的各種器件對(duì)時(shí)鐘頻率的要求及整體電路的簡潔性,本課題選用的是振蕩頻率為6M

24、H的石英晶體。3.1.3 復(fù)位電路 AT89C51的復(fù)位是由外部的復(fù)位電路來實(shí)現(xiàn)的。單片機(jī)復(fù)位電路設(shè)計(jì)的好壞,直接影響到整個(gè)系統(tǒng)工作的可靠性。許多用戶在設(shè)計(jì)完單片機(jī)系統(tǒng),并在實(shí)驗(yàn)室調(diào)試成功后,在現(xiàn)場卻出現(xiàn)了“死機(jī)”、“程序走飛”等現(xiàn)象,這主要是單片機(jī)的復(fù)位電路設(shè)計(jì)不可靠引起的。因此選用一個(gè)適合本系統(tǒng)的復(fù)位電路極其重要。常用的復(fù)位電路有四種方式:(1)上電復(fù)位電路(2)按鍵復(fù)位電路(3)脈沖復(fù)位電路(4)兼有上電復(fù)位與按鍵復(fù)位的電路。由于考慮到結(jié)構(gòu)和成本等原因,在很多設(shè)計(jì)里面,復(fù)位電路通常采用上電復(fù)位和按鍵復(fù)位兩種。根據(jù)本系統(tǒng)的特性,決定選用最簡單的上電復(fù)位電路。上電復(fù)位是通過外部復(fù)位電路的電容

25、充電來實(shí)現(xiàn)的。只要Vcc的上升時(shí)間不超過10ms,就可以實(shí)現(xiàn)自動(dòng)上電復(fù)位。當(dāng)時(shí)鐘頻率選用6MH,電容C選用22mF,電阻R選用1KW。該復(fù)位電路工作原理為:在通電瞬間,在RC電路充電過程中,RST端出現(xiàn)正脈沖,保證RST引腳出現(xiàn)10 ms以上穩(wěn)定的高電平,從而使單片機(jī)復(fù)位。3.2 溫度采集電路設(shè)計(jì)本設(shè)計(jì)中的溫度采集系統(tǒng)由DS18B20傳感器負(fù)責(zé)。其型號(hào)如圖3.2.1所示: 圖3.2.1 DS18B20工作原理為DS18B20的讀寫時(shí)序和測(cè)溫原理與DS1820相同,只是得到的溫度值的位數(shù)因分辨率不同而不同,且溫度轉(zhuǎn)換時(shí)的延時(shí)時(shí)間由2s 減為750ms。 DS18B20測(cè)溫原理如圖3.2.2所示。

26、圖中低溫度系數(shù)晶振的振蕩頻率受溫度影響很小,用于產(chǎn)生固定頻率的脈沖信號(hào)送給計(jì)數(shù)器1。高溫度系數(shù)晶振 隨溫度變化其振蕩率明顯改變,所產(chǎn)生的信號(hào)作為計(jì)數(shù)器2的脈沖輸入。計(jì)數(shù)器1和溫度寄存器被預(yù)置在55所對(duì)應(yīng)的一個(gè)基數(shù)值。計(jì)數(shù)器1對(duì) 低溫度系數(shù)晶振產(chǎn)生的脈沖信號(hào)進(jìn)行減法計(jì)數(shù),當(dāng)計(jì)數(shù)器1的預(yù)置值減到0時(shí),溫度寄存器的值將加1,計(jì)數(shù)器1的預(yù)置將重新被裝入,計(jì)數(shù)器1重 新開始對(duì)低溫度系數(shù)晶振產(chǎn)生的脈沖信號(hào)進(jìn)行計(jì)數(shù),如此循環(huán)直到計(jì)數(shù)器2計(jì)數(shù)到0時(shí),停止溫度寄存器值的累加,此時(shí)溫度寄存器中的數(shù)值即為所測(cè)溫度。圖3.2.2中的斜率累加器用于補(bǔ)償和修正測(cè)溫過程中的非線性,其輸出用于修正計(jì)數(shù)器1的預(yù)置值。 停止斜率

27、累加器比較預(yù)置計(jì)數(shù)器1計(jì)數(shù)器2溫度寄存器低溫度系數(shù)晶振高溫度系數(shù)晶振預(yù)置=0=0LSB置位/清除加1圖3.2.2 DS18B20測(cè)溫原理圖 DS18B20內(nèi)部結(jié)構(gòu)圖如圖3.2.3所示:64位ROM和單線接口高速緩沖存儲(chǔ)器存儲(chǔ)器和控制器8位CRC生成器電源檢測(cè)溫度靈敏元件低溫觸發(fā)器TL高溫觸發(fā)器TH配置寄存器3.2.3 DS18B20內(nèi)部結(jié)構(gòu) 3.3 A/D轉(zhuǎn)換電路設(shè)計(jì) A/D轉(zhuǎn)換部分電路的功能主要是將采集部分采集來的模擬信號(hào)轉(zhuǎn)換成數(shù)字信號(hào),然后輸送到單片機(jī)進(jìn)行數(shù)據(jù)處理。主要器件有ADC0809、74LS02、74LS74等。ADC0809與AT89C51連接電路如圖3.3所示。 圖3.3 A/

28、D轉(zhuǎn)換電路 A/D轉(zhuǎn)換器ADC0809共有八路模擬輸入端,由于溫度采集只有兩路,因此只用到兩路模擬輸入端,其輸入通道為IN0、IN1。這兩個(gè)通道的數(shù)據(jù)分別是溫度采集電路的輸出信號(hào)V01、V02,也就是轉(zhuǎn)換為電壓值的飲水機(jī)兩個(gè)水箱水的溫度值。選擇這兩個(gè)通道需要通過設(shè)置ADC0809的ADDA、B、C的值,因?yàn)樗鼘?duì)應(yīng)的是八路模擬信號(hào),而本系統(tǒng)只有兩路模擬信號(hào)輸入,因此,只需要將低位ADDA連到AT89C51的P2.2口,并根據(jù)P2.2口的電壓是低電平或高電平來選擇要檢測(cè)哪個(gè)通道,當(dāng)ADDA值為0時(shí)選的是IN0通道,當(dāng)ADDA為1時(shí)選的是IN1通道。而ADDB、ADDC只需接地即可。3.3.1 A/

29、D轉(zhuǎn)換器選擇A/D轉(zhuǎn)換器的功能是將連續(xù)變化的模擬量轉(zhuǎn)換成一個(gè)離散的數(shù)字量。每一個(gè)數(shù)字量都是數(shù)字代碼的按位組合,每一位數(shù)字代碼都是一定的“權(quán)”,對(duì)應(yīng)一定大小的模擬量。為了將數(shù)字量轉(zhuǎn)換成模擬量應(yīng)該將其每一位都轉(zhuǎn)換成響應(yīng)的模擬量,然后求和即可得到與數(shù)字量成正比的模擬量。 目前,市面上有很多類型的A/D轉(zhuǎn)換器,如:ADC0804、ADC0809、AD574等,根據(jù)本控制的特點(diǎn),選用ADC0809作為A/D轉(zhuǎn)換器。ADC0809八位逐次逼近式A/D轉(zhuǎn)換器是一種單片CMOS器件,包括8位的模/數(shù)轉(zhuǎn)化器,8通道多路轉(zhuǎn)換器和與微處理器兼容的控制邏輯。8通道多路轉(zhuǎn)換器能直接連通8個(gè)單端模擬信號(hào)中的任何一個(gè)。片內(nèi)

30、帶有鎖存功能的8路模擬多路開關(guān),可以對(duì)8路05V的輸入模擬電壓信號(hào)分時(shí)進(jìn)行轉(zhuǎn)換,片內(nèi)具有多路開關(guān)的地址譯碼和鎖存電路、比較器、256RT型網(wǎng)絡(luò)、樹狀電子開關(guān)、逐次逼近寄存器SAR、控制與時(shí)序電路等。輸出具有TTL三態(tài)鎖存緩沖器,可以直接連接到單片機(jī)數(shù)據(jù)總線上。1. ADC0809功能如下:(1)分辨率為8位。(2)最大不可調(diào)誤差小于1LSB。(3)單一+5V供電,模擬輸入范圍05V(4)具有鎖存控制的8路模擬開關(guān)。(5)可鎖存三態(tài)輸出,輸出與TTL兼容。(6)功耗為15mW。(7)不必進(jìn)行零點(diǎn)和滿度調(diào)整。(8)轉(zhuǎn)換速度取決于芯片的時(shí)鐘頻率。時(shí)鐘頻率范圍:101280KHZ,當(dāng)CLK=500kH

31、Z時(shí),轉(zhuǎn)換速度為128mS。2. ADC0809管腳及功能 A/D轉(zhuǎn)換器ADC0809的引腳圖如圖3.3.1所示。 圖3.3.1 ADC0809引腳圖 IN0IN7:8路輸入通道的模擬量輸入端口。2-12-8:8位數(shù)字量輸出端口。START,ALE:START為啟動(dòng)控制輸入端口,ALE為鎖存控制信號(hào)端口。這兩個(gè)信號(hào)端可連接在一起,當(dāng)通過軟件輸入一個(gè)正脈沖,便立即啟動(dòng)模/數(shù)轉(zhuǎn)換。EOC,OE:EOC為轉(zhuǎn)換結(jié)束信號(hào)脈沖輸出端口,OE為輸出允許控制端口。這兩個(gè)信號(hào)也可連接在一起表示模/數(shù)轉(zhuǎn)換結(jié)束。OE端的電平由低變高,打開三態(tài)輸出鎖存器,將轉(zhuǎn)換結(jié)果的數(shù)字量輸出到數(shù)據(jù)總線上。REF(+),REF(-)

32、,Vcc,GND:REF(+)和REF(-)為參考電壓輸入端,Vcc為主電源輸入端,GND為接地端。一般REF(+)與Vcc連接在一起,REF(-)與GND連接在一起。CLK:時(shí)鐘輸入端口。ADDA,B,C:8路模擬開關(guān)的三位地址選通輸入端,以選擇對(duì)應(yīng)的輸入通道。其地址碼與對(duì)應(yīng)通道關(guān)系如表3.3所示。表3.3 地址碼與輸入通道對(duì)應(yīng)關(guān)系表強(qiáng)調(diào)說明一點(diǎn):ADC0809雖然有八路模擬通道可以同時(shí)輸入八路模擬信號(hào),但每一個(gè)瞬間只能轉(zhuǎn)換一路模擬信號(hào),各路之間的切換由軟件變換通道地址實(shí)現(xiàn)。A/D轉(zhuǎn)換器采用的轉(zhuǎn)換方法主要有逐次逼近型A/D轉(zhuǎn)換、雙積分型A/D轉(zhuǎn)換、并行A/D轉(zhuǎn)換、串-并行A/D轉(zhuǎn)換等,其中逐

33、次逼近型A/D轉(zhuǎn)換既照顧了轉(zhuǎn)換的速度,又具有一定的精度,本系統(tǒng)中,傳輸數(shù)據(jù)的頻率不高,對(duì)精度的要求也不是很高,因此,我們選用了常用的逐次逼近型A/D轉(zhuǎn)換ADC0809。3.4 顯示電路設(shè)計(jì) 大多數(shù)的單片機(jī)應(yīng)用系統(tǒng),都要配置輸入設(shè)備和輸出設(shè)備。本系統(tǒng)的輸出設(shè)備是顯示器,根據(jù)本系統(tǒng)的設(shè)計(jì)特點(diǎn),采用七段LED數(shù)碼管作為顯示器。而本系統(tǒng)設(shè)計(jì)要求溫度檢測(cè)范圍095,精度±1。數(shù)碼管只需顯示兩位即可達(dá)到要求,因此,顯示部分電路采用兩個(gè)一位的LED數(shù)碼管來組成顯示器,沒有要求顯示小數(shù)點(diǎn),LED數(shù)碼管的dp腳懸空。本設(shè)計(jì)顯示電路的應(yīng)用有兩點(diǎn),一是實(shí)時(shí)顯示引水機(jī)水箱的水溫值,另一個(gè)是顯示鍵盤設(shè)定的溫度

34、上、下限值。其電路連接如圖3.4所示。 圖3.4顯示部分電路通過一個(gè)74LS47連接7個(gè)100歐姆的電阻來驅(qū)動(dòng)數(shù)碼管顯示。數(shù)碼管的VCC腳分別連接到兩個(gè)三極管的共射極,而三極管的共基極連到一起接到+5V電源上。共集極分別連接兩個(gè)4.7K的電阻接到單片機(jī)AT89C51的P1.4、P1.5管腳。LED顯示塊是由發(fā)光二極管顯示字段的顯示器件。在單片機(jī)應(yīng)用系統(tǒng)中應(yīng)用非常普遍,通常使用的是七段LED,這種顯示器有共陽極和共陰極兩種,本設(shè)計(jì)選用的是共陽極。共陽極LED顯示器的發(fā)光二極管的陽極連接在一起,通常此公共陽極接正電壓5V。當(dāng)某個(gè)發(fā)光二極管的陰極接低電平時(shí),發(fā)光二極管被點(diǎn)亮,相應(yīng)的段被顯示。使用LE

35、D顯示器時(shí),為了顯示數(shù)字或符號(hào),要為LED顯示器提供代碼,因?yàn)檫@些代碼是通過各段亮與滅來為顯示不同字型的。7段發(fā)光二極管,再加上一個(gè)小數(shù)點(diǎn)位,共計(jì)8段。因此提供給LED顯示器的段碼正好一個(gè)字節(jié)。各字節(jié)中對(duì)應(yīng)關(guān)系如表3.4.1所示。表3.4.1 各段與字節(jié)中各位的對(duì)應(yīng)關(guān)系表代碼位D7D6D5D4D3D2D1D0顯示段dp Gfedcba將單片機(jī)I/O口的8位線與顯示塊的發(fā)光二極管的引出端(adp)相連,共陽極高電平有效,選通有效后8位并行輸出口輸出不同的數(shù)據(jù)就點(diǎn)亮相應(yīng)的發(fā)光二極管,獲得不同的數(shù)字或字符。共陽極7段顯示器顯示數(shù)字對(duì)應(yīng)的段碼關(guān)系如表3.4.2所示。表3.4.2 7段LED數(shù)字與段碼對(duì)

36、應(yīng)關(guān)系表顯示數(shù)字0123456789共陽極段碼C0HF9HA4HB0H99H92H82HF8H80H90H3.5 鍵盤電路設(shè)計(jì)鍵盤在單片機(jī)應(yīng)用系統(tǒng)中能實(shí)現(xiàn)向單片機(jī)輸入數(shù)據(jù)、傳送命令功能,是人工干預(yù)單片機(jī)的主要手段。鍵盤實(shí)質(zhì)上是一組按鍵開關(guān)集合。通常鍵盤所用開關(guān)為機(jī)械彈性開關(guān),均利用了機(jī)械觸點(diǎn)的合、斷作用。鍵的閉合與否,反映在輸出電壓是呈現(xiàn)高電平或低電平,如果高電平表示斷開的話,那么低電平則表示鍵閉合,所以通過對(duì)電平高低狀態(tài)的檢測(cè),便可確認(rèn)按鍵按下與否。為了確保CPU對(duì)一次按鍵動(dòng)作只確認(rèn)一次按鍵,必須消除抖動(dòng)的影響,這樣才能使鍵盤在單片機(jī)系統(tǒng)中的使用得更加穩(wěn)定。常用的鍵盤接口分為獨(dú)立式按鍵接口和

37、矩陣式鍵盤接口。根據(jù)本系統(tǒng)的設(shè)計(jì)特點(diǎn)及要求,鍵盤的功能主要是用來設(shè)置溫度上下限,因此本設(shè)計(jì)采用獨(dú)立式鍵盤來完成這一功能要求。其電路連接如圖3.5.1所示。 圖3.5.1 獨(dú)立式鍵盤與AT89C51連接圖1、鍵盤電路及其說明獨(dú)立式按鍵就是各個(gè)按鍵相互獨(dú)立,每個(gè)按鍵各接一根輸入線,一根輸入線上的按鍵工作狀態(tài)不會(huì)影響其他輸入線上的工作狀態(tài)。因此,通過檢測(cè)輸入線的電平狀態(tài)就可以很容易的判斷出是哪一個(gè)按鍵按下了。獨(dú)立式按鍵電路配置靈活,軟件簡單。但每一個(gè)按鍵需占用一根輸入口線,在按鍵數(shù)量較多時(shí)學(xué)要較多的輸入口線且電路結(jié)構(gòu)復(fù)雜,故此種鍵盤適用與按鍵較少或操作速度較高的場合。本設(shè)計(jì),采用四按鍵鍵盤,所以在四

38、個(gè)I/O口上接四個(gè)按鍵組成一個(gè)四按鍵的簡易式鍵盤。各線通過電阻接+5V,當(dāng)鍵盤上沒有鍵閉合時(shí),所有的線斷開,呈高電平狀態(tài)。當(dāng)鍵盤上某一個(gè)鍵閉合時(shí),該鍵所對(duì)應(yīng)的線與連接單片機(jī)的線短路。例如:當(dāng)S1號(hào)按鍵閉合時(shí),它所在的線與連接線短路,使P3.2口為低電平,通過軟件里對(duì)P3口查尋,如果只有P3.2口為低電平,那么就可以確定是S1鍵按下了,通過在軟件里的設(shè)定,行使S1鍵的功能。如果同時(shí)有多個(gè)P3口為低電平,則報(bào)警顯示,然后檢查是否有多個(gè)鍵按下,直到只有一個(gè)P3口為低電平時(shí),停止報(bào)警,那個(gè)低電平的P3口上連接的按鍵則為按下的鍵,在軟件里執(zhí)行他應(yīng)該達(dá)到的功能。2、鍵盤功能說明S1:模式設(shè)置鍵,按一下進(jìn)入

39、到加熱系統(tǒng)設(shè)置狀態(tài),再按一下切換到制冷系統(tǒng)設(shè)置狀態(tài)。S2:步進(jìn)加鍵,每按一下,要設(shè)置的限制值加1。S3:步進(jìn)減鍵,每按一下,要設(shè)置的限制值減1。S4:確定鍵,確定前面所設(shè)的溫度值。當(dāng)S1鍵按1下,進(jìn)入加熱或制冷模式后,數(shù)碼管顯示為00,00代表溫度設(shè)置起點(diǎn)溫度。再按下按鍵S2數(shù)碼管顯示值將逐步從個(gè)位數(shù)往上加,直到想要設(shè)置的溫度值,而按鍵S3是步進(jìn)減鍵,按鍵每下一次,個(gè)位數(shù)減1。S4鍵是確定鍵,通過它來確定前面所設(shè)定的數(shù)值。3、鍵盤的機(jī)械抖動(dòng)若Y0為低電平,S1號(hào)鍵閉合一次,圖中t1和t3分別為鍵的閉合和斷開過程中的抖動(dòng)期(呈現(xiàn)一串負(fù)脈沖),抖動(dòng)時(shí)間長短和開關(guān)的機(jī)械特性有關(guān),一般為510ms,t

40、2為穩(wěn)定的閉合期,其時(shí)間由按鍵動(dòng)作所確定,一般為十分之幾秒到幾秒,t0、t4為斷開期。為了保證CPU對(duì)鍵盤的閉合僅作一次處理,在軟件中必須去除抖動(dòng),在第一次檢測(cè)到有按鍵下時(shí),執(zhí)行一段延時(shí)10ms的子程序后確認(rèn)該按鍵電平是否仍保持閉合狀態(tài)電平,如果閉合狀態(tài)電平則確認(rèn)有按鍵下,從而消除抖動(dòng)的影響。鍵盤的機(jī)械抖動(dòng)示意圖如圖2.8所示。 圖3.5.2 鍵盤的機(jī)械抖動(dòng)示意圖3.6 報(bào)警電路設(shè)計(jì)報(bào)警電路主要是由發(fā)光二極管和蜂鳴器組成的,具有聲、光報(bào)警功能的簡單電路,其電路如圖2.9所示。當(dāng)溫度超過設(shè)置的上、下限時(shí),P2.2口輸出高電平,三極管導(dǎo)通,蜂鳴器工作,發(fā)出聲音。P2.3口輸出高電平時(shí),發(fā)光二極管正

41、向?qū)?,發(fā)光報(bào)警。圖3.6 報(bào)警電路3.7 控制電路設(shè)計(jì)控制部分電路圖如圖3.7所示。 圖3.7 控制電路該電路是由兩個(gè)固態(tài)繼電器作為控制開關(guān),一個(gè)繼電器控制加熱裝置,另一個(gè)繼電器控制制冷裝置。固態(tài)繼電器是一種無觸點(diǎn)通斷型電子開關(guān),是四端有源器件,其中兩個(gè)端子為控制輸入端,另外兩個(gè)為輸出受控端。為了實(shí)現(xiàn)輸入與輸出的隔離,器件采用了高耐壓的光耦合器。當(dāng)輸入信號(hào)有效時(shí),電路呈導(dǎo)通狀態(tài),反之,呈斷開狀態(tài),可以實(shí)現(xiàn)類似電磁繼電器的開關(guān)功能。固態(tài)繼電器將MOSFET、GTR、普通晶閘管等組合在一起與觸發(fā)電路封裝在一個(gè)模塊中,而且驅(qū)動(dòng)電路與輸出電路隔離。固態(tài)繼電器是可控硅過零觸發(fā)器,無觸點(diǎn),不用調(diào)節(jié),對(duì)電

42、網(wǎng)不會(huì)產(chǎn)生波形畸變。因此,非常適合本設(shè)計(jì)。控制電路工作原理:當(dāng)AT89C51的RXD口輸出一個(gè)高電平時(shí),三極管開始工作,驅(qū)動(dòng)繼電器J1工作,繼電器J1呈導(dǎo)通狀態(tài),加熱裝置開始工作。同樣,當(dāng)AT89C51的TXD口輸出一個(gè)高電平時(shí),三極管開始工作,驅(qū)動(dòng)繼電器J2工作,繼電器J2開關(guān)閉合,制冷裝置開始工作。4. 系統(tǒng)軟件設(shè)計(jì)4.1 主程序流程圖及簡要說明本設(shè)計(jì)的軟件包括主程序A/D轉(zhuǎn)換子程序鍵盤子程序控制子程序及顯示子程序。結(jié)合本系統(tǒng)的功能,程序長度不會(huì)超過AT89C51內(nèi)部的程序存儲(chǔ)器,所以硬件上不用外擴(kuò)程序存儲(chǔ)器。主程序流程如圖4.1所示。本論文描述主程序工作過程為:首先對(duì)系統(tǒng)初始化,由于本系

43、統(tǒng)要實(shí)現(xiàn)對(duì)飲水機(jī)的冷熱兩個(gè)水箱的檢測(cè)與控制,因此先要選擇模式,這主要是經(jīng)過硬件電路的按鍵S1來選擇的。在確定進(jìn)入加熱或制冷模式后,調(diào)用A/D轉(zhuǎn)換子程序?qū)Σ杉降哪M量進(jìn)行轉(zhuǎn)換,轉(zhuǎn)換完畢保存數(shù)據(jù)后,調(diào)用鍵盤子程序,這個(gè)子程序主要完成對(duì)溫度上、下限的設(shè)置。完成設(shè)置后,調(diào)用控制子程序1或子程序2,通過對(duì)執(zhí)行這個(gè)程序,實(shí)現(xiàn)報(bào)警、加熱或制冷。最后調(diào)用顯示子程序來顯示溫度值。整個(gè)系統(tǒng)是一個(gè)閉環(huán)水的,系統(tǒng)工作是循環(huán)進(jìn)行的,這也就實(shí)現(xiàn)了實(shí)時(shí)檢測(cè)的設(shè)計(jì)要求。開始初始化進(jìn)入加熱模式?調(diào)用A/D轉(zhuǎn)換子程序調(diào)用A/D轉(zhuǎn)換子程序調(diào)用鍵盤子程序調(diào)用鍵盤子程序調(diào)用控制子程序1調(diào)用控制子程序2調(diào)用顯示子程序NY 圖4.1主程

44、序流程圖4.2 A/D轉(zhuǎn)換子程序 在這模塊的軟件設(shè)計(jì)中,主要完成的是將采集電路采集到的模擬信號(hào)轉(zhuǎn)換為數(shù)字信號(hào),然后送到單片機(jī)進(jìn)行處理,從而完成A/D轉(zhuǎn)換部分的最后功能,該部分程序流程如圖4.2所示。根據(jù)設(shè)計(jì)的要求,程序先對(duì)端口初始化,根據(jù)模式選擇的結(jié)果,選擇其中一路的采集來的數(shù)據(jù),然后啟動(dòng)A/D轉(zhuǎn)換功能,在轉(zhuǎn)換一段時(shí)間后,判斷一段時(shí)間后,判斷轉(zhuǎn)換是否結(jié)束,如果結(jié)束就自動(dòng)進(jìn)入下一路的轉(zhuǎn)換,否則繼續(xù)轉(zhuǎn)換。 開始啟動(dòng)轉(zhuǎn)換A/D轉(zhuǎn)換結(jié)束?取數(shù)據(jù)ADC0809地址加1地址數(shù)小于2?返回YNNY 圖4.2 A/D轉(zhuǎn)換子程序流程圖4.3 鍵盤子程序這部分主要完成溫度上、下限的設(shè)置。其流程圖如圖4.3所示。本

45、系統(tǒng)使用4個(gè)單鍵,這使得鍵值得識(shí)別問題也比較簡單化。在執(zhí)行程序的時(shí)候只需諸位判斷P3.2,P3.3,P3.4,P3.5口是高電平還是低電平,若為高電平,則表示沒有按鍵按下,若為低電平,則表示有按鍵按下。在程序的設(shè)計(jì)當(dāng)中,考慮了鍵的去抖動(dòng)問題。因?yàn)橛檬职聪乱粋€(gè)按鍵時(shí),往往會(huì)出現(xiàn)所按鍵在閉合位置和斷開位置之間跳動(dòng)幾下才穩(wěn)定到閉合狀態(tài)的情況。在釋放一個(gè)鍵德爾時(shí)候,也會(huì)出現(xiàn)類似的情況,抖動(dòng)的時(shí)間是不一致的,通常小于10毫秒,若抖動(dòng)的問題不解決,就會(huì)引起閉合鍵的多次讀入。對(duì)于鍵的抖動(dòng)處理,一般采用軟件延時(shí)10毫秒的方法。在發(fā)現(xiàn)有按鍵閉合時(shí),不是立即讀入該鍵值,而是延時(shí)一段時(shí)間以后,再進(jìn)行鍵閉合與否的判斷

46、,確認(rèn)此時(shí)是否真的有按鍵下,有則進(jìn)行該按鍵的處理,沒有則不進(jìn)行處理。Y開始有按鍵下?延時(shí)10ms判別鍵號(hào)按鍵處理返回N 圖4.3 鍵盤子程序流程圖4.4 控制子程序本部分主要是實(shí)現(xiàn)聲光報(bào)警和驅(qū)動(dòng)加熱或制冷功能。由于本系統(tǒng)的控制對(duì)象有兩路,一路是控制飲水機(jī)的熱水水箱,另一路是控制涼水水箱,因此,有兩個(gè)子程序,它們分別為控制子程序1和控制子程序2??刂瞥绦?流程圖如圖4.4所示,控制子程序2流程圖如圖4.5所示。選擇控制模式后,先將采集轉(zhuǎn)換后的數(shù)據(jù)與設(shè)定的值進(jìn)行比較,如果是加熱模式,且采集轉(zhuǎn)換的值低于設(shè)定值的下限,置RXD為高電平,加熱器開始加熱;如果是制冷模式,且采集轉(zhuǎn)換的值高于設(shè)定值的上限,則

47、置AT89C51的P2.3、P2.4口為高電平,實(shí)現(xiàn)聲光報(bào)警,同時(shí),置TXD為高電平,制冷裝置開始工作。開始保存數(shù)據(jù)低于下限?開始加熱取數(shù)據(jù)低于下限?返回高于上限?報(bào)警、停止加熱NNNYYY 圖4.4.1 控制子程序1流程圖開始保存數(shù)據(jù)高于上限?開始制冷取數(shù)據(jù)等于上限?返回低于下限?報(bào)警、停止制冷NNNYYY 圖4.4.2 控制子程序2流程圖4.5 顯示子程序 此模塊采用的是動(dòng)態(tài)掃描的方法,這樣各位LED能夠顯示出與本位相應(yīng)的顯示字符。顯示子程序流程圖見圖4.5所示。在編寫程序時(shí),在某一時(shí)刻,只讓某一位的位選線處于選通狀態(tài),而其它各位的位選線處于關(guān)閉狀態(tài),同時(shí),段選線上輸出相應(yīng)位要顯示字符的段

48、碼。這樣,在同一時(shí)刻,兩位LED中只顯示選通的一位,而另一位是熄滅的。依次循環(huán)下去,就可以是各位顯示出將要顯示的字符,雖然這些字符是在不同時(shí)刻出現(xiàn)的,而且同一時(shí)刻,只有一位顯示,其它各位熄滅,但由于LED顯示器的余輝和人眼的視覺暫留作用,只要每位顯示間隔足夠短,則可造成多位同時(shí)亮的假象,達(dá)到同時(shí)顯示的目的,本系統(tǒng),顯示一位保持1ms時(shí)間,共需2ms時(shí)間。開始取內(nèi)存數(shù)據(jù)輸出顯示延時(shí)1ms 內(nèi)存地址加1地址數(shù)為2?返回NY 圖4.5 顯示子程序流程圖 5. 結(jié)論本論文是一種用AT89C51單片機(jī)為核心的水溫控制。通過用一塊51芯片外加擴(kuò)展系統(tǒng)及一些相應(yīng)的功能部件,經(jīng)過預(yù)研、硬件設(shè)計(jì)、繪制原理圖、系

49、統(tǒng)軟件的設(shè)計(jì)等一系列操作,最后組成一個(gè)水溫的設(shè)定、檢測(cè)、顯示和控制的自動(dòng)調(diào)節(jié)系統(tǒng),使系統(tǒng)達(dá)到要求的性能指標(biāo),實(shí)現(xiàn)預(yù)期目的。本文給出了該設(shè)計(jì)方法的原理說明和具體的設(shè)計(jì)電路,敘述了系統(tǒng)硬件線路的設(shè)計(jì)要點(diǎn)和結(jié)構(gòu)以及軟件的設(shè)計(jì)要點(diǎn),同時(shí)給出了各個(gè)重要子程序的流程圖。本設(shè)計(jì)的不足之處還有待進(jìn)一步完善,使其更好的服務(wù)于控制應(yīng)用中。6. 參考文獻(xiàn)1 閻石. 數(shù)字電子技術(shù)基礎(chǔ)(第三版)M. 高等教育出版社.1989 2 陳汝全. 電子技術(shù)常用器件應(yīng)用手冊(cè). 北京理工大學(xué)出版社. 1991.93 高海生. 單片機(jī)應(yīng)用技術(shù)大全. 西安交通大學(xué)出版社. 1991.124 張友德. 單片機(jī)原理應(yīng)用與實(shí)驗(yàn). 上海復(fù)旦大

50、學(xué)出版社.19925 李廣弟. 單片機(jī)基礎(chǔ)M. 北京:北京航空航天大學(xué)出版社.19946 萬福君. 單片微機(jī)原理系統(tǒng)設(shè)計(jì)與開發(fā)應(yīng)用. 中國科學(xué)出版社.19957 陳寶江. MCS單片機(jī)應(yīng)用系統(tǒng)指南. 北京機(jī)械工業(yè)出版社,19978 第三屆全國大學(xué)生電子設(shè)計(jì)競賽獲獎(jiǎng)作品選編M. 北京理工大學(xué)出版社.1997:23-259 張毅剛. MCS-51單片機(jī)應(yīng)用設(shè)計(jì).哈爾濱.哈爾濱工業(yè)大學(xué)出版社.1997.1210 武慶生. 仇梅.單片機(jī)原理與應(yīng)用M. 電子科技大學(xué)出版,1998,1211 李朝青 單片機(jī)原理及接口技術(shù)M. 北京航空航天大學(xué)出版社.1999:80-9212 金偉正. 單線數(shù)字溫度傳感器的

51、原理與應(yīng)用J. 電子技術(shù)與應(yīng)用,200013 朱定華. 單片機(jī)原理與接口技術(shù)M. 電子工業(yè)出版社,2001,4附錄1:系統(tǒng)硬件原理圖附錄2:軟件程序清單31 #include<reg52.h>#include<intrins.h>#define uchar unsigned char#define uint unsigned intsbit DQ=P10; /溫度輸入口unsigned char alarm2,time215,time3;unsigned char code ditab16=0x00,0x01,0x01,0x02,0x03,0x03,0x04,0x04,0x05,0x06,0x06,0x07,0x08,0x08,0x09,0x09;unsigned char temp_data2=0x00,0x00; / 讀出溫度暫放bit flag;/18b20存在標(biāo)志位extern temp_;/

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論