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

下載本文檔

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

文檔簡介

1、 機(jī)械工程學(xué)院畢業(yè)設(shè)計(jì)(論文)題 目: 基于單片機(jī)飲水機(jī)智能控制系統(tǒng) 專 業(yè): 機(jī)電技術(shù)教育 班 級: 113 姓 名: 學(xué) 號: 指導(dǎo)教師: 日 期: 2015年6 月 目錄1前言31.1課題來源與背景31.1.1課題來源31.1.2課題背景31.2課題的研究意義32系統(tǒng)總體的設(shè)計(jì)42.1 硬件總體的設(shè)計(jì)42.1.1單片機(jī)最小系統(tǒng)設(shè)計(jì)42.1.2溫度采集電路設(shè)計(jì)92.1.3 A/D轉(zhuǎn)換電路設(shè)計(jì)102.1.4 LED顯示電路設(shè)計(jì)122.1.5鍵盤電路設(shè)計(jì)142.1.6報(bào)警電路設(shè)計(jì)162.1.7 繼電器控制電路設(shè)計(jì)172.2軟件總體的設(shè)計(jì)172.2.1主程序流程圖182.2.2各個模塊的流程圖1

2、92.2.3鍵盤掃描處理流程212.2.4 報(bào)警處理流程213系統(tǒng)調(diào)試223.1硬件電路檢查233.1.1 溫度采集電路檢查233.1.2 A/D轉(zhuǎn)換電路檢查233.1.3 顯示電路檢查233.1.4 鍵盤電路檢查233.1.5 報(bào)警電路檢查233.2 軟件調(diào)試243.3 軟硬聯(lián)調(diào)244總結(jié)與展望25參考文獻(xiàn)26附錄1系統(tǒng)設(shè)計(jì)程序(系統(tǒng)源代碼)28附錄2系統(tǒng)總體電路圖35 基于單片機(jī)飲水機(jī)智能控制系統(tǒng)摘要:溫度控制無論是在工業(yè)生產(chǎn)過程中,還是在日常生活中都起著非常重要的作用。單片機(jī)在電子產(chǎn)品中的應(yīng)用已經(jīng)越來越廣泛,在很多電子產(chǎn)品中也用到了溫度檢測和溫度控制。本次設(shè)計(jì)的主要目的在于,設(shè)計(jì)出一個全

3、新的智能控制系統(tǒng),該系統(tǒng)具有溫度檢測、溫度控制、溫度報(bào)警、液面報(bào)警等功能。關(guān)鍵詞:單片機(jī)AT89S52、DS18B20、LED數(shù)碼管顯示1前言1.1課題來源與背景1.1.1課題來源在日常生活中和工業(yè)生產(chǎn)過程,溫度控制都起著巨大的作用,溫度過高或溫度過低都會使水的資源失去它本該有的作用,因而使水資源嚴(yán)重的浪費(fèi)。尤其在當(dāng)前全球的水資源相當(dāng)缺乏的情景下,更要求我們控制水溫的技術(shù)更加熟練,充分利用好身邊的水資源。1.1.2課題背景傳統(tǒng)飲水機(jī)的局限性一般體現(xiàn)在以下幾個方面:第一 ,功能相對簡單,只有簡單的溫度控制,而使用者不能根據(jù)自己的喜好設(shè)定溫度參數(shù)。第二,能耗大,在無人使用的時候飲水機(jī)也處于開機(jī)狀態(tài)

4、,這無疑會造成能源的大量浪費(fèi),在能源緊缺的今天,這個問題更有待解決。第三,長期飲用飲水機(jī)里反復(fù)燒的水不利于身體健康,由于大部分使用的飲水機(jī)燒水不能完全沸騰,長期飲用這種水會對身體造成極大的傷害。1.2課題的研究意義單片機(jī)已經(jīng)在電子產(chǎn)品中應(yīng)用越來越廣泛,在大多電子產(chǎn)品中也用到了溫度檢測和溫度控制。因此,本次設(shè)計(jì)的主要目的在于,設(shè)計(jì)出一個全新的智能控制系統(tǒng),該系統(tǒng)具有溫度檢測、溫度控制、溫度報(bào)警、液面報(bào)警等功能。 本次設(shè)計(jì)飲水機(jī)智能控制系統(tǒng),要符合人們需求的生活用水,先要把水燒開,然后使水溫保持一定的溫度,同時要具備飲水機(jī)的液位報(bào)警,溫度報(bào)警等功能,方便人們飲用。掌握好對飲水機(jī)的控制,就能在一定程

5、度上把我們身邊的水充分利用起來,防止了每次加熱都使水沸騰,既節(jié)能又能更好的滿足人們的需求。因此,設(shè)計(jì)基于單片機(jī)的溫度控制器,用于控制溫度。具體要求如下:1、可以通過數(shù)碼管顯示飲水機(jī)水箱水溫度數(shù);2、可以通過鍵盤或開關(guān)選擇制冷或加熱;3、可以人為設(shè)置水溫度的上下限,如加熱,當(dāng)溫度在設(shè)定的范圍內(nèi)時正常工作,當(dāng)?shù)陀谒疁叵孪迺r控制加熱器加熱;如制冷,當(dāng)溫度高于水溫上限時,控制壓縮機(jī)制冷;4、溫度檢測范圍0-95,精度1;5、溫度超過設(shè)定值時具有示警功能。2系統(tǒng)總體的設(shè)計(jì) 2.1 硬件總體的設(shè)計(jì)設(shè)計(jì)并制作一個基于單片機(jī)的熱水器溫度控制系統(tǒng)的電路,其結(jié)構(gòu)框圖如圖2.1:圖2.1 系統(tǒng)機(jī)構(gòu)框圖硬件系統(tǒng)子模塊

