




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、 機械工程學院畢業(yè)設計(論文)題 目: 基于單片機飲水機智能控制系統(tǒng) 專 業(yè): 機電技術教育 班 級: 113 姓 名: 學 號: 指導教師: 日 期: 2015年6 月 目錄1前言31.1課題來源與背景31.1.1課題來源31.1.2課題背景31.2課題的研究意義32系統(tǒng)總體的設計42.1 硬件總體的設計42.1.1單片機最小系統(tǒng)設計42.1.2溫度采集電路設計92.1.3 A/D轉換電路設計102.1.4 LED顯示電路設計122.1.5鍵盤電路設計142.1.6報警電路設計162.1.7 繼電器控制電路設計172.2軟件總體的設計172.2.1主程序流程圖182.2.2各個模塊的流程圖1
2、92.2.3鍵盤掃描處理流程212.2.4 報警處理流程213系統(tǒng)調試223.1硬件電路檢查233.1.1 溫度采集電路檢查233.1.2 A/D轉換電路檢查233.1.3 顯示電路檢查233.1.4 鍵盤電路檢查233.1.5 報警電路檢查233.2 軟件調試243.3 軟硬聯(lián)調244總結與展望25參考文獻26附錄1系統(tǒng)設計程序(系統(tǒng)源代碼)28附錄2系統(tǒng)總體電路圖35 基于單片機飲水機智能控制系統(tǒng)摘要:溫度控制無論是在工業(yè)生產過程中,還是在日常生活中都起著非常重要的作用。單片機在電子產品中的應用已經越來越廣泛,在很多電子產品中也用到了溫度檢測和溫度控制。本次設計的主要目的在于,設計出一個全
3、新的智能控制系統(tǒng),該系統(tǒng)具有溫度檢測、溫度控制、溫度報警、液面報警等功能。關鍵詞:單片機AT89S52、DS18B20、LED數(shù)碼管顯示1前言1.1課題來源與背景1.1.1課題來源在日常生活中和工業(yè)生產過程,溫度控制都起著巨大的作用,溫度過高或溫度過低都會使水的資源失去它本該有的作用,因而使水資源嚴重的浪費。尤其在當前全球的水資源相當缺乏的情景下,更要求我們控制水溫的技術更加熟練,充分利用好身邊的水資源。1.1.2課題背景傳統(tǒng)飲水機的局限性一般體現(xiàn)在以下幾個方面:第一 ,功能相對簡單,只有簡單的溫度控制,而使用者不能根據自己的喜好設定溫度參數(shù)。第二,能耗大,在無人使用的時候飲水機也處于開機狀態(tài)
4、,這無疑會造成能源的大量浪費,在能源緊缺的今天,這個問題更有待解決。第三,長期飲用飲水機里反復燒的水不利于身體健康,由于大部分使用的飲水機燒水不能完全沸騰,長期飲用這種水會對身體造成極大的傷害。1.2課題的研究意義單片機已經在電子產品中應用越來越廣泛,在大多電子產品中也用到了溫度檢測和溫度控制。因此,本次設計的主要目的在于,設計出一個全新的智能控制系統(tǒng),該系統(tǒng)具有溫度檢測、溫度控制、溫度報警、液面報警等功能。 本次設計飲水機智能控制系統(tǒng),要符合人們需求的生活用水,先要把水燒開,然后使水溫保持一定的溫度,同時要具備飲水機的液位報警,溫度報警等功能,方便人們飲用。掌握好對飲水機的控制,就能在一定程
5、度上把我們身邊的水充分利用起來,防止了每次加熱都使水沸騰,既節(jié)能又能更好的滿足人們的需求。因此,設計基于單片機的溫度控制器,用于控制溫度。具體要求如下:1、可以通過數(shù)碼管顯示飲水機水箱水溫度數(shù);2、可以通過鍵盤或開關選擇制冷或加熱;3、可以人為設置水溫度的上下限,如加熱,當溫度在設定的范圍內時正常工作,當?shù)陀谒疁叵孪迺r控制加熱器加熱;如制冷,當溫度高于水溫上限時,控制壓縮機制冷;4、溫度檢測范圍0-95,精度1;5、溫度超過設定值時具有示警功能。2系統(tǒng)總體的設計 2.1 硬件總體的設計設計并制作一個基于單片機的熱水器溫度控制系統(tǒng)的電路,其結構框圖如圖2.1:圖2.1 系統(tǒng)機構框圖硬件系統(tǒng)子模塊
6、: 單片機最小系統(tǒng)電路部分 鍵盤掃描電路部分 LED顯示電路部分及指示燈 溫度采集電路部分報警部分繼電器控制部分2.1.1單片機最小系統(tǒng)設計 單片機最小系統(tǒng)如圖2.2所示,由主控器AT89S52、時鐘電路和復位電路三部分組成。單片機AT89S52作為核心控制器控制著整個系統(tǒng)的工作,而時鐘電路負責產生單片機工作所必需的時鐘信號,復位電路使得單片機能夠正常、有序、穩(wěn)定地工作。 圖2.2 單片機最小系統(tǒng)1、單片機選擇 AT89S521是一種低功耗、高性能CMOS 8位微控制器,具有8K 在系統(tǒng)可編程Flash 存儲器。使用Atmel 公司高密度非易失性存儲器技術制造,與工業(yè)80C51 產品指令和引腳
7、完全兼容。片上Flash允許程序存儲器在系統(tǒng)可編程,亦適于常規(guī)編程器。在單芯片上,擁有靈巧的8 位CPU 和在系統(tǒng)可編程Flash,使得AT89S52在眾多嵌入式控制應用系統(tǒng)中得到廣泛應用。其管腳圖如圖2.3所示。圖2.3 AT89S52管腳圖(1)P0 口:P0口是一個8位漏極開路的雙向I/O口。作為輸出口,每位能驅動8個TTL邏輯電平。對P0端口寫“1”時,引腳用作高阻抗輸入。 當訪問外部程序和數(shù)據存儲器時,P0口也被作為低8位地址/數(shù)據復用。在這種模式下, P0不具有內部上拉電阻。 在flash編程時,P0口也用來接收指令字節(jié);在程序校驗時,輸出指令字節(jié)。程序校驗時,需要外部上拉電阻。(
8、2)P1 口:P1 口是一個具有內部上拉電阻的8 位雙向I/O 口,p1 輸出緩沖器能驅動4 個 TTL 邏輯電平。此外,P1.0和P1.1分別作定時器/計數(shù)器2的外部計數(shù)輸入(P1.0/T2)和定時器/計數(shù)器2 的觸發(fā)輸入(P1.1/T2EX)。 在flash編程和校驗時,P1口接收低8位地址字節(jié)。引腳號第二功能:P1.0 T2(定時器/計數(shù)器T2的外部計數(shù)輸入),時鐘輸出P1.1 T2EX(定時器/計數(shù)器T2的捕捉/重載觸發(fā)信號和方向控制)P1.5 MOSI(在系統(tǒng)編程用)P1.6 MISO(在系統(tǒng)編程用)P1.7 SCK(在系統(tǒng)編程用)(3)P2 口:P2 口是一個具有內部上拉電阻的8
9、位雙向I/O 口,P2 輸出緩沖器能驅動 AT89S52引腳圖 PLCC封裝4 個 TTL 邏輯電平。對P2 端口寫“1”時,內部上拉電阻把端口拉高,此時可以作為輸入 口使用。作為輸入使用時,被外部拉低的引腳由于內部電阻的原因,將輸出電流(IIL)。 在訪問外部程序存儲器或用16位地址讀取外部數(shù)據存儲器(例如執(zhí)行MOVX DPTR) 時,P2 口送出高八位地址。在這種應用中,P2 口使用很強的內部上拉發(fā)送1。在使用 8位地址(如MOVX RI)訪問外部數(shù)據存儲器時,P2口輸出P2鎖存器的內容。 在flash編程和校驗時,P2口也接收高8位地址字節(jié)和一些控制信號。(4)P3 口:P3 口是一個具
10、有內部上拉電阻的8 位雙向I/O 口,p3 輸出緩沖器能驅動4 個 TTL 邏輯電平。 P3口亦作為AT89S52特殊功能(第二功能)使用,如下表所示。 在flash編程和校驗時,P3口也接收一些控制信號。端口引腳第二功能:P3.0 RXD(串行輸入口)P3.1 TXD(串行輸出口)P3.2 INTO(外中斷0)P3.3 INT1(外中斷1)P3.4 TO(定時/計數(shù)器0)P3.5 T1(定時/計數(shù)器1)P3.6 WR(外部數(shù)據存儲器寫選通)P3.7 RD(外部數(shù)據存儲器讀選通)此外,P3口還接收一些用于FLASH閃存編程和程序校驗的控制信號。(5)RST:復位輸入。當振蕩器工作時,RST引腳
11、出現(xiàn)兩個機器周期以上高電平將使單片機復位。(6)ALE/PROG:當訪問外部程序存儲器或數(shù)據存儲器時,ALE(地址鎖存允許)輸出脈沖用于鎖存地址的低8位字節(jié)。一般情況下,ALE仍以時鐘振蕩頻率的1/6輸出固定的脈沖信號,因此它可對外輸出時鐘或用于定時目的。要注意的是:每當訪問外部數(shù)據存儲器時將跳過一個ALE脈沖。對FLASH存儲器編程期間,該引腳還用于輸入編程脈沖(PROG)。如有必要,可通過對特殊功能寄存器(SFR)區(qū)中的8EH單元的D0位置位,可禁止ALE操作。該位置位后,只有一條MOVX和MOVC指令才能將ALE激活。此外,該引腳會被微弱拉高,單片機執(zhí)行外部程序時,應設置ALE禁止位無效
12、。(7)PSEN:程序儲存允許(PSEN)輸出是外部程序存儲器的讀選通信號,當AT89S52由外部程序存儲器取指令(或數(shù)據)時,每個機器周期兩次PSEN有效,即輸出兩個脈沖,在此期間,當訪問外部數(shù)據存儲器,將跳過兩次PSEN信號。(8)EA/VPP:外部訪問允許,欲使CPU僅訪問外部程序存儲器(地址為0000H-FFFFH),EA端必須保持低電平(接地)。需注意的是:如果加密位LB1被編程,復位時內部會鎖存EA端狀態(tài)。如EA端為高電平(接Vcc端),CPU則執(zhí)行內部程序存儲器的指令。FLASH存儲器編程時,該引腳加上+12V的編程允許電源Vpp,當然這必須是該器件是使用12V編程電壓Vpp。(
13、9)XTAL1:振蕩器反相放大器和內部時鐘發(fā)生電路的輸入端。(10)XTAL2:振蕩器反相放大器的輸出端2、時鐘電路時鐘電路用于產生AT89S52單片機工作時所必需的時鐘信號。其電路與AT89S52的連接如圖2.2所示。AT89S52單片機本身就是一個復雜的同步時序電路,為了保證同步工作方式的實現(xiàn),AT89S52單片機應在唯一的時鐘信號控制下,嚴格按時序執(zhí)行指令進行工作,而時序所研究的是指令執(zhí)行中各個信號的關系。在執(zhí)行指令時,CPU首先要到指令存儲器中取出需要執(zhí)行的指令操作碼,然后譯碼,并由時序電路產生一系列控制信號去完成指令所規(guī)定的操作。CPU發(fā)出的時序信號有兩種,一是用于片內對各個功能部件
14、的控制。另一種是對片外存儲器或I/O口的控制,這種時序對于分析、設計硬件接口電路至關重要。這也是單片機應用設計者最關心的問題。時鐘是單片機的心臟,單片機以時鐘頻率為基準的前提下各個功能部件運行,工作井井有序。故而,單片機的速度直接受時鐘頻率的影響,單片機系統(tǒng)的穩(wěn)定性與此同時也受時鐘電路的質量的直接影響。AT89S52單片機內部有一個放大器它的作用是為了組成振蕩器的反相高增益,此具有反相且高增益放大器的輸入端為芯片引腳X1,輸出引腳X2。這兩個引腳跨接石英晶體振蕩器和微調電容,就構成一個穩(wěn)定的自激振蕩器。雖然AT89S52有內部振蕩電路,但要形成時鐘,必須外接組件。外接晶體以及X1和X2構成并聯(lián)
15、諧振電路。電容的大小會影響振蕩器頻率的高低、振蕩器的穩(wěn)定性、起振的快速性和溫度的穩(wěn)定性。除使用晶體振蕩器外,如對時鐘頻率要求不高,還可以用陶瓷振蕩器來代替。電路中的電容容值通常選擇為30PF左右,本電路選擇的是20PF,這并不影響系統(tǒng)的工作和控制的結果。晶體的振蕩的頻率的范圍通常是在1.2MH到12MH之間。晶體的頻率越高,則系統(tǒng)的時鐘頻率就越高,單片機的運行速度也就越快。但反過來運行速度越快對存儲器的速度要求就越高,對印刷電路板的工藝要求也高。AT89S52單片機常選擇振蕩頻率6MH或12MH的石英晶體,隨著集成電路制造工藝技術的發(fā)展,單片機的時鐘頻率也在逐步提高,現(xiàn)在的高速單片機芯片的時鐘
16、頻率已經達到40MH??紤]到本設計所用的各種器件對時鐘頻率的要求及整體電路的簡潔性,本設計選用的是振蕩頻率為12MH的石英晶體。3、復位電路 AT89S52的復位是由外部的復位電路來實現(xiàn)的。單片機復位電路設計的好壞,直接影響到整個系統(tǒng)工作的可靠性。許多用戶在設計完單片機系統(tǒng),并在實驗室調試成功后,在現(xiàn)場卻出現(xiàn)了“死機”、“程序走飛”等現(xiàn)象,這主要是單片機的復位電路設計不可靠引起的。因此選用一個適合本系統(tǒng)的復位電路極其重要。常用的復位電路有四種方式:(1) 上電復位電路(2)按鍵復位電路 (3)脈沖復位電路(4)兼有上電復位與按鍵復位的電路。 由于考慮到結構和成本等原因,在很多設計里面,復位電路
17、通常采用上電復位和按鍵復位兩種。根據本系統(tǒng)的特性,決定選用按鍵復位電路。按鍵復位是通過外部復位電路的按鍵操作來實現(xiàn)的。當時鐘頻率選用12MH,電容C選用30mF,電阻R選用10KW。該復位電路工作原理為:在通電瞬間,在RC電路充電過程中,RST端出現(xiàn)正脈沖,保證RST引腳出現(xiàn)10 ms以上穩(wěn)定的高電平,從而使單片機復位。2.1.2溫度采集電路設計 本設計中的溫度采集系統(tǒng)由DS18B20傳感器負責。 DS18B20的管腳配置和封裝結構如圖2.4所示。 圖2.4 DS18B20封裝1、引腳定義: (1) DQ為數(shù)字信號輸入/輸出端; (2)GND為電源地; (3)VDD為外接供電電源輸入端(在寄生
18、電源接線方式時接地)。 2、DS18B20的單線(1wire bus)系統(tǒng):DS18B20工作原理為DS18B20的讀寫時序和測溫原理與DS1820相同,只是得到的溫度值的位數(shù)因分辨率不同而不同,且溫度轉換時的延時時間由2s 減為750ms。 低溫度系數(shù)晶振的振蕩頻率受溫度影響很小,用于產生固定頻率的脈沖信號送給計數(shù)器1。高溫度系數(shù)晶振隨溫度變化其振蕩率明顯改變,所產生的信號作為計數(shù)器2的脈沖輸入。計數(shù)器1和溫度寄存器被預置在55所對應的一個基數(shù)值。計數(shù)器1對低溫度系數(shù)晶振產生的脈沖信號進行減法計數(shù),當計數(shù)器1的預置值減到0時,溫度寄存器的值將加1,計數(shù)器1的預置將重新被裝入,計數(shù)器1重 新開
19、始對低溫度系數(shù)晶振產生的脈沖信號進行計數(shù),如此循環(huán)直到計數(shù)器2計數(shù)到0時,停止溫度寄存器值的累加,此時溫度寄存器中的數(shù)值即 為所測溫度。斜率累加器用于補償和修正測溫過程中的非線性,其輸出用于修正計數(shù)器1的預置值。 DS18B20內部結構圖如圖2.5所示:圖2.5 DS18B20內部結構圖 2.1.3 A/D轉換電路設計 A/D轉換部分電路的功能主要是將采集部分采集來的模擬信號轉換成數(shù)字信號,然后輸送到單片機進行數(shù)據處理。主要器件有ADC0809、74LS02、74S74等。ADC0809與AT89S52連接電路如圖2.6所示。圖2.6 A/D轉換電路A/D轉換器ADC0809共有八路模擬輸入端
20、,由于本設計溫度采集只有兩路,因此只用到兩路模擬輸入端,其輸入通道為IN0、IN1。這兩個通道的數(shù)據分別是溫度采集電路的輸出信號V01、V02,也就是轉換為電壓值的飲水機兩個水箱水的溫度值。選擇這兩個通道需要通過設置ADC0809的ADDA、B、C的值,因為它對應的是八路模擬信號,而本系統(tǒng)只有兩路模擬信號輸入,因此,只需要將低位ADDA連到AT89S52的P2.2口,并根據P2.2口的電壓是低電平或高電平來選擇要檢測哪個通道,當ADDA值為0時選的是IN0通道,當ADDA為1時選的是IN1 通道。而ADDB、ADDC只需接地即可。1、 A/D轉換器選擇A/D轉換器的功能是將連續(xù)變化的模擬量轉換
21、成一個離散的數(shù)字量。每一個數(shù)字量都是數(shù)字代碼的按位組合,每一位數(shù)字代碼都是一定的“權”,對應一定大小的模擬量。為了將數(shù)字量轉換成模擬量應該將其每一位都轉換成相應的模擬量,然后求和即可得到與數(shù)字量成正比的模擬量。目前,市面上有很多類型的A/D轉換器,如:ADC0804、ADC0809、AD574等,根據本設計控制的特點,選用ADC0809作為A/D轉換器。ADC0809八位逐次逼近式A/D轉換器是一種單片CMOS器件,包括8位的模/數(shù)轉化器,8通道多路轉換器和與微處理器兼容的控制邏輯。8通道多路轉換器能直接連通8個單端模擬信號中的任何一個。片內帶有鎖存功能的8路模擬多路開關,可以對8路05V的輸
22、入模擬電壓信號分時進行轉換,片內具有多路開關的地址譯碼和鎖存電路、比較器、256RT型網絡、樹狀電子開關、逐次逼近寄存器SAR、控制與時序電路等。輸出具有TTL三態(tài)鎖存緩沖器,可以直接連接到單片機數(shù)據總線上。(1) ADC0809功能如下:分辨率為8位。最大不可調誤差小于1LSB。單一+5V供電,模擬輸入范圍05V具有鎖存控制的8路模擬開關??涉i存三態(tài)輸出,輸出與TTL兼容。功耗為15mW。不必進行零點和滿度調整。 圖2.7 ADC0809引腳圖轉換速度取決于芯片的時鐘頻率。時鐘頻率范圍:101280KHZ,當CLK=500kHZ時,轉換速度為128mS。(2) ADC0809管腳及功能:A/
23、D轉換器ADC0809的引腳圖如圖2.7所示。IN0IN7:8路輸入通道的模擬量輸入端口。2-12-8:8位數(shù)字量輸出端口。START,ALE:START為啟動控制輸入端口,ALE為鎖存控制信號端口。這兩個信號端可連接在一起,當通過軟件輸入一個正脈沖,便立即啟動模/數(shù)轉換。EOC,OE:EOC為轉換結束信號脈沖輸出端口,OE為輸出允許控制端口。這兩個信號也可連接在一起表示模/數(shù)轉換結束。OE端的電平由低變高,打開三態(tài)輸出鎖存器,將轉換結果的數(shù)字量輸出到數(shù)據總線上。REF(+),REF(-),Vcc,GND:REF(+)和REF(-)為參考電壓輸入端,Vcc為主電源輸入端,GND為接地端。一般R
24、EF(+)與Vcc連接在一起,REF(-)與GND連接在一起。CLK:時鐘輸入端口。ADDA,B,C:8路模擬開關的三位地址選通輸入端,以選擇對應的輸入通道。其地址碼與對應信道關系如表2.1所示。表2.1 地址碼與輸入信道對應關系表地址碼對應的輸入通道CBA000IN0001IN1010IN2011IN3100IN4101IN4110IN6111IN7強調說明一點:ADC0809雖然有八路模擬通道可以同時輸入八路模擬信號,但每一個瞬間只能轉換一路模擬信號,各路之間的切換由軟件變換通道地址實現(xiàn)。A/D轉換器采用的轉換方法主要有逐次逼近型A/D轉換、雙積分型A/D轉換、并行A/D轉換、串-并行A/
25、D轉換等,其中逐次逼近型A/D轉換既照顧了轉換的速度,又具有一定的精度,本系統(tǒng)中,傳輸數(shù)據的頻率不高,對精度的要求也不是很高,因此,我們選用了常用的逐次逼近型A/D轉換ADC0809。 2.1.4 LED顯示電路設計 大多數(shù)的單片機應用系統(tǒng),都要配置輸入設備和輸出設備。本系統(tǒng)的輸出設備是顯示器,根據本系統(tǒng)的設計特點,采用七段LED數(shù)碼管作為顯示器。而本系統(tǒng)設計要求溫度檢測范圍095,精度1。數(shù)碼管只需顯示兩位即可達到要求,因此,顯示部分電路采用兩個一位的LED數(shù)碼管來組成顯示器,沒有要求顯示小數(shù)點,LED數(shù)碼管的dp腳懸空。本設計顯示電路的應用有兩點,一是實時顯示引水機水箱的水溫值,另一個是顯
26、示鍵盤設定的溫度上、下限值。其電路連接如圖2.8所示。圖2.8 顯示部分電路 通過一個74LS47連接7個100歐姆的電阻來驅動數(shù)碼管顯示。數(shù)碼管的VCC腳分別連接到兩個三極管的共射極,而三極管的共基極連到一起接到+5V電源上。共集極分別連接兩個4.7K的電阻接到單片機AT89S52的P1.4、P1.5管腳。LED顯示塊是由發(fā)光二極管顯示字段的顯示器件。在單片機應用系統(tǒng)中應用非常普遍,通常使用的是七段LED,這種顯示器有共陽極和共陰極兩種,本設計選用的是共陽極。共陽極LED顯示器的發(fā)光二極管的陽極連接在一起,通常此公共陽極接正電壓5V。當某個發(fā)光二極管的陰極接低電平時,發(fā)光二極管被點亮,相應的
27、段被顯示。使用LED顯示器時,為了顯示數(shù)字或符號,要為LED顯示器提供代碼,因為這些代碼是通過各段亮與滅來為顯示不同字型的。7段發(fā)光二極管,再加上一個小數(shù)點位,共計8段。因此提供給LED顯示器的段碼正好一個字節(jié)。各字節(jié)中對應關系如表2.2所示。表2.2 各段與字節(jié)中各位的對應關系表代碼位 D7 D6 D5 D4 D3 D2 D1 D0顯示段 dp G f e d c b a將單片機I/O口的8位線與顯示塊的發(fā)光二極管的引出端(adp)相連,共陽極高電平有效,選通有效后8位并行輸出口輸出不同的數(shù)據就點亮相應的發(fā)光二極管,獲得不同的數(shù)字或字符。共陽極7段顯示器顯示數(shù)字對應的段碼關系如表2.3所示。
28、 表2.3 7段LED數(shù)字與段碼對應關系表顯示數(shù)字0123456789共陽極段碼C0HF9HA4HB0H99H92H82HF8H80H90H2.1.5鍵盤電路設計鍵盤在單片機應用系統(tǒng)中能實現(xiàn)向單片機輸入數(shù)據、傳送命令功能,是人工干預單片機的主要手段。鍵盤實質上是一組按鍵開關集合。通常鍵盤所用開關為機械彈性開關,均利用了機械觸點的合、斷作用。鍵的閉合與否,反映在輸出電壓是呈現(xiàn)高電平或低電平,如果高電平表示斷開的話,那么低電平則表示鍵閉合,所以通過對電平高低狀態(tài)的檢測,便可確認按鍵按下與否。為了確保CPU對一次按鍵動作只確認一次按鍵,必須消除抖動的影響,這樣才能使鍵盤在單片機系統(tǒng)中的使用得更加穩(wěn)定
29、。常用的鍵盤接口分為獨立式按鍵接口和矩陣式鍵盤接口。根據本系統(tǒng)的設計特點及要求,鍵盤的功能主要是用來設置溫度上下限,因此本設計采用獨立式鍵盤來完成這一功能要求。其電路連接如圖2.9所示。 圖2.9 獨立式鍵盤與AT89S52連接圖1、鍵盤電路及其說明獨立式按鍵就是各個按鍵相互獨立,每個按鍵各接一根輸入線,一根輸入線上的按鍵工作狀態(tài)不會影響其它輸入線上的工作狀態(tài)。因此,通過檢測輸入線的電平狀態(tài)就可以很容易的判斷出是哪一個按鍵按下了。獨立式按鍵電路配置靈活,軟件簡單。但每一個按鍵需占用一根輸入口線,在按鍵數(shù)量較多時需要較多的輸入口線且電路結構復雜,故此種鍵盤適用于按鍵較少或操作速度較高的場合。本設
30、計,采用四按鍵鍵盤,所以在四個I/O口上接四個按鍵組成一個四按鍵的簡易式鍵盤。各線通過電阻接+5V,當鍵盤上沒有鍵閉合時,所有的線斷開,呈高電平狀態(tài)。當鍵盤上某一個鍵閉合時,該鍵所對應的線與連接單片機的線短路。例如:當S1號按鍵閉合時,它所在的線與連接線短路,使P3.2口為低電平,通過軟件里對P3口查尋,如果只有P3.2口為低電平,那么就可以確定是S1鍵按下了,通過在軟件里的設定,行使S1鍵的功能。如果同時有多個P3口為低電平,則報警顯示,然后檢查是否有多個鍵按下,直到只有一個P3口為低電平時,停止報警,那個低電平的P3口上連接的按鍵則為按下的鍵,在軟件里執(zhí)行他應該達到的功能。2、鍵盤功能說明
31、S1:模式設置鍵,按一下進入到加熱系統(tǒng)設置狀態(tài),再按一下切換到制冷系統(tǒng)設置狀態(tài)。S2:步進加鍵,每按一下,要設置的限制值加1。S3:步進減鍵,每按一下,要設置的限制值減1。S4:確定鍵,確定前面所設的溫度值。當S1鍵按1下,進入加熱或制冷模式后,數(shù)碼管顯示為00,00代表溫度設置起點溫度。再按下按鍵S2數(shù)碼管顯示值將逐步從個位數(shù)往上加,直到想要設置的溫度值,而按鍵S3是步進減鍵,按鍵每下一次,個位數(shù)減1。S4鍵是確定鍵,通過它來確定前面所設定的數(shù)值。3、鍵盤的機械抖動 若Y0為低電平,S1號鍵閉合一次,圖中t1和t3分別為鍵的閉合和斷開過程中的抖動期(呈現(xiàn)一串負脈沖),抖動時間長短和開關的機械
32、特性有關,一般為510ms,t2為穩(wěn)定的閉合期,其時間由按鍵動作所確定,一般為十分之幾秒到幾秒,t0、t4為斷開期。為了保證CPU對鍵盤的閉合僅作一次處理,在軟件中必須去除抖動,在第一次檢測到有按鍵下時,執(zhí)行一段延時10ms的子程序后確認該按鍵電平是否仍保持閉合狀態(tài)電平,如果閉合狀態(tài)電平則確認有按鍵下,從而消除抖動的影響。鍵盤的機械抖動示意圖如圖2.10所示。 圖2.10 鍵盤的機械抖動示意圖2.1.6報警電路設計報警電路主要是由發(fā)光二極管和蜂鳴器組成的,具有聲、光報警功能的簡單電路,其電路如圖2.11所示。當溫度超過設置的上、下限時,P2.2口輸出高電平,三極管導通,蜂鳴器工作,發(fā)出聲音。P
33、2.3口輸出高電平時,發(fā)光二極管正向導通,發(fā)光報警。 圖2.11 報警電路2.1.7 繼電器控制電路設計控制部分電路圖如圖2.12所示。 圖2.12 控制電路該電路是由兩個固態(tài)繼電器作為控制開關,一個繼電器控制加熱裝置,另一個繼電器控制制冷裝置。固態(tài)繼電器,即一種電子開關它具有無觸點、通斷型的特點,它同時具有四個端子的有源器件,有兩個控制輸入端,兩個輸出受控端。為了達到輸入和輸出之間的更好的隔離,它利用具有高耐壓特性的光耦合器。當輸入信號無效時,電路呈斷開狀態(tài),反之,呈導通狀態(tài),實現(xiàn)了像電磁繼電器一樣的開關功能。固態(tài)繼電器將MOSFET、GTR、普通晶閘管等組合在一起與觸發(fā)電路封裝在一個模塊中
34、,同時把輸出電路與驅動電路隔離。固態(tài)繼電器即一種觸發(fā)器它具有可控硅過零的特性,無需調節(jié)且無觸點,同時避免了對電網產生波形畸變。綜上所述,特別適宜本次設計。繼電器控制的工作原理:當AT89S52的RXD口輸出一個高電平時,三極管開始工作,驅動繼電器J1工作,繼電器J1呈現(xiàn)導通的狀態(tài),加熱同時開始工作。同樣,當AT89S52的TXD口輸出一個高電平時,三極管開始工作,驅動繼電器J2工作,繼電器J2開關閉合,制冷裝置開始工作。2.2軟件總體的設計良好的設計方案可以減少軟件設計的工作量,提高軟件的通用性,擴展性和可讀性。本系統(tǒng)的設計方案和步驟如下:1、 根據需求按照系統(tǒng)的功能要求,逐級劃分模塊;2、明
35、確各模塊之間的數(shù)據流傳遞關系,力求數(shù)據傳遞少,以增強各模塊的獨立性,便于軟件編制和調試;3、確定軟件開發(fā)環(huán)境,選擇設計語言,完成模塊功能設計,并分別調試通過;4、 按照開發(fā)式軟件設計結構,將各模塊有機的結合起來,即成一個較完善的系統(tǒng)。最初接通電源后系統(tǒng)立刻工作,隨后,借助按鍵人工設定溫度上限的值與下限的值,同時確認將設定的要求存儲到事先要求的地方,溫度傳感器開始實時檢測時,調用顯示子程序并顯示檢測的結果,調用比較當前顯示的溫度值與開始設定的溫度值比較,如果當前顯示值低于設定值就通過繼電器起動加熱裝置,直到達到設定值停止加熱,之后進行保溫,如果溫度高于上限進行報警。2.2.1主程序流程圖本系統(tǒng)采
36、用的是循環(huán)查詢方式,來顯示和控制溫度的。主要包括四段程序的設計:DS18B20讀溫度程序,數(shù)碼管的驅動程序,鍵盤掃描程序,以及報警處理程序。 圖2.13 主程序流程圖(上)圖2.13 主程序流程圖(下)2.2.2各個模塊的流程圖 讀取溫度DS18B20模塊的流程: 由于DS18B20采用的是一根數(shù)據線實現(xiàn)數(shù)據的雙向傳輸,而對AT89S52單片機來說,硬件上并不支持單總線協(xié)議,因此,我們必須采用軟件的方法來模擬單總線的協(xié)議時序來完成對DS18B20芯片的訪問。DS18B20單線通信功能是分時完成的,它有嚴格的時隙概念。因此系統(tǒng)對DS18B20的各種操作必須按協(xié)議進行。操作協(xié)議為:初始化DS18B
37、20(發(fā)復位脈沖)發(fā)ROM功能命令發(fā)存儲器操作命令處理數(shù)據DS18B20雖然具有測溫系統(tǒng)簡單、測溫精度高、連接方便、占用口線少等優(yōu)點, DS18B20必須首先調用啟動溫度轉換函數(shù),根據數(shù)據手冊上對應轉換時間來超作,如為12位轉換,則應該是最大750mS,另外在對DS18B20操作時,時序要求非常嚴格,因此最好禁止系統(tǒng)中斷。由于DS18B20是在一根I/O線上讀寫數(shù)據,因此,對讀寫的數(shù)據位有著嚴格的時序要求。DS18B20有嚴格的通信協(xié)議來保證各位數(shù)據傳輸?shù)恼_性和完整性。該協(xié)議定義了幾種信號的時序:初始化時序、讀時序、寫時序。所有時序都是將主機作為主設備,而每一次命令和數(shù)據的傳輸都是從主機主動
38、啟動寫時序開始,如果要求單總線器件回送數(shù)據,在進行寫命令后,主機需啟動讀時序完成數(shù)據接收。數(shù)據和命令的傳輸都是低位在先。DS18B20的讀時序:(1)針對DS18B20的讀時序分為讀1時序與讀0時序兩個階段。 (2)針對DS18B20的讀時隙是單總線被從主機拉低之后,又在十秒左右立刻釋放單總線,以讓DS18B20把數(shù)據傳輸?shù)絾慰偩€上。DS18B20最起碼需要60us才能完成一個完整的讀時序過程。DS18B20的寫時序:(1)針對DS18B20的寫時序同樣可以分為寫1時和寫0時序序兩個階段。 (2)對于DS18B20寫1時序和寫0時序的規(guī)定不同,當要寫1時序時,單總線被拉低之后,至多15us就得
39、釋放單總線,當要寫0時序時,單總線要被拉低最少60us,保證DS18B20能夠在15us到45us之間能夠正確地采樣IO總線上的“0”電平。 系統(tǒng)程序設計主要包括三部分: 讀出溫度子程序如圖2.14 溫度轉換命令子程序如圖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ù)據線的狀態(tài)(0或1)就能知道是否有按鍵閉合以及哪個按鍵閉合。鍵盤管理程序的功能是檢測是否有按鍵閉合,如果有按鍵閉合,消除抖動,根據鍵號轉到相應的鍵處理程序,按鍵流程圖如2.16所示。圖2.15 鍵盤掃描子程序流程圖2.2.4 報警處理流程 運行程序后,溫度傳感器DS18B20即可對環(huán)境進行溫度采集,并送LED數(shù)碼管顯示。我們可以在程序里設定溫度上限值,當采集到的外界溫度高于當前所設定溫度上限值時,程序
41、就會進入報警子程序,觸發(fā)蜂鳴器進行報警,其程序流程圖如2.17所示。圖2.16 顯示溫度子程序流程圖3系統(tǒng)調試一個單片機系統(tǒng)經過總體設計,完成了硬件設計和軟件設計開發(fā)。元器件安裝后,在系統(tǒng)的程序存儲器中下載編好的應用程序,系統(tǒng)即可運行。但是一次性成功幾乎是不可能的,多少會出現(xiàn)一些硬件、軟件上的錯誤,這就需要調試來發(fā)現(xiàn)錯誤并加以改正。AT89S52單片機雖然功能很強,但只是一個芯片,一個完整的控制系統(tǒng)還包括很多功能模塊,因此,進行調試時,需要逐個逐項仔細的進行。 一項設計到實現(xiàn)具體功能與軟件和硬件的聯(lián)合調試密不可分,因為硬件要通過軟件來實現(xiàn),軟件要通過硬件來體現(xiàn)。只有從實際的觀察效果中分析,配合
42、好軟、硬件協(xié)調工作,安排好相應的工作時序才能達到理想的效果,實現(xiàn)設計。所以,整體調試是從設計到實現(xiàn)的關鍵一步。在良好的設計基礎之上,調試過程的好壞直接決定了我們的設計成果。在任何一個設計中電路調試這部分內容是最關鍵,難度最大,最考驗人的工作。整個設計的成敗全系于此。同時它也能夠檢驗設計的方案的可行性和正確性。在這個過程中可能要遇到在設計中所沒有考慮到的地方,通過調試使設計得到更好的補充。 調試工作包括硬件檢查,軟件調試,軟硬件聯(lián)通調試三部分。硬件檢查主要是針對電路板的具體電路連接是否正確,測量各電路的電壓、電流等是否達到要求的值等;軟件調試主要是針對語法錯誤,即能否正確編譯、單步運行時邏輯上是
43、否正確;軟硬聯(lián)調就是:硬件在軟件的“控制”下完成所需要的功能,這一部分是最關鍵的環(huán)節(jié),也是難度最大的部分。3.1硬件電路檢查本設計按照其功能模塊的不同,其硬件電路的檢查包括:溫度采集電路、A/D轉換電路、顯示電路、鍵盤電路、報警電路、控制電路六部分。3.1.1 溫度采集電路檢查溫度采集部分電路的檢查是比較復雜的,原因是這部分電路的器件比較多,而且電位器的調節(jié)存在誤差,而且放大電路得到的放大倍數(shù)往往不能達到所期望的值。由于溫度傳感器AD590是將溫度值轉換成電流信號輸出,因此,調試時,采用一個電流源來代替,而放大電路是由三級運放構成的,要實現(xiàn)該電路的功能就要進行繁瑣的調試。要先調第一級運放使其輸
44、入和輸出相同,然后調整第二級運放使其差放值是2.73,同時第二級也是一個反相器,這樣輸出的電壓就是2.73減去輸入的電壓值,最后調第三級運放,使其放大倍數(shù)為5倍。3.1.2 A/D轉換電路檢查這部分電路的檢查主要是對器件ADC0809的檢查,剛開始檢查時,并沒有發(fā)現(xiàn)問題,通電后用萬用表測量其管腳電壓時,發(fā)現(xiàn)其11、12腳不是5V,而28腳電壓是5.0V,后來,經過檢查管腳發(fā)現(xiàn),是管腳接錯了,把左下管腳14腳接地,右上管腳28腳接電源了,而ADC0809的管腳的接地腳和接電源腳跟其它的芯片不一樣,11腳 Vcc和12腳REF(+)應接+5V,而13腳GND和16腳REF(-)接地。這主要是在焊接
45、器件時疏忽大意所致,最后,按要求連接后,問題也就解決了。3.1.3 顯示電路檢查在通電后,發(fā)現(xiàn)右邊數(shù)碼管的對應的B段不亮,經檢查,連接B段腳的線斷開了,焊接上后顯示仍有問題,再仔細檢查,發(fā)現(xiàn)連接左邊數(shù)碼管Vcc腳的三極管B、E接反了,從新改過后顯示正常。為了進一步保證這部分電路的正常,又進行了下一步的檢測,先是下載了一個99秒倒記時的程序到AT89S52芯片上,通電后,數(shù)碼管從99秒逐個減小變化到0秒,然后再反復循環(huán)。這說明這部分電路正常。3.1.4 鍵盤電路檢查這部分的設計主要由四個按鍵跟四個電阻組成。通電后,每個按鍵下的時候,數(shù)碼管的顯示值沒有變化,經檢查,四個按鍵連在一起但沒有接地,接地
46、后,S2按下時,對應數(shù)碼管顯示值加一,S2鍵正常,S3鍵下時,數(shù)值無變化,問題出在軟件編程上,經修改程序后,四個按鍵都正常。3.1.5 報警電路檢查這部分主要由蜂鳴器和發(fā)光二極管組成。經檢查調試,結果沒有問題,二極管亮,蜂鳴器有聲,雖然蜂鳴器的聲音偏小,但不影響報警電路的正常工作。3.1.6 控制電路檢查這部檢查主要是在通電后,檢查固態(tài)繼電器開關的通與斷,通電后發(fā)現(xiàn)開關沒有動靜,檢查硬件沒有任何問題,判斷是器件有問題或程序有問題,經過修改程序,器件工作正常。3.2 軟件調試上機調試程序是檢驗程序正確性的一個重要環(huán)節(jié)。在調試時,應在單片機開發(fā)系統(tǒng)上先對程序進行分塊調試,對入口參數(shù)和變量預賦初值,
47、觀察運行結果。如果執(zhí)行結果和預想的不一致,可采用設置斷點或單步運行的方法,找出錯誤并修改。該設計是軟硬件結合。軟件的設計在與硬件聯(lián)調之前主要是對所編寫的程序進行語法錯誤的查找,然后進行編譯,生成可以寫入單片機的HEX文件。在WAVE中運行后,通過觀察數(shù)據窗口,也可以看出一部分結果,但是只有與硬件聯(lián)調,在硬件上所顯示的結果才能最終看出軟件的調試成功與否。在軟件調試過程中,同樣也是按照分步調試的方法進行的。對軟件的各個子模塊進行調試,在調試過程中遇到了一些困難,例如在進行程序編譯后,提示有一多余字符的錯誤,經仔細檢查,存在語法錯誤,改正后進行編譯依然存在這樣的未定義字符。后來,拿程序與別的可運行程
48、序進行比較,發(fā)現(xiàn)在程序當中由于自己習慣性的動作多鍵入了空格,遂去掉空格,問題得以解決。3.3 軟硬聯(lián)調顯示部分:在經過硬件和軟件的單獨調試后,下一步需要進行的就是軟硬件的聯(lián)合調試了。在這個過程中,最先調試的部分是顯示部分,因為以后的其它部分的調試結果都要通過顯示部分來顯示結果,所以先做了這一部分的工作。在最開始,將整個程序進行仿真,沒有任何結果顯示,后經檢查在軟件編寫中把段選地址和位選地址計算錯了,將錯誤改過來以后,顯示正常。控制電路和報警電路:在這部分的調試,在軟件里置TXD,RXD腳為高電平驅動報警電路,設置INTO腳為低電平驅動調節(jié)裝置。在這部分電路聯(lián)調之前已經解決了硬件電路的問題,在聯(lián)
49、調中順利通過。鍵盤部分:首先編寫了一個簡單的鍵盤的實驗程序。在進行仿真后發(fā)現(xiàn)鍵盤的S1鍵有一點問題,其機械抖動時間太長,影響了鍵盤的整體工作。這個問題只要換一個按鍵就可以解決了。解決這個問題后,鍵盤部分能順利工作。采集部分:這部分的聯(lián)通調試實質上是采集部分與顯示電路的聯(lián)調,只有通過顯示,才能得知數(shù)據是否采集到,采集到的數(shù)據是否正確。在這部分調試中,基本沒有問題。經過上述各個方面的調試后,最后進行的就使把各個子模塊連接起來進行對整體的調試了。對于設計能不能滿足題目的要求,關鍵就在于整體調試。在整體調試的過程中,遇到了一些問題。在這部分工作中,出現(xiàn)的問題有鍵盤的工作沒有實現(xiàn),問題出在軟件上,缺少了
50、開中斷語句,將這條添補后,問題解決。由于在經過對軟件,硬件,軟硬件的仔細調試后,一些基本問題都已經解決,所以在總體調試過程中沒有遇到的問題,調試順利通過。至此,本次設計要求的數(shù)據采集、顯示、鍵盤設定、報警等功能基本實現(xiàn)。4總結與展望通過本次的設計,使我們不僅對單片機這門課程有了更深刻的認識,懂得了如何運用課本知識結合實際來完成定時器的顯示和編程方法以及數(shù)碼顯示電路的驅動方法,使我們能夠很快的適應現(xiàn)代控制技術發(fā)展的需求,同時也提高了我們的思維能力和實際操作能力,為以后更好的走上工作崗位奠定了堅實的基礎。 另外,這次的設計還讓我更進一步的認識了關于AT89S52等芯片的引腳功能以及使用方法,使我學
51、會了應用不同的芯片來配合完成整個設計的操作。 在做硬件電路的這段時間里,從思考設計到對電路的調試經過了許多困難。同樣在對軟件進行設計時,也可為一路坎坷。但是通過對軟硬件不斷撞墻,不斷思考解決問題的過程中,我學會了很多東西,同時對單片機也有了更深的認識。在做設計的時候,很需要耐心和對事物的細心,很多時候一個簡單問題的一個簡單的疏忽就會導致整個電路的不工作,只有不斷的檢查不斷的調試,才能真正完成一個設計的制作。只有不斷的發(fā)現(xiàn)問題解決問題,才能從問題中改變自己,提升自己對單片機的能力。 此設計雖然能夠完成溫度的顯示和控制,但功能和精度有待于進一步提高。以后可以通過加入PID算法優(yōu)化控制功能,并通過液
52、晶顯示屏實時顯示溫度。致 謝 非常感謝訾建平老師在我大學的最后學習階段畢業(yè)設計階段給與我的指導,從起初論文的擬題,到論文材料的收集,到書寫、刪改,到最終論文的定稿,她不厭其煩的給與我們指導和幫助。為了使我們的畢業(yè)論文更好,她經常占據自己的正常休息時間,這種無私奉獻的敬業(yè)的職業(yè)精神令我們欽佩,在這里我代表大家表示誠摯的敬意及衷心的感謝。經過我的刻苦學習及對學術問題的鉆研,我的畢業(yè)設計論文基于單片機飲水機智能控制系統(tǒng)終于可以畫上句號了,這同時也意味著大學生活即將結束。在大學階段,我在生活上、學習上和思想上都受益非淺,這除了與自身的努力奮斗外,還與各位任課老師、同學和朋友的關心、支持和鼓勵是密不可分
53、的。在此論文的撰寫過程中,我的指導老師訾建平老師為此傾注了大量的心血和精力,從論文開始的選題、開題報告到寫作提綱,到反復指出每稿中的每一個細節(jié)問題,嚴格把關,循循善誘,在這里我發(fā)自內心感謝和敬意。與此同時我還要感謝在我做論文期間給與我支持和極大關心的各位老師以及關心我的朋友和同學。撰寫畢業(yè)設計論文是一次對專業(yè)知識的整體學習的過程,畢業(yè)設計的最終完成,同樣也意味著新社會學習生活的開始。我會銘記我曾經是一名電子信息工程的學子,在今后的生活中、工作中把求真、務實的優(yōu)良作風發(fā)揚光大。參考文獻1 魏立峰 ,單片機原理與應用技術M .2006年第一版.北京大學出版社55-652 王幸之鐘愛琴王雷王閃AT89系列單片機原理與接口技術M .北京航空航天大學出版社.2004年5月 78-963 喻華TLC5615芯片的應用M .遼寧師范大學學報.2003.165-1874 李群芳,肖看.單片機原理、接口及應用- 嵌入式系統(tǒng)技術基礎M.北京:
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 汽車租賃協(xié)議合同書
- 廣告標識制作合同
- 保溫施工協(xié)議合同
- 對外勞務輸出合同
- 印刷廠全員勞動合同書
- 三方建筑工程施工合同
- 拆遷合同終止協(xié)議
- 外協(xié)維修協(xié)議合同
- 解除托管合同協(xié)議
- 合伙協(xié)議經營合同
- 放療皮膚反應分級護理
- 2025年03月內蒙古鄂爾多斯市東勝區(qū)事業(yè)單位引進高層次人才和緊缺專業(yè)人才50人筆試歷年典型考題(歷年真題考點)解題思路附帶答案詳解
- 小學消防知識教育
- 深入貫徹學習2025年中央八項規(guī)定精神教育測試題及答案
- 安徽2025年03月合肥高新技術產業(yè)開發(fā)區(qū)管理委員會公開招考60名工作人員筆試歷年參考題庫考點剖析附解題思路及答案詳解
- 2025年第三屆天揚杯建筑業(yè)財稅知識競賽題庫附答案(601-700題)
- 2025年四川綿陽市投資控股(集團)有限公司招聘筆試參考題庫附帶答案詳解
- (二調)棗莊市2025屆高三模擬考試歷史試卷(含答案)
- 上海市普陀區(qū)2024-2025學年高三下學期二模地理試題(含答案)
- 【初中語文】第11課《山地回憶》課件+2024-2025學年統(tǒng)編版語文七年級下冊
- 2025年公務員遴選考試公共基礎知識必考題庫170題及答案(四)
評論
0/150
提交評論