基于單片機的家電熱水器控制系統(tǒng)設計畢業(yè)設計_第1頁
已閱讀1頁,還剩37頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、<p>  本科畢業(yè)設計(論文)</p><p>  題目: 家電熱水器控制系統(tǒng)設計</p><p>  專 業(yè): 自動化(數(shù)控技術) </p><p>  班 級: 數(shù)控XX 學 號:XXXXXXXX </p><p>  學生姓名: XXX </p><

2、p>  指導教師: XXX 實驗師 </p><p>  起迄日期: XXXXXXXXXXXXX </p><p>  設計地點: 實驗樓 _</p><p>  Graduation Design (Thesis)</p><p>  Design of Microwav

3、e Oven Operating System</p><p><b>  By</b></p><p><b>  XXXXX</b></p><p>  Supervised by</p><p>  ExperimentalistXXXX</p><p>  Schoo

4、l of Automation </p><p>  Nanjing Institute of Technology</p><p>  June, 2014</p><p><b>  摘 要</b></p><p>  隨著社會的發(fā)展,人類科技的進步,各行各業(yè)都在使自己的產品智能化、數(shù)字化,因老式的熱水器使用煤氣

5、或天然氣對水進行燃燒加熱,用手動的方式調節(jié)溫度,不僅不能夠精確的確定使用者需要的水溫,而且還存在一定的危險性。</p><p>  電熱水器是一種可供浴室、洗手間及廚房使用的家用電器,隨著人們生活質量的提高,現(xiàn)代的家用電熱水器已經摒棄了以前的做法,而采用一種更加精確、安全的實施方案。</p><p>  C語言對單片機編程有諸多優(yōu)點,例如:便于移植、句法檢查時錯誤少、堅固性好、頭文件種類諸

6、多,能夠方便快捷使用各種函數(shù)等。</p><p>  本文采用AT89S52單片機作為控制器,使用C語言編寫程序,設計了一款智能家用電熱水器。使用按鍵鍵盤輸入溫度,溫度可以精確到0.1攝氏度,并使用LED燈顯示,能夠提供用戶所需溫度的溫水。采用DS18B20采集溫度,使用LED燈顯示,顯示出采集的水溫。當所需溫度高于當前采集的水溫時,觸發(fā)加熱,當水溫達到設定溫度時,則停止加熱?;緦崿F(xiàn)了智能控制功能。</p

7、><p>  關鍵詞:單片機;C語言;采集;家用電熱水器 </p><p><b>  Abstract</b></p><p>  With the development of social and program of human technology, every trade all transfer own product into in

8、telligence, digitize, because the water heater of old style uses gas or natural gas to heat water and manually adjust mode conditioning temperature, not only unable to sufficiently accurately recognize the user need of

9、 water temperature, but also exist some certain risk.</p><p>  The electrical water heater is a kind of home appliances that bathroom, loo and kitchen can use, with raising of quality of human live, the mode

10、rnistic household electrical water heater has abandonned the past way, but adopts a kind of implementation scheme of more accurate ,safety.</p><p>  C language possess many merits for programming of singlech

11、ip, such as:Is easy to ransplant, having little bug when sentence construction review, fastness good, the head document type is so many that expediently quickly using various function etc.</p><p>  The write

12、r adopts an AT89S52 singlechip to be the controller and using C languages to write programming ,design a style of intelligence household electrical water heater.Use array form keyboard input temperature, the temperature

13、can be accuratly recognized to 0.1 ℃, and use LED light display it, can provide to the warm water of temperature that user needs.Adopt DS18B20 to collect temperature, use LED light display, the accurately displays to col

14、lect water temperature.When the temperature needed </p><p>  Key Words: singlechip; C language; collect; household electric water heater</p><p><b>  目錄</b></p><p><b&

15、gt;  摘 要I</b></p><p>  AbstractII</p><p><b>  第一章 緒 論1</b></p><p><b>  1.1 引言1</b></p><p>  1.2 選題的背景及意義1</p><p>  1.3

16、 國內外研究狀況和成果2</p><p>  1.4整體設計方案3</p><p>  第二章 系統(tǒng)硬件設計4</p><p>  2.1單片機的最小系統(tǒng)4</p><p>  2.1.1 AT89S52單片機4</p><p>  2.1.2 AT89S52定時器/計數(shù)器7</p><

17、p>  2.1.3復位電路和晶振電路8</p><p>  2.2溫度檢測電路9</p><p>  2.2.1數(shù)字式溫度傳感器DS18B2010</p><p>  2.2.2 DS18B20的初始化與讀寫操作12</p><p>  2.2.3 DS18B20的指令14</p><p>  2.3鍵

18、盤接口電路設計15</p><p><b>  2.4數(shù)碼管16</b></p><p>  2.4.1數(shù)碼管簡介16</p><p>  2.4.2 數(shù)碼管的顯示17</p><p>  2.5繼電器電路19</p><p>  2.6 電源電路19</p><p

19、>  第三章 系統(tǒng)軟件設計21</p><p>  3.1 PROTEUS(ISIS)和KEIL簡介21</p><p>  3.2程序設計21</p><p>  3.2.1主程序的流程圖23</p><p>  3.2.2讀溫度子程序的流程圖24</p><p>  3.2.3電加熱繼電器控制子程序

20、流程圖25</p><p>  3.2.4 LED顯示程序流程圖26</p><p>  3.2.5定時器中斷流程圖26</p><p>  3.2.6仿真原理圖27</p><p>  3.3調試中遇到的問題及解決方法30</p><p>  第四章 分析與總結31</p><p>

21、;  4.1論文總結31</p><p>  4.2可改善提高的地方31</p><p><b>  參考文獻32</b></p><p><b>  致謝33</b></p><p><b>  附錄34</b></p><p><b&

22、gt;  程序清單34</b></p><p><b>  第一章 緒 論</b></p><p><b>  1.1 引言</b></p><p>  單片機是一種與我們生活息息相關的控制器,它存在于許多地方,例如:電子手表、掌上游戲機、數(shù)碼相機、錄音筆、電視機遙控器等等。單片機主要由中央處理器、內存、輸入

23、/輸出設備組成,它就好像是一臺小型電腦,它能夠執(zhí)行人們對它編寫的程序,從而發(fā)出各種不同的控制命令,與外部電路結合后,便可以完成各種各樣的功能。通過單片機人們的生活將會變得更加方便、快捷。</p><p>  1.2 選題的背景及意義</p><p>  據不完全統(tǒng)計,我市城鎮(zhèn)居民家庭以電熱水器為主,占總量的60%以上;從前風光無限的燃氣熱水器漸漸地黯然失色,市場份額僅剩不足20%;新興的太

