

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p> 本科畢業(yè)設(shè)計(jì)(論文)</p><p> 題目: 家電熱水器控制系統(tǒng)設(shè)計(jì)</p><p> 專 業(yè): 自動(dòng)化(數(shù)控技術(shù)) </p><p> 班 級: 數(shù)控XX 學(xué) 號:XXXXXXXX </p><p> 學(xué)生姓名: XXX </p><
2、p> 指導(dǎo)教師: XXX 實(shí)驗(yàn)師 </p><p> 起迄日期: XXXXXXXXXXXXX </p><p> 設(shè)計(jì)地點(diǎn): 實(shí)驗(yàn)樓 _</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ā)展,人類科技的進(jìn)步,各行各業(yè)都在使自己的產(chǎn)品智能化、數(shù)字化,因老式的熱水器使用煤氣
5、或天然氣對水進(jìn)行燃燒加熱,用手動(dòng)的方式調(diào)節(jié)溫度,不僅不能夠精確的確定使用者需要的水溫,而且還存在一定的危險(xiǎn)性。</p><p> 電熱水器是一種可供浴室、洗手間及廚房使用的家用電器,隨著人們生活質(zhì)量的提高,現(xiàn)代的家用電熱水器已經(jīng)摒棄了以前的做法,而采用一種更加精確、安全的實(shí)施方案。</p><p> C語言對單片機(jī)編程有諸多優(yōu)點(diǎn),例如:便于移植、句法檢查時(shí)錯(cuò)誤少、堅(jiān)固性好、頭文件種類諸
6、多,能夠方便快捷使用各種函數(shù)等。</p><p> 本文采用AT89S52單片機(jī)作為控制器,使用C語言編寫程序,設(shè)計(jì)了一款智能家用電熱水器。使用按鍵鍵盤輸入溫度,溫度可以精確到0.1攝氏度,并使用LED燈顯示,能夠提供用戶所需溫度的溫水。采用DS18B20采集溫度,使用LED燈顯示,顯示出采集的水溫。當(dāng)所需溫度高于當(dāng)前采集的水溫時(shí),觸發(fā)加熱,當(dāng)水溫達(dá)到設(shè)定溫度時(shí),則停止加熱?;緦?shí)現(xiàn)了智能控制功能。</p
7、><p> 關(guān)鍵詞:單片機(jī);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、 國內(nèi)外研究狀況和成果2</p><p> 1.4整體設(shè)計(jì)方案3</p><p> 第二章 系統(tǒng)硬件設(shè)計(jì)4</p><p> 2.1單片機(jī)的最小系統(tǒng)4</p><p> 2.1.1 AT89S52單片機(jī)4</p><p> 2.1.2 AT89S52定時(shí)器/計(jì)數(shù)器7</p><
17、p> 2.1.3復(fù)位電路和晶振電路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、盤接口電路設(shè)計(jì)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)軟件設(shè)計(jì)21</p><p> 3.1 PROTEUS(ISIS)和KEIL簡介21</p><p> 3.2程序設(shè)計(jì)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定時(shí)器中斷流程圖26</p><p> 3.2.6仿真原理圖27</p><p> 3.3調(diào)試中遇到的問題及解決方法30</p><p> 第四章 分析與總結(jié)31</p><p>
21、; 4.1論文總結(jié)31</p><p> 4.2可改善提高的地方31</p><p><b> 參考文獻(xiàn)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> 單片機(jī)是一種與我們生活息息相關(guān)的控制器,它存在于許多地方,例如:電子手表、掌上游戲機(jī)、數(shù)碼相機(jī)、錄音筆、電視機(jī)遙控器等等。單片機(jī)主要由中央處理器、內(nèi)存、輸入
23、/輸出設(shè)備組成,它就好像是一臺小型電腦,它能夠執(zhí)行人們對它編寫的程序,從而發(fā)出各種不同的控制命令,與外部電路結(jié)合后,便可以完成各種各樣的功能。通過單片機(jī)人們的生活將會變得更加方便、快捷。</p><p> 1.2 選題的背景及意義</p><p> 據(jù)不完全統(tǒng)計(jì),我市城鎮(zhèn)居民家庭以電熱水器為主,占總量的60%以上;從前風(fēng)光無限的燃?xì)鉄崴鳚u漸地黯然失色,市場份額僅剩不足20%;新興的太
24、陽能熱水器雖然受到安裝條件的限制,但其安全、環(huán)保的性能廣受消費(fèi)者青睞,發(fā)展態(tài)勢迅猛,市場占有率已達(dá)到15%左右。于安全方面的考慮是城鎮(zhèn)居民更多選擇電熱水器和太陽能熱水器的主要原因。時(shí)下的商品房通風(fēng)效果并不好,燃?xì)猱a(chǎn)生的污染無法及時(shí)消除,而電熱水器和太陽能熱水器則基本沒有這方面的憂慮。三大熱水器:燃?xì)鉄崴鳌H老矣;電熱水器———風(fēng)頭正勁;太陽能熱水器———后勁十足。電熱水器的優(yōu)點(diǎn):易安裝,不受天氣的影響,不受樓層和供水管道的限制,
25、投入小。隨著技術(shù)進(jìn)步和新品的開發(fā),下置式、嵌入式等多種安裝形式的電熱水器先后上市,徹底擺脫了房間空間的限制。中央供水和數(shù)碼智能的電熱水器也已進(jìn)入市場。電熱水器的安全問題涉及到消費(fèi)者的生命,又加上近些年的能源危機(jī),人們生活節(jié)奏的加快,智能化電熱水器越來越受到消費(fèi)者的青睞。在當(dāng)今社會,科技日新月異,熱水器技術(shù)飛速發(fā)展,越來越多的科技成果被運(yùn)用到熱水器的制造中。如今的熱水器產(chǎn)品已經(jīng)絕對不是一個(gè)簡單的加熱器,而是科技含量高的現(xiàn)</p>
26、;<p> 本選題目的是基于人們對現(xiàn)代家庭舒適、便利、安全以及多元化信息服務(wù)的需要,基于AT89S52單片機(jī)設(shè)計(jì)具有智能特征的電熱水器控制器。</p><p> 選用AT89S52單片機(jī)作為控制芯片,就是為了實(shí)現(xiàn)電熱水器的智能化,持續(xù)穩(wěn)定的熱水供應(yīng),自動(dòng)斷電的安全功能,使人們洗浴時(shí)能放心享受,利于人們的身體健康,其務(wù)實(shí)性能快速滿足人們對現(xiàn)代生活快節(jié)奏的需求。</p><p&g
27、t; 1.3 國內(nèi)外研究狀況和成果</p><p> 據(jù)了解,熱水器內(nèi)膽最關(guān)鍵,如果內(nèi)膽損壞就意味著整臺機(jī)器報(bào)廢。與其他家用產(chǎn)品不同的是,電熱水器沒有必要頻繁升級換代,出于安全性和經(jīng)濟(jì)性的考慮,熱水器的耐用性才是廠商需要絞盡腦汁的。對于熱水器來說內(nèi)膽是最關(guān)鍵的,從一定意義來說,內(nèi)膽的品質(zhì)就代表熱水器的品質(zhì)。目前的內(nèi)膽技術(shù)紛 繁復(fù)雜,但究其本質(zhì)目標(biāo)都是一樣的:保溫、耐壓、不生銹、無水垢、不滲水是內(nèi)膽的基本要求。
28、市場上常見的類型有搪瓷內(nèi)膽、不銹鋼內(nèi)膽、鈦金內(nèi)膽、金圭內(nèi)膽等,搪瓷內(nèi)膽抗疲勞性差,不銹鋼內(nèi)膽焊縫容易漏水,目前比較先進(jìn)的內(nèi)膽主要是鈦金內(nèi)膽。 </p><p> 除了對耐用性的不懈追求,智能化技術(shù)運(yùn)用是今后技術(shù)發(fā)展的一個(gè)普遍趨勢。燃?xì)鉄崴髟O(shè)有自動(dòng)恒溫控制,停氣自動(dòng)關(guān)機(jī),超水溫泄壓等安全保護(hù)功能,即使臨時(shí)停氣,仍有儲存的熱水使用。智能化技術(shù)的運(yùn)用有兩個(gè)好處,一是更方便,二是更節(jié)能,按照用戶的使用習(xí)慣提前預(yù)先加熱
29、,讓使用者隨心享用熱水。而在非用水時(shí)間則啟動(dòng)中溫保溫方程式,根據(jù)設(shè)定溫度計(jì)算出最節(jié)能的保溫溫度,減小熱水器內(nèi)外溫差,因而大大減少保溫加熱次數(shù),真正做到不拔插頭更省電。在節(jié)能上冰箱等家電產(chǎn)品已經(jīng)走在了前面,熱水器這種用電量很大的產(chǎn)品更加應(yīng)該推進(jìn)節(jié)能技術(shù)的普及。</p><p> 對于傳統(tǒng)的電熱水器行業(yè)而言,要想出現(xiàn)本質(zhì)性的突破幾乎是不可能的,而在功能上不斷提升,抓住人性化需求,卻是一條可行之路。而事實(shí)正是如此。阿
30、里斯頓、比利奇、史密斯、海爾、美的爭先恐后推出了超大液晶屏、電子線控、超薄時(shí)尚、雙管加熱、漏電保護(hù)器、防電墻、多口出水等新技術(shù),尤其是海爾,甚至在電熱水器上增加了按摩功能,專門的噴霧按摩噴嘴,讓消費(fèi)者可以足不出戶就感受按摩的快樂。國外對智能電熱水器的主要研究成果有:</p><p> 西門子智能電熱水器,采用德國新電腦溫控技術(shù),確保出水溫度均勻恒定,使沐浴成為真正的享受。西門子家電集團(tuán)采用西門子在電站技術(shù)上的強(qiáng)
31、大防漏電安全技術(shù)為基礎(chǔ),開發(fā)出獨(dú)有的ELCB德國安全專家模式功能。除具有正常的防漏電裝置外,還具備安全電流自我檢測功能,隨時(shí)檢測防漏電系統(tǒng)是否正常工作,雙重保險(xiǎn)將個(gè)體與電源完全分開,杜絕意外發(fā)生。櫻花IMES智能記憶節(jié)能系統(tǒng),突破了傳統(tǒng)單時(shí)段節(jié)能模式,提供了獨(dú)一無二的三時(shí)段定時(shí)預(yù)熱和七種供水模式,其工作過程“聰明伶俐”,它不斷自動(dòng)存儲、分析主人近一個(gè)月用水的具體數(shù)據(jù),以最經(jīng)濟(jì)的模式提前為主人準(zhǔn)備熱水,真正實(shí)現(xiàn)全天候節(jié)能供水。特別是還具備
32、體貼的停電數(shù)據(jù)保留功能,就算停電48小時(shí),也能自動(dòng)記憶所有參數(shù),讓主人毫無后顧之憂。全新的智能中溫保溫功能,徹底彌補(bǔ)了傳統(tǒng)中溫保溫的缺陷,根據(jù)設(shè)定水溫、環(huán)境、季節(jié)的不同,自動(dòng)選擇最節(jié)能的保溫狀態(tài),避免固定中溫技術(shù)大幅度溫差造成不必要的浪費(fèi),縮短加熱時(shí)間,切實(shí)做到省電節(jié)能。配合特有超厚高密度聚氨脂發(fā)泡層,節(jié)能指標(biāo)全面達(dá)到國家專業(yè)標(biāo)準(zhǔn),當(dāng)然倍受信賴。完美的節(jié)能系統(tǒng)整合,把IMES智能記憶作為系統(tǒng)節(jié)能的核心,將各種節(jié)能的細(xì)節(jié)整合到盡善<
33、/p><p> 就中國的具體情況而言, 其研究成果雖稍遜于國外,但是學(xué)者們也在努力尋求技術(shù)的突破,比如海爾就走在了同行的前面。近日,海爾推出了一款全新產(chǎn)品——銀海象A6智能專家,成為國內(nèi)第一款具備記憶和計(jì)算能力雙重智能的熱水器。</p><p> 能記是A6的最大特色。它獨(dú)有的斷電自動(dòng)記憶功能,即使突然停電,系統(tǒng)也會將之前設(shè)置的參數(shù)自動(dòng)保存,從而在來電開機(jī)時(shí)仍保持原有設(shè)計(jì),無需重新設(shè)置,方
34、便簡單。 </p><p> 會算是A6的又一特色。許多熱水器也有預(yù)約功能,但預(yù)約的都是加熱時(shí)間。用戶一般不知道該提前多長時(shí)間加熱,因此不是早了就是晚了。而A6產(chǎn)品只需設(shè)定好你的洗浴時(shí)間即可。它會自動(dòng)根據(jù)當(dāng)前的室溫及水溫計(jì)算好所需的加熱時(shí)間,并自動(dòng)提前加熱,從而可以最大限度的減少用電損耗。 </p><p> 除了能記會算, A6的外觀也獨(dú)具一格。它使用L
35、ED超大顯示屏,清晰明了;同時(shí),A6引入無線智能遙控技術(shù),不僅使熱水器安裝徹底擺脫了高度的限制,操作更自由方便。另外,A6采用了下傾式控制面板,實(shí)現(xiàn)半隱藏式安裝,使浴室裝修更完美。</p><p> 此外,A6的節(jié)能效果同樣出色,智能預(yù)約、中溫保溫、分層加熱等讓您省錢到家。實(shí)驗(yàn)證明,僅中溫保溫一項(xiàng)技術(shù),就能在24小時(shí)內(nèi)節(jié)能約0.33度。如深圳市明佳實(shí)業(yè)發(fā)展有限公司獲得了19項(xiàng)熱水器發(fā)明專利的授權(quán)。在熱水器研發(fā)中
36、模擬大自然中的負(fù)離子功效,利用熱水器的電能、空氣氣壓、水壓形成的勢能和動(dòng)能,作用于空氣或水中的水分子使其發(fā)生破裂,使空氣中帶負(fù)電荷的氧分子和微小的水分子結(jié)合,生成大量的負(fù)離子。</p><p><b> 1.4整體設(shè)計(jì)方案</b></p><p> 設(shè)計(jì)家電熱水器控制系統(tǒng),可以顯示當(dāng)前水溫和設(shè)置水溫,低于設(shè)定溫度自動(dòng)加熱,可以進(jìn)行水溫設(shè)置和實(shí)時(shí)時(shí)間的設(shè)置,實(shí)現(xiàn)低功
37、率和標(biāo)準(zhǔn)功率的加熱模式選擇功能,利用發(fā)光二極管對加熱模式進(jìn)行顯示。系統(tǒng)硬件電路主要包括溫度檢測、復(fù)位電路、加熱電路等電路組成。利用數(shù)碼管來顯示設(shè)定溫度和當(dāng)前溫度。</p><p> 第二章 系統(tǒng)硬件設(shè)計(jì)</p><p> 系統(tǒng)設(shè)計(jì)硬件原理結(jié)構(gòu)見圖2.1所示。系統(tǒng)以高性價(jià)比的AT89S52單片機(jī)為核心,由復(fù)位電路、晶振電路、鍵盤輸入、DS18B20溫度采集、數(shù)碼管顯示電路、繼電器加熱電路
38、組成 。</p><p> 圖2.1 系統(tǒng)設(shè)計(jì)硬件原理結(jié)構(gòu)</p><p> 其中AT89S52為核心控制器件,DS18B20為水溫的信號采集器件,數(shù)碼管為顯示器件,繼電器為加熱器件。</p><p> 單片機(jī)應(yīng)用系統(tǒng)的硬件電路設(shè)計(jì)包含兩部分內(nèi)容:一是系統(tǒng)擴(kuò)展,即單片機(jī)內(nèi)部的功能單元。如ROM、RAM、I/O、定時(shí)器/計(jì)數(shù)器、中斷系統(tǒng)等不能滿足應(yīng)用系統(tǒng)的要求時(shí)
39、,必須在片外進(jìn)行擴(kuò)展,選擇適當(dāng)?shù)男酒O(shè)計(jì)相應(yīng)的電路。二是系統(tǒng)的配置,即按照系統(tǒng)功能要求配置外圍設(shè)備,如鍵盤、顯示器、打印機(jī)、A/D、D/A轉(zhuǎn)換器等,要設(shè)計(jì)適合的接口電路。本設(shè)計(jì)中只用最小系統(tǒng)加上鍵盤、顯示、溫度測量電路,單片機(jī)本身資源可以滿足設(shè)計(jì)要求,所以不必對單片機(jī)進(jìn)行擴(kuò)展。</p><p> 2.1單片機(jī)的最小系統(tǒng)</p><p> 所謂最小系統(tǒng)就是指由單片機(jī)和一些基本的外圍電路
40、所組成的一個(gè)可以工作的單片機(jī)系統(tǒng)。一般來說,它包括單片機(jī)、晶振電路和復(fù)位電路。①晶振電路:AT89S52片內(nèi)有一個(gè)由高增益反相放大器構(gòu)成的振蕩電路。XTALl和XTAL2分別為振蕩電路的輸入輸出端。其振蕩電路有2種組成方式:片內(nèi)振蕩器和片外振蕩器。②復(fù)位電路:在RST輸入端出現(xiàn)高電平時(shí)實(shí)現(xiàn)復(fù)位和初始化[5]。</p><p> 2.1.1 AT89S52單片機(jī)</p><p> 單片機(jī)
41、的全稱是微型計(jì)算機(jī)(Single Chip Microcomputer)。我們知道8031芯片內(nèi)部無ROM,需要外擴(kuò)程序存儲器,由此造成電路焊接的困難,況且使用8031還需要另外購買其他的芯片,如A/D轉(zhuǎn)換及定時(shí)/計(jì)數(shù)器(PWM)等芯片,從而造成成本較高,不實(shí)用。 </p><p> 熱水器控制電路數(shù)控部分采用AT89S52單片機(jī)作為控制核心。AT89S52是一種帶4k可擦除存儲器的低電壓、高性能CM
42、OS8位微處理器,俗稱單片機(jī)。AT89S52具有以下標(biāo)準(zhǔn)功能:4k字節(jié)Flash,256字節(jié)RAM,32位I/0口,看門狗定時(shí)器,2個(gè)數(shù)據(jù)指針,2個(gè)16位定時(shí)器/計(jì)數(shù)器,一個(gè)6向量2級中斷結(jié)構(gòu),全雙工串行口,片內(nèi)晶振及時(shí)鐘電路。另外,AT89S52可降至0Hz靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式??臻e模式下,單片機(jī)停止工作,允許RAM、定時(shí)器/計(jì)數(shù)器、串口、中斷繼續(xù)工作。掉電保護(hù)方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機(jī)一切工作
43、停止。直到下一個(gè)中斷或硬件復(fù)位為止。8位微控制器8 k字節(jié)為在系統(tǒng)可編程Flash[7]。 </p><p> AT89S52單片機(jī)的管腳圖如圖2.2所示:</p><p> 圖2.2 AT89S52單片機(jī)的管腳圖</p><p><b> 各引腳介紹如下:</b></p><p> P0口:
44、P0口是一組8位漏極開路型雙向I/O口,也即地址/數(shù)據(jù)總線復(fù)用口。作為輸出口用時(shí),每位能吸收電流的方式驅(qū)動(dòng)8個(gè)TTL邏輯門電路,對端口P0寫“1”時(shí),可作為高阻抗輸入端用。在訪問外部數(shù)據(jù)存儲器或程序存儲器時(shí),這組口線分時(shí)轉(zhuǎn)換地址(低8位)和數(shù)據(jù)總線復(fù)用,在訪問期間激活內(nèi)部上拉電阻。在Flash編程時(shí),P0口接收指令字節(jié),而在程序校驗(yàn)時(shí),輸出指令字節(jié),校驗(yàn)時(shí),要求外接上拉電阻。</p><p> P1口:P1是一
45、個(gè)帶內(nèi)部上拉電阻的8位雙向I/O口, P1的輸出緩沖級可驅(qū)動(dòng)(吸收或輸出電流)4個(gè)TTL邏輯門電路。對端口寫“1”,通過內(nèi)部的上拉電阻把端口拉到高電平,此時(shí)可作輸入口。作輸入口使用時(shí),因?yàn)閮?nèi)部存在上拉電阻,某個(gè)引腳被外部信號拉低時(shí)會輸出一個(gè)電流(IIL)。與AT89S51不同之處是,P1.0 和P1.1 還可分別作為定時(shí)/計(jì)數(shù)器2 的外部計(jì)數(shù)輸入(P1.0/T2)和輸入(P1.1/T2EX),F(xiàn)lash 編程和程序校驗(yàn)期間,P1接收低8
46、位地址。</p><p> P2口:P2是一個(gè)帶有內(nèi)部上拉電阻的8位雙向I/O口,P2的輸出緩沖級可驅(qū)動(dòng)(吸收或輸出電流)4個(gè)TTL邏輯門電路。對端口P2寫“1”,通過內(nèi)部的上拉電阻把端口拉到高電平,此時(shí)可作輸入口,作輸入口使用時(shí),因?yàn)閮?nèi)部存在上拉電阻,某個(gè)引腳被外部信號拉低時(shí)會輸出一個(gè)電流(IIL)。</p><p> 在訪問外部程序存儲器或16位地址的外部數(shù)據(jù)存儲器(例如執(zhí)行MOV
47、X @DPTR 指令)時(shí),P2口送出高8位地址數(shù)據(jù)。在訪問8 位地址的外部數(shù)據(jù)存儲器(如執(zhí)行MOVX@RI 指令)時(shí),P2口輸出P2鎖存器的內(nèi)容。Flash編程或校驗(yàn)時(shí),P2亦接收高位地址和一些控制信號。</p><p> P3口:P3口是一組帶有內(nèi)部上拉電阻的8位雙向I/O口。P3 口輸出緩沖級可驅(qū)動(dòng)(吸收或輸出電流)4個(gè)TTL 邏輯門電路。對P3口寫入“1”時(shí),它們被內(nèi)部上拉電阻拉高并可作為輸入端口。此時(shí),
48、被外部拉低的P3口將用上拉電阻輸出電流(IIL)。P3口除了作為一般的I/O口線外,更重要的用途是它的第二功能。P3口還接收一些用于Flash閃速存儲器編程和程序校驗(yàn)的控制信號。</p><p> RST:復(fù)位輸入。當(dāng)振蕩器工作時(shí),RST引腳出現(xiàn)兩個(gè)機(jī)器周期以上高電平將使單片機(jī)復(fù)位。</p><p> ALE/PROG:當(dāng)訪問外部程序存儲器或數(shù)據(jù)存儲器時(shí),ALE(地址鎖存允許)輸出脈沖
49、用于鎖存地址的低8 位字節(jié)。一般情況下,ALE 仍以時(shí)鐘振蕩頻率的1/6 輸出固定的脈沖信號,因此它可對外輸出時(shí)鐘或用于定時(shí)目的。要注意的是:每當(dāng)訪問外部數(shù)據(jù)存儲器時(shí)將跳過一個(gè)ALE 脈沖。對Flash存儲器編程期間,該引腳還用于輸入編程脈沖(PROG)。如有必要,可通過對特殊功能寄存器(SFR)區(qū)中的8EH 單元的D0 位置位,可禁止ALE 操作。該位置位后,只有一條MOVX和MOVC指令才能將ALE激活。此外,該引腳會被微弱拉高,單
50、片機(jī)執(zhí)行外部程序時(shí),應(yīng)設(shè)置ALE禁止位無效。</p><p> PSEN:程序儲存允許(PSEN)輸出是外部程序存儲器的讀選通信號,當(dāng)AT89S52 由外部程序存儲器取指令(或數(shù)據(jù))時(shí),每個(gè)機(jī)器周期兩次PSEN 有效,即輸出兩個(gè)脈沖。在此期間,當(dāng)訪問外部數(shù)據(jù)存儲器,將跳過兩次PSEN信號。</p><p> EA/VPP:外部訪問允許。欲使CPU 僅訪問外部程序存儲器(地址為0000H
51、—FFFFH),EA 端必須保持低電平(接地)。需注意的是:如果加密位LB1 被編程,復(fù)位時(shí)內(nèi)部會鎖存EA端狀態(tài)。如EA端為高電平(接Vcc端),CPU 則執(zhí)行內(nèi)部程序存儲器中的指令。Flash存儲器編程時(shí),該引腳加上+12V 的編程允許電源Vpp,當(dāng)然這</p><p> 必須是該器件是使用12V編程電壓Vpp。</p><p> XTAL1:振蕩器反相放大器及內(nèi)部時(shí)鐘發(fā)生器的輸入端
52、。</p><p> XTAL2:振蕩器反相放大器的輸出端。</p><p> 2.1.2 AT89S52定時(shí)器/計(jì)數(shù)器</p><p> AT89S52單片機(jī)內(nèi)部有三個(gè)16位可編程的定時(shí)器/計(jì)數(shù)器,即定時(shí)器T0、定時(shí)器T1和定時(shí)器T2。它們既可用作定時(shí)器方式,又可用作計(jì)數(shù)器方式,且都有4種工作方式可供選擇。圖2.3是定時(shí)器/計(jì)數(shù)器的結(jié)構(gòu)框圖。由圖可知,定時(shí)器
53、/計(jì)數(shù)器由定時(shí)器0、定時(shí)器1、定時(shí)器方式寄存器TMOD和定時(shí)器控制寄存器TCON組成。 </p><p> 定時(shí)器0,定時(shí)器1是16位加法計(jì)數(shù)器,分別由兩個(gè)8位專用寄存器組成:定時(shí)器0由TH0和TL0組成,定時(shí)器1由TH1和TL1組成。</p><p> 圖2.3定時(shí)器/計(jì)數(shù)器結(jié)構(gòu)框圖</p><p> TL0、TL1、TH0、TH1的訪問地址依次為
54、8AH?8DH,每個(gè)寄存器均可單獨(dú)訪問。定時(shí)器0或定時(shí)器1用作計(jì)數(shù)器時(shí),對芯片引腳T0(P3.4)或T1(P3.5)上輸入的脈沖計(jì)數(shù),每輸入一個(gè)脈沖,加法計(jì)數(shù)器加1;其用作定時(shí)器時(shí),對內(nèi)部機(jī)器周期脈沖計(jì)數(shù),由于機(jī)器周期是定值,故計(jì)數(shù)值確定時(shí),時(shí)間也隨之確定。</p><p> TMOD、TCON與定時(shí)器0、定時(shí)器1間通過內(nèi)部總線及邏輯電路連接,TMOD用于設(shè)置定時(shí)器的工作方式,TCON用于控制定時(shí)器的啟動(dòng)與停止
55、。</p><p> 計(jì)數(shù)方式時(shí),T的功能是計(jì)來自T0(P3.4)T1(P3.5)的外部脈沖信號的個(gè)數(shù)。 輸入脈沖由1變0的下降沿時(shí),計(jì)數(shù)器的值增加1直到回零產(chǎn)生溢出中斷,表示計(jì)數(shù)已達(dá)預(yù)期個(gè)數(shù)。外部輸入信號的下降沿將觸發(fā)計(jì)數(shù),識別一個(gè)從―1‖到―0‖的跳變需2個(gè)機(jī)器周期,所以,對外部輸入信號最高的計(jì)數(shù)速率是晶振頻率的1/24。若晶振頻率為6MHz,則計(jì)數(shù)脈沖頻率應(yīng)低于1/4MHz。當(dāng)計(jì)數(shù)器滿后,再來一
56、個(gè)計(jì)數(shù)脈沖,計(jì)數(shù)器全部回0,這就是溢出。</p><p> 脈沖的計(jì)數(shù)長度與計(jì)數(shù)器預(yù)先裝入的初值有關(guān)。初值越大,計(jì)數(shù)長度越?。怀踔翟叫?,計(jì)數(shù)長度越大。最大計(jì)數(shù)長度為65536(216)個(gè)脈沖(初值為0)。</p><p> 定時(shí)方式時(shí),T記錄單片機(jī)內(nèi)部振蕩器輸出的脈沖(機(jī)器周期信號)個(gè)數(shù)。每一個(gè)機(jī)器周期使T0或T1的計(jì)數(shù)器增加1,直至計(jì)滿回零自動(dòng)產(chǎn)生溢出中斷請求。</p>
57、<p> 定時(shí)器的定時(shí)時(shí)間不僅與定時(shí)器的初值有關(guān),而且還與系統(tǒng)的時(shí)鐘頻率有關(guān)。在機(jī)器周期一定的情況下,初值越大,定時(shí)時(shí)間越短;初值越小,定時(shí)時(shí)間越長。最長的定時(shí)時(shí)間為65536(216)個(gè)機(jī)器周期(初值為0)。</p><p> 2.1.3復(fù)位電路和晶振電路</p><p> 復(fù)位是單片機(jī)的初始化操作。其主要功能是把PC初始化為0000H,使單片機(jī)從0000H單元開始執(zhí)行
58、程序。除了進(jìn)入系統(tǒng)的正常初始化之外,當(dāng)由于程序運(yùn)行出錯(cuò)或者操作錯(cuò)誤使系統(tǒng)處于死鎖狀態(tài)時(shí),為了擺脫困境,也需按復(fù)位鍵重新啟動(dòng)。</p><p> 整個(gè)復(fù)位電路包括芯片內(nèi)、外兩部分。外部電路產(chǎn)生的復(fù)位信號(RST)送至施密特觸發(fā)器,再由片內(nèi)復(fù)位電路在每個(gè)機(jī)器周期的S5P2時(shí)刻對施密特觸發(fā)器的輸出進(jìn)行采樣,然后才得到內(nèi)部復(fù)位操作所需要的信號。并且在外圍設(shè)計(jì)晶振電路使單片機(jī)正常工作。 </p>
59、<p> 晶振電路:AT89S52片內(nèi)有一個(gè)由高增益反相放大器構(gòu)成的振蕩電路。XTALl和XTAL2分別為振蕩電路的輸入輸出端。 </p><p> 本系統(tǒng)的復(fù)位和晶振電路采用圖2.4所示的復(fù)位方式</p><p> 圖2.4晶振和復(fù)位電路</p><p><b> 2.2溫度檢測電路</b></p>
60、<p> 本文采用溫度傳感器DS18B20采集熱水器的實(shí)時(shí)溫度,提供給AT89S52的P3.7口作為數(shù)據(jù)輸入。在本次設(shè)計(jì)中我們所控的對象為水溫。其電路原理圖如下:</p><p> 圖2.5 溫度檢測電路</p><p> DS18B20是DALLAS公司生產(chǎn)的一線式數(shù)字溫度傳感器,具有3引腳T0—92小體積封裝形式;溫度測量范圍為—55℃~+125℃,可編程為9為~12為
61、A/D轉(zhuǎn)換精度,測溫分辨率可達(dá)0.0625℃,被測溫度用符號擴(kuò)展的16位數(shù)字量方式串行輸出,支持3V~5.5V的電壓范圍,使系統(tǒng)設(shè)計(jì)更靈活、方便;其工作電源既可在遠(yuǎn)端引入,也可采用寄生電源方式產(chǎn)生;多個(gè)DS18B20可以并聯(lián)到3根或2根線上,CPU只需一根端口線就能與諸多DS18B20通信,占用微處理器的端口較少,可節(jié)省大量的引線和邏輯電路。以上特點(diǎn)使DS18B20非常適用于遠(yuǎn)距離多點(diǎn)溫度檢測系統(tǒng)。分辨率設(shè)定,及用戶設(shè)定的報(bào)警溫度存儲在
62、EEPROM中,掉電后依然保存。DS18B20使電壓、特性有更多的選擇,讓我們可以構(gòu)建適合自己的經(jīng)濟(jì)的測溫系統(tǒng)。如圖2.5所示DS18B20的2腳DQ為數(shù)字信號輸入/輸出端;1腳GND為電源地;3腳VDD為外接供電電源輸入端。</p><p> 當(dāng)傳感器工作時(shí),如果水溫低于設(shè)定溫度時(shí),將溫度傳給單片機(jī),熱水器開始工作,加熱指示燈亮。</p><p> 2.2.1數(shù)字式溫度傳感器DS18
63、B20</p><p><b> 功能特性描述</b></p><p> DALLAS最新單線數(shù)字溫度傳感器DS18B20簡介新的“一線器件”體積更小、適用電壓更寬、更經(jīng)濟(jì),Dallas 半導(dǎo)體公司的數(shù)字化溫度傳感器DS1820是世界上第一片支持 “一線總線”接口的溫度傳感器。一線總線獨(dú)特而且經(jīng)濟(jì)的特點(diǎn),使用戶可輕松地組建傳感器網(wǎng)絡(luò),為測量系統(tǒng)的構(gòu)建引入全新概念。
64、現(xiàn)在,新一代的“DS1820”體積更小、更經(jīng)濟(jì)、更靈活。使您可以充分發(fā)揮“一線總線”的長處。 DS18B20、 DS18B22 “一線總線”數(shù)字化溫度傳感器 同DS18B20一樣,DS18B20也 支持“一線總線”接口,測量溫度范圍為 -55°C~+125°C,在-10~+85°C范圍內(nèi),精度為±0.5°C。DS1822的精度較差為± 2°C ?,F(xiàn)場溫度直接以“一線總
65、線”的數(shù)字方式傳輸,大大提高了系統(tǒng)的抗干擾性。適合于惡劣環(huán)境的現(xiàn)場溫度測量,如:環(huán)境控制、設(shè)備或過程控制、測溫類消費(fèi)電子產(chǎn)品等。與前一代產(chǎn)品不同,新的產(chǎn)品支持3V~5.5V的電壓范圍,使系統(tǒng)設(shè)計(jì)更靈活、方便。而且新一代產(chǎn)品更便宜,體積更小。DS18B20可以程序設(shè)定9~12位的分辨率,精度為±0.5°C??蛇x更小的封裝方式,更寬的電壓適</p><p><b> 管腳描述</
66、b></p><p> DS18B20可編程溫度傳感器有3個(gè)管腳,如圖2.6所示。GND為接地線,DQ為數(shù)據(jù)輸入輸出接口,通過一個(gè)較弱的上拉電阻與單片機(jī)相連。VDD為電源接口,既可由數(shù)據(jù)線提供電源,又可由外部提供電源,范圍3 V~5.5V。本文使用外部電源供電。</p><p> 圖2.6 DS18B20管腳圖</p><p><b> 1、測
67、溫功能:</b></p><p> 當(dāng)DSI8B20接收到溫度轉(zhuǎn)換命令后,開始啟動(dòng)轉(zhuǎn)換。轉(zhuǎn)換完成后的溫度值就以16位帶符號擴(kuò)展的二進(jìn)制補(bǔ)碼形式存儲在高速暫存存儲器的0,1字節(jié)。單片機(jī)可通過單線接口讀到該數(shù)據(jù),讀取時(shí)低位在前,高位在后,數(shù)據(jù)格式以0.0625℃/LSB形式表示。溫度值格式表2.1示:</p><p><b> 表2.1 溫度格式</b>&
68、lt;/p><p> 其中“S”為標(biāo)志位,對應(yīng)的溫度計(jì)算:當(dāng)符號位S=0時(shí),直接將二進(jìn)制位轉(zhuǎn)換為十進(jìn)制;當(dāng)S=1時(shí),先將補(bǔ)碼變換為原碼,再計(jì)算十進(jìn)制值。表2.1表是對應(yīng)的一部分溫度值。DSI8B20完成溫度轉(zhuǎn)換后,就把測得的溫度值與TH做比較,若T>TH或T<TL,則將該器件內(nèi)的告警標(biāo)志置位,并對主機(jī)發(fā)出的告警搜索命令做出響應(yīng)。溫度轉(zhuǎn)換算法及分析如下:</p><p> 由于D
69、S18B20轉(zhuǎn)換后的代碼并不是實(shí)際的溫度值,所以要進(jìn)行計(jì)算轉(zhuǎn)換。溫度高字節(jié)(MS Byte)高5位是用來保存溫度的正負(fù)(標(biāo)志為S的bit11~bit15),高字節(jié)(MS Byte)低3位和低字節(jié)來保存溫度值(bit0~bit10)。其中低字節(jié)(LS Byte)的低4位來保存溫度的小數(shù)位(bit0~bit3)。由于本程序采用的是0.0625的精度,小數(shù)部分的值,可以用后四位代表的實(shí)際數(shù)值乘以0.0625,得到真正的數(shù)值,數(shù)值可能帶幾個(gè)小數(shù)
70、位,所以采取小數(shù)舍入,保留一位小數(shù)即可。也就說,本系統(tǒng)的溫度精確到了0.1度。</p><p> 2.2.2 DS18B20的初始化與讀寫操作</p><p> 1. DS18B20的初始化</p><p> ?。?) 先將數(shù)據(jù)線置高電平“1”; </p><p> ?。?) 延時(shí)(該時(shí)間要求的不是很嚴(yán)格,但是盡可能的短一點(diǎn));</
71、p><p> ?。?) 數(shù)據(jù)線拉到低電平“0”; </p><p> ?。?) 延時(shí)750微秒(該時(shí)間的時(shí)間范圍可以從480到960微秒); </p><p> ?。?) 數(shù)據(jù)線拉到高電平“1”; </p><p> ?。?) 延時(shí)等待(如果初始化成功則在15到60毫秒時(shí)間之內(nèi)產(chǎn)生一個(gè)由DS18B20所返回的低電平“0”。據(jù)該狀態(tài)可以來確定它的存
72、在,但是應(yīng)注意不能無限的進(jìn)行等待,不然會使程序進(jìn)入死循環(huán),所以要進(jìn)行超時(shí)控制); </p><p> ?。?) 若CPU讀到了數(shù)據(jù)線上的低電平“0”后,還要做延時(shí),其延時(shí)的時(shí)間從發(fā)出的高電平算起(第(5)步的時(shí)間算起)最少要480微秒; </p><p> (8) 將數(shù)據(jù)線再次拉高到高電平“1”后結(jié)束。</p><p> DS18B20的的初始化見圖2.7所示。
73、</p><p> 圖2.7 DS18B20的的初始化</p><p> 2. DS18B20的寫操作</p><p> (1) 數(shù)據(jù)線先置低電平“0”; </p><p> (2) 延時(shí)確定的時(shí)間為15微秒; </p><p> ?。?) 按從低位到高位的順序發(fā)送字節(jié)(一次只發(fā)送一位); </p>
74、<p> ?。?) 延時(shí)時(shí)間為45微秒; </p><p> ?。?) 將數(shù)據(jù)線拉到高電平; </p><p> ?。?) 重復(fù)上(1)到(6)的操作直到所有的字節(jié)全部發(fā)送完為止; </p><p> (7) 最后將數(shù)據(jù)線拉高。</p><p> 在這里要注意的是(3),寫數(shù)據(jù)時(shí)時(shí)1bit單獨(dú)傳送,這里有兩種情況。</
75、p><p> 當(dāng)需要傳送“1”時(shí),單片機(jī)應(yīng)該給DS18B20芯片的DQ接口賦低電平,大約15秒以后,將DQ釋放為高電平,延時(shí)約45微妙即可。</p><p> 當(dāng)需要傳送“0”時(shí),單片機(jī)應(yīng)該給DS18B20芯片的DQ接口賦低電平,并且持續(xù)拉低最少60微妙,然后將DQ釋放為高電平,再延時(shí)約15秒即可。</p><p> DS18B20的寫操作時(shí)序圖見圖2.8所示。&
76、lt;/p><p> 圖2.8 DS18B20的寫操作時(shí)序圖</p><p> 3. DS18B20的讀操作</p><p> (1)將數(shù)據(jù)線拉高“1”;</p><p><b> (2)延時(shí)2微秒;</b></p><p> ?。?)將數(shù)據(jù)線拉低“0”;</p><p&g
77、t; (4)延時(shí)15微秒;</p><p> ?。?)將數(shù)據(jù)線拉高“1”;</p><p> (6)延時(shí)15微秒;</p><p> (7)讀數(shù)據(jù)線的狀態(tài)得到一個(gè)狀態(tài)位,并進(jìn)行數(shù)據(jù)處理; </p><p> ?。?)延時(shí)30微秒;</p><p> 這里只要按以上操作將狀態(tài)位的各各bit按順序儲存好即可。<
78、;/p><p> DS18B20的讀操作時(shí)序圖見圖2.9所示。</p><p> 圖2.9 DS18B20的讀操作時(shí)序圖</p><p> 2.2.3 DS18B20的指令</p><p> DS18B20溫度傳感器的存儲器 DS18B20溫度傳感器的內(nèi)部存儲器包括一個(gè)高速暫存RAM和一個(gè)非易失性的可電擦除的EEPRAM,后者存放高溫度和
79、低溫度觸發(fā)器 TH、TL和結(jié)構(gòu)寄存器。配置寄存器,該字節(jié)各位的意義見表2.2所示。</p><p> 表2.2 配置寄存器結(jié)構(gòu)</p><p> 高速暫存存儲器由9個(gè)字節(jié)組成。其分配見表2.3所示,當(dāng)溫度轉(zhuǎn)換命令發(fā)布后,經(jīng)轉(zhuǎn)換所得的溫度值以二字節(jié)補(bǔ)碼形式存放在高速暫存存儲器的第0和第1個(gè)字節(jié)。單片機(jī)可通過單線接口讀到該數(shù)據(jù),讀取時(shí)低位在前,高位在后。對應(yīng)的溫度計(jì)算:當(dāng)符號位S=0時(shí),直
80、接將二進(jìn)制位轉(zhuǎn)換為十進(jìn)制;當(dāng)S=1時(shí),先將補(bǔ)碼變?yōu)樵a,再計(jì)算十進(jìn)制值。第九個(gè)字節(jié)是冗余檢驗(yàn)字節(jié)。 </p><p> 表2.3 DS18B20暫存寄存器分布</p><p> 根據(jù)DS18B20的通訊協(xié)議,主機(jī)(單片機(jī))控制DS18B20完成溫度轉(zhuǎn)換必須經(jīng)過三個(gè)步驟:每一次讀寫之前都要對DS18B20進(jìn)行復(fù)位操作,復(fù)位成功后發(fā)送一條ROM指令,最后發(fā)送RAM指令,這樣才能對DS18B
81、20進(jìn)行預(yù)定的操作。復(fù)位要求主CPU將數(shù)據(jù)線下拉500微秒,然后釋放,當(dāng)DS18B20收到信號后等待16~60微秒左右,后發(fā)出60~240微秒的存在低脈沖,主CPU收到此信號表示復(fù)位成功。 ROM指令表見表2.4所示,RAM指令表見表2.5所示。</p><p> 表2.4 ROM指令表</p><p> 表2.5 RAM指令表</p><p> 2.3鍵盤接
82、口電路設(shè)計(jì)</p><p> 鍵盤在單片機(jī)應(yīng)用系統(tǒng)中能實(shí)現(xiàn)向單片機(jī)輸入數(shù)據(jù)、傳送命令等功能,是人機(jī)交流的主要手段。在單片機(jī)系統(tǒng)中常用的鍵盤有兩種:機(jī)械式按鍵鍵盤和薄膜鍵盤。本設(shè)計(jì)中采用的是機(jī)械按鍵鍵盤。</p><p> 方案一:采用矩陣式鍵盤,其優(yōu)點(diǎn)是可以按鍵多,適合于要求使用多按鍵的場合,如計(jì)算器,電子密碼鎖等。缺點(diǎn)是占用較多的I/O口,軟件編程復(fù)雜,鍵盤掃描時(shí)間較長。
83、</p><p> 方案二:采用獨(dú)立式按鍵,其優(yōu)點(diǎn)是響應(yīng)速度快,接口簡單,易于編程,使用方便。 </p><p> 本設(shè)計(jì)需要按鍵不多,故通過上述兩個(gè)方案的比較,本設(shè)計(jì)采用方案二,使用獨(dú)立式按鍵。共設(shè)置四個(gè)按鍵,第一個(gè)按鍵為選擇鍵,第二個(gè)按鍵為加一鍵,第三個(gè)按鍵為減一鍵。第四個(gè)按鍵為鍵。鍵盤連接如圖2.10所示:</p><p> 圖2.10獨(dú)立式鍵
84、盤連接</p><p> 按鍵的閉合與否,反映在行線輸出電壓上呈高、低電平的變化。如果輸出高電平表示按鍵斷開,低電平則表示按鍵閉合。通過對行線電平狀態(tài)的檢測,便可確認(rèn)按鍵按下與否。</p><p><b> 2.4數(shù)碼管</b></p><p> 2.4.1數(shù)碼管簡介</p><p> 數(shù)碼管是一種半導(dǎo)體發(fā)光器件
85、,其基本單元是發(fā)光二極管。</p><p> 數(shù)碼管按段數(shù)分為七段數(shù)碼管和八段數(shù)碼管,八段數(shù)碼管比七段數(shù)碼管多一個(gè)發(fā)光二極管單元(多一個(gè)小數(shù)點(diǎn)顯示);按能顯示多少個(gè)“8”可分為1位、2位、4位等等數(shù)碼管。</p><p> 按發(fā)光二極管單元連接方式分為共陽極數(shù)碼管和共陰極數(shù)碼管。共陽數(shù)碼管是指將所有發(fā)光二極管的陽極接到一起形成公共陽極(COM)的數(shù)碼管。共陽數(shù)碼管在應(yīng)用時(shí)應(yīng)將公共極CO
86、M接到+5V,當(dāng)某一字段發(fā)光二極管的陰極為低電平時(shí),相應(yīng)字段就點(diǎn)亮。當(dāng)某一字段的陰極為高電平時(shí),相應(yīng)字段就不亮。共陰數(shù)碼管是指將所有發(fā)光二極管的陰極接到一起形成公共陰極(COM)的數(shù)碼管。共陰數(shù)碼管在應(yīng)用時(shí)應(yīng)將公共極COM接到地線GND上,當(dāng)某一字段發(fā)光二極管的陽極為高電平時(shí),相應(yīng)字段就點(diǎn)亮。當(dāng)某一字段的陽極為低電平時(shí),相應(yīng)字段就不亮。</p><p> 使用LED顯示器時(shí),要注意區(qū)分這兩種不同的接法。為了顯示
87、數(shù)字或字符,必須對數(shù)字或字符進(jìn)行編碼。七段數(shù)碼管加上一個(gè)小數(shù)點(diǎn),共計(jì)8段。因此為LED顯示器提供的編碼正好是一個(gè)字節(jié)。本設(shè)計(jì)中采用共陽及LED顯示器,根據(jù)電路連接圖顯示十六進(jìn)制數(shù)的編碼見表2.6。</p><p> 表2.6六進(jìn)制數(shù)的編碼</p><p> 2.4.2 數(shù)碼管的顯示</p><p> 數(shù)碼管要正常顯示,就要用驅(qū)動(dòng)電路來驅(qū)動(dòng)數(shù)碼管的各個(gè)段碼,從而
88、顯示出我們要的數(shù)字,因此根據(jù)數(shù)碼管的驅(qū)動(dòng)方式的不同,可以分為靜態(tài)式和動(dòng)態(tài)式兩類。</p><p><b> 1)靜態(tài)顯示驅(qū)動(dòng)</b></p><p> 靜態(tài)驅(qū)動(dòng)也稱直流驅(qū)動(dòng)。靜態(tài)驅(qū)動(dòng)是指每個(gè)數(shù)碼管的每一個(gè)段碼都由一個(gè)單片機(jī)的I/O端口進(jìn)行驅(qū)動(dòng),或者使用如BCD碼二-十進(jìn)制譯碼器譯碼進(jìn)行驅(qū)動(dòng)。靜態(tài)驅(qū)動(dòng)的優(yōu)點(diǎn)是編程簡單,顯示亮度高,缺點(diǎn)是占用I/O端口多,如驅(qū)動(dòng)5個(gè)
89、數(shù)碼管靜態(tài)顯示則需要5×8=40根I/O端口來驅(qū)動(dòng),要知道一個(gè)89S51單片機(jī)可用的I/O端口才32個(gè)呢:),實(shí)際應(yīng)用時(shí)必須增加譯碼驅(qū)動(dòng)器進(jìn)行驅(qū)動(dòng),增加了硬件電路的復(fù)雜性。</p><p><b> 2)動(dòng)態(tài)顯示驅(qū)動(dòng)</b></p><p> 數(shù)碼管動(dòng)態(tài)顯示接口是單片機(jī)中應(yīng)用最為廣泛的一種顯示方式之一,動(dòng)態(tài)驅(qū)動(dòng)是將所有數(shù)碼管的8個(gè)顯示筆劃"a
90、,b,c,d,e,f,g,dp"的同名端連在一起,另外為每個(gè)數(shù)碼管的公共極COM增加位選通控制電路,位選通由各自獨(dú)立的I/O線控制,當(dāng)單片機(jī)輸出字形碼時(shí),所有數(shù)碼管都接收到相同的字形碼,但究竟是那個(gè)數(shù)碼管會顯示出字形,取決于單片機(jī)對位選通COM端電路的控制,所以我們只要將需要顯示的數(shù)碼管的選通控制打開,該位就顯示出字形,沒有選通的數(shù)碼管就不會亮。通過分時(shí)輪流控制各個(gè)數(shù)碼管的的COM端,就使各個(gè)數(shù)碼管輪流受控顯示,這就是動(dòng)態(tài)驅(qū)動(dòng)
91、。在輪流顯示過程中,每位數(shù)碼管的點(diǎn)亮?xí)r間為1~2ms,由于人的視覺暫留現(xiàn)象及發(fā)光二極管的余輝效應(yīng),盡管實(shí)際上各位數(shù)碼管并非同時(shí)點(diǎn)亮,但只要掃描的速度足夠快,給人的印象就是一組穩(wěn)定的顯示數(shù)據(jù),不會有閃爍感,動(dòng)態(tài)顯示的效果和靜態(tài)顯示是一樣的,能夠節(jié)省大量的I/O端口,而且功耗更低。本文中設(shè)計(jì)的顯示是動(dòng)態(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ù)碼管正放時(shí),垂直方向上的長度;高——數(shù)碼管的厚度。</p&
93、gt;<p><b> 3)時(shí)鐘點(diǎn)</b></p><p> 四位數(shù)碼管中,第二位8與第三位8字中間的二個(gè)點(diǎn)。一般用于顯示時(shí)鐘中的秒。</p><p> 數(shù)碼管使用的電流與電壓</p><p><b> 4)電流</b></p><p> 靜態(tài)時(shí),推薦使用10-15mA;
94、動(dòng)態(tài)時(shí),16/1動(dòng)態(tài)掃描時(shí),平均電流為4-5mA,峰值電流50-60mA。</p><p><b> 5)電壓</b></p><p> 查引腳排布圖,看一下每段的芯片數(shù)量是多少?當(dāng)紅色與黃綠色時(shí),使用1.9V乘以每段的芯片串聯(lián)的個(gè)數(shù);當(dāng)綠色/藍(lán)色時(shí),使用3.1V乘以每段的芯片串聯(lián)的個(gè)數(shù)。</p><p> 數(shù)碼管的顯示由P0口完成控制
95、。有兩點(diǎn)需要注意,第一點(diǎn)是要哪一個(gè)數(shù)碼管亮,第二點(diǎn)是亮的數(shù)碼管顯示什么數(shù)字。</p><p> 見圖2.11于單片機(jī)僅僅起到控制的作用,其輸出電流十分小,所以P0端需要接上拉電阻與5V電源,通過電壓的變化控制5V電源點(diǎn)亮,想要圖中a端由電流通過時(shí),即給P0^0一個(gè)低電平,觸發(fā)上拉電阻兩端間的電勢差,這樣就能促使電流流向a點(diǎn),從而使a端對應(yīng)的LED燈點(diǎn)亮。</p><p> 圖2.11單
96、片機(jī)與數(shù)碼管的硬件連接</p><p><b> 2.5繼電器電路</b></p><p> 圖2.12 繼電器電路圖</p><p> 繼電器電路由繼電器、三極管和發(fā)光二極管組成。當(dāng)當(dāng)水溫低于設(shè)定溫度時(shí),</p><p> ?。≒3.6)輸出高電平,三極管Q5導(dǎo)通,繼電器吸合,指示燈亮,加熱裝置啟動(dòng)。當(dāng)水溫達(dá)到設(shè)
97、定溫度時(shí),(P3.6)輸出低電平,三極管截止,繼電器斷開,關(guān)閉加熱裝置和指示燈。</p><p><b> 2.6 電源電路</b></p><p> 電源電路按元件類型可分為電子管穩(wěn)壓電路、三極管穩(wěn)壓電路、可控硅穩(wěn)壓電路、集成穩(wěn)壓電路。根據(jù)調(diào)整元件與鏈接方法,可分為并聯(lián)型和串聯(lián)型;根據(jù)調(diào)整元件工作狀態(tài)不同,可分為線性和開關(guān)開關(guān)穩(wěn)壓電路。本案例中采用的電路電路設(shè)計(jì)
98、如圖2.13所示:</p><p> 圖2.13 電源電路</p><p> 第三章 系統(tǒng)軟件設(shè)計(jì)</p><p> 軟件設(shè)計(jì)由主程序,鍵掃描子程序及若干功能模塊子程序組成。其中主控制器子程序包括A/D轉(zhuǎn)換子程序(水位、水溫),鍵盤處理及顯示子程序,加熱控制子程序(使用輸出比較功能),漏電保護(hù)子程序等組成。主程序要先初始化系統(tǒng)的工作參數(shù),主要是單片機(jī)的定時(shí)器,
99、COP模塊、A/D轉(zhuǎn)換、端口、鍵中斷等的工作模式參數(shù)設(shè)定,之后系統(tǒng)主程序循環(huán)調(diào)用各個(gè)功能模塊子程序,對相關(guān)事件的處理依靠標(biāo)志位和判斷標(biāo)志位實(shí)現(xiàn)。</p><p> 在本次設(shè)計(jì)中運(yùn)用到了PROTEUS的ISIS電路分析實(shí)物仿真系統(tǒng)和KEIL單片機(jī)編程軟件,通過對它們聯(lián)調(diào)可以仿真出本次設(shè)計(jì)的要求。下面對這個(gè)兩個(gè)軟件做簡單的介紹。</p><p> 3.1 PROTEUS(ISIS)和KEI
100、L簡介</p><p> 一、PROTEUS(ISIS)簡介</p><p> Proteus是英國Labcenter公司開發(fā)的電路分析與仿真軟件。該軟件的特點(diǎn)是:①集原理圖設(shè)計(jì)、仿真和PCB設(shè)計(jì)于一體,真正實(shí)現(xiàn)從概念到產(chǎn)品的完整電子設(shè)計(jì)工具,②具有模擬電路、數(shù)字電路、單片機(jī)應(yīng)用系統(tǒng)、嵌入式系統(tǒng)(不高于ARM7)設(shè)計(jì)與仿真功能,③具有全速、單步、設(shè)置斷點(diǎn)等多種形式的調(diào)試功能,④具有各種
101、信號源和電路分析所需的虛擬儀表,⑤支持Keil C51 uVision2、MPLAB等第三方的軟件編譯和調(diào)試環(huán)境,⑥具有強(qiáng)大的原理圖到PCB板設(shè)計(jì)功能,可以輸出多種格式的電路設(shè)計(jì)報(bào)表。擁有PROTEUS電子設(shè)計(jì)工具,就相當(dāng)于擁有了一個(gè)電子設(shè)計(jì)和分析平臺。</p><p><b> 二、KEIL簡介</b></p><p> KEIL C51是美
102、國Keil Software公司出品的51系列兼容單片機(jī)C語言軟件開發(fā)系統(tǒng),它提供了包括C編譯器、宏匯編、連接器、庫管理和一個(gè)功能強(qiáng)大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案,通過一個(gè)集成開發(fā)環(huán)境(uVision)將這些部份組合在一起。另外重要的一點(diǎn),只要看一下編譯后生成的匯編代碼,就能體會到Keil C51生成目標(biāo)代碼效率非常之高,多數(shù)語句生成的匯編代碼很緊湊,容易理解。</p><p><b> 3.2程
103、序設(shè)計(jì)</b></p><p> 本次設(shè)計(jì)程序的編寫采用C語言,它具有如下一些優(yōu)點(diǎn):</p><p> 1、簡潔緊湊、靈活方便</p><p> C語言一共只有32個(gè)關(guān)鍵字,9種控制語句,程序書寫形式自由,區(qū)分大小寫。把高級語言的基本結(jié)構(gòu)和語句與低級語言的實(shí)用性結(jié)合起來。C 語言可以像匯編語言一樣對位、字節(jié)和地址進(jìn)行操作,而這三者是計(jì)算機(jī)最基本的工
104、作單元。</p><p><b> 2、運(yùn)算符豐富</b></p><p> C語言的運(yùn)算符包含的范圍很廣泛,共有34種運(yùn)算符。C語言把括號、賦值、強(qiáng)制類型轉(zhuǎn)換等都作為運(yùn)算符處理。從而使C語言的運(yùn)算類型極其豐富,表達(dá)式類型多樣化。靈活使用各種運(yùn)算符可以實(shí)現(xiàn)在其它高級語言中難以實(shí)現(xiàn)的運(yùn)算。</p><p><b> 3、數(shù)據(jù)類型豐
105、富</b></p><p> C語言的數(shù)據(jù)類型有:整型、實(shí)型、字符型、數(shù)組類型、指針類型、結(jié)構(gòu)體類型、共用體類型等。能用來實(shí)現(xiàn)各種復(fù)雜的數(shù)據(jù)結(jié)構(gòu)的運(yùn)算。并引入了指針概念,使程序效率更高。</p><p> 4、表達(dá)方式靈活實(shí)用</p><p> C語言提供多種運(yùn)算符和表達(dá)式值的方法,對問題的表達(dá)可通過多種途徑獲得,其程序設(shè)計(jì)更主動(dòng)、靈活。它語法限制
106、不太嚴(yán)格,程序設(shè)計(jì)自由度大,如對整型量與字符型數(shù)據(jù)及邏輯型數(shù)據(jù)可以通用等。</p><p> 5、允許直接訪問物理地址,對硬件進(jìn)行操作</p><p> 由于C語言允許直接訪問物理地址,可以直接對硬件進(jìn)行操作,因此它既具有高級語言的功能,又具有低級語言的許多功能,能夠像匯編語言一樣對位(bit)、字節(jié)和地址進(jìn)行操作,而這三者是計(jì)算機(jī)最基本的工作單元,可用來寫系統(tǒng)軟件。</p>
107、;<p> 6、生成目標(biāo)代碼質(zhì)量高,程序執(zhí)行效率高</p><p> C語言描述問題比匯編語言迅速,工作量小、可讀性好,易于調(diào)試、修改和移植,而代碼質(zhì)量與匯編語言相當(dāng)。C語言一般只比匯編程序生成的目標(biāo)代碼效率低10%~20%。</p><p><b> 7、可移植性好</b></p><p> C語言在不同機(jī)器上的C編譯程
108、序,86%的代碼是公共的,所以C語言的編譯程序便于移植。在一個(gè)環(huán)境上用C語言編寫的程序,不改動(dòng)或稍加改動(dòng),就可移植到另一個(gè)完全不同的環(huán)境中運(yùn)行。</p><p><b> 8、表達(dá)力強(qiáng)</b></p><p> C語言有豐富的數(shù)據(jù)結(jié)構(gòu)和運(yùn)算符。包含了各種數(shù)據(jù)結(jié)構(gòu),如整型、數(shù)組類型、指針類型和聯(lián)合類型等,用來實(shí)現(xiàn)各種數(shù)據(jù)結(jié)構(gòu)的運(yùn)算。C語言的運(yùn)算符有34種,范圍很寬,
109、靈活使用各種運(yùn)算符可以實(shí)現(xiàn)難度極大的運(yùn)算。C語言能直接訪問硬件的物理地址,能進(jìn)行位(bit)操作。兼有高級語言和低級語言的許多優(yōu)點(diǎn)。它既可用來編寫系統(tǒng)軟件,又可用來開發(fā)應(yīng)用軟件,已成為一種通用程序設(shè)計(jì)語言。另外C語言具有強(qiáng)大的圖形功能,支持多種顯示器和驅(qū)動(dòng)器。且計(jì)算功能、邏輯判斷功能強(qiáng)大。</p><p> 根據(jù)設(shè)計(jì)要求和各個(gè)芯片的工作原理,以及編程的要求需要先畫出它的程序流程圖,本次設(shè)計(jì)是主要進(jìn)行溫度的采集和
110、顯示以及對電加熱切換的繼電器控制。下面是程序的流程圖:</p><p> 3.2.1主程序的流程圖</p><p> 圖3.1主程序流程框圖</p><p> 第一步,系統(tǒng)初始化運(yùn)行,給一個(gè)初始設(shè)定值,數(shù)碼管顯示當(dāng)前溫度和設(shè)定溫度,第二步就是設(shè)置溫度,如果溫度設(shè)置鍵按下,利用加鍵和減鍵來設(shè)定溫度,接下來就是進(jìn)行第三步,而如果溫度鍵沒有按下,則直接進(jìn)行第三步,判
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于單片機(jī)的電熱水器畢業(yè)設(shè)計(jì)
- 基于單片機(jī)的電熱水器溫度控制系統(tǒng)設(shè)計(jì)
- 基于單片機(jī)電熱水器控制系統(tǒng)的設(shè)計(jì)
- 基于單片機(jī)電熱水器控制系統(tǒng)的設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)論文基于單片機(jī)的電熱水器控制器設(shè)計(jì)
- 基于單片機(jī)的電熱水器畢業(yè)設(shè)計(jì)開題報(bào)告
- 畢業(yè)設(shè)計(jì)(論文)基于單片機(jī)的電熱水器水溫水位控制系統(tǒng)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)---基于單片機(jī)控制的快熱式家用電熱水器的設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)--基于51單片機(jī)的家用電熱水器設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)(論文)-基于單片機(jī)控制的快熱式家用電熱水器的設(shè)計(jì)
- 基于單片機(jī)的電熱水器定時(shí)控制器設(shè)計(jì)畢業(yè)論文
- -畢業(yè)設(shè)計(jì)----基于at89s51單片機(jī)的智能電熱水器的設(shè)計(jì)
- 家用電熱水器控制系統(tǒng)設(shè)計(jì)
- 畢業(yè)論文----基于51單片機(jī)的家用電熱水器設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)基于單片機(jī)的熱水器溫度控制系統(tǒng)設(shè)計(jì)
- 開題報(bào)告--電熱水器控制系統(tǒng)的設(shè)計(jì)
- 開題報(bào)告--電熱水器控制系統(tǒng)的設(shè)計(jì)
- 電熱水器畢業(yè)設(shè)計(jì)開題報(bào)告
- 【課程設(shè)計(jì)】-基于單片機(jī)的快熱式家用電熱水器的設(shè)計(jì)
- 家用電熱水器控制系統(tǒng)的設(shè)計(jì)【畢業(yè)論文】
評論
0/150
提交評論