




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、溫度控制是無論是在工業(yè)生產(chǎn)過程中,還是在日常生活中都起著非常重要的作用,過低的溫度或過高的溫度都會使水資源失去應(yīng)有的作用,從而造成水資源的巨大浪費(fèi)。特別是在當(dāng)前全球水資源極度缺乏的情況下,我們更應(yīng)該掌握好對水溫的控制,把身邊的水資源好好地利用起來。本次設(shè)計(jì)為一個(gè)基于單片機(jī)的飲水機(jī)的溫度控制系統(tǒng),該系統(tǒng)可以實(shí)時(shí)檢測飲水機(jī)水箱的水溫,并且可以通過數(shù)碼管顯示飲水機(jī)水箱水溫度數(shù),可以通過鍵盤或開關(guān)選擇制冷或加熱,可以人為設(shè)置水的溫度的上下限,如加熱,當(dāng)溫度在設(shè)定的圍時(shí)正常工作,當(dāng)?shù)陀谒疁叵孪迺r(shí)控制加熱器加熱;如制冷,當(dāng)溫度高于水溫上限時(shí)控制壓縮機(jī)制冷,溫度檢測圍095C,精度1C,當(dāng)溫度超過設(shè)定值時(shí)具
2、有示警功能。第1章電路設(shè)計(jì)單片機(jī)最小系統(tǒng)設(shè)計(jì)單片機(jī)最小系統(tǒng)如圖1.0所示,由主控器AT89C51時(shí)鐘電路和復(fù)位電路三部分組成。單片機(jī)AT89C5祚為核心控制器控制著整個(gè)系統(tǒng)的工作而時(shí)鐘電路負(fù)責(zé)產(chǎn)生單片機(jī)工作所必需的時(shí)鐘信號,復(fù)位電路使得單片機(jī)能夠正常、有序、穩(wěn)定地工作。*n 匚二i swhzC33 22 UAT39C51XIX2RSTRMIk圖1.0單片機(jī)最小系統(tǒng)單片機(jī)選擇AT89C51是一種帶4K字節(jié)閃存可編程可擦除只讀存儲器FPEROMFlashProgrammableandErasableReadOnlyMemory的低電壓、高性能CMOS的微處理器,俗稱單片機(jī)。AT89C2051是一種
3、帶2K字節(jié)閃存可編程可擦除只讀存儲器的單片機(jī)。單片機(jī)的可擦除只讀存儲器可以反復(fù)擦除1000次。該器件采用ATMEL5密度非易失存儲器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPlffl閃爍存儲器組合在單個(gè)芯片中,ATMEL的AT89C51是一種高效微控制器,AT89C2051是它的一種精簡版本。AT89C單片機(jī)為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價(jià)廉的方案。其管腳圖如圖1.1所示。VC才:cu?1F10OFOOPl1gPOLP12P02P13P03P14P04Fl5F05P16TOSF17PD7INTIP20INTOP3LP22TlP23TOF24P2
4、SEA/VTT2SXL.仁RESETKXDTXDRDQALE/P訴OPSEM392363374535634fS322122152324TL4Q-3126272LD1150o25ATHyCSL圖1.1AT89C51管腳圖AT89C51的管腳說明:VCC供電電壓。本設(shè)計(jì)供電電壓為+5V。GND接地。P0口:P0口為一個(gè)8位漏極開路雙向I/O口,每個(gè)管腳可吸收8個(gè)TTL門電流。當(dāng)P1口的管腳第一次寫1時(shí),被定義為高阻輸入。P0口能夠作為外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的低八位。在Flash編程時(shí),P0口作為原碼輸入口,當(dāng)Flash進(jìn)行校驗(yàn)時(shí),P0輸出原碼,此時(shí)P0外部必須被拉高。P1口:
5、P1口是一個(gè)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4個(gè)TTL門電流。P1口管腳寫入1后,被部上拉為高電平,可用作輸入,P1口被外部下拉為低電平時(shí),將輸出電流,這是由于部上拉的緣故。在FLASHY程和校驗(yàn)時(shí),P1口作為低八位地址接收。P2口:P2口為一個(gè)帶部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個(gè)TTL門電流,當(dāng)P2口被寫1時(shí),其管腳被上拉電阻拉高,且作為輸入。3/33P2口的管腳被外部下拉為低電平時(shí),將輸出電流。這是由于部上拉的緣故。P2口當(dāng)用于外部程序存儲器或16位地址外部數(shù)據(jù)存儲器進(jìn)行存取時(shí),P2口輸出地址的高八位。在給出地址1時(shí),它利用部上拉電阻,當(dāng)對外
6、部八位地址數(shù)據(jù)存儲器進(jìn)行讀寫時(shí),P2口輸出其特殊功能寄存器的容。P2口在Flash編程和校驗(yàn)時(shí)接收高八位地址信號和控制信號。P3口:P3口管腳是8個(gè)帶部上拉電阻的雙向I/O口,可接收輸出4個(gè)TTL門電流。當(dāng)P3口寫入1后,它們被部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流,這是由于上拉的緣故。RST復(fù)位輸入端。當(dāng)振蕩器復(fù)位器件時(shí),要保持RST卻兩個(gè)機(jī)器周期的高電平時(shí)間。ALE當(dāng)訪問外部存儲器時(shí),地址鎖存于鎖存地址的低位字節(jié)。在FLAS閭程期間,該引腳用于輸入編程脈沖。在平時(shí),ALE端口以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部
7、輸出的脈沖或用于定時(shí)目的。然而,要注意的是:每當(dāng)其用作外部數(shù)據(jù)存儲器時(shí),將跳過一個(gè)ALE脈沖。如想禁止ALE的輸出,可將SFR8EHfe址置0。此時(shí),ALE只有在執(zhí)行MOVX,MOVC令時(shí)ALE才起作用。PSEN外部程序存儲器的選通信號。在由外部程序存儲器取指令期間,每個(gè)機(jī)器周期/PSEN兩次有效。但在訪問外部數(shù)據(jù)存儲器時(shí),這兩次有效的/PSEN信號將不出現(xiàn)。/EA/EA功能為外程序存儲器選擇控制端。當(dāng)/EA保持低電平時(shí),單片機(jī)訪問外部程序存儲器。當(dāng)/EA端保持高電平時(shí),單片機(jī)訪問部程序存儲器。XTAL1反向振蕩放大器的輸入及部時(shí)鐘工作電路的輸入端。XTAL2來自反向振蕩器的輸出端。鑒于AT8
8、9C51單片機(jī)所具有的特性及本設(shè)計(jì)控制的復(fù)雜性和兼顧顯示、報(bào)警、鍵盤控制等較高要求,本設(shè)計(jì)選用AT89C51單片機(jī)作為中心控制器。時(shí)鐘電路時(shí)鐘電路用于產(chǎn)生AT89C51單片機(jī)工作時(shí)所必需的時(shí)鐘信號。其電路與AT89C51的連接如圖2.1所示。AT89C51單片機(jī)本身就是一個(gè)復(fù)雜的同步時(shí)序電路,為了保證同步工作方式的實(shí)現(xiàn),AT89C51單片機(jī)應(yīng)在唯一的時(shí)鐘信號控制下,嚴(yán)格按時(shí)序執(zhí)行指令進(jìn)行工作,而時(shí)序所研究的是指令執(zhí)行中各個(gè)信號的關(guān)系。在執(zhí)行指令時(shí),CPU首先要到指令存儲器中取出需要執(zhí)行的指令操作碼,然后譯碼,并由時(shí)序電路產(chǎn)生一系列控制信號去完成指令所規(guī)定的操作。CPU出的時(shí)序彳S號有兩種,一是
9、用于片對各個(gè)功能部件的控制。另一種是對片外存儲器或I/O口的控制,這種時(shí)序?qū)τ诜治觥⒃O(shè)計(jì)硬件接口電路至關(guān)重要。這也是單片機(jī)應(yīng)用設(shè)計(jì)者最關(guān)心的問題。時(shí)鐘是單片機(jī)的心臟,單片機(jī)各個(gè)功能部件的運(yùn)行都是以時(shí)鐘頻率為基準(zhǔn),有條不紊地工作。因此,時(shí)鐘頻率直接影響單片機(jī)的速度,時(shí)鐘電路的質(zhì)量也直接影響單片機(jī)系統(tǒng)的穩(wěn)定性。AT89C51單片機(jī)部有一個(gè)用于構(gòu)成振蕩器的高增益反相放大器,該高增益反相放大器的輸入端為芯片引腳X1,輸出引腳X2。這兩個(gè)引腳跨接石英晶體振蕩器和微調(diào)電容,就構(gòu)成一個(gè)穩(wěn)定的自激振蕩器。雖然AT89C51有部振蕩電路,但要形成時(shí)鐘,必須外接元件。外接晶體以及X1和X2構(gòu)成并聯(lián)諧振電路。電容的
10、大小會影響振蕩器頻率的高低、振蕩器的穩(wěn)定性、起振的快速性和溫度的穩(wěn)定性。除使用晶體振蕩器外,如對時(shí)鐘頻率要求不高,還可以用瓷振蕩器來代替。電路中的電容容值通常選擇為30PF左右,本電路選擇的是20PF,這并不影響系統(tǒng)的工作和控制的結(jié)果。品體的振蕩的頻率的圍通常是在1.2MH至ij12MH之間。晶體的頻率越高,則系統(tǒng)的時(shí)鐘頻率就越高,單片機(jī)的運(yùn)行速度也就越快。但反過來運(yùn)行速度越快對存儲器的速度要求就越高,對印刷電路板的工藝要求也高。AT89C5liI片機(jī)常選擇振蕩頻率6MH或12MH的石英晶體,隨著集成電路制造工藝技術(shù)的發(fā)展,單片機(jī)的時(shí)鐘頻率也在逐步提高,現(xiàn)在的高速單片機(jī)芯片的時(shí)鐘頻率已經(jīng)達(dá)到4
11、0MH??紤]到本設(shè)計(jì)所用的各種器件對時(shí)鐘頻率的要求及整體電路的簡潔性,本設(shè)計(jì)選用的是振蕩頻率為6MH的石英晶體。復(fù)位電路AT89C51的復(fù)位是由外部的復(fù)位電路來實(shí)現(xiàn)的。單片機(jī)復(fù)位電路設(shè)計(jì)的好壞,直接影響到整個(gè)系統(tǒng)工作的可靠性。許多用戶在設(shè)計(jì)完單片機(jī)系統(tǒng),并在實(shí)驗(yàn)室調(diào)試成功后,在現(xiàn)場卻出現(xiàn)了死機(jī)、程序走飛等現(xiàn)象,這主要是單片機(jī)的復(fù)位電路設(shè)計(jì)不可靠引起的。因此選用一個(gè)適合本系統(tǒng)的復(fù)位電路極其重要。常用的復(fù)位電路有四種方式:1上電復(fù)位電路2按鍵復(fù)位電路3脈沖復(fù)位電路4兼有上電復(fù)位與按鍵復(fù)位的電路。由于考慮到結(jié)構(gòu)和成本等原因,在很多設(shè)計(jì)里面,復(fù)位電路通常采用上電復(fù)位和按鍵復(fù)位兩種。根據(jù)本系統(tǒng)的特性,決
12、定選用最簡單的上電復(fù)位電路。上電復(fù)位是通過外部復(fù)位電路的電容充電來實(shí)現(xiàn)的。只要Vcc的上升時(shí)間不超過10ms,就可以實(shí)現(xiàn)自動上電復(fù)位。當(dāng)時(shí)鐘頻率選用6MH,電容C選用22mF,電阻R圖用1KW該復(fù)位電路工作原理為:在通電瞬間,在RCI路充電過程中,RST出現(xiàn)正脈沖,保證RSTH腳出現(xiàn)10ms以上穩(wěn)定白高電平,從而使單片機(jī)復(fù)位。溫度采集電路設(shè)計(jì)本設(shè)計(jì)中的溫度采集系統(tǒng)由DS18B2g專感器負(fù)責(zé)。其型號如圖1.2.1所GND I JO UCDPR交封裝示:DS18B20工作原理為DS18B20的讀寫時(shí)序和測溫原理與DS1820相同,只是得到的溫度值的位數(shù)因分辨率不同而不同,且溫度轉(zhuǎn)換時(shí)的延時(shí)時(shí)間由2
13、s減為750m&DS18B20測溫原理如圖3所示。圖中低溫度系數(shù)晶振的振蕩頻率受溫度影響很小,用于產(chǎn)生固定頻率的脈沖信號送給計(jì)數(shù)器1。高溫度系數(shù)晶振隨溫度變化其振蕩率明顯改變,所產(chǎn)生的信號作為計(jì)數(shù)器2的脈沖輸入。計(jì)數(shù)器1和溫度寄存器被預(yù)置在-55c所對應(yīng)的一個(gè)基數(shù)值。計(jì)數(shù)器1對低溫度系數(shù)晶振產(chǎn)生的脈沖信號進(jìn)行減法計(jì)數(shù),當(dāng)計(jì)數(shù)器1的預(yù)置值減到0時(shí),溫度寄存器的值將加1,計(jì)數(shù)器1的預(yù)置將重新被裝入,計(jì)數(shù)器1重新開始對低溫度系數(shù)晶振產(chǎn)生的脈沖信號進(jìn)行計(jì)數(shù),如此循環(huán)直到計(jì)數(shù)器2計(jì)數(shù)到0時(shí),停止溫度寄存器值的累加,此時(shí)溫度寄存器中的數(shù)值即為所測溫度。圖3中的斜率累加器用于補(bǔ)償和修正測溫過程中的非線性,其
14、輸出用于修正計(jì)數(shù)器1的預(yù)置值。DS18B20部結(jié)構(gòu)圖如圖1.2.2所示:NS64fc 剛 和出 接口電源檢測部結(jié)構(gòu)有脩器而控1.2.2 DS18B202.3A/D轉(zhuǎn)換電路設(shè)計(jì)A/D轉(zhuǎn)換部分電路的功能主要是將采集部分采集來的模擬信號轉(zhuǎn)換成數(shù)字信號,然后輸送到單片機(jī)進(jìn)行數(shù)據(jù)處理。主要器件有ADC080974LS02、74S74等。ADC0809fAT89C51連接電路如圖2.5所示。駭C: FtnE 3TJAT MB: I:ME UM Qd,M如am圖2.5A/D轉(zhuǎn)換電路A/D轉(zhuǎn)換器ADC080吸有八路模擬輸入端,由于本設(shè)計(jì)溫度采集只有兩路,因此只用到兩路模擬輸入端,其輸入通道為IN0、IN1。這
15、兩個(gè)通道的數(shù)據(jù)分別是溫度采集電路的輸出信號V01、V02,也就是轉(zhuǎn)換為電壓值的飲水機(jī)兩個(gè)水箱水的溫度值。選擇這兩個(gè)通道需要通過設(shè)置ADC0809勺ADDARC的值,因?yàn)樗鼘?yīng)的是八路模擬信號,而本系統(tǒng)只有兩路模擬信號輸入,因此,只需要將低位ADDA&到AT89C51的P2.2口,并根據(jù)P2.2口的電壓是低電平或高電平來選擇要檢測哪個(gè)通道,當(dāng)ADDAS為0時(shí)選的是IN0通道,當(dāng)ADDM1時(shí)選的是IN1通道。而ADDBADDCR需接地即可。A/D轉(zhuǎn)換器選擇A/D轉(zhuǎn)換器的功能是將連續(xù)變化的模擬量轉(zhuǎn)換成一個(gè)離散的數(shù)字量。每一個(gè)數(shù)字量都是數(shù)字代碼的按位組合,每一位數(shù)字代碼都是一定的權(quán),對應(yīng)一定大小的模擬
16、量。為了將數(shù)字量轉(zhuǎn)換成模擬量應(yīng)該將其每一位都轉(zhuǎn)換成響應(yīng)的模擬量,然后求和即可得到與數(shù)字量成正比的模擬量。目前,市面上有很多類型的A/D轉(zhuǎn)換器,如:ADC080、4ADC080、9AD574等,根據(jù)本設(shè)計(jì)控制的特點(diǎn),選用ADC0809乍為A/D轉(zhuǎn)換器。ADC080sl位逐次逼近式A/D轉(zhuǎn)換器是一種單片CMOSS件,包括8位的模/數(shù)轉(zhuǎn)化器,8通道多路轉(zhuǎn)換器和與微處理器兼容的控制邏輯。8通道多路轉(zhuǎn)換器能直接連通8個(gè)單端模擬信號中的任何一個(gè)。片帶有鎖存功能的8路模擬多路開關(guān),可以對8路05V的輸入模擬電壓信號分時(shí)進(jìn)行轉(zhuǎn)換,片具有多路開關(guān)的地址譯碼和鎖存電路、比較器、256RT型網(wǎng)絡(luò)、樹狀電子開關(guān)、逐次
17、逼近寄存器SAR控制與時(shí)序電路等。輸出具有TTL三態(tài)鎖存緩沖器,可以直接連接到單片機(jī)數(shù)據(jù)總線上。ADC0809功能如下:1分辨率為8位。2最大不可調(diào)誤差小于1LSB。3單一+5V供電,模擬輸入圍05V4具有鎖存控制的8路模擬開關(guān)。5可鎖存三態(tài)輸出,輸出與TTL兼容。6功耗為15mWI7不必進(jìn)行零點(diǎn)和滿度調(diào)整。8轉(zhuǎn)換速度取決于芯片的時(shí)鐘頻率。時(shí)鐘頻率圍:101280KH,當(dāng)CLK=500kH時(shí),轉(zhuǎn)換速度為128msADC0809管腳及功能A/D轉(zhuǎn)換器ADC0809勺引腳圖如圖2.6所示。10CLOCK酒中STARTALEIH-7ADD-C也DBTM-5ADDAEOCM-4-Ish*2-7HIMI
18、S5IH2942-5It-3412&165曾*?a17i1+15i?Sis27192026iLAD匚期口。圖2.6ADC0809引腳圖IN0IN7:8路輸入通道的模擬量輸入端口。2-12-8:8位數(shù)字量輸出端口。START,ALESTART為啟動控制輸入端口,ALE為鎖存控制信號端口。這兩個(gè)信號端可連接在一起,當(dāng)通過軟件輸入一個(gè)正脈沖,便立即啟動模/數(shù)轉(zhuǎn)換。EOC.OEEOC為轉(zhuǎn)換結(jié)束信號脈沖輸出端口,OE為輸出允許控制端口。10/33這兩個(gè)信號也可連接在一起表示模/數(shù)轉(zhuǎn)換結(jié)束。國的電平由低變高,打開三態(tài)輸出鎖存器,將轉(zhuǎn)換結(jié)果的數(shù)字量輸出到數(shù)據(jù)總線上。REF+,REF-,Vcc,GND:REF
19、+和REF-為參考電壓輸入端,Vcc為主電源輸入端,GND為接地端。一般REF+與Vcc連接在一起,REF-與GND!接在一起。CLK時(shí)鐘輸入端口。ADDA,B,C8路模擬開關(guān)的三位地址選通輸入端,以選擇對應(yīng)的輸入通道。其地址碼與對應(yīng)通道關(guān)系如表2.2所示。表2.2地址碼與輸入通道對應(yīng)關(guān)系表地址碼時(shí)應(yīng)的輸入通道cBA000INO0011141010IN2011IN310口IN4101IN5110IN6111IN7強(qiáng)調(diào)說明一點(diǎn):ADC080強(qiáng)然有八路模擬通道可以同時(shí)輸入八路模擬信號,但每一個(gè)瞬間只能轉(zhuǎn)換一路模擬信號,各路之間的切換由軟件變換通道地址實(shí)現(xiàn)。A/D轉(zhuǎn)換器采用的轉(zhuǎn)換方法主要有逐次逼近型
20、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)換ADC08092.4顯示電路設(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ì)要求溫度檢測圍0c95c,精度tC。數(shù)碼管只需顯示兩位即可達(dá)到要求,因此,顯示部分電路采用兩個(gè)一位的LEC碼管來組成顯示器沒有要求顯示小數(shù)點(diǎn),LED數(shù)碼管的dp腳懸空。本設(shè)計(jì)顯示電路的應(yīng)用有兩點(diǎn),一
21、是實(shí)時(shí)顯示引水機(jī)水箱的水溫值,另一個(gè)是顯示鍵盤設(shè)定的溫度上、下限值。其電路連接如圖2.6所示9圖2.6顯本部分電路通過一個(gè)74LS47連接7個(gè)100歐姆的電阻來驅(qū)動數(shù)碼管顯示。數(shù)碼管的Vx腳分別連接到兩個(gè)三極管的共射極,而三極管的共基極連到一起接到+5V電源上。共集極分別連接兩個(gè)4.7K的電阻接到單片機(jī)AT89C51的P1.4、P1.5管腳。LED顯示塊是由發(fā)光二極管顯示字段的顯示器件。在單片機(jī)應(yīng)用系統(tǒng)中應(yīng)用非常普遍,通常使用的是七段LED,這種顯示器有共陽極和共陰極兩種本設(shè)計(jì)選用的是共陽極。共陽極LED顯示器的發(fā)光二極管的陽極連接在一起通常此公共陽極接正電壓5V。當(dāng)某個(gè)發(fā)光二極管的陰極接低電
22、平時(shí),發(fā)光二極管被點(diǎn)亮,相應(yīng)的段被顯示。使用LED顯示器時(shí),為了顯示數(shù)字或符號,要為LED顯示器提供代碼,因?yàn)檫@些代碼是通過各段亮與滅來為顯示不同字型的。7段發(fā)光二極管,再加上一個(gè)小數(shù)點(diǎn)位,共計(jì)8段。因此提供給LED顯示器的段碼正好一個(gè)字節(jié)。各字節(jié)中對應(yīng)關(guān)系如表2.3所小。表2.3各段與字節(jié)中各位的對應(yīng)關(guān)系表代碼位D7D6D5D4D3D2D1D0顯示段dpGfedcba將單片機(jī)I/O口的8位線與顯示塊的發(fā)光二極管的引出端adp相連,共陽極高電平有效,選通有效后8位并行輸出口輸出不同的數(shù)據(jù)就點(diǎn)亮相應(yīng)的發(fā)光二極管,獲得不同的數(shù)字或字符。共陽極7段顯示器顯示數(shù)字對應(yīng)的段碼關(guān)系如表2.4所示。表2.4
23、7段LED數(shù)字與段碼對應(yīng)關(guān)系表顯示數(shù)字0123456789共陽極段碼C0HF9HA4HB0H99H92H82HF8H80H90H2.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)定。常用的鍵盤接口
24、分為獨(dú)立式按鍵接口和矩陣式鍵盤接口。根據(jù)本系統(tǒng)的設(shè)計(jì)特點(diǎn)及要求,鍵盤的功能主要是用來設(shè)置溫度上下限,因此本設(shè)計(jì)采用獨(dú)立式鍵盤來完成這一功能要求。其電路連接如圖2.7所示。導(dǎo)圖2.7獨(dú)立式鍵盤與AT89C51連接圖1、鍵盤電路及其說明獨(dú)立式按鍵就是各個(gè)按鍵相互獨(dú)立,每個(gè)按鍵各接一根輸入線,一根輸入線上的按鍵工作狀態(tài)不會影響其他輸入線上的工作狀態(tài)。因此,通過檢測輸入線的電平狀態(tài)就可以很容易的判斷出是哪一個(gè)按鍵按下了。獨(dú)立式按鍵電路配置靈活,軟件簡單。但每一個(gè)按鍵需占用一根輸入口線,在按鍵數(shù)量較多時(shí)學(xué)要較多的輸入口線且電路結(jié)構(gòu)復(fù)雜,故此種鍵盤適用與按鍵較少或操作速度較高的場合。本設(shè)計(jì),采用四按鍵鍵盤
25、,所以在四個(gè)I/O口上接四個(gè)按鍵組成一個(gè)四按鍵的簡易式鍵盤。各線通過電阻接+5V,當(dāng)鍵盤上沒有鍵閉合時(shí),所有的線斷開,呈高電平狀態(tài)。當(dāng)鍵盤上某一個(gè)鍵閉合時(shí),該鍵所對應(yīng)的線與連接單片機(jī)的線短路。例如:當(dāng)S1號按鍵閉合時(shí),它所在的線與連接線短路,使P3.2口為低電平,通過軟件里對P3口查尋,如果只有P3.2口為低電平,那么就可以確定是S1鍵按下了,通過在軟件里的設(shè)定,行使S1鍵的功能。如果同時(shí)有多個(gè)P3口為低電平,則報(bào)警顯示,然后檢查是否有多個(gè)鍵按下,直到只有一個(gè)P3口為低電平時(shí),停止報(bào)警,那個(gè)低電平的P3口上連接的按鍵則為按下的鍵在軟件里執(zhí)行他應(yīng)該達(dá)到的功能。2、鍵盤功能說明S1:模式設(shè)置鍵,按
26、一下進(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ù)碼管顯示值將逐步從個(gè)位數(shù)往上加,直到想要設(shè)置的溫度值,而按鍵S3是步進(jìn)減鍵,按鍵每下一次,個(gè)位數(shù)減1。S4鍵是確定鍵,通過它來確定前面所設(shè)定的數(shù)值。3、鍵盤的機(jī)械抖動若Y0為低電平,S1號鍵閉合一次,圖中t1和t3分別為鍵的閉合和斷開過程中的抖動期呈現(xiàn)一串負(fù)脈沖,抖動時(shí)間長短和開關(guān)的機(jī)械特性有關(guān),一般為510ms
27、,t2為穩(wěn)定的閉合期,其時(shí)間由按鍵動作所確定,一般為十分之幾秒到幾秒,t0、t4為斷開期。為了保證CPU寸鍵盤的閉合僅作一次處理,在軟件中必須去除抖動,在第一次檢測到有按鍵下時(shí),執(zhí)行一段延時(shí)10ms的15/33子程序后確認(rèn)該按鍵電平是否仍保持閉合狀態(tài)電平,如果閉合狀態(tài)電平則確認(rèn)有按鍵下,從而消除抖動的影響。鍵盤的機(jī)械抖動示意圖如圖2.8所示。圖2.8報(bào)警電路設(shè)計(jì)報(bào)警電路主要是由發(fā)光二極管和蜂鳴器組成的,具有聲、光報(bào)警功能的簡單電路,其電路如圖2.9所示。當(dāng)溫度超過設(shè)置的上、下限時(shí),P2.2口輸出高電平,三極管導(dǎo)通,蜂鳴器工作,發(fā)出聲音。P2.3口輸出高電平時(shí),發(fā)光二極管正向?qū)?,發(fā)光報(bào)警。圖2
28、.9報(bào)警電路控制電路設(shè)計(jì)控制部分電路圖如圖2.10所示。圖2.10控制電路該電路是由兩個(gè)固態(tài)繼電器作為控制開關(guān),一個(gè)繼電器控制加熱裝置,另一個(gè)繼電器控制制冷裝置。固態(tài)繼電器是一種無觸點(diǎn)通斷型電子開關(guān),是四端有源器件,其中兩個(gè)端子為控制輸入端,另外兩個(gè)為輸出受控端。為了實(shí)現(xiàn)輸入與輸出的隔離,器件采用了高耐壓的光耦合器。當(dāng)輸入信號有效時(shí),電路呈導(dǎo)通狀態(tài),反之,呈斷開狀態(tài),可以實(shí)現(xiàn)類似電磁繼電器的開關(guān)功能。固態(tài)繼電器將MOSFETGTR普通晶閘管等組合在一起與觸發(fā)電路封裝在一個(gè)模塊中,而且驅(qū)動電路與輸出電路隔離。固態(tài)繼電器是可控硅過零觸發(fā)器,無觸點(diǎn),不用調(diào)節(jié),對電網(wǎng)不會產(chǎn)生波形畸變。因此,非常適合本
29、設(shè)計(jì)??刂齐娐饭ぷ髟恚寒?dāng)AT89C51的RXD口輸出一個(gè)高電平時(shí),三極管開始工作,驅(qū)動繼電器J1工作,繼電器J1呈導(dǎo)通狀態(tài),加熱裝置開始工作。同樣,當(dāng)AT89C51的TXD口輸出一個(gè)高電平時(shí),三極管開始工作,驅(qū)動繼電器J2工作,繼電器J2開關(guān)閉合,制冷裝置開始工作。第3章軟件設(shè)計(jì)系統(tǒng)軟件設(shè)計(jì)也就是程序設(shè)計(jì),就是在完成了硬件系統(tǒng)的基礎(chǔ)上,再編寫相應(yīng)的程序,下載到芯片里,通過執(zhí)行程序指令控制硬件,從而實(shí)現(xiàn)各種功能。一般來講,軟件的功能可分為兩大類。一類是執(zhí)行軟件,它能完成各種實(shí)質(zhì)性的功能,如測量、計(jì)算、顯示、打印、輸出控制等。另一類是監(jiān)控軟件,它專門協(xié)調(diào)執(zhí)行模塊和操作者的關(guān)系,在系統(tǒng)中充當(dāng)組織協(xié)
30、調(diào)的角色。軟件設(shè)計(jì)就是用計(jì)算機(jī)所能接受的形式把解決問題的步驟描述出來。簡單的說,軟件設(shè)計(jì)就是編制計(jì)算機(jī)程序。一個(gè)好的程序應(yīng)該完成規(guī)定的任務(wù),而且應(yīng)該層次清晰、易于閱讀,并盡可能少占存,縮短執(zhí)行時(shí)間,但也不要一味地追求少占存,縮短執(zhí)行時(shí)間。這樣做可能會使程序的可讀性變差。隨著大規(guī)模和超大規(guī)模集成電路的發(fā)展,芯片的存容量也在不斷的增加,計(jì)算機(jī)執(zhí)行指令的時(shí)間也大大的縮短。因此,程序的長短和執(zhí)行時(shí)間,不再顯得那么重要,而程序的易讀性和程序的開發(fā)周期,顯得越來越重要。另外,在較復(fù)雜的程序設(shè)計(jì)中,必須充分考慮程序的可讀性、穩(wěn)定性、可擴(kuò)展性、兼容性以及容錯(cuò)性等也是衡量與評價(jià)程序的優(yōu)劣的重要指標(biāo)。由于用匯編語
31、言編寫的程序效率高,占用的存單元和CPU?源少,執(zhí)行速度快,還可直接訪問存儲器、輸入/輸出接口以及擴(kuò)展的各種芯片,并可直接處理中斷,直接管理和控制硬件設(shè)備,適用于實(shí)時(shí)控制系統(tǒng),因此,本設(shè)計(jì)選用匯編語言來編寫程序。主程序流程圖及簡要說明本設(shè)計(jì)的軟件設(shè)計(jì)包括主程序、A/D轉(zhuǎn)換子程序、鍵盤子程序、控制子程序及顯示子程序。結(jié)合本系統(tǒng)的功能,程序長度不會超過AT89C51部的程序存儲器,所以硬件上不用外擴(kuò)程序存儲器。主程序流程如圖3.1所示。本設(shè)計(jì)主程序工作過程為:首先對系統(tǒng)初始化,由于本系統(tǒng)要實(shí)現(xiàn)對飲水機(jī)的冷、熱兩個(gè)水箱的檢測與控制,因此先要選擇控制模式,這主要是經(jīng)過硬件電路的按鍵S1來選擇的。在確定
32、進(jìn)入加熱或制冷模式后,調(diào)用A/D轉(zhuǎn)換子程序?qū)Σ杉降哪M量進(jìn)行轉(zhuǎn)換,轉(zhuǎn)換完畢保存數(shù)據(jù)后,調(diào)用鍵盤子程序,這個(gè)子程序主要完成對溫度上、下限的設(shè)置。完成設(shè)置后,調(diào)用控制子程序1或子程序2,通過對執(zhí)行這個(gè)程序,實(shí)現(xiàn)報(bào)警、加熱或制冷。最后調(diào)用顯示子程序來顯示溫度值。整個(gè)系統(tǒng)是一個(gè)閉環(huán)的,系統(tǒng)工作是循環(huán)進(jìn)行的,這也就實(shí)現(xiàn)了實(shí)時(shí)檢測的設(shè)計(jì)要求。圖3.1主程序流程圖A/D轉(zhuǎn)換子程序在這一模塊的軟件設(shè)計(jì)中,主要完成的是將采集電路采集到的模擬信號轉(zhuǎn)換為數(shù)字信號,然后送到單片機(jī)進(jìn)行處理,從而完成A/D轉(zhuǎn)換部分的最后功能,該部分程序流程如3.2所示。根據(jù)設(shè)計(jì)的要求,程序先對端口初始化,根據(jù)模式選擇的結(jié)果,選擇其中一
33、路的采集來的數(shù)據(jù),然后啟動A/D轉(zhuǎn)換功能,在轉(zhuǎn)換一段時(shí)間后,判斷轉(zhuǎn)換是否結(jié)束,如果結(jié)束就自動進(jìn)入下一路的轉(zhuǎn)換,否則繼續(xù)轉(zhuǎn)換。圖3.2A/D轉(zhuǎn)換子程序流程圖鍵盤子程序這部分設(shè)計(jì)主要完成溫度上、下限的設(shè)置。其流程圖如圖3.3所示。本設(shè)計(jì)使用4個(gè)單鍵,這使得鍵值的識別問題也比較簡單化。在執(zhí)行程序的時(shí)候只需逐位判斷P32P33P34P3.5口是高電平還是低電平,若為高電平,則表示沒有按鍵按下,若為低電平,則表示有按鍵按下。在程序的設(shè)計(jì)當(dāng)中,考慮了鍵的去抖動問題。因?yàn)橛檬职聪乱粋€(gè)按鍵時(shí),往往會出現(xiàn)所按鍵在閉合位置和斷開位置之間跳動幾下才穩(wěn)定到閉合狀態(tài)的情況。在釋放一個(gè)鍵的時(shí)候,也會出現(xiàn)類似的情況,抖動的
34、時(shí)間是不一致的,通常小于10毫秒,若抖動的問題不解決,就會引起閉合鍵的多次讀入。對于鍵的抖動處理,一般采用軟件延時(shí)10毫秒的方法。在發(fā)現(xiàn)有按鍵閉合時(shí),不是立即讀入該鍵值,而是延時(shí)一段時(shí)間以后,再進(jìn)行鍵閉合與否的判斷,確認(rèn)此時(shí)是否真的有按鍵下,有則進(jìn)行該按鍵的處理,沒有則不進(jìn)行處理。圖3.3鍵盤子程序流程圖控制子程序本部分主要是實(shí)現(xiàn)聲光報(bào)警和驅(qū)動加熱或制冷功能。由于本設(shè)計(jì)的控制對象有兩路,一路是控制飲水機(jī)的熱水水箱,另一路是控制涼水水箱,因此,有兩個(gè)子程序,它們分別為控制子程序1和控制子程序2??刂瞥绦?流程圖如圖3.4所示,控制子程序2流程圖如圖3.5所示。選擇才$制模式后,先將采集轉(zhuǎn)換后的數(shù)
35、據(jù)與設(shè)定的值進(jìn)行比較,如果是加熱模式,且采集轉(zhuǎn)換的值低于設(shè)定值的下限,置RXM高電平,加熱器開始加熱;如果是制冷模式,且采集轉(zhuǎn)換的值高于設(shè)定值的上限,則置AT89C5的P2.3、P2.4口為高電平,實(shí)現(xiàn)聲光報(bào)開始圖3.5控制子程序2流程圖顯示子程序此模塊采用的是動態(tài)掃描的方法,這樣各位LED能夠顯示出與本位相應(yīng)的顯示字符。顯示子程序流程圖見圖3.6所示。在編寫程序時(shí),在某一時(shí)刻,只讓某一位的位選線處于選通狀態(tài),而其它各位的位選線處于關(guān)閉狀態(tài),同時(shí),段選線上輸出相應(yīng)位要顯示字符的段碼。這樣,在同一時(shí)刻,兩位LED中只顯示選通的一位,而另一位是熄滅的。依次循環(huán)下去,就可以使各位顯示出將要顯示的字符
36、,雖然這些字符是在不同時(shí)刻出現(xiàn)的,而且同一時(shí)刻,只有一位顯示,其它各位熄滅,但由于LED顯示器的余輝和人眼的視覺暫留作用,只要每位顯示間隔足夠短,則可造成多位同時(shí)亮的假象,達(dá)到同時(shí)顯示的目的。本次設(shè)計(jì),顯示一位保持1ms時(shí)間,共需2ms時(shí)間。(開始)顯示子程序流程圖第4章系統(tǒng)調(diào)試一個(gè)單片機(jī)系統(tǒng)經(jīng)過總體設(shè)計(jì),完成了硬件設(shè)計(jì)和軟件設(shè)計(jì)開發(fā)。元器件安裝后,在系統(tǒng)的程序存儲器中下載編好的應(yīng)用程序,系統(tǒng)即可運(yùn)行。但是一次性成功幾乎是不可能的,多少會出現(xiàn)一些硬件、軟件上的錯(cuò)誤,這就需要調(diào)試來發(fā)現(xiàn)錯(cuò)誤并加以改正AT89C5律片機(jī)雖然功能很強(qiáng),但只是一個(gè)芯片,一個(gè)完整的控制系統(tǒng)還包括很多功能模塊,因此,進(jìn)行調(diào)
37、試時(shí),需要逐個(gè)逐項(xiàng)仔細(xì)的進(jìn)行。一項(xiàng)設(shè)計(jì)到實(shí)現(xiàn)具體功能與軟件和硬件的聯(lián)合調(diào)試密不可分,因?yàn)橛布ㄟ^軟件來實(shí)現(xiàn),軟件要通過硬件來體現(xiàn)。只有從實(shí)際的觀察效果中分析,配合好軟、硬件協(xié)調(diào)工作,安排好相應(yīng)的工作時(shí)序才能達(dá)到理想的效果,實(shí)現(xiàn)設(shè)計(jì)。所以,整體調(diào)試是從設(shè)計(jì)到實(shí)現(xiàn)的關(guān)鍵一步。在良好的設(shè)計(jì)基礎(chǔ)之上,調(diào)試過程的好壞直接決定了我們的設(shè)計(jì)成果。在任何一個(gè)設(shè)計(jì)中電路調(diào)試這部分容是最關(guān)鍵,難度最大,最考驗(yàn)人的工作。整個(gè)設(shè)計(jì)的成敗全系于此。同時(shí)它也能夠檢驗(yàn)設(shè)計(jì)的方案的可行性和正確性。在這個(gè)過程中可能要遇到在設(shè)計(jì)中所沒有考慮到的地方,通過調(diào)試使設(shè)計(jì)得到更好的補(bǔ)充。調(diào)試工作包括硬件檢查,軟件調(diào)試,軟硬件聯(lián)通調(diào)試三
38、部分。硬件檢查主要是針對電路板的具體電路連接是否正確,測量各電路的電壓、電流等是否達(dá)到要求的值等;軟件調(diào)試主要是針對語法錯(cuò)誤,即能否正確編譯、單步運(yùn)行時(shí)邏輯上是否正確;軟硬聯(lián)調(diào)就是:硬件在軟件的控制下完成所需要的功能,這一部分是最關(guān)鍵的環(huán)節(jié),也是難度最大的部分。仿真系統(tǒng)簡介愛思系列單片機(jī)仿真系統(tǒng)是愛思電子開發(fā)的一種高性能,低價(jià)格的通用單片機(jī)開發(fā)工具,可用于各種單片機(jī)的軟硬件開發(fā)和調(diào)試,它由愛思仿真系統(tǒng)硬件和愛思集成調(diào)試軟件兩部分組成。愛思單片機(jī)仿真系統(tǒng)硬件愛思系列單片機(jī)仿真系統(tǒng)硬件采用大規(guī)模在線編程芯片制造,將整個(gè)單片機(jī)仿真控制電路集成到一片大規(guī)模LPD芯片中,仿真CPU置在仿真頭上,通過更換
39、不同的仿真頭,可對各種單片機(jī)進(jìn)行仿真??煞抡?位及16位單片機(jī)。采用硬件斷點(diǎn)技術(shù),不占用單片機(jī)任何資源,在用戶程序運(yùn)行中可打入CTRL-C中斷用戶程序運(yùn)行,返回監(jiān)控。串口與計(jì)算機(jī)通信,波特率自動設(shè)置,最高波特率可達(dá)38,400。配接愛思邏輯分析儀,實(shí)現(xiàn)各種復(fù)雜的組合斷點(diǎn)和觀察各種邏輯波形及分析時(shí)序關(guān)系。愛思集成調(diào)試軟件愛思集成調(diào)試軟件,具有編輯、匯編、編譯、調(diào)試和軟件模擬等功能具體的操作均可通過窗口和菜單的選擇來完成。將軟件命令和反映程序的運(yùn)行的情況集中在同一屏幕上的形式,稱為集成環(huán)境,集成環(huán)境可以減少用戶記憶眾多命令的負(fù)擔(dān),方便用戶編寫和調(diào)試軟件,直觀的反映程序運(yùn)行的情況,提高軟件的開發(fā)效率
40、。支持匯編語言、PLMC高級語言源程序調(diào)試??捎^察數(shù)組、紀(jì)錄等各種復(fù)雜變量??蛇M(jìn)行軟件模擬,該軟件可以用軟件模擬的方式來調(diào)試用戶編寫的程序。所謂軟件模擬是指用計(jì)算機(jī)模仿單片機(jī)的運(yùn)行情況,而不需要單片機(jī)仿真機(jī)硬件支持。當(dāng)軟件模擬單片機(jī)的運(yùn)行情況并成功后,在用仿真器仿真調(diào)試。這種軟件模擬功能對單片機(jī)的學(xué)習(xí)和開發(fā)都是必不可少的。可以與愛思單片機(jī)仿真系統(tǒng)配合進(jìn)行仿真,該軟件也可以與愛思仿真器配合對單片機(jī)進(jìn)行仿真,直觀的反映CPU各部分、外部程序存儲器和外部數(shù)據(jù)存儲器的運(yùn)行情況,為用戶調(diào)試程序提供準(zhǔn)確的調(diào)試信息。硬件電路檢查本設(shè)計(jì)按照其功能模塊的不同,其硬件電路的檢查包括:溫度采集電路、A/D轉(zhuǎn)換電路、
41、顯示電路、鍵盤電路、報(bào)警電路、控制電路六部分。溫度采集電路檢查溫度采集部分電路的檢查是比較復(fù)雜的,原因是這部分電路的器件比較多,而且電位器的調(diào)節(jié)存在誤差,而且放大電路得到的放大倍數(shù)往往不能達(dá)到所期望的值。由于溫度傳感器AD590是將溫度值轉(zhuǎn)換成電流信號輸出,因此,調(diào)試時(shí),采用一個(gè)電流源來代替,而放大電路是由三級運(yùn)放構(gòu)成的,要實(shí)現(xiàn)該電路的功能就要進(jìn)行繁瑣的調(diào)試。要先調(diào)第一級運(yùn)放使其輸入和輸出相同,然后調(diào)整第二級運(yùn)放使其差放值是2.73,同時(shí)第二級也是一個(gè)反相器,這樣輸出的電壓就是2.73減去輸入的電壓值,最后調(diào)第三級運(yùn)放,使其放大倍數(shù)為5倍。A/D轉(zhuǎn)換電路檢查這部分電路的檢查主要是對器件ADC0
42、809勺檢查,剛開始檢查時(shí),并沒有發(fā)現(xiàn)問題,通電后用萬用表測量其管腳電壓時(shí),發(fā)現(xiàn)其11、12腳不是5V,而28腳電壓是5.0V,后來,經(jīng)過檢查管腳發(fā)現(xiàn),是管腳接錯(cuò)了,把左下管腳14腳接地,右上管腳28腳接電源了,而ADC0809勺管腳的接地腳和接電源腳跟其它的芯片不一樣,11腳Vcc和12腳REF+應(yīng)接+5V,而13腳GNDF口16腳REF-接地。這主要是在焊接器件時(shí)疏忽大意所致,最后,按要求連接后,問題也就解決了。顯示電路檢查在通電后,發(fā)現(xiàn)右邊數(shù)碼管的對應(yīng)的B段不亮,經(jīng)檢查,連接B段腳的線斷開了,焊接上后顯示仍有問題,再仔細(xì)檢查,發(fā)現(xiàn)連接左邊數(shù)碼管Vcc腳的三極管B、E接反了,從新改過后顯示
43、正常。為了進(jìn)一步保證這部分電路的正常,又進(jìn)行了下一步的檢測,先是下載了一個(gè)99秒倒記時(shí)的程序到AT89C51芯片上,通電后,數(shù)碼管從99秒逐個(gè)減小變化到0秒,然后再反復(fù)循環(huán)。這說明這部分電路正常。鍵盤電路檢查這部分的設(shè)計(jì)主要由四個(gè)按鍵跟四個(gè)電阻組成。通電后,每個(gè)按鍵下的時(shí)候,數(shù)碼管的顯示值沒有變化,經(jīng)檢查,四個(gè)按鍵連在一起但沒有接地,接地后,S2按下時(shí),對應(yīng)數(shù)碼管顯示值加一,S2鍵正常,S3鍵下時(shí),數(shù)值無變化,問題出在軟件編程上,經(jīng)修改程序后,四個(gè)按鍵都正常。報(bào)警電路檢查這部分主要由蜂鳴器和發(fā)光二極管組成。經(jīng)檢查調(diào)試,結(jié)果沒有問題,二極管亮,蜂鳴器有聲,雖然蜂鳴器的聲音偏小,但不影響報(bào)警電路的
44、正常工作??刂齐娐窓z查本部分的檢查,主要是在通電后,檢查固態(tài)繼電器開關(guān)的通與斷,通電后發(fā)現(xiàn)開關(guān)沒有動靜,檢查硬件沒有任何問題,判斷是器件有問題或程序有問題,經(jīng)過修改程序,器件工作正常。軟件調(diào)試上機(jī)調(diào)試程序是檢驗(yàn)程序正確性的一個(gè)重要環(huán)節(jié)。在調(diào)試時(shí),應(yīng)在單片機(jī)開發(fā)系統(tǒng)上先對程序進(jìn)行分塊調(diào)試,對入口參數(shù)和變量預(yù)賦初值,觀察運(yùn)行結(jié)果。如果執(zhí)行結(jié)果和預(yù)想的不一致,可采用設(shè)置斷點(diǎn)或單步運(yùn)行的方法,找出錯(cuò)誤并修改。該設(shè)計(jì)是軟硬件結(jié)合。軟件的設(shè)計(jì)在與硬件聯(lián)調(diào)之前主要是對所編寫的程序進(jìn)行語法錯(cuò)誤的查找,然后進(jìn)行編譯,生成可以寫入單片機(jī)的HE雙件。在WAV中運(yùn)行后,通過觀察數(shù)據(jù)窗口,也可以看出一部分結(jié)果,但是只有
45、與硬件聯(lián)調(diào),在硬件上所顯示的結(jié)果才能最終看出軟件的調(diào)試成功與否。在軟件調(diào)試過程中,同樣也是按照分步調(diào)試的方法進(jìn)行的。對軟件的各個(gè)子模塊進(jìn)行調(diào)試,在調(diào)試過程中遇到了一些困難,例如在進(jìn)行程序編譯后,提示有一多余字符的錯(cuò)誤,經(jīng)仔細(xì)檢查,存在語法錯(cuò)誤,改正后進(jìn)行編譯依然28/33存在這樣的未定義字符。后來,拿程序與別的可運(yùn)行程序進(jìn)行比較,發(fā)現(xiàn)在程序當(dāng)中由于自己習(xí)慣性的動作多鍵入了空格,遂去掉空格,問題得以解決。軟硬聯(lián)調(diào)顯示部分:在經(jīng)過硬件和軟件的單獨(dú)調(diào)試后,下一步需要進(jìn)行的就是軟硬件的聯(lián)合調(diào)試了。在這個(gè)過程中,最先調(diào)試的部分是顯示部分,因?yàn)橐院蟮钠渌糠值恼{(diào)試結(jié)果都要通過顯示部分來顯示結(jié)果,所以先做了
46、這一部分的工作。在最開始,將整個(gè)程序進(jìn)行仿真,沒有任何結(jié)果顯示,后經(jīng)檢查在軟件編寫中把段選地址和位選地址計(jì)算錯(cuò)了,將錯(cuò)誤改過來以后,顯示正常??刂齐娐泛蛨?bào)警電路:在這部分的調(diào)試,在軟件里置TXD,RX卿為高電平驅(qū)動報(bào)警電路,設(shè)置INTO卻為低電平驅(qū)動調(diào)節(jié)裝置。在這部分電路聯(lián)調(diào)之前已經(jīng)解決了硬件電路的問題,在聯(lián)調(diào)中順利通過。鍵盤部分:首先編寫了一個(gè)簡單的鍵盤的實(shí)驗(yàn)程序。在進(jìn)行仿真后發(fā)現(xiàn)鍵盤的S1鍵有一點(diǎn)問題,其機(jī)械抖動時(shí)間太長,影響了鍵盤的整體工作。這個(gè)問題只要換一個(gè)按鍵就可以解決了。解決這個(gè)問題后,鍵盤部分能順利工作。采集部分:這部分的聯(lián)通調(diào)試實(shí)質(zhì)上是采集部分與顯示電路的聯(lián)調(diào),只有通過顯示,才
47、能得知數(shù)據(jù)是否采集到,采集到的數(shù)據(jù)是否正確。在這部分調(diào)試中,基本沒有問題。經(jīng)過上述各個(gè)方面的調(diào)試后,最后進(jìn)行的就使把各個(gè)子模塊連接起來進(jìn)行對整體的調(diào)試了。對于設(shè)計(jì)能不能滿足題目的要求,關(guān)鍵就在于整體調(diào)試。在整體調(diào)試的過程中,遇到了一些問題。在這部分工作中,出現(xiàn)的問題有鍵盤的工作沒有實(shí)現(xiàn),問題出在軟件上,缺少了開中斷語句,將這條添補(bǔ)后,問題解決。由于在經(jīng)過對軟件,硬件,軟硬件的仔細(xì)調(diào)試后,一些基本問題都已經(jīng)解決,所以在總體調(diào)試過程中沒有遇到的問題,調(diào)試順利通過。至此,本次設(shè)計(jì)要求的數(shù)據(jù)采集、顯示、鍵盤設(shè)定、報(bào)警等功能基本實(shí)現(xiàn)。第5章系統(tǒng)效益分析社會效益隨著電子技術(shù)的發(fā)展,特別是隨著大規(guī)模集成電路
48、的產(chǎn)生,給人們的生活帶來了根本性的變化,如果說微型計(jì)算機(jī)的出現(xiàn)使現(xiàn)代的科學(xué)研究得到了質(zhì)的飛躍,那么單片機(jī)技術(shù)的出現(xiàn)則是給現(xiàn)代工業(yè)控制測控領(lǐng)域帶來了一次新的革命。目前,單片機(jī)在工業(yè)控制系統(tǒng)諸多領(lǐng)域得到了極為廣泛的應(yīng)用。特別是其中的C51系列的單片機(jī)的出現(xiàn),具有更好的穩(wěn)定性,更快和更準(zhǔn)確的運(yùn)算精度,推動了工業(yè)生產(chǎn),影響著人們的工作和學(xué)習(xí)?,F(xiàn)代工業(yè)設(shè)計(jì)、工程建設(shè)及日常生活中常常需要用到溫度控制,早期溫度控制主要應(yīng)用于工廠中,例如鋼鐵的水溶溫度,不同等級的鋼鐵要通過不同溫度的鐵水來實(shí)現(xiàn),這樣就可能有效的利用溫度控制來掌握所需要的產(chǎn)品了。在現(xiàn)代社會中,溫度控制不僅應(yīng)用在工廠生產(chǎn)方面,其作用也體現(xiàn)到了各個(gè)方面,隨著人們生活質(zhì)量的提高,酒店廠房及家庭生活中都會見到溫度控制的影子,溫度控制將更好的服務(wù)于社會。經(jīng)濟(jì)效益當(dāng)前社會上的飲水機(jī)種類繁多,功能差異也很大,而人們的生活水平提高很快,生活中,人們的對飲水機(jī)功能的要求也
溫馨提示
- 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- PROTAC-ER-Degrader-15-生命科學(xué)試劑-MCE
- KKJ00626-生命科學(xué)試劑-MCE
- 鄉(xiāng)村生態(tài)旅游發(fā)展規(guī)劃手冊
- 孩子全歸女方的離婚協(xié)議書
- 1-2-Dipalmitoyl-3-Myristoyl-rac-glycerol-生命科學(xué)試劑-MCE
- 汽車維修與保養(yǎng)知識點(diǎn)
- 學(xué)生會總結(jié)發(fā)言稿
- 《高一數(shù)學(xué)公式推導(dǎo)技巧訓(xùn)練教學(xué)方案》
- 電子商務(wù)數(shù)據(jù)分析實(shí)戰(zhàn)模擬卷
- 法律顧問業(yè)務(wù)指南
- 執(zhí)行立案申請書模版
- 智能建筑外掛電梯安裝方案
- 湖北省七市2025屆高考數(shù)學(xué)一模試卷含解析
- 2024屆廣東省廣州市高三一??荚囉⒄Z試題講評課件
- 數(shù)字電子技術(shù)(廣東工業(yè)大學(xué))知到智慧樹章節(jié)測試課后答案2024年秋廣東工業(yè)大學(xué)
- 安徽省淮北一中2025屆高三沖刺模擬數(shù)學(xué)試卷含解析
- 2024年四川省綿陽市中考語文試卷(附真題答案)
- 2022年CSCO軟組織肉瘤診療指南
- 心電圖危急值的識別和處理知到智慧樹章節(jié)測試課后答案2024年秋浙江大學(xué)
- 低代碼應(yīng)用開發(fā) 課件全套 李春平 第1-9章 低代碼應(yīng)用開發(fā) - 低代碼開發(fā)應(yīng)用實(shí)例
- 2024年開學(xué)第一課:人工智能與未來教育
評論
0/150
提交評論