6、: 單片機(jī)最小系統(tǒng)電路部分 鍵盤掃描電路部分 LED顯示電路部分及指示燈 溫度采集電路部分報(bào)警部分繼電器控制部分2.1.1單片機(jī)最小系統(tǒng)設(shè)計(jì) 單片機(jī)最小系統(tǒng)如圖2.2所示,由主控器AT89S52、時鐘電路和復(fù)位電路三部分組成。單片機(jī)AT89S52作為核心控制器控制著整個系統(tǒng)的工作,而時鐘電路負(fù)責(zé)產(chǎn)生單片機(jī)工作所必需的時鐘信號,復(fù)位電路使得單片機(jī)能夠正常、有序、穩(wěn)定地工作。 圖2.2 單片機(jī)最小系統(tǒng)1、單片機(jī)選擇 AT89S521是一種低功耗、高性能CMOS 8位微控制器,具有8K 在系統(tǒng)可編程Flash 存儲器。使用Atmel 公司高密度非易失性存儲器技術(shù)制造,與工業(yè)80C51 產(chǎn)品指令和引腳

7、完全兼容。片上Flash允許程序存儲器在系統(tǒng)可編程,亦適于常規(guī)編程器。在單芯片上,擁有靈巧的8 位CPU 和在系統(tǒng)可編程Flash,使得AT89S52在眾多嵌入式控制應(yīng)用系統(tǒng)中得到廣泛應(yīng)用。其管腳圖如圖2.3所示。圖2.3 AT89S52管腳圖(1)P0 口:P0口是一個8位漏極開路的雙向I/O口。作為輸出口,每位能驅(qū)動8個TTL邏輯電平。對P0端口寫“1”時,引腳用作高阻抗輸入。 當(dāng)訪問外部程序和數(shù)據(jù)存儲器時,P0口也被作為低8位地址/數(shù)據(jù)復(fù)用。在這種模式下, P0不具有內(nèi)部上拉電阻。 在flash編程時,P0口也用來接收指令字節(jié);在程序校驗(yàn)時,輸出指令字節(jié)。程序校驗(yàn)時,需要外部上拉電阻。(

8、2)P1 口:P1 口是一個具有內(nèi)部上拉電阻的8 位雙向I/O 口,p1 輸出緩沖器能驅(qū)動4 個 TTL 邏輯電平。此外,P1.0和P1.1分別作定時器/計(jì)數(shù)器2的外部計(jì)數(shù)輸入(P1.0/T2)和定時器/計(jì)數(shù)器2 的觸發(fā)輸入(P1.1/T2EX)。 在flash編程和校驗(yàn)時,P1口接收低8位地址字節(jié)。引腳號第二功能:P1.0 T2(定時器/計(jì)數(shù)器T2的外部計(jì)數(shù)輸入),時鐘輸出P1.1 T2EX(定時器/計(jì)數(shù)器T2的捕捉/重載觸發(fā)信號和方向控制)P1.5 MOSI(在系統(tǒng)編程用)P1.6 MISO(在系統(tǒng)編程用)P1.7 SCK(在系統(tǒng)編程用)(3)P2 口:P2 口是一個具有內(nèi)部上拉電阻的8

9、位雙向I/O 口,P2 輸出緩沖器能驅(qū)動 AT89S52引腳圖 PLCC封裝4 個 TTL 邏輯電平。對P2 端口寫“1”時,內(nèi)部上拉電阻把端口拉高,此時可以作為輸入 口使用。作為輸入使用時,被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL)。 在訪問外部程序存儲器或用16位地址讀取外部數(shù)據(jù)存儲器(例如執(zhí)行MOVX DPTR) 時,P2 口送出高八位地址。在這種應(yīng)用中,P2 口使用很強(qiáng)的內(nèi)部上拉發(fā)送1。在使用 8位地址(如MOVX RI)訪問外部數(shù)據(jù)存儲器時,P2口輸出P2鎖存器的內(nèi)容。 在flash編程和校驗(yàn)時,P2口也接收高8位地址字節(jié)和一些控制信號。(4)P3 口:P3 口是一個具

10、有內(nèi)部上拉電阻的8 位雙向I/O 口,p3 輸出緩沖器能驅(qū)動4 個 TTL 邏輯電平。 P3口亦作為AT89S52特殊功能(第二功能)使用,如下表所示。 在flash編程和校驗(yàn)時,P3口也接收一些控制信號。端口引腳第二功能:P3.0 RXD(串行輸入口)P3.1 TXD(串行輸出口)P3.2 INTO(外中斷0)P3.3 INT1(外中斷1)P3.4 TO(定時/計(jì)數(shù)器0)P3.5 T1(定時/計(jì)數(shù)器1)P3.6 WR(外部數(shù)據(jù)存儲器寫選通)P3.7 RD(外部數(shù)據(jù)存儲器讀選通)此外,P3口還接收一些用于FLASH閃存編程和程序校驗(yàn)的控制信號。(5)RST:復(fù)位輸入。當(dāng)振蕩器工作時,RST引腳

11、出現(xiàn)兩個機(jī)器周期以上高電平將使單片機(jī)復(fù)位。(6)ALE/PROG:當(dāng)訪問外部程序存儲器或數(shù)據(jù)存儲器時,ALE(地址鎖存允許)輸出脈沖用于鎖存地址的低8位字節(jié)。一般情況下,ALE仍以時鐘振蕩頻率的1/6輸出固定的脈沖信號,因此它可對外輸出時鐘或用于定時目的。要注意的是:每當(dāng)訪問外部數(shù)據(jù)存儲器時將跳過一個ALE脈沖。對FLASH存儲器編程期間,該引腳還用于輸入編程脈沖(PROG)。如有必要,可通過對特殊功能寄存器(SFR)區(qū)中的8EH單元的D0位置位,可禁止ALE操作。該位置位后,只有一條MOVX和MOVC指令才能將ALE激活。此外,該引腳會被微弱拉高,單片機(jī)執(zhí)行外部程序時,應(yīng)設(shè)置ALE禁止位無效