24、陽能熱水器雖然受到安裝條件的限制,但其安全、環(huán)保的性能廣受消費者青睞,發(fā)展態(tài)勢迅猛,市場占有率已達到15%左右。于安全方面的考慮是城鎮(zhèn)居民更多選擇電熱水器和太陽能熱水器的主要原因。時下的商品房通風效果并不好,燃氣產生的污染無法及時消除,而電熱水器和太陽能熱水器則基本沒有這方面的憂慮。三大熱水器:燃氣熱水器———廉頗老矣;電熱水器———風頭正勁;太陽能熱水器———后勁十足。電熱水器的優(yōu)點:易安裝,不受天氣的影響,不受樓層和供水管道的限制,

25、投入小。隨著技術進步和新品的開發(fā),下置式、嵌入式等多種安裝形式的電熱水器先后上市,徹底擺脫了房間空間的限制。中央供水和數(shù)碼智能的電熱水器也已進入市場。電熱水器的安全問題涉及到消費者的生命,又加上近些年的能源危機,人們生活節(jié)奏的加快,智能化電熱水器越來越受到消費者的青睞。在當今社會,科技日新月異,熱水器技術飛速發(fā)展,越來越多的科技成果被運用到熱水器的制造中。如今的熱水器產品已經絕對不是一個簡單的加熱器,而是科技含量高的現(xiàn)</p>

26、;<p>  本選題目的是基于人們對現(xiàn)代家庭舒適、便利、安全以及多元化信息服務的需要,基于AT89S52單片機設計具有智能特征的電熱水器控制器。</p><p>  選用AT89S52單片機作為控制芯片,就是為了實現(xiàn)電熱水器的智能化,持續(xù)穩(wěn)定的熱水供應,自動斷電的安全功能,使人們洗浴時能放心享受,利于人們的身體健康,其務實性能快速滿足人們對現(xiàn)代生活快節(jié)奏的需求。</p><p&g

27、t;  1.3 國內外研究狀況和成果</p><p>  據了解,熱水器內膽最關鍵,如果內膽損壞就意味著整臺機器報廢。與其他家用產品不同的是,電熱水器沒有必要頻繁升級換代,出于安全性和經濟性的考慮,熱水器的耐用性才是廠商需要絞盡腦汁的。對于熱水器來說內膽是最關鍵的,從一定意義來說,內膽的品質就代表熱水器的品質。目前的內膽技術紛 繁復雜,但究其本質目標都是一樣的:保溫、耐壓、不生銹、無水垢、不滲水是內膽的基本要求。

28、市場上常見的類型有搪瓷內膽、不銹鋼內膽、鈦金內膽、金圭內膽等,搪瓷內膽抗疲勞性差,不銹鋼內膽焊縫容易漏水,目前比較先進的內膽主要是鈦金內膽。 </p><p>  除了對耐用性的不懈追求,智能化技術運用是今后技術發(fā)展的一個普遍趨勢。燃氣熱水器設有自動恒溫控制,停氣自動關機,超水溫泄壓等安全保護功能,即使臨時停氣,仍有儲存的熱水使用。智能化技術的運用有兩個好處,一是更方便,二是更節(jié)能,按照用戶的使用習慣提前預先加熱

29、,讓使用者隨心享用熱水。而在非用水時間則啟動中溫保溫方程式,根據設定溫度計算出最節(jié)能的保溫溫度,減小熱水器內外溫差,因而大大減少保溫加熱次數(shù),真正做到不拔插頭更省電。在節(jié)能上冰箱等家電產品已經走在了前面,熱水器這種用電量很大的產品更加應該推進節(jié)能技術的普及。</p><p>  對于傳統(tǒng)的電熱水器行業(yè)而言,要想出現(xiàn)本質性的突破幾乎是不可能的,而在功能上不斷提升,抓住人性化需求,卻是一條可行之路。而事實正是如此。阿

30、里斯頓、比利奇、史密斯、海爾、美的爭先恐后推出了超大液晶屏、電子線控、超薄時尚、雙管加熱、漏電保護器、防電墻、多口出水等新技術,尤其是海爾,甚至在電熱水器上增加了按摩功能,專門的噴霧按摩噴嘴,讓消費者可以足不出戶就感受按摩的快樂。國外對智能電熱水器的主要研究成果有:</p><p>  西門子智能電熱水器,采用德國新電腦溫控技術,確保出水溫度均勻恒定,使沐浴成為真正的享受。西門子家電集團采用西門子在電站技術上的強

31、大防漏電安全技術為基礎,開發(fā)出獨有的ELCB德國安全專家模式功能。除具有正常的防漏電裝置外,還具備安全電流自我檢測功能,隨時檢測防漏電系統(tǒng)是否正常工作,雙重保險將個體與電源完全分開,杜絕意外發(fā)生。櫻花IMES智能記憶節(jié)能系統(tǒng),突破了傳統(tǒng)單時段節(jié)能模式,提供了獨一無二的三時段定時預熱和七種供水模式,其工作過程“聰明伶俐”,它不斷自動存儲、分析主人近一個月用水的具體數(shù)據,以最經濟的模式提前為主人準備熱水,真正實現(xiàn)全天候節(jié)能供水。特別是還具備

32、體貼的停電數(shù)據保留功能,就算停電48小時,也能自動記憶所有參數(shù),讓主人毫無后顧之憂。全新的智能中溫保溫功能,徹底彌補了傳統(tǒng)中溫保溫的缺陷,根據設定水溫、環(huán)境、季節(jié)的不同,自動選擇最節(jié)能的保溫狀態(tài),避免固定中溫技術大幅度溫差造成不必要的浪費,縮短加熱時間,切實做到省電節(jié)能。配合特有超厚高密度聚氨脂發(fā)泡層,節(jié)能指標全面達到國家專業(yè)標準,當然倍受信賴。完美的節(jié)能系統(tǒng)整合,把IMES智能記憶作為系統(tǒng)節(jié)能的核心,將各種節(jié)能的細節(jié)整合到盡善<

33、/p><p>  就中國的具體情況而言, 其研究成果雖稍遜于國外,但是學者們也在努力尋求技術的突破,比如海爾就走在了同行的前面。近日,海爾推出了一款全新產品——銀海象A6智能專家,成為國內第一款具備記憶和計算能力雙重智能的熱水器。</p><p>  能記是A6的最大特色。它獨有的斷電自動記憶功能,即使突然停電,系統(tǒng)也會將之前設置的參數(shù)自動保存,從而在來電開機時仍保持原有設計,無需重新設置,方

