版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
PAGE·PAGE5·前言溫度控制是無論是在工業(yè)生產(chǎn)過程中,還是在日常生活中都起著非常重要的作用,過低的溫度或過高的溫度都會使水資源失去應(yīng)有的作用,從而造成水資源的巨大浪費。特別是在當前全球水資源極度缺乏的情況下,我們更應(yīng)該掌握好對水溫的控制,把身邊的水資源好好地利用起來。本次設(shè)計為一個基于單片機的飲水機的溫度控制系統(tǒng),該系統(tǒng)可以實時檢測飲水機水箱的水溫,并且可以通過數(shù)碼管顯示飲水機水箱水溫度數(shù),可以通過鍵盤或開關(guān)選擇制冷或加熱,可以人為設(shè)置水的溫度的上下限,如加熱,當溫度在設(shè)定的范圍內(nèi)時正常工作,當?shù)陀谒疁叵孪迺r控制加熱器加熱;如制冷,當溫度高于水溫上限時控制壓縮機制冷,溫度檢測范圍0~95℃,精度±1℃,當溫度超過設(shè)定值時具有示警功能。
第1章電路設(shè)計1.1單片機最小系統(tǒng)設(shè)計單片機最小系統(tǒng)如圖1.0所示,由主控器AT89C51、時鐘電路和復(fù)位電路三部分組成。單片機AT89C51作為核心控制器控制著整個系統(tǒng)的工作,而時鐘電路負責(zé)產(chǎn)生單片機工作所必需的時鐘信號,復(fù)位電路使得單片機能夠正常、有序、穩(wěn)定地工作。圖1.0單片機最小系統(tǒng)1.1.1單片機選擇AT89C51是一種帶4K字節(jié)閃存可編程可擦除只讀存儲器(FPEROM—FlashProgrammableandErasableReadOnlyMemory)的低電準,有條不紊地工作。因此,時鐘頻率直接影響單片機的速度,時鐘電路的質(zhì)量也直接影響單片機系統(tǒng)的穩(wěn)定性。AT89C51單片機內(nèi)部有一個用于構(gòu)成振蕩器的高增益反相放大器,該高增益反相放大器的輸入端為芯片引腳X1,輸出引腳X2。這兩個引腳跨接石英晶體振蕩器和微調(diào)電容,就構(gòu)成一個穩(wěn)定的自激振蕩器。雖然AT89C51有內(nèi)部振蕩電路,但要形成時鐘,必須外接元件。外接晶體以及X1和X2構(gòu)成并聯(lián)諧振電路。電容的大小會影響振蕩器頻率的高低、振蕩器的穩(wěn)定性、起振的快速性和溫度的穩(wěn)定性。除使用晶體振蕩器外,如對時鐘頻率要求不高,還可以用陶瓷振蕩器來代替。電路中的電容容值通常選擇為30PF左右,本電路選擇的是20PF,這并不影響系統(tǒng)的工作和控制的結(jié)果。晶體的振蕩的頻率的范圍通常是在1.2MHZ到12MHZ之間。晶體的頻率越高,則系統(tǒng)的時鐘頻率就越高,單片機的運行速度也就越快。但反過來運行速度越快對存儲器的速度要求就越高,對印刷電路板的工藝要求也高。AT89C51單片機常選擇振蕩頻率6MHZ或12MHZ的石英晶體,隨著集成電路制造工藝技術(shù)的發(fā)展,單片機的時鐘頻率也在逐步提高,現(xiàn)在的高速單片機芯片的時鐘頻率已經(jīng)達到40MHZ。考慮到本設(shè)計所用的各種器件對時鐘頻率的要求及整體電路的簡潔性,本設(shè)計選用的是振蕩頻率為6MHZ的石英晶體。1.1.3復(fù)位電路AT89C51的復(fù)位是由外部的復(fù)位電路來實現(xiàn)的。單片機復(fù)位電路設(shè)計的好壞,直接影響到整個系統(tǒng)工作的可靠性。許多用戶在設(shè)計完單片機系統(tǒng),并在實驗室調(diào)試成功后,在現(xiàn)場卻出現(xiàn)了“死機”、“程序走飛”等現(xiàn)象,這主要是單片機的復(fù)位電路設(shè)計不可靠引起的。因此選用一個適合本系統(tǒng)的復(fù)位電路極其重要。常用的復(fù)位電路有四種方式:(1)上電復(fù)位電路(2)按鍵復(fù)位電路(3)脈沖復(fù)位電路(4)兼有上電復(fù)位與按鍵復(fù)位的電路。由于考慮到結(jié)構(gòu)和成本等原因,在很多設(shè)計里面,復(fù)位電路通常采用上電復(fù)位和按鍵復(fù)位兩種。根據(jù)本系統(tǒng)的特性,決定選用最簡單的上電復(fù)位電路。上電復(fù)位是通過外部復(fù)位電路的電容充電來實現(xiàn)的。只要Vcc的上升時間不超過10ms,就可以實現(xiàn)自動上電復(fù)位。當時鐘頻率選用6MHZ,電容C選用22mF,電阻R選用1KW。該復(fù)位電路工作原理為:在通電瞬間,在RC電路充電過程中,RST端出現(xiàn)正脈沖,保證RST引腳出現(xiàn)10ms以上穩(wěn)定的高電平,從而使單片機復(fù)位。1.2溫度采集電路設(shè)計本設(shè)計中的溫度采集系統(tǒng)由DS18B20傳感器負責(zé)。其型號如圖1.2.1所示:DS18B20工作原理為DS18B20的讀寫時序和測溫原理與DS1820相同,只是得到的溫度值的位數(shù)因分辨率不同而不同,且溫度轉(zhuǎn)換時的延時時間由2s減為750ms。DS18B20測溫原理如圖3所示。圖中低溫度系數(shù)晶振的振蕩頻率受溫度影響很小,用于產(chǎn)生固定頻率的脈沖信號送給計數(shù)器1。高溫度系數(shù)晶振隨溫度變化其振蕩率明顯改變,所產(chǎn)生的信號作為計數(shù)器2的脈沖輸入。計數(shù)器1和溫度寄存器被預(yù)置在-55℃所對應(yīng)的一個基數(shù)值。計數(shù)器1對低溫度系數(shù)晶振產(chǎn)生的脈沖信號進行減法計數(shù),當計數(shù)器1的預(yù)置值減到0時,溫度寄存器的值將加1,計數(shù)器1的預(yù)置將重新被裝入,計數(shù)器1重新開始對低溫度系數(shù)晶振產(chǎn)生的脈沖信號進行計數(shù),如此循環(huán)直到計數(shù)器2計數(shù)到0時,停止溫度寄存器值的累加,此時溫度寄存器中的數(shù)值即為所測溫度。圖3中的斜率累加器用于補償和修正測溫過程中的非線性,其輸出用于修正計數(shù)器1的預(yù)置值。DS18B20內(nèi)部結(jié)構(gòu)圖如圖1.2.2所示:1.2.2DS18B20內(nèi)部結(jié)構(gòu)2.3A/D轉(zhuǎn)換電路設(shè)計A/D轉(zhuǎn)換部分電路的功能主要是將采集部分采集來的模擬信號轉(zhuǎn)換成數(shù)字信號,然后輸送到單片機進行數(shù)據(jù)處理。主要器件有ADC0809、74LS02、74S74等。ADC0809與AT89C51連接電路如圖2.5所示。圖2.5A/D轉(zhuǎn)換電路A/D轉(zhuǎn)換器ADC0809共有八路模擬輸入端,由于本設(shè)計溫度采集只有兩路,因此只用到兩路模擬輸入端,其輸入通道為IN0、IN1。這兩個通道的數(shù)據(jù)分別是溫度采集電路的輸出信號V01、V02,也就是轉(zhuǎn)換為電壓值的飲水機兩個水箱水的溫度值。選擇這兩個通道需要通過設(shè)置ADC0809的ADDA、B、C的值,因為它對應(yīng)的是八路模擬信號,而本系統(tǒng)只有兩路模擬信號輸入,因此,只需要將低位ADDA連到AT89C51的P2.2口,并根據(jù)P2.2口的電壓是低電平或高電平來選擇要檢測哪個通道,當ADDA值為0時選的是IN0通道,當ADDA為1時選的是IN1通道。而ADDB、ADDC只需接地即可。2.3.1A/D轉(zhuǎn)換器選擇A/D轉(zhuǎn)換器的功能是將連續(xù)變化的模擬量轉(zhuǎn)換成一個離散的數(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è)計控制的特點,選用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路0~5V的輸入模擬電壓信號分時進行轉(zhuǎn)換,片內(nèi)具有多路開關(guān)的地址譯碼和鎖存電路、比較器、256RT型網(wǎng)絡(luò)、樹狀電子開關(guān)、逐次逼近寄存器SAR、控制與時序電路等。輸出具有TTL三態(tài)鎖存緩沖器,可以直接連接到單片機數(shù)據(jù)總線上。1.ADC0809功能如下:(1)分辨率為8位。(2)最大不可調(diào)誤差小于1LSB。(3)單一+5V供電,模擬輸入范圍0~5V (4)具有鎖存控制的8路模擬開關(guān)。(5)可鎖存三態(tài)輸出,輸出與TTL兼容。(6)功耗為15mW。(7)不必進行零點和滿度調(diào)整。(8)轉(zhuǎn)換速度取決于芯片的時鐘頻率。時鐘頻率范圍:10~1280KHZ,當CLK=500kHZ時,轉(zhuǎn)換速度為128mS。2.ADC0809管腳及功能A/D轉(zhuǎn)換器ADC0809的引腳圖如圖2.6所示。圖2.6ADC0809引腳圖IN0~IN7:8路輸入通道的模擬量輸入端口。2-1~2-8:8位數(shù)字量輸出端口。START,ALE:START為啟動控制輸入端口,ALE為鎖存控制信號端口。這兩個信號端可連接在一起,當通過軟件輸入一個正脈沖,便立即啟動模/數(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為接地端。一般REF(+)與Vcc連接在一起,REF(-)與GND連接在一起。CLK:時鐘輸入端口。ADDA,B,C:8路模擬開關(guān)的三位地址選通輸入端,以選擇對應(yīng)的輸入通道。其地址碼與對應(yīng)通道關(guān)系如表2.2所示。表2.2地址碼與輸入通道對應(yīng)關(guān)系表強調(diào)說明一點:ADC0809雖然有八路模擬通道可以同時輸入八路模擬信號,但每一個瞬間只能轉(zhuǎn)換一路模擬信號,各路之間的切換由軟件變換通道地址實現(xiàn)。A/D轉(zhuǎn)換器采用的轉(zhuǎn)換方法主要有逐次逼近型A/D轉(zhuǎn)換、雙積分型A/D轉(zhuǎn)換、并行A/D轉(zhuǎn)換、串-并行A/D轉(zhuǎn)換等,其中逐次逼近型A/D轉(zhuǎn)換既照顧了轉(zhuǎn)換的速度,又具有一定的精度,本系統(tǒng)中,傳輸數(shù)據(jù)的頻率不高,對精度的要求也不是很高,因此,我們選用了常用的逐次逼近型A/D轉(zhuǎn)換ADC0809。2.4顯示電路設(shè)計大多數(shù)的單片機應(yīng)用系統(tǒng),都要配置輸入設(shè)備和輸出設(shè)備。本系統(tǒng)的輸出設(shè)備是顯示器,根據(jù)本系統(tǒng)的設(shè)計特點,采用七段LED數(shù)碼管作為顯示器。而本系統(tǒng)設(shè)計要求溫度檢測范圍0℃~95℃,精度±1℃。數(shù)碼管只需顯示兩位即可達到要求,因此,顯示部分電路采用兩個一位的LED數(shù)碼管來組成顯示器,沒有要求顯示小數(shù)點,LED數(shù)碼管的dp腳懸空。本設(shè)計顯示電路的應(yīng)用有兩點,一是實時顯示引水機水箱的水溫值,另一個是顯示鍵盤設(shè)定的溫度上、下限值。其電路連接如圖2.6所示。圖2.6顯示部分電路通過一個74LS47連接7個100歐姆的電阻來驅(qū)動數(shù)碼管顯示。數(shù)碼管的VCC腳分別連接到兩個三極管的共射極,而三極管的共基極連到一起接到+5V電源上。共集極分別連接兩個4.7K的電阻接到單片機AT89C51的P1.4、P1.5管腳。LED顯示塊是由發(fā)光二極管顯示字段的顯示器件。在單片機應(yīng)用系統(tǒng)中應(yīng)用非常普遍,通常使用的是七段LED,這種顯示器有共陽極和共陰極兩種,本設(shè)計選用的是共陽極。共陽極LED顯示器的發(fā)光二極管的陽極連接在一起,通常此公共陽極接正電壓5V。當某個發(fā)光二極管的陰極接低電平時,發(fā)光二極管被點亮,相應(yīng)的段被顯示。使用LED顯示器時,為了顯示數(shù)字或符號,要為LED顯示器提供代碼,因為這些代碼是通過各段亮與滅來為顯示不同字型的。7段發(fā)光二極管,再加上一個小數(shù)點位,共計8段。因此提供給LED顯示器的段碼正好一個字節(jié)。各字節(jié)中對應(yīng)關(guān)系如表2.3所示。表2.3各段與字節(jié)中各位的對應(yīng)關(guān)系表代碼位D7D6D5D4D3D2D1D0顯示段dpGfedcba將單片機I/O口的8位線與顯示塊的發(fā)光二極管的引出端(a~dp)相連,共陽極高電平有效,選通有效后8位并行輸出口輸出不同的數(shù)據(jù)就點亮相應(yīng)的發(fā)光二極管,獲得不同的數(shù)字或字符。共陽極7段顯示器顯示數(shù)字對應(yīng)的段碼關(guān)系如表2.4所示。表2.47段LED數(shù)字與段碼對應(yīng)關(guān)系表顯示數(shù)字0123456789共陽極段碼C0HF9HA4HB0H99H92H82HF8H80H90H2.5鍵盤電路設(shè)計鍵盤在單片機應(yīng)用系統(tǒng)中能實現(xiàn)向單片機輸入數(shù)據(jù)、傳送命令功能,是人工干預(yù)單片機的主要手段。鍵盤實質(zhì)上是一組按鍵開關(guān)集合。通常鍵盤所用開關(guān)為機械彈性開關(guān),均利用了機械觸點的合、斷作用。鍵的閉合與否,反映在輸出電壓是呈現(xiàn)高電平或低電平,如果高電平表示斷開的話,那么低電平則表示鍵閉合,所以通過對電平高低狀態(tài)的檢測,便可確認按鍵按下與否。為了確保CPU對一次按鍵動作只確認一次按鍵,必須消除抖動的影響,這樣才能使鍵盤在單片機系統(tǒng)中的使用得更加穩(wěn)定。常用的鍵盤接口分為獨立式按鍵接口和矩陣式鍵盤接口。根據(jù)本系統(tǒng)的設(shè)計特點及要求,鍵盤的功能主要是用來設(shè)置溫度上下限,因此本設(shè)計采用獨立式鍵盤來完成這一功能要求。其電路連接如圖2.7所示。圖2.7獨立式鍵盤與AT89C51連接圖1、鍵盤電路及其說明獨立式按鍵就是各個按鍵相互獨立,每個按鍵各接一根輸入線,一根輸入線上的按鍵工作狀態(tài)不會影響其他輸入線上的工作狀態(tài)。因此,通過檢測輸入線的電平狀態(tài)就可以很容易的判斷出是哪一個按鍵按下了。獨立式按鍵電路配置靈活,軟件簡單。但每一個按鍵需占用一根輸入口線,在按鍵數(shù)量較多時學(xué)要較多的輸入口線且電路結(jié)構(gòu)復(fù)雜,故此種鍵盤適用與按鍵較少或操作速度較高的場合。本設(shè)計,采用四按鍵鍵盤,所以在四個I/O口上接四個按鍵組成一個四按鍵的簡易式鍵盤。各線通過電阻接+5V,當鍵盤上沒有鍵閉合時,所有的線斷開,呈高電平狀態(tài)。當鍵盤上某一個鍵閉合時,該鍵所對應(yīng)的線與連接單片機的線短路。例如:當S1號按鍵閉合時,它所在的線與連接線短路,使P3.2口為低電平,通過軟件里對P3口查尋,如果只有P3.2口為低電平,那么就可以確定是S1鍵按下了,通過在軟件里的設(shè)定,行使S1鍵的功能。如果同時有多個P3口為低電平,則報警顯示,然后檢查是否有多個鍵按下,直到只有一個P3口為低電平時,停止報警,那個低電平的P3口上連接的按鍵則為按下的鍵,在軟件里執(zhí)行他應(yīng)該達到的功能。2、鍵盤功能說明S1:模式設(shè)置鍵,按一下進入到加熱系統(tǒng)設(shè)置狀態(tài),再按一下切換到制冷系統(tǒng)設(shè)置狀態(tài)。S2:步進加鍵,每按一下,要設(shè)置的限制值加1。S3:步進減鍵,每按一下,要設(shè)置的限制值減1。S4:確定鍵,確定前面所設(shè)的溫度值。當S1鍵按1下,進入加熱或制冷模式后,數(shù)碼管顯示為00,00代表溫度設(shè)置起點溫度。再按下按鍵S2數(shù)碼管顯示值將逐步從個位數(shù)往上加,直到想要設(shè)置的溫度值,而按鍵S3是步進減鍵,按鍵每下一次,個位數(shù)減1。S4鍵是確定鍵,通過它來確定前面所設(shè)定的數(shù)值。3、鍵盤的機械抖動若Y0為低電平,S1號鍵閉合一次,圖中t1和t3分別為鍵的閉合和斷開過程中的抖動期(呈現(xiàn)一串負脈沖),抖動時間長短和開關(guān)的機械特性有關(guān),一般為5~10ms,t2為穩(wěn)定的閉合期,其時間由按鍵動作所確定,一般為十分之幾秒到幾秒,t0、t4為斷開期。為了保證CPU對鍵盤的閉合僅作一次處理,在軟件中必須去除抖動,在第一次檢測到有按鍵下時,執(zhí)行一段延時10ms的子程序后確認該按鍵電平是否仍保持閉合狀態(tài)電平,如果閉合狀態(tài)電平則確認有按鍵下,從而消除抖動的影響。鍵盤的機械抖動示意圖如圖2.8所示。圖2.8鍵盤的機械抖動示意圖2.6報警電路設(shè)計報警電路主要是由發(fā)光二極管和蜂鳴器組成的,具有聲、光報警功能的簡單電路,其電路如圖2.9所示。當溫度超過設(shè)置的上、下限時,P2.2口輸出高電平,三極管導(dǎo)通,蜂鳴器工作,發(fā)出聲音。P2.3口輸出高電平時,發(fā)光二極管正向?qū)?,發(fā)光報警。圖2.9報警電路2.7控制電路設(shè)計控制部分電路圖如圖2.10所示。圖2.10控制電路該電路是由兩個固態(tài)繼電器作為控制開關(guān),一個繼電器控制加熱裝置,另一個繼電器控制制冷裝置。固態(tài)繼電器是一種無觸點通斷型電子開關(guān),是四端有源器件,其中兩個端子為控制輸入端,另外兩個為輸出受控端。為了實現(xiàn)輸入與輸出的隔離,器件采用了高耐壓的光耦合器。當輸入信號有效時,電路呈導(dǎo)通狀態(tài),反之,呈斷開狀態(tài),可以實現(xiàn)類似電磁繼電器的開關(guān)功能。固態(tài)繼電器將MOSFET、GTR、普通晶閘管等組合在一起與觸發(fā)電路封裝在一個模塊中,而且驅(qū)動電路與輸出電路隔離。固態(tài)繼電器是可控硅過零觸發(fā)器,無觸點,不用調(diào)節(jié),對電網(wǎng)不會產(chǎn)生波形畸變。因此,非常適合本設(shè)計??刂齐娐饭ぷ髟恚寒擜T89C51的RXD口輸出一個高電平時,三極管開始工作,驅(qū)動繼電器J1工作,繼電器J1呈導(dǎo)通狀態(tài),加熱裝置開始工作。同樣,當AT89C51的TXD口輸出一個高電平時,三極管開始工作,驅(qū)動繼電器J2工作,繼電器J2開關(guān)閉合,制冷裝置開始工作。
第3章軟件設(shè)計系統(tǒng)軟件設(shè)計也就是程序設(shè)計,就是在完成了硬件系統(tǒng)的基礎(chǔ)上,再編寫相應(yīng)的程序,下載到芯片里,通過執(zhí)行程序指令控制硬件,從而實現(xiàn)各種功能。一般來講,軟件的功能可分為兩大類。一類是執(zhí)行軟件,它能完成各種實質(zhì)性的功能,如測量、計算、顯示、打印、輸出控制等。另一類是監(jiān)控軟件,它專門協(xié)調(diào)執(zhí)行模塊和操作者的關(guān)系,在系統(tǒng)中充當組織協(xié)調(diào)的角色。軟件設(shè)計就是用計算機所能接受的形式把解決問題的步驟描述出來。簡單的說,軟件設(shè)計就是編制計算機程序。一個好的程序應(yīng)該完成規(guī)定的任務(wù),而且應(yīng)該層次清晰、易于閱讀,并盡可能少占內(nèi)存,縮短執(zhí)行時間,但也不要一味地追求少占內(nèi)存,縮短執(zhí)行時間。這樣做可能會使程序的可讀性變差。隨著大規(guī)模和超大規(guī)模集成電路的發(fā)展,芯片的內(nèi)存容量也在不斷的增加,計算機執(zhí)行指令的時間也大大的縮短。因此,程序的長短和執(zhí)行時間,不再顯得那么重要,而程序的易讀性和程序的開發(fā)周期,顯得越來越重要。另外,在較復(fù)雜的程序設(shè)計中,必須充分考慮程序的可讀性、穩(wěn)定性、可擴展性、兼容性以及容錯性等也是衡量與評價程序的優(yōu)劣的重要指標。由于用匯編語言編寫的程序效率高,占用的內(nèi)存單元和CPU資源少,執(zhí)行速度快,還可直接訪問存儲器、輸入/輸出接口以及擴展的各種芯片,并可直接處理中斷,直接管理和控制硬件設(shè)備,適用于實時控制系統(tǒng),因此,本設(shè)計選用匯編語言來編寫程序。3.1主程序流程圖及簡要說明 本設(shè)計的軟件設(shè)計包括主程序、A/D轉(zhuǎn)換子程序、鍵盤子程序、控制子程序及顯示子程序。結(jié)合本系統(tǒng)的功能,程序長度不會超過AT89C51內(nèi)部的程序存儲器,所以硬件上不用外擴程序存儲器。主程序流程如圖3.1所示。本設(shè)計主程序工作過程為:首先對系統(tǒng)初始化,由于本系統(tǒng)要實現(xiàn)對飲水機的冷、熱兩個水箱的檢測與控制,因此先要選擇控制模式,這主要是經(jīng)過硬件電路的按鍵S1來選擇的。在確定進入加熱或制冷模式后,調(diào)用A/D轉(zhuǎn)換子程序?qū)Σ杉降哪M量進行轉(zhuǎn)換,轉(zhuǎn)換完畢保存數(shù)據(jù)后,調(diào)用鍵盤子程序,這個子程序主要完成對溫度上、下限的設(shè)置。完成設(shè)置后,調(diào)用控制子程序1或子程序2,通過對執(zhí)行這個程序,實現(xiàn)報警、加熱或制冷。最后調(diào)用顯示子程序來顯示溫度值。整個系統(tǒng)是一個閉環(huán)的,系統(tǒng)工作是循環(huán)進行的,這也就實現(xiàn)了實時檢測的設(shè)計要求。開始調(diào)用控制子程序2開始調(diào)用控制子程序2初始化初始化進入加熱模式?進入加熱模式?NNYY調(diào)用A/D轉(zhuǎn)換子程序調(diào)用A/D轉(zhuǎn)換子程序調(diào)用A/D轉(zhuǎn)換子程序調(diào)用A/D轉(zhuǎn)換子程序調(diào)用鍵盤子程序調(diào)用鍵盤子程序調(diào)用鍵盤子程序調(diào)用鍵盤子程序調(diào)用控制子程序1調(diào)用控制子程序1調(diào)用顯示子程序調(diào)用顯示子程序圖3.1主程序流程圖3.2A/D轉(zhuǎn)換子程序在這一模塊的軟件設(shè)計中,主要完成的是將采集電路采集到的模擬信號轉(zhuǎn)換為數(shù)字信號,然后送到單片機進行處理,從而完成A/D轉(zhuǎn)換部分的最后功能,該部分程序流程如3.2所示。根據(jù)設(shè)計的要求,程序先對端口初始化,根據(jù)模式選擇的結(jié)果,選擇其中一路的采集來的數(shù)據(jù),然后啟動A/D轉(zhuǎn)換功能,在轉(zhuǎn)換一段時間后,判斷轉(zhuǎn)換是否結(jié)束,如果結(jié)束就自動進入下一路的轉(zhuǎn)換,否則繼續(xù)轉(zhuǎn)換。取數(shù)據(jù)取數(shù)據(jù)ADC0809地址加1啟動轉(zhuǎn)換A/D轉(zhuǎn)換結(jié)束?地址數(shù)小于2?YNYN開始返回圖3.2A/D轉(zhuǎn)換子程序流程圖3.3鍵盤子程序這部分設(shè)計主要完成溫度上、下限的設(shè)置。其流程圖如圖3.3所示。本設(shè)計使用4個單鍵,這使得鍵值的識別問題也比較簡單化。在執(zhí)行程序的時候只需逐位判斷P3.2,P3.3,P3.4,P3.5口是高電平還是低電平,若為高電平,則表示沒有按鍵按下,若為低電平,則表示有按鍵按下。在程序的設(shè)計當中,考慮了鍵的去抖動問題。因為用手按下一個按鍵時,往往會出現(xiàn)所按鍵在閉合位置和斷開位置之間跳動幾下才穩(wěn)定到閉合狀態(tài)的情況。在釋放一個鍵的時候,也會出現(xiàn)類似的情況,抖動的時間是不一致的,通常小于10毫秒,若抖動的問題不解決,就會引起閉合鍵的多次讀入。對于鍵的抖動處理,一般采用軟件延時10毫秒的方法。在發(fā)現(xiàn)有按鍵閉合時,不是立即讀入該鍵值,而是延時一段時間以后,再進行鍵閉合與否的判斷,確認此時是否真的有按鍵下,有則進行該按鍵的處理,沒有則不進行處理。有按鍵下?有按鍵下?按鍵處理判別鍵號延時10msYN開始返回圖3.3鍵盤子程序流程圖3.4控制子程序本部分主要是實現(xiàn)聲光報警和驅(qū)動加熱或制冷功能。由于本設(shè)計的控制對象有兩路,一路是控制飲水機的熱水水箱,另一路是控制涼水水箱,因此,有兩個子程序,它們分別為控制子程序1和控制子程序2。控制程序1流程圖如圖3.4所示,控制子程序2流程圖如圖3.5所示。選擇控制模式后,先將采集轉(zhuǎn)換后的數(shù)據(jù)與設(shè)定的值進行比較,如果是加熱模式,且采集轉(zhuǎn)換的值低于設(shè)定值的下限,置RXD為高電平,加熱器開始加熱;如果是制冷模式,且采集轉(zhuǎn)換的值高于設(shè)定值的上限,則置AT89C51的P2.3、P2.4口為高電平,實現(xiàn)聲光報警,同時,置TXD為高電平,制冷裝置開始工作。開始開始保存數(shù)據(jù)保存數(shù)據(jù)低于下限?N低于下限?NNY高于上限?開始加熱NY高于上限?開始加熱Y取數(shù)據(jù)Y取數(shù)據(jù)N等于下限?報警、停止加熱N等于下限?報警、停止加熱YY返回返回圖3.4控制子程序1流程圖開始開始保存數(shù)據(jù)保存數(shù)據(jù)N高于上限?N高于上限?YYN低于下限?開始制冷N低于下限?開始制冷Y取數(shù)據(jù)Y取數(shù)據(jù)NN等于上限?報警、停止制冷等于上限?報警、停止制冷YY返回返回圖3.5控制子程序2流程圖3.5顯示子程序此模塊采用的是動態(tài)掃描的方法,這樣各位LED能夠顯示出與本位相應(yīng)的顯示字符。顯示子程序流程圖見圖3.6所示。在編寫程序時,在某一時刻,只讓某一位的位選線處于選通狀態(tài),而其它各位的位選線處于關(guān)閉狀態(tài),同時,段選線上輸出相應(yīng)位要顯示字符的段碼。這樣,在同一時刻,兩位LED中只顯示選通的一位,而另一位是熄滅的。依次循環(huán)下去,就可以使各位顯示出將要顯示的字符,雖然這些字符是在不同時刻出現(xiàn)的,而且同一時刻,只有一位顯示,其它各位熄滅,但由于LED顯示器的余輝和人眼的視覺暫留作用,只要每位顯示間隔足夠短,則可造成多位同時亮的假象,達到同時顯示的目的。本次設(shè)計,顯示一位保持1ms時間,共需2ms時間。YYN開始延時1ms內(nèi)存地址加1輸出顯示取內(nèi)存數(shù)據(jù)地址數(shù)為2?返回圖3.6顯示子程序流程圖
第4章系統(tǒng)調(diào)試一個單片機系統(tǒng)經(jīng)過總體設(shè)計,完成了硬件設(shè)計和軟件設(shè)計開發(fā)。元器件安裝后,在系統(tǒng)的程序存儲器中下載編好的應(yīng)用程序,系統(tǒng)即可運行。但是一次性成功幾乎是不可能的,多少會出現(xiàn)一些硬件、軟件上的錯誤,這就需要調(diào)試來發(fā)現(xiàn)錯誤并加以改正AT89C51單片機雖然功能很強,但只是一個芯片,一個完整的控制系統(tǒng)還包括很多功能模塊,因此,進行調(diào)試時,需要逐個逐項仔細的進行。一項設(shè)計到實現(xiàn)具體功能與軟件和硬件的聯(lián)合調(diào)試密不可分,因為硬件要通過軟件來實現(xiàn),軟件要通過硬件來體現(xiàn)。只有從實際的觀察效果中分析,配合好軟、硬件協(xié)調(diào)工作,安排好相應(yīng)的工作時序才能達到理想的效果,實現(xiàn)設(shè)計。所以,整體調(diào)試是從設(shè)計到實現(xiàn)的關(guān)鍵一步。在良好的設(shè)計基礎(chǔ)之上,調(diào)試過程的好壞直接決定了我們的設(shè)計成果。在任何一個設(shè)計中電路調(diào)試這部分內(nèi)容是最關(guān)鍵,難度最大,最考驗人的工作。整個設(shè)計的成敗全系于此。同時它也能夠檢驗設(shè)計的方案的可行性和正確性。在這個過程中可能要遇到在設(shè)計中所沒有考慮到的地方,通過調(diào)試使設(shè)計得到更好的補充。調(diào)試工作包括硬件檢查,軟件調(diào)試,軟硬件聯(lián)通調(diào)試三部分。硬件檢查主要是針對電路板的具體電路連接是否正確,測量各電路的電壓、電流等是否達到要求的值等;軟件調(diào)試主要是針對語法錯誤,即能否正確編譯、單步運行時邏輯上是否正確;軟硬聯(lián)調(diào)就是:硬件在軟件的“控制”下完成所需要的功能,這一部分是最關(guān)鍵的環(huán)節(jié),也是難度最大的部分。4.1仿真系統(tǒng)簡介愛思系列單片機仿真系統(tǒng)是南京愛思電子有限公司開發(fā)的一種高性能,低價格的通用單片機開發(fā)工具,可用于各種單片機的軟硬件開發(fā)和調(diào)試,它由愛思仿真系統(tǒng)硬件和愛思集成調(diào)試軟件兩部分組成。4.1.1愛思單片機仿真系統(tǒng)硬件1.愛思系列單片機仿真系統(tǒng)硬件采用大規(guī)模在線編程芯片制造,將整個單片機仿真控制電路集成到一片大規(guī)模LPD芯片中,仿真CPU外置在仿真頭上,通過更換不同的仿真頭,可對各種單片機進行仿真。2.可仿真8位及16位單片機。3.采用硬件斷點技術(shù),不占用單片機任何資源,在用戶程序運行中可打入CTRL-C中斷用戶程序運行,返回監(jiān)控。4.串口與計算機通信,波特率自動設(shè)置,最高波特率可達38,400。5.配接愛思邏輯分析儀,實現(xiàn)各種復(fù)雜的組合斷點和觀察各種邏輯波形及分析時序關(guān)系。4.1.2愛思集成調(diào)試軟件1.愛思集成調(diào)試軟件,具有編輯、匯編、編譯、調(diào)試和軟件模擬等功能,具體的操作均可通過窗口和菜單的選擇來完成。將軟件命令和反映程序的運行的情況集中在同一屏幕上的形式,稱為集成環(huán)境,集成環(huán)境可以減少用戶記憶眾多命令的負擔(dān),方便用戶編寫和調(diào)試軟件,直觀的反映程序運行的情況,提高軟件的開發(fā)效率。2.支持匯編語言、PLM、C高級語言源程序調(diào)試。3.可觀察數(shù)組、紀錄等各種復(fù)雜變量。4.可進行軟件模擬,該軟件可以用軟件模擬的方式來調(diào)試用戶編寫的程序。所謂軟件模擬是指用計算機模仿單片機的運行情況,而不需要單片機仿真機硬件支持。當軟件模擬單片機的運行情況并成功后,在用仿真器仿真調(diào)試。這種軟件模擬功能對單片機的學(xué)習(xí)和開發(fā)都是必不可少的。5.可以與愛思單片機仿真系統(tǒng)配合進行仿真,該軟件也可以與愛思仿真器配合對單片機進行仿真,直觀的反映CPU內(nèi)部各部分、外部程序存儲器和外部數(shù)據(jù)存儲器的運行情況,為用戶調(diào)試程序提供準確的調(diào)試信息。4.2硬件電路檢查本設(shè)計按照其功能模塊的不同,其硬件電路的檢查包括:溫度采集電路、A/D轉(zhuǎn)換電路、顯示電路、鍵盤電路、報警電路、控制電路六部分。4.2.1溫度采集電路檢查溫度采集部分電路的檢查是比較復(fù)雜的,原因是這部分電路的器件比較多,而且電位器的調(diào)節(jié)存在誤差,而且放大電路得到的放大倍數(shù)往往不能達到所期望的值。由于溫度傳感器AD590是將溫度值轉(zhuǎn)換成電流信號輸出,因此,調(diào)試時,采用一個電流源來代替,而放大電路是由三級運放構(gòu)成的,要實現(xiàn)該電路的功能就要進行繁瑣的調(diào)試。要先調(diào)第一級運放使其輸入和輸出相同,然后調(diào)整第二級運放使其差放值是2.73,同時第二級也是一個反相器,這樣輸出的電壓就是2.73減去輸入的電壓值,最后調(diào)第三級運放,使其放大倍數(shù)為5倍。4.2.2A/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(-)接地。這主要是在焊接器件時疏忽大意所致,最后,按要求連接后,問題也就解決了。4.2.3顯示電路檢查在通電后,發(fā)現(xiàn)右邊數(shù)碼管的對應(yīng)的B段不亮,經(jīng)檢查,連接B段腳的線斷開了,焊接上后顯示仍有問題,再仔細檢查,發(fā)現(xiàn)連接左邊數(shù)碼管Vcc腳的三極管B、E接反了,從新改過后顯示正常。為了進一步保證這部分電路的正常,又進行了下一步的檢測,先是下載了一個99秒倒記時的程序到AT89C51芯片上,通電后,數(shù)碼管從99秒逐個減小變化到0秒,然后再反復(fù)循環(huán)。這說明這部分電路正常。4.2.4鍵盤電路檢查這部分的設(shè)計主要由四個按鍵跟四個電阻組成。通電后,每個按鍵下的時候,數(shù)碼管的顯示值沒有變化,經(jīng)檢查,四個按鍵連在一起但沒有接地,接地后,S2按下時,對應(yīng)數(shù)碼管顯示值加一,S2鍵正常,S3鍵下時,數(shù)值無變化,問題出在軟件編程上,經(jīng)修改程序后,四個按鍵都正常。5.2.5報警電路檢查這部分主要由蜂鳴器和發(fā)光二極管組成。經(jīng)檢查調(diào)試,結(jié)果沒有問題,二極管亮,蜂鳴器有聲,雖然蜂鳴器的聲音偏小,但不影響報警電路的正常工作。4.2.6控制電路檢查本部分的檢查,主要是在通電后,檢查固態(tài)繼電器開關(guān)的通與斷,通電后發(fā)現(xiàn)開關(guān)沒有動靜,檢查硬件沒有任何問題,判斷是器件有問題或程序有問題,經(jīng)過修改程序,器件工作正常。4.3軟件調(diào)試上機調(diào)試程序是檢驗程序正確性的一個重要環(huán)節(jié)。在調(diào)試時,應(yīng)在單片機開發(fā)系統(tǒng)上先對程序進行分塊調(diào)試,對入口參數(shù)和變量預(yù)賦初值,觀察運行結(jié)果。如果執(zhí)行結(jié)果和預(yù)想的不一致,可采用設(shè)置斷點或單步運行的方法,找出錯誤并修改。該設(shè)計是軟硬件結(jié)合。軟件的設(shè)計在與硬件聯(lián)調(diào)之前主要是對所編寫的程序進行語法錯誤的查找,然后進行編譯,生成可以寫入單片機的HEX文件。在WAVE中運行后,通過觀察數(shù)據(jù)窗口,也可以看出一部分結(jié)果,但是只有與硬件聯(lián)調(diào),在硬件上所顯示的結(jié)果才能最終看出軟件的調(diào)試成功與否。在軟件調(diào)試過程中,同樣也是按照分步調(diào)試的方法進行的。對軟件的各個子模塊進行調(diào)試,在調(diào)試過程中遇到了一些困難,例如在進行程序編譯后,提示有一多余字符的錯誤,經(jīng)仔細檢查,存在語法錯誤,改正后進行編譯依然存在這樣的未定義字符。后來,拿程序與別的可運行程序進行比較,發(fā)現(xiàn)在程序當中由于自己習(xí)慣性的動作多鍵入了空格,遂去掉空格,問題得以解決。4.4軟硬聯(lián)調(diào)顯示部分:在經(jīng)過硬件和軟件的單獨調(diào)試后,下一步需要進行的就是軟硬件的聯(lián)合調(diào)試了。在這個過程中,最先調(diào)試的部分是顯示部分,因為以后的其他部分的調(diào)試結(jié)果都要通過顯示部分來顯示結(jié)果,所以先做了這一部分的工作。在最開始,將整個程序進行仿真,沒有任何結(jié)果顯示,后經(jīng)檢查在軟件編寫中把段選地址和位選地址計算錯了,將錯誤改過來以后,顯示正常??刂齐娐泛蛨缶娐罚涸谶@部分的調(diào)試,在軟件里置TXD,RXD腳為高電平驅(qū)動報警電路,設(shè)置INTO腳為低電平驅(qū)動調(diào)節(jié)裝置。在這部分電路聯(lián)調(diào)之前已經(jīng)解決了硬件電路的問題,在聯(lián)調(diào)中順利通過。鍵盤部分:首先編寫了一個簡單的鍵盤的實驗程序。在進行仿真后發(fā)現(xiàn)鍵盤的S1鍵有一點問題,其機械抖動時間太長,影響了鍵盤的整體工作。這個問題只要換一個按鍵就可以解決了。解決這個問題后,鍵盤部分能順利工作。采集部分:這部分的聯(lián)通調(diào)試實質(zhì)上是采集部分與顯示電路的聯(lián)調(diào),只有通過顯示,才能得知數(shù)據(jù)是否采集到,采集到的數(shù)據(jù)是否正確。在這部分調(diào)試中,基本沒有問題。經(jīng)過上述各個方面的調(diào)試后,最后進行的就使把各個子模塊連接起來進行對整體的調(diào)試了。對于設(shè)計能不能滿足題目的要求,關(guān)鍵就在于整體調(diào)試。在整體調(diào)試的過程中,遇到了一些問題。在這部分工作中,出現(xiàn)的問題有鍵盤的工作沒有實現(xiàn),問題出在軟件上,缺少了開中斷語句,將這條添補后,問題解決。由于在經(jīng)過對軟件,硬件,軟硬件的仔細調(diào)試后,一些基本問題都已經(jīng)解決,所以在總體調(diào)試過程中沒有遇到的問題,調(diào)試順利通過。至此,本次設(shè)計要求的數(shù)據(jù)采集、顯示、鍵盤設(shè)定、報警等功能基本實現(xiàn)。
第5章系統(tǒng)效益分析5.1社會效益隨著電子技術(shù)的發(fā)展,特別是隨著大規(guī)模集成電路的產(chǎn)生,給人們的生活帶來了根本性的變化,如果說微型計算機的出現(xiàn)使現(xiàn)代的科學(xué)研究得到了質(zhì)的飛躍,那么單片機技術(shù)的出現(xiàn)則是給現(xiàn)代工業(yè)控制測控領(lǐng)域帶來了一次新的革命。目前,單片機在工業(yè)控制系統(tǒng)諸多領(lǐng)域得到了極為廣泛的應(yīng)用。特別是其中的C51系列的單片機的出現(xiàn),具有更好的穩(wěn)定性,更快和更準確的運算精度,推動了工業(yè)生產(chǎn),影響著人們的工作和學(xué)習(xí)?,F(xiàn)代工業(yè)設(shè)計、工程建設(shè)及日常生活中常常需要用到溫度控制,早期溫度控制主要應(yīng)用于工廠中,例如鋼鐵的水溶溫度,不同等級的鋼鐵要通過不同溫度的鐵水來實現(xiàn),這樣就可能有效的利用溫度控制來掌握所需要的產(chǎn)品了。在現(xiàn)代社會中,溫度控制不僅應(yīng)用在工廠生產(chǎn)方面,其作用也體現(xiàn)到了各個方面,隨著人們生活質(zhì)量的提高,酒店廠房及家庭生活中都會見到溫度控制的影子,溫度控制將更好的服務(wù)于社會。5.2經(jīng)濟效益當前社會上的飲水機種類繁多,功能差異也很大,而人們的生活水平提高很快,生活中,人們的對飲水機功能的要求也越來越高,就目前來看,最先進的飲水機都具備溫度控制系統(tǒng)的,而且都有自動控制功能,可以人為設(shè)定溫度,具有這樣功能的飲水機已經(jīng)成為目前飲水機市場的主流產(chǎn)品,就這樣的形式來看,市場對這類產(chǎn)品的要求數(shù)量還在不斷增加,因此,開發(fā)本系統(tǒng)是很有市場前景的。本設(shè)計的特點是電路結(jié)構(gòu)簡單、功能強大,主要是利用單片機實現(xiàn)總體功能。由于考慮到成本的原因,設(shè)計從一開始就選擇使用性價比最高的器件,因為所有的器件都是自己親自去買,因此,整個系統(tǒng)的成本也很清楚,經(jīng)過計算,硬件的成本大概在90元人民
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五版建筑工程主體承包合同(含建筑垃圾資源化處理)范本6篇
- 二零二五年度食堂服務(wù)員派遣合同2篇
- 二零二五年度二手攪拌設(shè)備二手交易碳排放交易合同3篇
- 二零二五年進出口貨物檢驗檢疫合同3篇
- 二零二五版房屋抵押貸款合同樣本編制指南6篇
- 石場生產(chǎn)線承包合同2025年度規(guī)范文本6篇
- 標題14:2025年度網(wǎng)絡(luò)安全監(jiān)測與預(yù)警服務(wù)合同2篇
- 二零二五年技術(shù)轉(zhuǎn)讓合同具體條款2篇
- 二零二五年度酒吧經(jīng)營場所租賃合同范本(專業(yè)解析版)2篇
- 二零二五年度建筑工地環(huán)境監(jiān)測與節(jié)能管理系統(tǒng)合同3篇
- EPC總承包項目中的質(zhì)量管理體系
- 滬教版小學(xué)語文古詩(1-4)年級教材
- 外科醫(yī)生年終述職總結(jié)報告
- 橫格紙A4打印模板
- CT設(shè)備維保服務(wù)售后服務(wù)方案
- 重癥血液凈化血管通路的建立與應(yīng)用中國專家共識(2023版)
- 兒科課件:急性細菌性腦膜炎
- 柜類家具結(jié)構(gòu)設(shè)計課件
- 陶瓷瓷磚企業(yè)(陶瓷廠)全套安全生產(chǎn)操作規(guī)程
- 煤炭運輸安全保障措施提升運輸安全保障措施
- JTGT-3833-2018-公路工程機械臺班費用定額
評論
0/150
提交評論