12、。(7)PSEN:程序儲存允許(PSEN)輸出是外部程序存儲器的讀選通信號,當(dāng)AT89S52由外部程序存儲器取指令(或數(shù)據(jù))時,每個機(jī)器周期兩次PSEN有效,即輸出兩個脈沖,在此期間,當(dāng)訪問外部數(shù)據(jù)存儲器,將跳過兩次PSEN信號。(8)EA/VPP:外部訪問允許,欲使CPU僅訪問外部程序存儲器(地址為0000H-FFFFH),EA端必須保持低電平(接地)。需注意的是:如果加密位LB1被編程,復(fù)位時內(nèi)部會鎖存EA端狀態(tài)。如EA端為高電平(接Vcc端),CPU則執(zhí)行內(nèi)部程序存儲器的指令。FLASH存儲器編程時,該引腳加上+12V的編程允許電源Vpp,當(dāng)然這必須是該器件是使用12V編程電壓Vpp。(

13、9)XTAL1:振蕩器反相放大器和內(nèi)部時鐘發(fā)生電路的輸入端。(10)XTAL2:振蕩器反相放大器的輸出端2、時鐘電路時鐘電路用于產(chǎn)生AT89S52單片機(jī)工作時所必需的時鐘信號。其電路與AT89S52的連接如圖2.2所示。AT89S52單片機(jī)本身就是一個復(fù)雜的同步時序電路,為了保證同步工作方式的實(shí)現(xiàn),AT89S52單片機(jī)應(yīng)在唯一的時鐘信號控制下,嚴(yán)格按時序執(zhí)行指令進(jìn)行工作,而時序所研究的是指令執(zhí)行中各個信號的關(guān)系。在執(zhí)行指令時,CPU首先要到指令存儲器中取出需要執(zhí)行的指令操作碼,然后譯碼,并由時序電路產(chǎn)生一系列控制信號去完成指令所規(guī)定的操作。CPU發(fā)出的時序信號有兩種,一是用于片內(nèi)對各個功能部件

14、的控制。另一種是對片外存儲器或I/O口的控制,這種時序?qū)τ诜治?、設(shè)計(jì)硬件接口電路至關(guān)重要。這也是單片機(jī)應(yīng)用設(shè)計(jì)者最關(guān)心的問題。時鐘是單片機(jī)的心臟,單片機(jī)以時鐘頻率為基準(zhǔn)的前提下各個功能部件運(yùn)行,工作井井有序。故而,單片機(jī)的速度直接受時鐘頻率的影響,單片機(jī)系統(tǒng)的穩(wěn)定性與此同時也受時鐘電路的質(zhì)量的直接影響。AT89S52單片機(jī)內(nèi)部有一個放大器它的作用是為了組成振蕩器的反相高增益,此具有反相且高增益放大器的輸入端為芯片引腳X1,輸出引腳X2。這兩個引腳跨接石英晶體振蕩器和微調(diào)電容,就構(gòu)成一個穩(wěn)定的自激振蕩器。雖然AT89S52有內(nèi)部振蕩電路,但要形成時鐘,必須外接組件。外接晶體以及X1和X2構(gòu)成并聯(lián)

15、諧振電路。電容的大小會影響振蕩器頻率的高低、振蕩器的穩(wěn)定性、起振的快速性和溫度的穩(wěn)定性。除使用晶體振蕩器外,如對時鐘頻率要求不高,還可以用陶瓷振蕩器來代替。電路中的電容容值通常選擇為30PF左右,本電路選擇的是20PF,這并不影響系統(tǒng)的工作和控制的結(jié)果。晶體的振蕩的頻率的范圍通常是在1.2MH到12MH之間。晶體的頻率越高,則系統(tǒng)的時鐘頻率就越高,單片機(jī)的運(yùn)行速度也就越快。但反過來運(yùn)行速度越快對存儲器的速度要求就越高,對印刷電路板的工藝要求也高。AT89S52單片機(jī)常選擇振蕩頻率6MH或12MH的石英晶體,隨著集成電路制造工藝技術(shù)的發(fā)展,單片機(jī)的時鐘頻率也在逐步提高,現(xiàn)在的高速單片機(jī)芯片的時鐘

16、頻率已經(jīng)達(dá)到40MH。考慮到本設(shè)計(jì)所用的各種器件對時鐘頻率的要求及整體電路的簡潔性,本設(shè)計(jì)選用的是振蕩頻率為12MH的石英晶體。3、復(fù)位電路 AT89S52的復(fù)位是由外部的復(fù)位電路來實(shí)現(xiàn)的。單片機(jī)復(fù)位電路設(shè)計(jì)的好壞,直接影響到整個系統(tǒng)工作的可靠性。許多用戶在設(shè)計(jì)完單片機(jī)系統(tǒng),并在實(shí)驗(yàn)室調(diào)試成功后,在現(xiàn)場卻出現(xiàn)了“死機(jī)”、“程序走飛”等現(xiàn)象,這主要是單片機(jī)的復(fù)位電路設(shè)計(jì)不可靠引起的。因此選用一個適合本系統(tǒng)的復(fù)位電路極其重要。常用的復(fù)位電路有四種方式:(1) 上電復(fù)位電路(2)按鍵復(fù)位電路 (3)脈沖復(fù)位電路(4)兼有上電復(fù)位與按鍵復(fù)位的電路。 由于考慮到結(jié)構(gòu)和成本等原因,在很多設(shè)計(jì)里面,復(fù)位電路

17、通常采用上電復(fù)位和按鍵復(fù)位兩種。根據(jù)本系統(tǒng)的特性,決定選用按鍵復(fù)位電路。按鍵復(fù)位是通過外部復(fù)位電路的按鍵操作來實(shí)現(xiàn)的。當(dāng)時鐘頻率選用12MH,電容C選用30mF,電阻R選用10KW。該復(fù)位電路工作原理為:在通電瞬間,在RC電路充電過程中,RST端出現(xiàn)正脈沖,保證RST引腳出現(xiàn)10 ms以上穩(wěn)定的高電平,從而使單片機(jī)復(fù)位。2.1.2溫度采集電路設(shè)計(jì) 本設(shè)計(jì)中的溫度采集系統(tǒng)由DS18B20傳感器負(fù)責(zé)。 DS18B20的管腳配置和封裝結(jié)構(gòu)如圖2.4所示。 圖2.4 DS18B20封裝1、引腳定義: (1) DQ為數(shù)字信號輸入/輸出端; (2)GND為電源地; (3)VDD為外接供電電源輸入端(在寄生

18、電源接線方式時接地)。 2、DS18B20的單線(1wire bus)系統(tǒng):DS18B20工作原理為DS18B20的讀寫時序和測溫原理與DS1820相同,只是得到的溫度值的位數(shù)因分辨率不同而不同,且溫度轉(zhuǎn)換時的延時時間由2s 減為750ms。 低溫度系數(shù)晶振的振蕩頻率受溫度影響很小,用于產(chǎn)生固定頻率的脈沖信號送給計(jì)數(shù)器1。高溫度系數(shù)晶振隨溫度變化其振蕩率明顯改變,所產(chǎn)生的信號作為計(jì)數(shù)器2的脈沖輸入。計(jì)數(shù)器1和溫度寄存器被預(yù)置在55所對應(yīng)的一個基數(shù)值。計(jì)數(shù)器1對低溫度系數(shù)晶振產(chǎn)生的脈沖信號進(jìn)行減法計(jì)數(shù),當(dāng)計(jì)數(shù)器1的預(yù)置值減到0時,溫度寄存器的值將加1,計(jì)數(shù)器1的預(yù)置將重新被裝入,計(jì)數(shù)器1重 新開