34、便簡單。 </p><p>  會算是A6的又一特色。許多熱水器也有預約功能,但預約的都是加熱時間。用戶一般不知道該提前多長時間加熱,因此不是早了就是晚了。而A6產品只需設定好你的洗浴時間即可。它會自動根據當前的室溫及水溫計算好所需的加熱時間,并自動提前加熱,從而可以最大限度的減少用電損耗。 </p><p>  除了能記會算, A6的外觀也獨具一格。它使用L

35、ED超大顯示屏,清晰明了;同時,A6引入無線智能遙控技術,不僅使熱水器安裝徹底擺脫了高度的限制,操作更自由方便。另外,A6采用了下傾式控制面板,實現(xiàn)半隱藏式安裝,使浴室裝修更完美。</p><p>  此外,A6的節(jié)能效果同樣出色,智能預約、中溫保溫、分層加熱等讓您省錢到家。實驗證明,僅中溫保溫一項技術,就能在24小時內節(jié)能約0.33度。如深圳市明佳實業(yè)發(fā)展有限公司獲得了19項熱水器發(fā)明專利的授權。在熱水器研發(fā)中

36、模擬大自然中的負離子功效,利用熱水器的電能、空氣氣壓、水壓形成的勢能和動能,作用于空氣或水中的水分子使其發(fā)生破裂,使空氣中帶負電荷的氧分子和微小的水分子結合,生成大量的負離子。</p><p><b>  1.4整體設計方案</b></p><p>  設計家電熱水器控制系統(tǒng),可以顯示當前水溫和設置水溫,低于設定溫度自動加熱,可以進行水溫設置和實時時間的設置,實現(xiàn)低功

37、率和標準功率的加熱模式選擇功能,利用發(fā)光二極管對加熱模式進行顯示。系統(tǒng)硬件電路主要包括溫度檢測、復位電路、加熱電路等電路組成。利用數(shù)碼管來顯示設定溫度和當前溫度。</p><p>  第二章 系統(tǒng)硬件設計</p><p>  系統(tǒng)設計硬件原理結構見圖2.1所示。系統(tǒng)以高性價比的AT89S52單片機為核心,由復位電路、晶振電路、鍵盤輸入、DS18B20溫度采集、數(shù)碼管顯示電路、繼電器加熱電路

38、組成 。</p><p>  圖2.1 系統(tǒng)設計硬件原理結構</p><p>  其中AT89S52為核心控制器件,DS18B20為水溫的信號采集器件,數(shù)碼管為顯示器件,繼電器為加熱器件。</p><p>  單片機應用系統(tǒng)的硬件電路設計包含兩部分內容:一是系統(tǒng)擴展,即單片機內部的功能單元。如ROM、RAM、I/O、定時器/計數(shù)器、中斷系統(tǒng)等不能滿足應用系統(tǒng)的要求時

39、,必須在片外進行擴展,選擇適當?shù)男酒?,設計相應的電路。二是系統(tǒng)的配置,即按照系統(tǒng)功能要求配置外圍設備,如鍵盤、顯示器、打印機、A/D、D/A轉換器等,要設計適合的接口電路。本設計中只用最小系統(tǒng)加上鍵盤、顯示、溫度測量電路,單片機本身資源可以滿足設計要求,所以不必對單片機進行擴展。</p><p>  2.1單片機的最小系統(tǒng)</p><p>  所謂最小系統(tǒng)就是指由單片機和一些基本的外圍電路

40、所組成的一個可以工作的單片機系統(tǒng)。一般來說,它包括單片機、晶振電路和復位電路。①晶振電路:AT89S52片內有一個由高增益反相放大器構成的振蕩電路。XTALl和XTAL2分別為振蕩電路的輸入輸出端。其振蕩電路有2種組成方式:片內振蕩器和片外振蕩器。②復位電路:在RST輸入端出現(xiàn)高電平時實現(xiàn)復位和初始化[5]。</p><p>  2.1.1 AT89S52單片機</p><p>  單片機

41、的全稱是微型計算機(Single Chip Microcomputer)。我們知道8031芯片內部無ROM,需要外擴程序存儲器,由此造成電路焊接的困難,況且使用8031還需要另外購買其他的芯片,如A/D轉換及定時/計數(shù)器(PWM)等芯片,從而造成成本較高,不實用。 </p><p>  熱水器控制電路數(shù)控部分采用AT89S52單片機作為控制核心。AT89S52是一種帶4k可擦除存儲器的低電壓、高性能CM

42、OS8位微處理器,俗稱單片機。AT89S52具有以下標準功能:4k字節(jié)Flash,256字節(jié)RAM,32位I/0口,看門狗定時器,2個數(shù)據指針,2個16位定時器/計數(shù)器,一個6向量2級中斷結構,全雙工串行口,片內晶振及時鐘電路。另外,AT89S52可降至0Hz靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式??臻e模式下,單片機停止工作,允許RAM、定時器/計數(shù)器、串口、中斷繼續(xù)工作。掉電保護方式下,RAM內容被保存,振蕩器被凍結,單片機一切工作

43、停止。直到下一個中斷或硬件復位為止。8位微控制器8 k字節(jié)為在系統(tǒng)可編程Flash[7]。 </p><p>  AT89S52單片機的管腳圖如圖2.2所示:</p><p>  圖2.2 AT89S52單片機的管腳圖</p><p><b>  各引腳介紹如下:</b></p><p>  P0口:

44、P0口是一組8位漏極開路型雙向I/O口,也即地址/數(shù)據總線復用口。作為輸出口用時,每位能吸收電流的方式驅動8個TTL邏輯門電路,對端口P0寫“1”時,可作為高阻抗輸入端用。在訪問外部數(shù)據存儲器或程序存儲器時,這組口線分時轉換地址(低8位)和數(shù)據總線復用,在訪問期間激活內部上拉電阻。在Flash編程時,P0口接收指令字節(jié),而在程序校驗時,輸出指令字節(jié),校驗時,要求外接上拉電阻。</p><p>  P1口:P1是一

45、個帶內部上拉電阻的8位雙向I/O口, P1的輸出緩沖級可驅動(吸收或輸出電流)4個TTL邏輯門電路。對端口寫“1”,通過內部的上拉電阻把端口拉到高電平,此時可作輸入口。作輸入口使用時,因為內部存在上拉電阻,某個引腳被外部信號拉低時會輸出一個電流(IIL)。與AT89S51不同之處是,P1.0 和P1.1 還可分別作為定時/計數(shù)器2 的外部計數(shù)輸入(P1.0/T2)和輸入(P1.1/T2EX),F(xiàn)lash 編程和程序校驗期間,P1接收低8

46、位地址。</p><p>  P2口:P2是一個帶有內部上拉電阻的8位雙向I/O口,P2的輸出緩沖級可驅動(吸收或輸出電流)4個TTL邏輯門電路。對端口P2寫“1”,通過內部的上拉電阻把端口拉到高電平,此時可作輸入口,作輸入口使用時,因為內部存在上拉電阻,某個引腳被外部信號拉低時會輸出一個電流(IIL)。</p><p>  在訪問外部程序存儲器或16位地址的外部數(shù)據存儲器(例如執(zhí)行MOV

47、X @DPTR 指令)時,P2口送出高8位地址數(shù)據。在訪問8 位地址的外部數(shù)據存儲器(如執(zhí)行MOVX@RI 指令)時,P2口輸出P2鎖存器的內容。Flash編程或校驗時,P2亦接收高位地址和一些控制信號。</p><p>  P3口:P3口是一組帶有內部上拉電阻的8位雙向I/O口。P3 口輸出緩沖級可驅動(吸收或輸出電流)4個TTL 邏輯門電路。對P3口寫入“1”時,它們被內部上拉電阻拉高并可作為輸入端口。此時,

48、被外部拉低的P3口將用上拉電阻輸出電流(IIL)。P3口除了作為一般的I/O口線外,更重要的用途是它的第二功能。P3口還接收一些用于Flash閃速存儲器編程和程序校驗的控制信號。</p><p>  RST:復位輸入。當振蕩器工作時,RST引腳出現(xiàn)兩個機器周期以上高電平將使單片機復位。</p><p>  ALE/PROG:當訪問外部程序存儲器或數(shù)據存儲器時,ALE(地址鎖存允許)輸出脈沖

49、用于鎖存地址的低8 位字節(jié)。一般情況下,ALE 仍以時鐘振蕩頻率的1/6 輸出固定的脈沖信號,因此它可對外輸出時鐘或用于定時目的。要注意的是:每當訪問外部數(shù)據存儲器時將跳過一個ALE 脈沖。對Flash存儲器編程期間,該引腳還用于輸入編程脈沖(PROG)。如有必要,可通過對特殊功能寄存器(SFR)區(qū)中的8EH 單元的D0 位置位,可禁止ALE 操作。該位置位后,只有一條MOVX和MOVC指令才能將ALE激活。此外,該引腳會被微弱拉高,單

50、片機執(zhí)行外部程序時,應設置ALE禁止位無效。</p><p>  PSEN:程序儲存允許(PSEN)輸出是外部程序存儲器的讀選通信號,當AT89S52 由外部程序存儲器取指令(或數(shù)據)時,每個機器周期兩次PSEN 有效,即輸出兩個脈沖。在此期間,當訪問外部數(shù)據存儲器,將跳過兩次PSEN信號。</p><p>  EA/VPP:外部訪問允許。欲使CPU 僅訪問外部程序存儲器(地址為0000H

51、—FFFFH),EA 端必須保持低電平(接地)。需注意的是:如果加密位LB1 被編程,復位時內部會鎖存EA端狀態(tài)。如EA端為高電平(接Vcc端),CPU 則執(zhí)行內部程序存儲器中的指令。Flash存儲器編程時,該引腳加上+12V 的編程允許電源Vpp,當然這</p><p>  必須是該器件是使用12V編程電壓Vpp。</p><p>  XTAL1:振蕩器反相放大器及內部時鐘發(fā)生器的輸入端

52、。</p><p>  XTAL2:振蕩器反相放大器的輸出端。</p><p>  2.1.2 AT89S52定時器/計數(shù)器</p><p>  AT89S52單片機內部有三個16位可編程的定時器/計數(shù)器,即定時器T0、定時器T1和定時器T2。它們既可用作定時器方式,又可用作計數(shù)器方式,且都有4種工作方式可供選擇。圖2.3是定時器/計數(shù)器的結構框圖。由圖可知,定時器

53、/計數(shù)器由定時器0、定時器1、定時器方式寄存器TMOD和定時器控制寄存器TCON組成。 </p><p>  定時器0,定時器1是16位加法計數(shù)器,分別由兩個8位專用寄存器組成:定時器0由TH0和TL0組成,定時器1由TH1和TL1組成。</p><p>  圖2.3定時器/計數(shù)器結構框圖</p><p>  TL0、TL1、TH0、TH1的訪問地址依次為

54、8AH?8DH,每個寄存器均可單獨訪問。定時器0或定時器1用作計數(shù)器時,對芯片引腳T0(P3.4)或T1(P3.5)上輸入的脈沖計數(shù),每輸入一個脈沖,加法計數(shù)器加1;其用作定時器時,對內部機器周期脈沖計數(shù),由于機器周期是定值,故計數(shù)值確定時,時間也隨之確定。</p><p>  TMOD、TCON與定時器0、定時器1間通過內部總線及邏輯電路連接,TMOD用于設置定時器的工作方式,TCON用于控制定時器的啟動與停止

55、。</p><p>  計數(shù)方式時,T的功能是計來自T0(P3.4)T1(P3.5)的外部脈沖信號的個數(shù)。 輸入脈沖由1變0的下降沿時,計數(shù)器的值增加1直到回零產生溢出中斷,表示計數(shù)已達預期個數(shù)。外部輸入信號的下降沿將觸發(fā)計數(shù),識別一個從―1‖到―0‖的跳變需2個機器周期,所以,對外部輸入信號最高的計數(shù)速率是晶振頻率的1/24。若晶振頻率為6MHz,則計數(shù)脈沖頻率應低于1/4MHz。當計數(shù)器滿后,再來一

56、個計數(shù)脈沖,計數(shù)器全部回0,這就是溢出。</p><p>  脈沖的計數(shù)長度與計數(shù)器預先裝入的初值有關。初值越大,計數(shù)長度越?。怀踔翟叫?,計數(shù)長度越大。最大計數(shù)長度為65536(216)個脈沖(初值為0)。</p><p>  定時方式時,T記錄單片機內部振蕩器輸出的脈沖(機器周期信號)個數(shù)。每一個機器周期使T0或T1的計數(shù)器增加1,直至計滿回零自動產生溢出中斷請求。</p>

57、<p>  定時器的定時時間不僅與定時器的初值有關,而且還與系統(tǒng)的時鐘頻率有關。在機器周期一定的情況下,初值越大,定時時間越短;初值越小,定時時間越長。最長的定時時間為65536(216)個機器周期(初值為0)。</p><p>  2.1.3復位電路和晶振電路</p><p>  復位是單片機的初始化操作。其主要功能是把PC初始化為0000H,使單片機從0000H單元開始執(zhí)行