19、始對低溫度系數(shù)晶振產(chǎn)生的脈沖信號進(jìn)行計(jì)數(shù),如此循環(huán)直到計(jì)數(shù)器2計(jì)數(shù)到0時,停止溫度寄存器值的累加,此時溫度寄存器中的數(shù)值即 為所測溫度。斜率累加器用于補(bǔ)償和修正測溫過程中的非線性,其輸出用于修正計(jì)數(shù)器1的預(yù)置值。 DS18B20內(nèi)部結(jié)構(gòu)圖如圖2.5所示:圖2.5 DS18B20內(nèi)部結(jié)構(gòu)圖 2.1.3 A/D轉(zhuǎn)換電路設(shè)計(jì) A/D轉(zhuǎn)換部分電路的功能主要是將采集部分采集來的模擬信號轉(zhuǎn)換成數(shù)字信號,然后輸送到單片機(jī)進(jìn)行數(shù)據(jù)處理。主要器件有ADC0809、74LS02、74S74等。ADC0809與AT89S52連接電路如圖2.6所示。圖2.6 A/D轉(zhuǎn)換電路A/D轉(zhuǎn)換器ADC0809共有八路模擬輸入端

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

21、成一個離散的數(shù)字量。每一個數(shù)字量都是數(shù)字代碼的按位組合,每一位數(shù)字代碼都是一定的“權(quán)”,對應(yīng)一定大小的模擬量。為了將數(shù)字量轉(zhuǎn)換成模擬量應(yīng)該將其每一位都轉(zhuǎn)換成相應(yīng)的模擬量,然后求和即可得到與數(shù)字量成正比的模擬量。目前,市面上有很多類型的A/D轉(zhuǎn)換器,如:ADC0804、ADC0809、AD574等,根據(jù)本設(shè)計(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個單端模擬信號中的任何一個。片內(nèi)帶有鎖存功能的8路模擬多路開關(guān),可以對8路05V的輸

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

23、D轉(zhuǎn)換器ADC0809的引腳圖如圖2.7所示。IN0IN7:8路輸入通道的模擬量輸入端口。2-12-8:8位數(shù)字量輸出端口。START,ALE:START為啟動控制輸入端口,ALE為鎖存控制信號端口。這兩個信號端可連接在一起,當(dāng)通過軟件輸入一個正脈沖,便立即啟動模/數(shù)轉(zhuǎn)換。EOC,OE:EOC為轉(zhuǎn)換結(jié)束信號脈沖輸出端口,OE為輸出允許控制端口。這兩個信號也可連接在一起表示模/數(shù)轉(zhuǎn)換結(jié)束。OE端的電平由低變高,打開三態(tài)輸出鎖存器,將轉(zhuǎn)換結(jié)果的數(shù)字量輸出到數(shù)據(jù)總線上。REF(+),REF(-),Vcc,GND:REF(+)和REF(-)為參考電壓輸入端,Vcc為主電源輸入端,GND為接地端。一般R

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

25、D轉(zhuǎn)換等,其中逐次逼近型A/D轉(zhuǎn)換既照顧了轉(zhuǎn)換的速度,又具有一定的精度,本系統(tǒng)中,傳輸數(shù)據(jù)的頻率不高,對精度的要求也不是很高,因此,我們選用了常用的逐次逼近型A/D轉(zhuǎn)換ADC0809。 2.1.4 LED顯示電路設(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ì)要求溫度檢測范圍095,精度1。數(shù)碼管只需顯示兩位即可達(dá)到要求,因此,顯示部分電路采用兩個一位的LED數(shù)碼管來組成顯示器,沒有要求顯示小數(shù)點(diǎn),LED數(shù)碼管的dp腳懸空。本設(shè)計(jì)顯示電路的應(yīng)用有兩點(diǎn),一是實(shí)時顯示引水機(jī)水箱的水溫值,另一個是顯

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

27、段被顯示。使用LED顯示器時,為了顯示數(shù)字或符號,要為LED顯示器提供代碼,因?yàn)檫@些代碼是通過各段亮與滅來為顯示不同字型的。7段發(fā)光二極管,再加上一個小數(shù)點(diǎn)位,共計(jì)8段。因此提供給LED顯示器的段碼正好一個字節(jié)。各字節(jié)中對應(yīng)關(guān)系如表2.2所示。表2.2 各段與字節(jié)中各位的對應(yīng)關(guān)系表代碼位 D7 D6 D5 D4 D3 D2 D1 D0顯示段 dp G f e d c b a將單片機(jī)I/O口的8位線與顯示塊的發(fā)光二極管的引出端(adp)相連,共陽極高電平有效,選通有效后8位并行輸出口輸出不同的數(shù)據(jù)就點(diǎn)亮相應(yīng)的發(fā)光二極管,獲得不同的數(shù)字或字符。共陽極7段顯示器顯示數(shù)字對應(yīng)的段碼關(guān)系如表2.3所示。

28、 表2.3 7段LED數(shù)字與段碼對應(yīng)關(guān)系表顯示數(shù)字0123456789共陽極段碼C0HF9HA4HB0H99H92H82HF8H80H90H2.1.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)高電平或低電平,如果高電平表示斷開的話,那么低電平則表示鍵閉合,所以通過對電平高低狀態(tài)的檢測,便可確認(rèn)按鍵按下與否。為了確保CPU對一次按鍵動作只確認(rèn)一次按鍵,必須消除抖動的影響,這樣才能使鍵盤在單片機(jī)系統(tǒng)中的使用得更加穩(wěn)定

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

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