58、程序。除了進入系統(tǒng)的正常初始化之外,當由于程序運行出錯或者操作錯誤使系統(tǒng)處于死鎖狀態(tài)時,為了擺脫困境,也需按復位鍵重新啟動。</p><p>  整個復位電路包括芯片內、外兩部分。外部電路產生的復位信號(RST)送至施密特觸發(fā)器,再由片內復位電路在每個機器周期的S5P2時刻對施密特觸發(fā)器的輸出進行采樣,然后才得到內部復位操作所需要的信號。并且在外圍設計晶振電路使單片機正常工作。 </p>

59、<p>  晶振電路:AT89S52片內有一個由高增益反相放大器構成的振蕩電路。XTALl和XTAL2分別為振蕩電路的輸入輸出端。 </p><p>  本系統(tǒng)的復位和晶振電路采用圖2.4所示的復位方式</p><p>  圖2.4晶振和復位電路</p><p><b>  2.2溫度檢測電路</b></p>

60、<p>  本文采用溫度傳感器DS18B20采集熱水器的實時溫度,提供給AT89S52的P3.7口作為數(shù)據輸入。在本次設計中我們所控的對象為水溫。其電路原理圖如下:</p><p>  圖2.5 溫度檢測電路</p><p>  DS18B20是DALLAS公司生產的一線式數(shù)字溫度傳感器,具有3引腳T0—92小體積封裝形式;溫度測量范圍為—55℃~+125℃,可編程為9為~12為

61、A/D轉換精度,測溫分辨率可達0.0625℃,被測溫度用符號擴展的16位數(shù)字量方式串行輸出,支持3V~5.5V的電壓范圍,使系統(tǒng)設計更靈活、方便;其工作電源既可在遠端引入,也可采用寄生電源方式產生;多個DS18B20可以并聯(lián)到3根或2根線上,CPU只需一根端口線就能與諸多DS18B20通信,占用微處理器的端口較少,可節(jié)省大量的引線和邏輯電路。以上特點使DS18B20非常適用于遠距離多點溫度檢測系統(tǒng)。分辨率設定,及用戶設定的報警溫度存儲在

62、EEPROM中,掉電后依然保存。DS18B20使電壓、特性有更多的選擇,讓我們可以構建適合自己的經濟的測溫系統(tǒng)。如圖2.5所示DS18B20的2腳DQ為數(shù)字信號輸入/輸出端;1腳GND為電源地;3腳VDD為外接供電電源輸入端。</p><p>  當傳感器工作時,如果水溫低于設定溫度時,將溫度傳給單片機,熱水器開始工作,加熱指示燈亮。</p><p>  2.2.1數(shù)字式溫度傳感器DS18

63、B20</p><p><b>  功能特性描述</b></p><p>  DALLAS最新單線數(shù)字溫度傳感器DS18B20簡介新的“一線器件”體積更小、適用電壓更寬、更經濟,Dallas 半導體公司的數(shù)字化溫度傳感器DS1820是世界上第一片支持 “一線總線”接口的溫度傳感器。一線總線獨特而且經濟的特點,使用戶可輕松地組建傳感器網絡,為測量系統(tǒng)的構建引入全新概念。

64、現(xiàn)在,新一代的“DS1820”體積更小、更經濟、更靈活。使您可以充分發(fā)揮“一線總線”的長處。 DS18B20、 DS18B22 “一線總線”數(shù)字化溫度傳感器 同DS18B20一樣,DS18B20也 支持“一線總線”接口,測量溫度范圍為 -55°C~+125°C,在-10~+85°C范圍內,精度為±0.5°C。DS1822的精度較差為± 2°C ?,F(xiàn)場溫度直接以“一線總

65、線”的數(shù)字方式傳輸,大大提高了系統(tǒng)的抗干擾性。適合于惡劣環(huán)境的現(xiàn)場溫度測量,如:環(huán)境控制、設備或過程控制、測溫類消費電子產品等。與前一代產品不同,新的產品支持3V~5.5V的電壓范圍,使系統(tǒng)設計更靈活、方便。而且新一代產品更便宜,體積更小。DS18B20可以程序設定9~12位的分辨率,精度為±0.5°C??蛇x更小的封裝方式,更寬的電壓適</p><p><b>  管腳描述</

66、b></p><p>  DS18B20可編程溫度傳感器有3個管腳,如圖2.6所示。GND為接地線,DQ為數(shù)據輸入輸出接口,通過一個較弱的上拉電阻與單片機相連。VDD為電源接口,既可由數(shù)據線提供電源,又可由外部提供電源,范圍3 V~5.5V。本文使用外部電源供電。</p><p>  圖2.6 DS18B20管腳圖</p><p><b>  1、測

67、溫功能:</b></p><p>  當DSI8B20接收到溫度轉換命令后,開始啟動轉換。轉換完成后的溫度值就以16位帶符號擴展的二進制補碼形式存儲在高速暫存存儲器的0,1字節(jié)。單片機可通過單線接口讀到該數(shù)據,讀取時低位在前,高位在后,數(shù)據格式以0.0625℃/LSB形式表示。溫度值格式表2.1示:</p><p><b>  表2.1 溫度格式</b>&

68、lt;/p><p>  其中“S”為標志位,對應的溫度計算:當符號位S=0時,直接將二進制位轉換為十進制;當S=1時,先將補碼變換為原碼,再計算十進制值。表2.1表是對應的一部分溫度值。DSI8B20完成溫度轉換后,就把測得的溫度值與TH做比較,若T>TH或T<TL,則將該器件內的告警標志置位,并對主機發(fā)出的告警搜索命令做出響應。溫度轉換算法及分析如下:</p><p>  由于D

69、S18B20轉換后的代碼并不是實際的溫度值,所以要進行計算轉換。溫度高字節(jié)(MS Byte)高5位是用來保存溫度的正負(標志為S的bit11~bit15),高字節(jié)(MS Byte)低3位和低字節(jié)來保存溫度值(bit0~bit10)。其中低字節(jié)(LS Byte)的低4位來保存溫度的小數(shù)位(bit0~bit3)。由于本程序采用的是0.0625的精度,小數(shù)部分的值,可以用后四位代表的實際數(shù)值乘以0.0625,得到真正的數(shù)值,數(shù)值可能帶幾個小數(shù)

70、位,所以采取小數(shù)舍入,保留一位小數(shù)即可。也就說,本系統(tǒng)的溫度精確到了0.1度。</p><p>  2.2.2 DS18B20的初始化與讀寫操作</p><p>  1. DS18B20的初始化</p><p> ?。?) 先將數(shù)據線置高電平“1”; </p><p>  (2) 延時(該時間要求的不是很嚴格,但是盡可能的短一點);</

71、p><p> ?。?) 數(shù)據線拉到低電平“0”; </p><p> ?。?) 延時750微秒(該時間的時間范圍可以從480到960微秒); </p><p> ?。?) 數(shù)據線拉到高電平“1”; </p><p> ?。?) 延時等待(如果初始化成功則在15到60毫秒時間之內產生一個由DS18B20所返回的低電平“0”。據該狀態(tài)可以來確定它的存

72、在,但是應注意不能無限的進行等待,不然會使程序進入死循環(huán),所以要進行超時控制); </p><p> ?。?) 若CPU讀到了數(shù)據線上的低電平“0”后,還要做延時,其延時的時間從發(fā)出的高電平算起(第(5)步的時間算起)最少要480微秒; </p><p> ?。?) 將數(shù)據線再次拉高到高電平“1”后結束。</p><p>  DS18B20的的初始化見圖2.7所示。

73、</p><p>  圖2.7 DS18B20的的初始化</p><p>  2. DS18B20的寫操作</p><p>  (1) 數(shù)據線先置低電平“0”; </p><p>  (2) 延時確定的時間為15微秒; </p><p> ?。?) 按從低位到高位的順序發(fā)送字節(jié)(一次只發(fā)送一位); </p>

74、<p> ?。?) 延時時間為45微秒; </p><p> ?。?) 將數(shù)據線拉到高電平; </p><p> ?。?) 重復上(1)到(6)的操作直到所有的字節(jié)全部發(fā)送完為止; </p><p> ?。?) 最后將數(shù)據線拉高。</p><p>  在這里要注意的是(3),寫數(shù)據時時1bit單獨傳送,這里有兩種情況。</

75、p><p>  當需要傳送“1”時,單片機應該給DS18B20芯片的DQ接口賦低電平,大約15秒以后,將DQ釋放為高電平,延時約45微妙即可。</p><p>  當需要傳送“0”時,單片機應該給DS18B20芯片的DQ接口賦低電平,并且持續(xù)拉低最少60微妙,然后將DQ釋放為高電平,再延時約15秒即可。</p><p>  DS18B20的寫操作時序圖見圖2.8所示。&

76、lt;/p><p>  圖2.8 DS18B20的寫操作時序圖</p><p>  3. DS18B20的讀操作</p><p> ?。?)將數(shù)據線拉高“1”;</p><p><b> ?。?)延時2微秒;</b></p><p> ?。?)將數(shù)據線拉低“0”;</p><p&g

77、t; ?。?)延時15微秒;</p><p>  (5)將數(shù)據線拉高“1”;</p><p> ?。?)延時15微秒;</p><p> ?。?)讀數(shù)據線的狀態(tài)得到一個狀態(tài)位,并進行數(shù)據處理; </p><p>  (8)延時30微秒;</p><p>  這里只要按以上操作將狀態(tài)位的各各bit按順序儲存好即可。<

78、;/p><p>  DS18B20的讀操作時序圖見圖2.9所示。</p><p>  圖2.9 DS18B20的讀操作時序圖</p><p>  2.2.3 DS18B20的指令</p><p>  DS18B20溫度傳感器的存儲器 DS18B20溫度傳感器的內部存儲器包括一個高速暫存RAM和一個非易失性的可電擦除的EEPRAM,后者存放高溫度和

79、低溫度觸發(fā)器 TH、TL和結構寄存器。配置寄存器,該字節(jié)各位的意義見表2.2所示。</p><p>  表2.2 配置寄存器結構</p><p>  高速暫存存儲器由9個字節(jié)組成。其分配見表2.3所示,當溫度轉換命令發(fā)布后,經轉換所得的溫度值以二字節(jié)補碼形式存放在高速暫存存儲器的第0和第1個字節(jié)。單片機可通過單線接口讀到該數(shù)據,讀取時低位在前,高位在后。對應的溫度計算:當符號位S=0時,直

80、接將二進制位轉換為十進制;當S=1時,先將補碼變?yōu)樵a,再計算十進制值。第九個字節(jié)是冗余檢驗字節(jié)。 </p><p>  表2.3 DS18B20暫存寄存器分布</p><p>  根據DS18B20的通訊協(xié)議,主機(單片機)控制DS18B20完成溫度轉換必須經過三個步驟:每一次讀寫之前都要對DS18B20進行復位操作,復位成功后發(fā)送一條ROM指令,最后發(fā)送RAM指令,這樣才能對DS18B

81、20進行預定的操作。復位要求主CPU將數(shù)據線下拉500微秒,然后釋放,當DS18B20收到信號后等待16~60微秒左右,后發(fā)出60~240微秒的存在低脈沖,主CPU收到此信號表示復位成功。 ROM指令表見表2.4所示,RAM指令表見表2.5所示。</p><p>  表2.4 ROM指令表</p><p>  表2.5 RAM指令表</p><p>  2.3鍵盤接

82、口電路設計</p><p>  鍵盤在單片機應用系統(tǒng)中能實現(xiàn)向單片機輸入數(shù)據、傳送命令等功能,是人機交流的主要手段。在單片機系統(tǒng)中常用的鍵盤有兩種:機械式按鍵鍵盤和薄膜鍵盤。本設計中采用的是機械按鍵鍵盤。</p><p>  方案一:采用矩陣式鍵盤,其優(yōu)點是可以按鍵多,適合于要求使用多按鍵的場合,如計算器,電子密碼鎖等。缺點是占用較多的I/O口,軟件編程復雜,鍵盤掃描時間較長。 

83、</p><p>  方案二:采用獨立式按鍵,其優(yōu)點是響應速度快,接口簡單,易于編程,使用方便。 </p><p>  本設計需要按鍵不多,故通過上述兩個方案的比較,本設計采用方案二,使用獨立式按鍵。共設置四個按鍵,第一個按鍵為選擇鍵,第二個按鍵為加一鍵,第三個按鍵為減一鍵。第四個按鍵為鍵。鍵盤連接如圖2.10所示:</p><p>  圖2.10獨立式鍵

84、盤連接</p><p>  按鍵的閉合與否,反映在行線輸出電壓上呈高、低電平的變化。如果輸出高電平表示按鍵斷開,低電平則表示按鍵閉合。通過對行線電平狀態(tài)的檢測,便可確認按鍵按下與否。</p><p><b>  2.4數(shù)碼管</b></p><p>  2.4.1數(shù)碼管簡介</p><p>  數(shù)碼管是一種半導體發(fā)光器件

85、,其基本單元是發(fā)光二極管。</p><p>  數(shù)碼管按段數(shù)分為七段數(shù)碼管和八段數(shù)碼管,八段數(shù)碼管比七段數(shù)碼管多一個發(fā)光二極管單元(多一個小數(shù)點顯示);按能顯示多少個“8”可分為1位、2位、4位等等數(shù)碼管。</p><p>  按發(fā)光二極管單元連接方式分為共陽極數(shù)碼管和共陰極數(shù)碼管。共陽數(shù)碼管是指將所有發(fā)光二極管的陽極接到一起形成公共陽極(COM)的數(shù)碼管。共陽數(shù)碼管在應用時應將公共極CO