31、S1:模式設(shè)置鍵,按一下進(jìn)入到加熱系統(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ù)碼管顯示值將逐步從個位數(shù)往上加,直到想要設(shè)置的溫度值,而按鍵S3是步進(jìn)減鍵,按鍵每下一次,個位數(shù)減1。S4鍵是確定鍵,通過它來確定前面所設(shè)定的數(shù)值。3、鍵盤的機(jī)械抖動 若Y0為低電平,S1號鍵閉合一次,圖中t1和t3分別為鍵的閉合和斷開過程中的抖動期(呈現(xiàn)一串負(fù)脈沖),抖動時間長短和開關(guān)的機(jī)械

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

33、2.3口輸出高電平時,發(fā)光二極管正向?qū)?,發(fā)光報(bào)警。 圖2.11 報(bào)警電路2.1.7 繼電器控制電路設(shè)計(jì)控制部分電路圖如圖2.12所示。 圖2.12 控制電路該電路是由兩個固態(tài)繼電器作為控制開關(guān),一個繼電器控制加熱裝置,另一個繼電器控制制冷裝置。固態(tài)繼電器,即一種電子開關(guān)它具有無觸點(diǎn)、通斷型的特點(diǎn),它同時具有四個端子的有源器件,有兩個控制輸入端,兩個輸出受控端。為了達(dá)到輸入和輸出之間的更好的隔離,它利用具有高耐壓特性的光耦合器。當(dāng)輸入信號無效時,電路呈斷開狀態(tài),反之,呈導(dǎo)通狀態(tài),實(shí)現(xiàn)了像電磁繼電器一樣的開關(guān)功能。固態(tài)繼電器將MOSFET、GTR、普通晶閘管等組合在一起與觸發(fā)電路封裝在一個模塊中

34、,同時把輸出電路與驅(qū)動電路隔離。固態(tài)繼電器即一種觸發(fā)器它具有可控硅過零的特性,無需調(diào)節(jié)且無觸點(diǎn),同時避免了對電網(wǎng)產(chǎn)生波形畸變。綜上所述,特別適宜本次設(shè)計(jì)。繼電器控制的工作原理:當(dāng)AT89S52的RXD口輸出一個高電平時,三極管開始工作,驅(qū)動繼電器J1工作,繼電器J1呈現(xiàn)導(dǎo)通的狀態(tài),加熱同時開始工作。同樣,當(dāng)AT89S52的TXD口輸出一個高電平時,三極管開始工作,驅(qū)動繼電器J2工作,繼電器J2開關(guān)閉合,制冷裝置開始工作。2.2軟件總體的設(shè)計(jì)良好的設(shè)計(jì)方案可以減少軟件設(shè)計(jì)的工作量,提高軟件的通用性,擴(kuò)展性和可讀性。本系統(tǒng)的設(shè)計(jì)方案和步驟如下:1、 根據(jù)需求按照系統(tǒng)的功能要求,逐級劃分模塊;2、明

35、確各模塊之間的數(shù)據(jù)流傳遞關(guān)系,力求數(shù)據(jù)傳遞少,以增強(qiáng)各模塊的獨(dú)立性,便于軟件編制和調(diào)試;3、確定軟件開發(fā)環(huán)境,選擇設(shè)計(jì)語言,完成模塊功能設(shè)計(jì),并分別調(diào)試通過;4、 按照開發(fā)式軟件設(shè)計(jì)結(jié)構(gòu),將各模塊有機(jī)的結(jié)合起來,即成一個較完善的系統(tǒng)。最初接通電源后系統(tǒng)立刻工作,隨后,借助按鍵人工設(shè)定溫度上限的值與下限的值,同時確認(rèn)將設(shè)定的要求存儲到事先要求的地方,溫度傳感器開始實(shí)時檢測時,調(diào)用顯示子程序并顯示檢測的結(jié)果,調(diào)用比較當(dāng)前顯示的溫度值與開始設(shè)定的溫度值比較,如果當(dāng)前顯示值低于設(shè)定值就通過繼電器起動加熱裝置,直到達(dá)到設(shè)定值停止加熱,之后進(jìn)行保溫,如果溫度高于上限進(jìn)行報(bào)警。2.2.1主程序流程圖本系統(tǒng)采

36、用的是循環(huán)查詢方式,來顯示和控制溫度的。主要包括四段程序的設(shè)計(jì):DS18B20讀溫度程序,數(shù)碼管的驅(qū)動程序,鍵盤掃描程序,以及報(bào)警處理程序。 圖2.13 主程序流程圖(上)圖2.13 主程序流程圖(下)2.2.2各個模塊的流程圖 讀取溫度DS18B20模塊的流程: 由于DS18B20采用的是一根數(shù)據(jù)線實(shí)現(xiàn)數(shù)據(jù)的雙向傳輸,而對AT89S52單片機(jī)來說,硬件上并不支持單總線協(xié)議,因此,我們必須采用軟件的方法來模擬單總線的協(xié)議時序來完成對DS18B20芯片的訪問。DS18B20單線通信功能是分時完成的,它有嚴(yán)格的時隙概念。因此系統(tǒng)對DS18B20的各種操作必須按協(xié)議進(jìn)行。操作協(xié)議為:初始化DS18B

37、20(發(fā)復(fù)位脈沖)發(fā)ROM功能命令發(fā)存儲器操作命令處理數(shù)據(jù)DS18B20雖然具有測溫系統(tǒng)簡單、測溫精度高、連接方便、占用口線少等優(yōu)點(diǎn), DS18B20必須首先調(diào)用啟動溫度轉(zhuǎn)換函數(shù),根據(jù)數(shù)據(jù)手冊上對應(yīng)轉(zhuǎn)換時間來超作,如為12位轉(zhuǎn)換,則應(yīng)該是最大750mS,另外在對DS18B20操作時,時序要求非常嚴(yán)格,因此最好禁止系統(tǒng)中斷。由于DS18B20是在一根I/O線上讀寫數(shù)據(jù),因此,對讀寫的數(shù)據(jù)位有著嚴(yán)格的時序要求。DS18B20有嚴(yán)格的通信協(xié)議來保證各位數(shù)據(jù)傳輸?shù)恼_性和完整性。該協(xié)議定義了幾種信號的時序:初始化時序、讀時序、寫時序。所有時序都是將主機(jī)作為主設(shè)備,而每一次命令和數(shù)據(jù)的傳輸都是從主機(jī)主動

38、啟動寫時序開始,如果要求單總線器件回送數(shù)據(jù),在進(jìn)行寫命令后,主機(jī)需啟動讀時序完成數(shù)據(jù)接收。數(shù)據(jù)和命令的傳輸都是低位在先。DS18B20的讀時序:(1)針對DS18B20的讀時序分為讀1時序與讀0時序兩個階段。 (2)針對DS18B20的讀時隙是單總線被從主機(jī)拉低之后,又在十秒左右立刻釋放單總線,以讓DS18B20把數(shù)據(jù)傳輸?shù)絾慰偩€上。DS18B20最起碼需要60us才能完成一個完整的讀時序過程。DS18B20的寫時序:(1)針對DS18B20的寫時序同樣可以分為寫1時和寫0時序序兩個階段。 (2)對于DS18B20寫1時序和寫0時序的規(guī)定不同,當(dāng)要寫1時序時,單總線被拉低之后,至多15us就得

39、釋放單總線,當(dāng)要寫0時序時,單總線要被拉低最少60us,保證DS18B20能夠在15us到45us之間能夠正確地采樣IO總線上的“0”電平。 系統(tǒng)程序設(shè)計(jì)主要包括三部分: 讀出溫度子程序如圖2.14 溫度轉(zhuǎn)換命令子程序如圖2.15 顯示溫度子程序如圖2.16程序代碼為:35GET_TEMPER:SETBDQ; LCALLINIT_1820; JBFLAG1,TSS2RET;TSS2:MOVA,#0CCH;LCALLWRITE_1820 MOVA,#44H;LCALL DISPLAY; LCALLINIT_1820; MOV A,#0CCH;LCALLWRITE_1820 MOVA,#0BEH;

40、 LCALLWRITE_1820 LCALLREAD_18200; RET ; 圖2.14 讀取溫度DS18B20模塊的流程圖 2.2.3鍵盤掃描處理流程 此流程為鍵盤掃描處理,CPU通過檢測各數(shù)據(jù)線的狀態(tài)(0或1)就能知道是否有按鍵閉合以及哪個按鍵閉合。鍵盤管理程序的功能是檢測是否有按鍵閉合,如果有按鍵閉合,消除抖動,根據(jù)鍵號轉(zhuǎn)到相應(yīng)的鍵處理程序,按鍵流程圖如2.16所示。圖2.15 鍵盤掃描子程序流程圖2.2.4 報(bào)警處理流程 運(yùn)行程序后,溫度傳感器DS18B20即可對環(huán)境進(jìn)行溫度采集,并送LED數(shù)碼管顯示。我們可以在程序里設(shè)定溫度上限值,當(dāng)采集到的外界溫度高于當(dāng)前所設(shè)定溫度上限值時,程序

41、就會進(jìn)入報(bào)警子程序,觸發(fā)蜂鳴器進(jìn)行報(bào)警,其程序流程圖如2.17所示。圖2.16 顯示溫度子程序流程圖3系統(tǒng)調(diào)試一個單片機(jī)系統(tǒng)經(jīng)過總體設(shè)計(jì),完成了硬件設(shè)計(jì)和軟件設(shè)計(jì)開發(fā)。元器件安裝后,在系統(tǒng)的程序存儲器中下載編好的應(yīng)用程序,系統(tǒng)即可運(yùn)行。但是一次性成功幾乎是不可能的,多少會出現(xiàn)一些硬件、軟件上的錯誤,這就需要調(diào)試來發(fā)現(xiàn)錯誤并加以改正。AT89S52單片機(jī)雖然功能很強(qiáng),但只是一個芯片,一個完整的控制系統(tǒng)還包括很多功能模塊,因此,進(jìn)行調(diào)試時,需要逐個逐項(xiàng)仔細(xì)的進(jìn)行。 一項(xiàng)設(shè)計(jì)到實(shí)現(xiàn)具體功能與軟件和硬件的聯(lián)合調(diào)試密不可分,因?yàn)橛布ㄟ^軟件來實(shí)現(xiàn),軟件要通過硬件來體現(xiàn)。只有從實(shí)際的觀察效果中分析,配合

42、好軟、硬件協(xié)調(diào)工作,安排好相應(yīng)的工作時序才能達(dá)到理想的效果,實(shí)現(xiàn)設(shè)計(jì)。所以,整體調(diào)試是從設(shè)計(jì)到實(shí)現(xiàn)的關(guān)鍵一步。在良好的設(shè)計(jì)基礎(chǔ)之上,調(diào)試過程的好壞直接決定了我們的設(shè)計(jì)成果。在任何一個設(shè)計(jì)中電路調(diào)試這部分內(nèi)容是最關(guān)鍵,難度最大,最考驗(yàn)人的工作。整個設(shè)計(jì)的成敗全系于此。同時它也能夠檢驗(yàn)設(shè)計(jì)的方案的可行性和正確性。在這個過程中可能要遇到在設(shè)計(jì)中所沒有考慮到的地方,通過調(diào)試使設(shè)計(jì)得到更好的補(bǔ)充。 調(diào)試工作包括硬件檢查,軟件調(diào)試,軟硬件聯(lián)通調(diào)試三部分。硬件檢查主要是針對電路板的具體電路連接是否正確,測量各電路的電壓、電流等是否達(dá)到要求的值等;軟件調(diào)試主要是針對語法錯誤,即能否正確編譯、單步運(yùn)行時邏輯上是

43、否正確;軟硬聯(lián)調(diào)就是:硬件在軟件的“控制”下完成所需要的功能,這一部分是最關(guān)鍵的環(huán)節(jié),也是難度最大的部分。3.1硬件電路檢查本設(shè)計(jì)按照其功能模塊的不同,其硬件電路的檢查包括:溫度采集電路、A/D轉(zhuǎn)換電路、顯示電路、鍵盤電路、報(bào)警電路、控制電路六部分。3.1.1 溫度采集電路檢查溫度采集部分電路的檢查是比較復(fù)雜的,原因是這部分電路的器件比較多,而且電位器的調(diào)節(jié)存在誤差,而且放大電路得到的放大倍數(shù)往往不能達(dá)到所期望的值。由于溫度傳感器AD590是將溫度值轉(zhuǎn)換成電流信號輸出,因此,調(diào)試時,采用一個電流源來代替,而放大電路是由三級運(yùn)放構(gòu)成的,要實(shí)現(xiàn)該電路的功能就要進(jìn)行繁瑣的調(diào)試。要先調(diào)第一級運(yùn)放使其輸