86、M接到+5V,當某一字段發(fā)光二極管的陰極為低電平時,相應字段就點亮。當某一字段的陰極為高電平時,相應字段就不亮。共陰數(shù)碼管是指將所有發(fā)光二極管的陰極接到一起形成公共陰極(COM)的數(shù)碼管。共陰數(shù)碼管在應用時應將公共極COM接到地線GND上,當某一字段發(fā)光二極管的陽極為高電平時,相應字段就點亮。當某一字段的陽極為低電平時,相應字段就不亮。</p><p>  使用LED顯示器時,要注意區(qū)分這兩種不同的接法。為了顯示

87、數(shù)字或字符,必須對數(shù)字或字符進行編碼。七段數(shù)碼管加上一個小數(shù)點,共計8段。因此為LED顯示器提供的編碼正好是一個字節(jié)。本設計中采用共陽及LED顯示器,根據電路連接圖顯示十六進制數(shù)的編碼見表2.6。</p><p>  表2.6六進制數(shù)的編碼</p><p>  2.4.2 數(shù)碼管的顯示</p><p>  數(shù)碼管要正常顯示,就要用驅動電路來驅動數(shù)碼管的各個段碼,從而

88、顯示出我們要的數(shù)字,因此根據數(shù)碼管的驅動方式的不同,可以分為靜態(tài)式和動態(tài)式兩類。</p><p><b>  1)靜態(tài)顯示驅動</b></p><p>  靜態(tài)驅動也稱直流驅動。靜態(tài)驅動是指每個數(shù)碼管的每一個段碼都由一個單片機的I/O端口進行驅動,或者使用如BCD碼二-十進制譯碼器譯碼進行驅動。靜態(tài)驅動的優(yōu)點是編程簡單,顯示亮度高,缺點是占用I/O端口多,如驅動5個

89、數(shù)碼管靜態(tài)顯示則需要5×8=40根I/O端口來驅動,要知道一個89S51單片機可用的I/O端口才32個呢:),實際應用時必須增加譯碼驅動器進行驅動,增加了硬件電路的復雜性。</p><p><b>  2)動態(tài)顯示驅動</b></p><p>  數(shù)碼管動態(tài)顯示接口是單片機中應用最為廣泛的一種顯示方式之一,動態(tài)驅動是將所有數(shù)碼管的8個顯示筆劃"a

90、,b,c,d,e,f,g,dp"的同名端連在一起,另外為每個數(shù)碼管的公共極COM增加位選通控制電路,位選通由各自獨立的I/O線控制,當單片機輸出字形碼時,所有數(shù)碼管都接收到相同的字形碼,但究竟是那個數(shù)碼管會顯示出字形,取決于單片機對位選通COM端電路的控制,所以我們只要將需要顯示的數(shù)碼管的選通控制打開,該位就顯示出字形,沒有選通的數(shù)碼管就不會亮。通過分時輪流控制各個數(shù)碼管的的COM端,就使各個數(shù)碼管輪流受控顯示,這就是動態(tài)驅動

91、。在輪流顯示過程中,每位數(shù)碼管的點亮時間為1~2ms,由于人的視覺暫留現(xiàn)象及發(fā)光二極管的余輝效應,盡管實際上各位數(shù)碼管并非同時點亮,但只要掃描的速度足夠快,給人的印象就是一組穩(wěn)定的顯示數(shù)據,不會有閃爍感,動態(tài)顯示的效果和靜態(tài)顯示是一樣的,能夠節(jié)省大量的I/O端口,而且功耗更低。本文中設計的顯示是動態(tài)顯示。</p><p><b>  主要參數(shù)</b></p><p>

92、<b>  1)8字高度</b></p><p>  8字上沿與下沿的距離。比外型高度小。通常用英寸來表示。范圍一般為0.25-20英寸。</p><p><b>  2)長*寬*高</b></p><p>  長——數(shù)碼管正放時,水平方向的長度;寬——數(shù)碼管正放時,垂直方向上的長度;高——數(shù)碼管的厚度。</p&

93、gt;<p><b>  3)時鐘點</b></p><p>  四位數(shù)碼管中,第二位8與第三位8字中間的二個點。一般用于顯示時鐘中的秒。</p><p>  數(shù)碼管使用的電流與電壓</p><p><b>  4)電流</b></p><p>  靜態(tài)時,推薦使用10-15mA;

94、動態(tài)時,16/1動態(tài)掃描時,平均電流為4-5mA,峰值電流50-60mA。</p><p><b>  5)電壓</b></p><p>  查引腳排布圖,看一下每段的芯片數(shù)量是多少?當紅色與黃綠色時,使用1.9V乘以每段的芯片串聯(lián)的個數(shù);當綠色/藍色時,使用3.1V乘以每段的芯片串聯(lián)的個數(shù)。</p><p>  數(shù)碼管的顯示由P0口完成控制

95、。有兩點需要注意,第一點是要哪一個數(shù)碼管亮,第二點是亮的數(shù)碼管顯示什么數(shù)字。</p><p>  見圖2.11于單片機僅僅起到控制的作用,其輸出電流十分小,所以P0端需要接上拉電阻與5V電源,通過電壓的變化控制5V電源點亮,想要圖中a端由電流通過時,即給P0^0一個低電平,觸發(fā)上拉電阻兩端間的電勢差,這樣就能促使電流流向a點,從而使a端對應的LED燈點亮。</p><p>  圖2.11單

96、片機與數(shù)碼管的硬件連接</p><p><b>  2.5繼電器電路</b></p><p>  圖2.12 繼電器電路圖</p><p>  繼電器電路由繼電器、三極管和發(fā)光二極管組成。當當水溫低于設定溫度時,</p><p> ?。≒3.6)輸出高電平,三極管Q5導通,繼電器吸合,指示燈亮,加熱裝置啟動。當水溫達到設

97、定溫度時,(P3.6)輸出低電平,三極管截止,繼電器斷開,關閉加熱裝置和指示燈。</p><p><b>  2.6 電源電路</b></p><p>  電源電路按元件類型可分為電子管穩(wěn)壓電路、三極管穩(wěn)壓電路、可控硅穩(wěn)壓電路、集成穩(wěn)壓電路。根據調整元件與鏈接方法,可分為并聯(lián)型和串聯(lián)型;根據調整元件工作狀態(tài)不同,可分為線性和開關開關穩(wěn)壓電路。本案例中采用的電路電路設計