44、入和輸出相同,然后調(diào)整第二級運(yùn)放使其差放值是2.73,同時第二級也是一個反相器,這樣輸出的電壓就是2.73減去輸入的電壓值,最后調(diào)第三級運(yùn)放,使其放大倍數(shù)為5倍。3.1.2 A/D轉(zhuǎn)換電路檢查這部分電路的檢查主要是對器件ADC0809的檢查,剛開始檢查時,并沒有發(fā)現(xiàn)問題,通電后用萬用表測量其管腳電壓時,發(fā)現(xiàn)其11、12腳不是5V,而28腳電壓是5.0V,后來,經(jīng)過檢查管腳發(fā)現(xiàn),是管腳接錯了,把左下管腳14腳接地,右上管腳28腳接電源了,而ADC0809的管腳的接地腳和接電源腳跟其它的芯片不一樣,11腳 Vcc和12腳REF(+)應(yīng)接+5V,而13腳GND和16腳REF(-)接地。這主要是在焊接

45、器件時疏忽大意所致,最后,按要求連接后,問題也就解決了。3.1.3 顯示電路檢查在通電后,發(fā)現(xiàn)右邊數(shù)碼管的對應(yīng)的B段不亮,經(jīng)檢查,連接B段腳的線斷開了,焊接上后顯示仍有問題,再仔細(xì)檢查,發(fā)現(xiàn)連接左邊數(shù)碼管Vcc腳的三極管B、E接反了,從新改過后顯示正常。為了進(jìn)一步保證這部分電路的正常,又進(jìn)行了下一步的檢測,先是下載了一個99秒倒記時的程序到AT89S52芯片上,通電后,數(shù)碼管從99秒逐個減小變化到0秒,然后再反復(fù)循環(huán)。這說明這部分電路正常。3.1.4 鍵盤電路檢查這部分的設(shè)計(jì)主要由四個按鍵跟四個電阻組成。通電后,每個按鍵下的時候,數(shù)碼管的顯示值沒有變化,經(jīng)檢查,四個按鍵連在一起但沒有接地,接地

46、后,S2按下時,對應(yīng)數(shù)碼管顯示值加一,S2鍵正常,S3鍵下時,數(shù)值無變化,問題出在軟件編程上,經(jīng)修改程序后,四個按鍵都正常。3.1.5 報(bào)警電路檢查這部分主要由蜂鳴器和發(fā)光二極管組成。經(jīng)檢查調(diào)試,結(jié)果沒有問題,二極管亮,蜂鳴器有聲,雖然蜂鳴器的聲音偏小,但不影響報(bào)警電路的正常工作。3.1.6 控制電路檢查這部檢查主要是在通電后,檢查固態(tài)繼電器開關(guān)的通與斷,通電后發(fā)現(xiàn)開關(guān)沒有動靜,檢查硬件沒有任何問題,判斷是器件有問題或程序有問題,經(jīng)過修改程序,器件工作正常。3.2 軟件調(diào)試上機(jī)調(diào)試程序是檢驗(yàn)程序正確性的一個重要環(huán)節(jié)。在調(diào)試時,應(yīng)在單片機(jī)開發(fā)系統(tǒng)上先對程序進(jìn)行分塊調(diào)試,對入口參數(shù)和變量預(yù)賦初值,

47、觀察運(yùn)行結(jié)果。如果執(zhí)行結(jié)果和預(yù)想的不一致,可采用設(shè)置斷點(diǎn)或單步運(yùn)行的方法,找出錯誤并修改。該設(shè)計(jì)是軟硬件結(jié)合。軟件的設(shè)計(jì)在與硬件聯(lián)調(diào)之前主要是對所編寫的程序進(jìn)行語法錯誤的查找,然后進(jìn)行編譯,生成可以寫入單片機(jī)的HEX文件。在WAVE中運(yùn)行后,通過觀察數(shù)據(jù)窗口,也可以看出一部分結(jié)果,但是只有與硬件聯(lián)調(diào),在硬件上所顯示的結(jié)果才能最終看出軟件的調(diào)試成功與否。在軟件調(diào)試過程中,同樣也是按照分步調(diào)試的方法進(jìn)行的。對軟件的各個子模塊進(jìn)行調(diào)試,在調(diào)試過程中遇到了一些困難,例如在進(jìn)行程序編譯后,提示有一多余字符的錯誤,經(jīng)仔細(xì)檢查,存在語法錯誤,改正后進(jìn)行編譯依然存在這樣的未定義字符。后來,拿程序與別的可運(yùn)行程

48、序進(jìn)行比較,發(fā)現(xiàn)在程序當(dāng)中由于自己習(xí)慣性的動作多鍵入了空格,遂去掉空格,問題得以解決。3.3 軟硬聯(lián)調(diào)顯示部分:在經(jīng)過硬件和軟件的單獨(dú)調(diào)試后,下一步需要進(jìn)行的就是軟硬件的聯(lián)合調(diào)試了。在這個過程中,最先調(diào)試的部分是顯示部分,因?yàn)橐院蟮钠渌糠值恼{(diào)試結(jié)果都要通過顯示部分來顯示結(jié)果,所以先做了這一部分的工作。在最開始,將整個程序進(jìn)行仿真,沒有任何結(jié)果顯示,后經(jīng)檢查在軟件編寫中把段選地址和位選地址計(jì)算錯了,將錯誤改過來以后,顯示正常??刂齐娐泛蛨?bào)警電路:在這部分的調(diào)試,在軟件里置TXD,RXD腳為高電平驅(qū)動報(bào)警電路,設(shè)置INTO腳為低電平驅(qū)動調(diào)節(jié)裝置。在這部分電路聯(lián)調(diào)之前已經(jīng)解決了硬件電路的問題,在聯(lián)

49、調(diào)中順利通過。鍵盤部分:首先編寫了一個簡單的鍵盤的實(shí)驗(yàn)程序。在進(jìn)行仿真后發(fā)現(xiàn)鍵盤的S1鍵有一點(diǎn)問題,其機(jī)械抖動時間太長,影響了鍵盤的整體工作。這個問題只要換一個按鍵就可以解決了。解決這個問題后,鍵盤部分能順利工作。采集部分:這部分的聯(lián)通調(diào)試實(shí)質(zhì)上是采集部分與顯示電路的聯(lián)調(diào),只有通過顯示,才能得知數(shù)據(jù)是否采集到,采集到的數(shù)據(jù)是否正確。在這部分調(diào)試中,基本沒有問題。經(jīng)過上述各個方面的調(diào)試后,最后進(jìn)行的就使把各個子模塊連接起來進(jìn)行對整體的調(diào)試了。對于設(shè)計(jì)能不能滿足題目的要求,關(guān)鍵就在于整體調(diào)試。在整體調(diào)試的過程中,遇到了一些問題。在這部分工作中,出現(xiàn)的問題有鍵盤的工作沒有實(shí)現(xiàn),問題出在軟件上,缺少了

50、開中斷語句,將這條添補(bǔ)后,問題解決。由于在經(jīng)過對軟件,硬件,軟硬件的仔細(xì)調(diào)試后,一些基本問題都已經(jīng)解決,所以在總體調(diào)試過程中沒有遇到的問題,調(diào)試順利通過。至此,本次設(shè)計(jì)要求的數(shù)據(jù)采集、顯示、鍵盤設(shè)定、報(bào)警等功能基本實(shí)現(xiàn)。4總結(jié)與展望通過本次的設(shè)計(jì),使我們不僅對單片機(jī)這門課程有了更深刻的認(rèn)識,懂得了如何運(yùn)用課本知識結(jié)合實(shí)際來完成定時器的顯示和編程方法以及數(shù)碼顯示電路的驅(qū)動方法,使我們能夠很快的適應(yīng)現(xiàn)代控制技術(shù)發(fā)展的需求,同時也提高了我們的思維能力和實(shí)際操作能力,為以后更好的走上工作崗位奠定了堅(jiān)實(shí)的基礎(chǔ)。 另外,這次的設(shè)計(jì)還讓我更進(jìn)一步的認(rèn)識了關(guān)于AT89S52等芯片的引腳功能以及使用方法,使我學(xué)

51、會了應(yīng)用不同的芯片來配合完成整個設(shè)計(jì)的操作。 在做硬件電路的這段時間里,從思考設(shè)計(jì)到對電路的調(diào)試經(jīng)過了許多困難。同樣在對軟件進(jìn)行設(shè)計(jì)時,也可為一路坎坷。但是通過對軟硬件不斷撞墻,不斷思考解決問題的過程中,我學(xué)會了很多東西,同時對單片機(jī)也有了更深的認(rèn)識。在做設(shè)計(jì)的時候,很需要耐心和對事物的細(xì)心,很多時候一個簡單問題的一個簡單的疏忽就會導(dǎo)致整個電路的不工作,只有不斷的檢查不斷的調(diào)試,才能真正完成一個設(shè)計(jì)的制作。只有不斷的發(fā)現(xiàn)問題解決問題,才能從問題中改變自己,提升自己對單片機(jī)的能力。 此設(shè)計(jì)雖然能夠完成溫度的顯示和控制,但功能和精度有待于進(jìn)一步提高。以后可以通過加入PID算法優(yōu)化控制功能,并通過液

52、晶顯示屏實(shí)時顯示溫度。致 謝 非常感謝訾建平老師在我大學(xué)的最后學(xué)習(xí)階段畢業(yè)設(shè)計(jì)階段給與我的指導(dǎo),從起初論文的擬題,到論文材料的收集,到書寫、刪改,到最終論文的定稿,她不厭其煩的給與我們指導(dǎo)和幫助。為了使我們的畢業(yè)論文更好,她經(jīng)常占據(jù)自己的正常休息時間,這種無私奉獻(xiàn)的敬業(yè)的職業(yè)精神令我們欽佩,在這里我代表大家表示誠摯的敬意及衷心的感謝。經(jīng)過我的刻苦學(xué)習(xí)及對學(xué)術(shù)問題的鉆研,我的畢業(yè)設(shè)計(jì)論文基于單片機(jī)飲水機(jī)智能控制系統(tǒng)終于可以畫上句號了,這同時也意味著大學(xué)生活即將結(jié)束。在大學(xué)階段,我在生活上、學(xué)習(xí)上和思想上都受益非淺,這除了與自身的努力奮斗外,還與各位任課老師、同學(xué)和朋友的關(guān)心、支持和鼓勵是密不可分

53、的。在此論文的撰寫過程中,我的指導(dǎo)老師訾建平老師為此傾注了大量的心血和精力,從論文開始的選題、開題報(bào)告到寫作提綱,到反復(fù)指出每稿中的每一個細(xì)節(jié)問題,嚴(yán)格把關(guān),循循善誘,在這里我發(fā)自內(nèi)心感謝和敬意。與此同時我還要感謝在我做論文期間給與我支持和極大關(guān)心的各位老師以及關(guān)心我的朋友和同學(xué)。撰寫畢業(yè)設(shè)計(jì)論文是一次對專業(yè)知識的整體學(xué)習(xí)的過程,畢業(yè)設(shè)計(jì)的最終完成,同樣也意味著新社會學(xué)習(xí)生活的開始。我會銘記我曾經(jīng)是一名電子信息工程的學(xué)子,在今后的生活中、工作中把求真、務(wù)實(shí)的優(yōu)良作風(fēng)發(fā)揚(yáng)光大。參考文獻(xiàn)1 魏立峰 ,單片機(jī)原理與應(yīng)用技術(shù)M .2006年第一版.北京大學(xué)出版社55-652 王幸之鐘愛琴王雷王閃AT89系列單片機(jī)原理與接口技術(shù)M .北京航空航天大學(xué)出版社.2004年5月 78-963 喻華TLC5615芯片的應(yīng)用M .遼寧師范大學(xué)學(xué)報(bào).2003.165-1874 李群芳,肖看.單片機(jī)原理、接口及應(yīng)用- 嵌入式系統(tǒng)技術(shù)基礎(chǔ)M.北京:

溫馨提示

  • 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論