98、如圖2.13所示:</p><p>  圖2.13 電源電路</p><p>  第三章 系統(tǒng)軟件設計</p><p>  軟件設計由主程序,鍵掃描子程序及若干功能模塊子程序組成。其中主控制器子程序包括A/D轉換子程序(水位、水溫),鍵盤處理及顯示子程序,加熱控制子程序(使用輸出比較功能),漏電保護子程序等組成。主程序要先初始化系統(tǒng)的工作參數(shù),主要是單片機的定時器,

99、COP模塊、A/D轉換、端口、鍵中斷等的工作模式參數(shù)設定,之后系統(tǒng)主程序循環(huán)調用各個功能模塊子程序,對相關事件的處理依靠標志位和判斷標志位實現(xiàn)。</p><p>  在本次設計中運用到了PROTEUS的ISIS電路分析實物仿真系統(tǒng)和KEIL單片機編程軟件,通過對它們聯(lián)調可以仿真出本次設計的要求。下面對這個兩個軟件做簡單的介紹。</p><p>  3.1 PROTEUS(ISIS)和KEI

100、L簡介</p><p>  一、PROTEUS(ISIS)簡介</p><p>  Proteus是英國Labcenter公司開發(fā)的電路分析與仿真軟件。該軟件的特點是:①集原理圖設計、仿真和PCB設計于一體,真正實現(xiàn)從概念到產品的完整電子設計工具,②具有模擬電路、數(shù)字電路、單片機應用系統(tǒng)、嵌入式系統(tǒng)(不高于ARM7)設計與仿真功能,③具有全速、單步、設置斷點等多種形式的調試功能,④具有各種

101、信號源和電路分析所需的虛擬儀表,⑤支持Keil C51 uVision2、MPLAB等第三方的軟件編譯和調試環(huán)境,⑥具有強大的原理圖到PCB板設計功能,可以輸出多種格式的電路設計報表。擁有PROTEUS電子設計工具,就相當于擁有了一個電子設計和分析平臺。</p><p><b>  二、KEIL簡介</b></p><p>  KEIL C51是美

102、國Keil Software公司出品的51系列兼容單片機C語言軟件開發(fā)系統(tǒng),它提供了包括C編譯器、宏匯編、連接器、庫管理和一個功能強大的仿真調試器等在內的完整開發(fā)方案,通過一個集成開發(fā)環(huán)境(uVision)將這些部份組合在一起。另外重要的一點,只要看一下編譯后生成的匯編代碼,就能體會到Keil C51生成目標代碼效率非常之高,多數(shù)語句生成的匯編代碼很緊湊,容易理解。</p><p><b>  3.2程

103、序設計</b></p><p>  本次設計程序的編寫采用C語言,它具有如下一些優(yōu)點:</p><p>  1、簡潔緊湊、靈活方便</p><p>  C語言一共只有32個關鍵字,9種控制語句,程序書寫形式自由,區(qū)分大小寫。把高級語言的基本結構和語句與低級語言的實用性結合起來。C 語言可以像匯編語言一樣對位、字節(jié)和地址進行操作,而這三者是計算機最基本的工

104、作單元。</p><p><b>  2、運算符豐富</b></p><p>  C語言的運算符包含的范圍很廣泛,共有34種運算符。C語言把括號、賦值、強制類型轉換等都作為運算符處理。從而使C語言的運算類型極其豐富,表達式類型多樣化。靈活使用各種運算符可以實現(xiàn)在其它高級語言中難以實現(xiàn)的運算。</p><p><b>  3、數(shù)據類型豐

105、富</b></p><p>  C語言的數(shù)據類型有:整型、實型、字符型、數(shù)組類型、指針類型、結構體類型、共用體類型等。能用來實現(xiàn)各種復雜的數(shù)據結構的運算。并引入了指針概念,使程序效率更高。</p><p>  4、表達方式靈活實用</p><p>  C語言提供多種運算符和表達式值的方法,對問題的表達可通過多種途徑獲得,其程序設計更主動、靈活。它語法限制

106、不太嚴格,程序設計自由度大,如對整型量與字符型數(shù)據及邏輯型數(shù)據可以通用等。</p><p>  5、允許直接訪問物理地址,對硬件進行操作</p><p>  由于C語言允許直接訪問物理地址,可以直接對硬件進行操作,因此它既具有高級語言的功能,又具有低級語言的許多功能,能夠像匯編語言一樣對位(bit)、字節(jié)和地址進行操作,而這三者是計算機最基本的工作單元,可用來寫系統(tǒng)軟件。</p>

107、;<p>  6、生成目標代碼質量高,程序執(zhí)行效率高</p><p>  C語言描述問題比匯編語言迅速,工作量小、可讀性好,易于調試、修改和移植,而代碼質量與匯編語言相當。C語言一般只比匯編程序生成的目標代碼效率低10%~20%。</p><p><b>  7、可移植性好</b></p><p>  C語言在不同機器上的C編譯程

108、序,86%的代碼是公共的,所以C語言的編譯程序便于移植。在一個環(huán)境上用C語言編寫的程序,不改動或稍加改動,就可移植到另一個完全不同的環(huán)境中運行。</p><p><b>  8、表達力強</b></p><p>  C語言有豐富的數(shù)據結構和運算符。包含了各種數(shù)據結構,如整型、數(shù)組類型、指針類型和聯(lián)合類型等,用來實現(xiàn)各種數(shù)據結構的運算。C語言的運算符有34種,范圍很寬,

109、靈活使用各種運算符可以實現(xiàn)難度極大的運算。C語言能直接訪問硬件的物理地址,能進行位(bit)操作。兼有高級語言和低級語言的許多優(yōu)點。它既可用來編寫系統(tǒng)軟件,又可用來開發(fā)應用軟件,已成為一種通用程序設計語言。另外C語言具有強大的圖形功能,支持多種顯示器和驅動器。且計算功能、邏輯判斷功能強大。</p><p>  根據設計要求和各個芯片的工作原理,以及編程的要求需要先畫出它的程序流程圖,本次設計是主要進行溫度的采集和

110、顯示以及對電加熱切換的繼電器控制。下面是程序的流程圖:</p><p>  3.2.1主程序的流程圖</p><p>  圖3.1主程序流程框圖</p><p>  第一步,系統(tǒng)初始化運行,給一個初始設定值,數(shù)碼管顯示當前溫度和設定溫度,第二步就是設置溫度,如果溫度設置鍵按下,利用加鍵和減鍵來設定溫度,接下來就是進行第三步,而如果溫度鍵沒有按下,則直接進行第三步,判

溫馨提示

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

評論

0/150

提交評論