飲水機(jī)溫度控制的系統(tǒng)設(shè)計(jì)與仿真-畢業(yè)論文設(shè)計(jì)_第1頁(yè)
飲水機(jī)溫度控制的系統(tǒng)設(shè)計(jì)與仿真-畢業(yè)論文設(shè)計(jì)_第2頁(yè)
飲水機(jī)溫度控制的系統(tǒng)設(shè)計(jì)與仿真-畢業(yè)論文設(shè)計(jì)_第3頁(yè)
飲水機(jī)溫度控制的系統(tǒng)設(shè)計(jì)與仿真-畢業(yè)論文設(shè)計(jì)_第4頁(yè)
飲水機(jī)溫度控制的系統(tǒng)設(shè)計(jì)與仿真-畢業(yè)論文設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩18頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

(此文檔為word格式,下載后您可任意編輯修改! )飲水機(jī)溫度控制的系統(tǒng)設(shè)計(jì)與仿真摘 要本文設(shè)計(jì)并實(shí)現(xiàn)了一種飲水機(jī)溫度控制系統(tǒng)。其硬件系統(tǒng)以AT89C52單片機(jī)為核心,用溫度傳感器DS18B20實(shí)現(xiàn)溫度控制,用液晶屏顯示實(shí)時(shí)溫度、時(shí)間與預(yù)設(shè)溫度,制作數(shù)字溫度計(jì),并可實(shí)現(xiàn)溫度預(yù)警控制。單片機(jī)系統(tǒng)的軟件設(shè)計(jì)采用C語(yǔ)言進(jìn)行編程,應(yīng)用軟件采用KEIL和PROTEUS仿真軟件模擬實(shí)現(xiàn)控制過(guò)程。該飲水機(jī)控制系統(tǒng)是基于單片機(jī)的計(jì)算機(jī)檢測(cè)技術(shù)的軟硬件開(kāi)發(fā)的一種應(yīng)用,不僅可以創(chuàng)造良好的經(jīng)濟(jì)效益,還可優(yōu)化飲水機(jī)溫度控制系統(tǒng)。關(guān)鍵詞:AT89C52單片機(jī);DS18B20;溫度控制TheDesignandSimulationofDrinkingMachineTemperatureControlSystemABSTRACTThispaperintroducesawaterdispensertemperaturecontrolsystem.ThissystemtakesAT89C52asacore,andrealizesthetemperaturecontrolwithtemperaturesensorDS18B20.TheactualtemperatureandthepreinstalltemperaturearedisplayedwiththeLCD,thesimpleintelligenttemperaturecontrolsystemdigitthermometerismanufactured,andmayrealizethetemperatureearlywarningcontrol.Thesoftwareprogrammingusesclanguagetocarryontheprogramming.TheapplicationsoftwareusesKEILandthePROTEUSsimulationsoftwarerealizingthecontrolledprocess.Thewaterdispensercontrolsystemisbasedonanapplicationofthesinglechipcomputertechnologycannotonlycreateagoodeconomicbenefits,butalsooptimizethefountainstemperaturecontrolsystem.Keyword:themicrocontrollerAT89C52;DS18B20;temperaturecontrol.目 錄1緒論.......................................................................................................................41.1課題來(lái)源...........................................................................................................................41.2課題發(fā)展現(xiàn)狀及意義........................................................................................................41.3本文設(shè)計(jì)思路....................................................................................................................51.4本文結(jié)構(gòu)............................................................................................................................52系統(tǒng)的硬件設(shè)計(jì)....................................................................................................62.1系統(tǒng)工作原理與功能.......................................................................................................62.2硬件系統(tǒng)組成及各模塊介紹............................................................................................63系統(tǒng)的軟件設(shè)計(jì)..................................................................................................133.1軟件總體設(shè)計(jì)思路..........................................................................................................133.2主程序軟件設(shè)計(jì)..............................................................................................................143.3鍵盤(pán)子程序軟件設(shè)計(jì)......................................................................................................153.4報(bào)警子程序軟件設(shè)計(jì)......................................................................................................163.5顯示子程序軟件設(shè)計(jì)......................................................................錯(cuò)誤!未定義書(shū)簽。4系統(tǒng)軟件仿真......................................................................錯(cuò)誤!未定義書(shū)簽。4.1Protues介紹....................................................................................錯(cuò)誤!未定義書(shū)簽。4.2KeiluVision4調(diào)試軟件..................................................................錯(cuò)誤!未定義書(shū)簽。4.3ProteusISIS的仿真步驟與結(jié)果...................................................錯(cuò)誤!未定義書(shū)簽。總結(jié).....................................................................................錯(cuò)誤!未定義書(shū)簽。參考文獻(xiàn).......................................................................................................錯(cuò)誤!未定義書(shū)簽。附錄...........................................................................................................錯(cuò)誤!未定義書(shū)簽。致 謝 21飲水機(jī)溫度控制系統(tǒng)的設(shè)計(jì)與仿真緒論1.1課題來(lái)源目前市場(chǎng)大部分飲水機(jī)采用了熱敏電阻進(jìn)行溫度控制,飲水機(jī)從室溫把水加熱到沸騰,開(kāi)關(guān)斷開(kāi);之后溫度下降,當(dāng)溫度下降到一定時(shí),溫控開(kāi)關(guān)閉合,然后繼續(xù)加熱到沸騰,周而復(fù)始。這不僅造成能源的浪費(fèi),反復(fù)燒開(kāi)的熱水被人體吸收后,其中還有重金屬等有害物質(zhì)對(duì)人體健康是及其危害的。這種水俗稱(chēng)“千滾水”,千滾水不僅對(duì)人體健康有害而且還會(huì)造成能源浪費(fèi)。為了避免飲水機(jī)的開(kāi)水因反復(fù)燒開(kāi)而造成的二次污染,該設(shè)計(jì)利用AT89C52單片機(jī)芯片對(duì)水溫進(jìn)行智能控制,使水保持在一個(gè)較適合的溫度,一方面便于使用者及時(shí)飲用,一方面節(jié)約能源資源,有較好的發(fā)展前景。1.2課題發(fā)展現(xiàn)狀及意義隨著人類(lèi)社會(huì)的不斷進(jìn)步,人類(lèi)飲用水的供給方式也隨其發(fā)生著變化,其過(guò)程為:河水→井水→自來(lái)水→購(gòu)買(mǎi)桶裝水→自制健康純水。對(duì)此已形成了“喝純凈水,用自來(lái)水”的現(xiàn)代飲水新觀念。我國(guó)現(xiàn)階段的生活飲用水市場(chǎng),實(shí)質(zhì)上是桶裝飲用水、自來(lái)水終端制水、管道直飲水三分天下的格局。其中桶裝水以85%的絕對(duì)優(yōu)勢(shì)占據(jù)著市場(chǎng)的主導(dǎo)地位,但是桶裝水存在著“二次污染”問(wèn)題以及假冒偽劣等現(xiàn)實(shí)問(wèn)題。管道分質(zhì)供水在美國(guó)等發(fā)達(dá)國(guó)家的普及率為30%左右,目前國(guó)內(nèi)的上海、廣州、東莞等地開(kāi)始試點(diǎn),但由于工程浩大,近年內(nèi)難有大的作為。自來(lái)水終端制水就產(chǎn)品來(lái)分,可以分為對(duì)自來(lái)水等進(jìn)行初步過(guò)濾的凈水器和各種大、中、小型的辦公、家用純水機(jī),普及率在15%左右??梢?jiàn)現(xiàn)在仍普遍用桶裝水,但是為避免反復(fù)燒開(kāi)造成的“千滾水”產(chǎn)生的重金屬對(duì)身體的危害,因而本文設(shè)計(jì)用單片機(jī)來(lái)控制水溫使其保持在一個(gè)較適合的溫度,以適于用戶的即時(shí)飲用。目前飲水機(jī)的控制方式可分為普通控制型、智能感應(yīng)型和微電腦控制型三類(lèi)。普通控制型飲水機(jī)其加熱和制冷均自動(dòng)恒溫控制,是目前用戶使用最多的機(jī)型,并且其價(jià)位適中一般為首選。因而,本文在此基礎(chǔ)上,做了一些改造使其更為人性化,比如說(shuō)設(shè)置一定的保溫溫度使其一直處在這已設(shè)定溫度左右,可供隨時(shí)飲用,不必?fù)?dān)心水溫過(guò)燙的問(wèn)題等。該設(shè)計(jì)可以實(shí)時(shí)檢測(cè)飲水機(jī)水箱的水溫,并且可以通液晶顯示飲水機(jī)水箱水溫度數(shù),可以人為設(shè)置水的溫度的保溫值,當(dāng)溫度在設(shè)定的范圍內(nèi)時(shí)正常工作,當(dāng)?shù)陀诒販囟葧r(shí)控制加熱器加熱;當(dāng)溫度高于水溫保溫溫度時(shí)繼電器斷開(kāi)停止加熱。另外,其溫度檢測(cè)范圍為0~100℃,精度±1℃,并且有一定的時(shí)間延遲。該設(shè)計(jì)操作簡(jiǎn)單,可視化強(qiáng),因而有較大的發(fā)展空間。1.3本文設(shè)計(jì)思路整個(gè)基于單片機(jī)的溫度控制系統(tǒng)無(wú)論是硬件設(shè)計(jì)還是軟件設(shè)計(jì)均采用模塊化設(shè)計(jì)思想。先將整個(gè)設(shè)計(jì)系統(tǒng)劃分為幾個(gè)模塊,然后自上到下、由大到小、分步細(xì)化,然后逐個(gè)進(jìn)行詳細(xì)射擊,最后將各個(gè)模塊組合起來(lái)。系統(tǒng)的設(shè)計(jì)過(guò)程如下:1)首先根據(jù)用戶對(duì)設(shè)計(jì)系統(tǒng)的具體要求來(lái)設(shè)計(jì)系統(tǒng)的總體構(gòu)成。2)模塊化思想對(duì)系統(tǒng)硬件進(jìn)行模塊劃分。3)對(duì)系統(tǒng)硬件的各個(gè)模塊在進(jìn)行細(xì)化并對(duì)各個(gè)細(xì)化的具體元器件進(jìn)行性能比較和型號(hào)選擇。4)根據(jù)硬件電路結(jié)合控制系統(tǒng)的要求對(duì)軟件系統(tǒng)進(jìn)行功能劃分和模塊劃分。5)進(jìn)行內(nèi)部資源分配。6)結(jié)合資源分配、控制要求和實(shí)際電路進(jìn)行各個(gè)子模塊的軟件編程設(shè)計(jì)。1.4本文結(jié)構(gòu)本文第一章為緒論部分,分析了現(xiàn)今飲水機(jī)使用狀況及應(yīng)用前景,并總體概括了設(shè)計(jì)思路。第二章概要介紹了系統(tǒng)總體硬件設(shè)計(jì)及各個(gè)模塊的詳細(xì)介紹,第三章具體概括了軟件部分的的具體實(shí)現(xiàn),第四章為編譯與仿真結(jié)果分析。系統(tǒng)的硬件設(shè)計(jì)2.1系統(tǒng)工作原理與功能(1)工作原理該系統(tǒng)主要通過(guò)傳感器來(lái)輸入數(shù)據(jù),傳感器將水溫溫度即室溫溫度等非電信號(hào)轉(zhuǎn)化為電信號(hào),再由信號(hào)處理電路,將傳感器輸出的電信號(hào)進(jìn)行處理 (放大、濾波等),使之滿足AD轉(zhuǎn)換的要求,然后由AD轉(zhuǎn)換電路完成將溫度傳感器輸出的模擬信號(hào)到數(shù)字信號(hào)的轉(zhuǎn)換。CPU首先寫(xiě)入命令給DS18B20,然后DS18B20開(kāi)始轉(zhuǎn)換數(shù)據(jù),轉(zhuǎn)換后通過(guò)AT89C52來(lái)處理數(shù)據(jù),由LCD顯示屏顯示實(shí)時(shí)溫度與時(shí)間。并且可以通過(guò)外中斷來(lái)實(shí)現(xiàn)對(duì)溫度的預(yù)設(shè),由存儲(chǔ)電路存儲(chǔ)這一預(yù)設(shè)溫度,通過(guò)繼電器根據(jù)預(yù)設(shè)溫度來(lái)控制加熱與否。(2)系統(tǒng)功能飲水機(jī)溫控系統(tǒng)主要是控制水的溫度,讓用戶使用起來(lái)方便。首先,第一次加水的時(shí)候,通過(guò)單片機(jī)的控制,燒開(kāi)時(shí)蜂鳴器報(bào)警,得到干凈衛(wèi)生的飲用水。其次,溫度恒定在設(shè)計(jì)值附近,使得用戶可以隨時(shí)飲用適合自己溫度的飲用水。水加熱時(shí),燈亮,當(dāng)加熱到設(shè)置的溫度時(shí)燈滅繼電器斷開(kāi),當(dāng)?shù)陀谠O(shè)置的溫度1℃時(shí)開(kāi)始加熱直到達(dá)到設(shè)定的溫度。如此往復(fù)。另外,該顯示器除具有顯示溫度功能時(shí)還可以顯示時(shí)間也為其一特點(diǎn)。2.2硬件系統(tǒng)組成及各模塊介紹按系統(tǒng)的功能設(shè)計(jì)要求,硬件電路模塊包括如下部分:測(cè)溫電路時(shí)鐘電路數(shù)據(jù)保存電路鍵盤(pán)接口電路繼電器控制模塊顯示模塊如圖2-1所示系統(tǒng)組成的結(jié)構(gòu)框圖。電源溫度傳感器 繼電器 指示燈單片機(jī)AT89C52報(bào)警按鍵液晶顯示圖2-1系統(tǒng)結(jié)構(gòu)圖溫度采集模塊溫度采集模塊功能是對(duì)外界水溫進(jìn)行采集,然后將信號(hào)傳給單片機(jī)。測(cè)量溫度的關(guān)鍵是溫度傳感器,本文采用DS18B20進(jìn)行測(cè)溫,其溫度值可以直接讀出來(lái),通過(guò)核心部件單片機(jī)AT89C52控制溫度的讀寫(xiě)和顯示,通過(guò)LCD進(jìn)行顯示。1)DS18B20介紹Dallas單線數(shù)字溫度傳感器DS18B20具有“一線器件”體積更小、適用電壓更寬、更經(jīng)濟(jì)等特點(diǎn)。Dallas半導(dǎo)體公司的數(shù)字化溫度傳感器DS1820是世界上第一片支持“一線總線”接口的溫度傳感器?!耙痪€總線”獨(dú)特而且經(jīng)濟(jì)的特點(diǎn),使用戶可輕松地組建傳感器網(wǎng)絡(luò),為測(cè)量系統(tǒng)的構(gòu)建引入全新概念。DS18B20、DS1822“一線總線”數(shù)字化溫度傳感器同DS18B20一樣,DS18B20也支持“一線總線”接口,測(cè)量溫度范圍為-55℃~+125℃,在-10℃~+85℃范圍內(nèi),精度為±0.5℃。DS1822的精度較差為±2℃。現(xiàn)場(chǎng)溫度直接以“一線總線”的數(shù)字方式傳輸,大大提高了系統(tǒng)的抗干擾性。其DS18B20的管腳配置和封裝結(jié)構(gòu)如圖2-2所示[1]。圖2-2DS18B20封裝引腳定義:①DQ為數(shù)字信號(hào)輸入輸出端;②GND為電源地;VDD為外接供電電源輸入端(在寄生電源接線方式時(shí)接地)。2)DS18B20的單線(1-wirebus)系統(tǒng)單線總線結(jié)構(gòu)是DS18B20的突出特點(diǎn),也是理解和編程的難點(diǎn)。從兩個(gè)方面來(lái)理解單線總線:一,單線總線只定義了一個(gè)信號(hào)線,而且DS18B20智能程度較低(這點(diǎn)可以與微控制器和SPI器件間的通信做一個(gè)比較),所以DS18B20和處理器之間的通信必然要通過(guò)嚴(yán)格的時(shí)序控制來(lái)完成。二,DS18B20的輸出口是漏級(jí)開(kāi)路輸出,這種設(shè)計(jì)使總線上的器件在合適的時(shí)間驅(qū)動(dòng)它。顯然,總線上的器件與(wiredAND)關(guān)系。這就決定:(1)微控制器不能單方面控制總線狀態(tài)。之所以提出這點(diǎn),是因?yàn)橄喈?dāng)多的文獻(xiàn)資料上認(rèn)為,微控制器在讀取總線上數(shù)據(jù)之前的IO口的置1操作是為了給DS18B20一個(gè)發(fā)送數(shù)據(jù)的信號(hào)。這是一個(gè)錯(cuò)誤的觀點(diǎn)。如果當(dāng)前DS18B20發(fā)送0,即使微控制器IO口置1,總線狀態(tài)還是0;置1操作是為了是IO口截止(cutoff),以確保微控制器正確讀取數(shù)據(jù)。(2)除了DS18B20發(fā)送0的時(shí)間段,其他時(shí)間其輸出口自動(dòng)截止。自動(dòng)截止是為確保:1時(shí),在總線操作的間隙總線處于空閑狀態(tài),即高態(tài)。2時(shí),確保微控制器在寫(xiě)1的時(shí)候DS18B20可以正確讀入[2]。本設(shè)計(jì)將溫度傳感器DS18B20與單片機(jī)RXD引腳相連,讀取溫度傳感器的數(shù)值。硬件如圖2-3:2-4DS1302[3]。圖2-3DS18B20硬件電路圖時(shí)鐘電路本文增加的一個(gè)功能為顯示實(shí)時(shí)時(shí)間,為了更準(zhǔn)確的顯示時(shí)間,硬件電路設(shè)置了時(shí)鐘電路模塊,并且由 LCD屏顯示。本文選用DS1302做為時(shí)鐘電路,DS1302的結(jié)構(gòu)及工作原理:如圖2-4所示DS1302的引腳排列,其中Vcc1為后備電源,VCC2為主電源。在主電源關(guān)閉的情況下,也能保持時(shí)鐘的連續(xù)運(yùn)行。DS1302由Vcc1或Vcc2兩者中的較大者供電。當(dāng)Vcc2大于Vcc1+0.2V時(shí),Vcc2給DS1302供電。當(dāng)Vcc2小于Vcc1時(shí),DS1302由Vcc1供電。X1和X2是振蕩源,外接32.768kHz晶振。RST是復(fù)位片選線,通過(guò)把RST輸入驅(qū)動(dòng)置高電平來(lái)啟動(dòng)所有的數(shù)據(jù)傳送。RST輸入有兩種功能:首先,RST接通控制邏輯,允許地址命令序列送入移位寄存器;其次,RST提供終止單字節(jié)或多字節(jié)數(shù)據(jù)的傳送手段。當(dāng)RST為高電平時(shí),所有的數(shù)據(jù)傳送被初始化,允許對(duì)DS1302進(jìn)行操作。如果在傳送過(guò)程中RST置為低電平,則會(huì)終止此次數(shù)據(jù)傳送,IO引腳變?yōu)楦咦钁B(tài)。上電運(yùn)行時(shí),在Vcc≥之前,RST必2.5V須保持低電平。只有在 SCLK為低電平時(shí),才能將 RST置為高電平。IO為串行數(shù)據(jù)雙向輸入輸出端,SCLK始終是輸入端Vcc118Vcc2X127SCLKX236I/OGND45RST圖 引腳圖本文中RST、SCLK和IO口分別于單片機(jī)的 P1.5,P1.6和P1.7口相連。圖2-5為時(shí)鐘電路硬件部分:圖2-5時(shí)鐘電路硬件電路圖數(shù)據(jù)保存電路圖2-6數(shù)據(jù)保存硬件電路圖數(shù)據(jù)保存電路功能就是數(shù)據(jù)通過(guò)單片機(jī)的數(shù)據(jù)口被單片機(jī)接收后單片機(jī)再通過(guò)串口發(fā)給計(jì)算機(jī),在計(jì)算機(jī)中用串口調(diào)試工具就可以收到單片機(jī)發(fā)出的數(shù)據(jù)。本文數(shù)據(jù)保存電路根據(jù)系統(tǒng)的要求,即保存設(shè)定的溫度以與實(shí)際溫度比較來(lái)控制繼電器開(kāi)合狀態(tài),因而采用24C04A,其內(nèi)存為4K。數(shù)據(jù)保存電路如圖 2-6所示:本設(shè)計(jì)采用24C04A保存電路SCK和SDA引腳分別接單片機(jī) P2.4和P2.5引腳。鍵盤(pán)接口電路常用的鍵盤(pán)接口電路有獨(dú)立式按鍵接口和矩陣式按鍵接口,根據(jù)本設(shè)計(jì)的功能要求采用獨(dú)立式按鍵接口。本設(shè)計(jì)鍵盤(pán)接口很簡(jiǎn)單,五個(gè)開(kāi)關(guān)分別直接與單片機(jī)引腳P1.0--P1.4相連,P1.0與PI.1是讀和寫(xiě)命令,P1.2與P1.3負(fù)責(zé)寫(xiě)入的溫度的十位與個(gè)位,P1.4引腳負(fù)責(zé)“開(kāi)始”命令。電磁繼電器控制電路電磁繼電器是一種電子控制器件,它具有控制系統(tǒng)(又稱(chēng)輸入回路)和被控制系統(tǒng)(又稱(chēng)輸出回路),通常應(yīng)用于自動(dòng)控制電路中,它實(shí)際上是用較小的電流,較低的電壓去控制較大電流,較高的電壓的一種“自動(dòng)開(kāi)關(guān)”。故在電路中起著自動(dòng)調(diào)節(jié)、安全保護(hù)、轉(zhuǎn)換電路等作用[4]。本模塊中繼電器與一燈泡相連,加熱狀態(tài)時(shí)為燈亮即繼電器閉合,保溫狀態(tài)時(shí),燈滅,繼電器斷開(kāi)。繼電器與單片機(jī)相連如圖 2-7所示:圖2-7繼電器硬件電路圖本設(shè)計(jì)中若繼電器吸合電源接通開(kāi)始加熱同時(shí)燈亮,反之燈滅。顯示模塊圖2-8液晶顯示硬件電路圖本文采用

LCD

顯示溫度與時(shí)間,因?yàn)橐@示較多字符所以不選用

LED。一般選用LMO16L

作為液晶模塊,其采用

HD44780

控制器,

HD44780

具有簡(jiǎn)單而功能較強(qiáng)的指令集可以實(shí)現(xiàn)字符移動(dòng)、閃爍功能。單片機(jī)控制液晶顯示屏系統(tǒng)總共可分為四個(gè)環(huán)節(jié),分別是單片機(jī)控制系統(tǒng)、字符顯示模塊、控制開(kāi)關(guān)模塊和液晶顯示屏模塊。通過(guò)這四個(gè)模塊的協(xié)調(diào)工作就可以完成相應(yīng)的液晶屏控制和顯示功能[5]。如上圖2-8所示:本文設(shè)計(jì)數(shù)據(jù)口接P0口的輸入,并根據(jù)不同的按鍵在字符型液晶上顯示不同的字符。LCD的D0—D7引腳分別于單片機(jī)P0—P7數(shù)據(jù)口連接。系統(tǒng)的總體硬件電路本文采用 AT89C52型號(hào)的單片機(jī),此型號(hào)單片機(jī)是一個(gè)低電壓,高性能 CMOS8位單片機(jī)。AT89C52有40個(gè)引腳,32個(gè)外部雙向輸入輸出( IO)端口,同時(shí)內(nèi)含2個(gè)外中斷口,3個(gè)16位可編程定時(shí)計(jì)數(shù)器 ,2個(gè)全雙工串行通信口, 2個(gè)讀寫(xiě)口線。AT89C52

可以按照常規(guī)方法進(jìn)行編程

,但不可以在線編程

(S

系列的才支持在線編程)。其將通用的微處理器和

Flash

存儲(chǔ)器結(jié)合在一起,特別是可反復(fù)擦寫(xiě)的

Flash存儲(chǔ)器可有效地降低開(kāi)發(fā)成本

[6]。由系統(tǒng)所要實(shí)現(xiàn)的功能將各個(gè)模塊與單片機(jī)連接構(gòu)成系統(tǒng)整體硬件電路,如圖

2-9所示:圖2-9總硬件電路圖系統(tǒng)的軟件設(shè)計(jì)為了便于系統(tǒng)維護(hù)和功能擴(kuò)充,采用了模塊化程序設(shè)計(jì)方法,系統(tǒng)各個(gè)模塊的具體功能都是通過(guò)子程序調(diào)用實(shí)現(xiàn)的。本設(shè)計(jì)的軟件設(shè)計(jì)包括主程序,鍵盤(pán)子程序,報(bào)警子程序,顯示模塊子程序等。3.1軟件總體設(shè)計(jì)思路良好的設(shè)計(jì)方案可以減少軟件設(shè)計(jì)的工作量,提高軟件的可讀性,擴(kuò)展性和通用型。本系統(tǒng)的設(shè)計(jì)方案和步驟如下:按照系統(tǒng)的功能要求來(lái)逐級(jí)劃分模塊。明確各模塊之間的數(shù)據(jù)流傳遞關(guān)系,為增強(qiáng)各模塊的獨(dú)立性,力求數(shù)據(jù)傳遞少,便于軟件編制和調(diào)試。確定軟件開(kāi)發(fā)環(huán)境,選擇設(shè)計(jì)語(yǔ)言,完成模塊功能設(shè)計(jì),并分別調(diào)試通過(guò)。按照開(kāi)發(fā)式軟件設(shè)計(jì)結(jié)構(gòu),將各模塊有機(jī)的結(jié)合起來(lái),即成一個(gè)較完善的系統(tǒng)。3.2主程序軟件設(shè)計(jì)主程序主要包括對(duì)顯示子程序,鍵盤(pán)子程序,報(bào)警子程序的控制和調(diào)用。下圖流程圖是按照其本設(shè)計(jì)所要實(shí)現(xiàn)的功能來(lái)的設(shè)計(jì)的。主程序流程圖如圖 3-1:主程序初始化LCD初始化LCD顯示溫度設(shè)定目標(biāo)溫度N設(shè)定溫度大于報(bào)警值99度

DS18B20讀取溫度LCD顯示溫度實(shí)溫大于N繼續(xù)加熱燈亮設(shè)定溫度Y繼電器斷開(kāi)停止加熱燈滅Y報(bào)警3-1主程序流程圖3.3鍵盤(pán)子程序軟件設(shè)計(jì)在執(zhí)行程序的時(shí)候只需逐位判斷P3.2,P3.3,P3.4,P3.5口是高電平還是低電平,若為高電平,則表示沒(méi)有按鍵按下;若為低電平,則表示有按鍵按下。在程序的設(shè)計(jì)當(dāng)中,考慮了按鍵的去抖動(dòng)問(wèn)題。因?yàn)橛檬职聪乱粋€(gè)按鍵時(shí),往往會(huì)出現(xiàn)所按鍵在閉合位置和斷開(kāi)位置之間跳動(dòng)幾下才穩(wěn)定到閉合狀態(tài)的情況。在釋放一個(gè)鍵的時(shí)候,也會(huì)出現(xiàn)類(lèi)似的情況,抖動(dòng)的時(shí)間是不一致的,通常小于 10毫秒,若抖動(dòng)的問(wèn)題不解決,就會(huì)引起閉合鍵的多次讀入。對(duì)于鍵的抖動(dòng)處理,一般采用軟件延時(shí)10毫秒的方法。在發(fā)現(xiàn)有按鍵閉合時(shí),不是立即讀入該鍵值,而是延時(shí)一段時(shí)間以后,再進(jìn)行鍵閉合與否的判斷,確認(rèn)此時(shí)是否真的有按鍵下,有則進(jìn)行該按鍵的處理,沒(méi)有則不進(jìn)行處理。先判斷是否右鍵按下,再判斷是哪個(gè)按鍵,分別按照各個(gè)功能執(zhí)行。鍵盤(pán)子程序如圖3-2:開(kāi)始有按鍵按下?延時(shí)1ms判別鍵號(hào)按鍵處理返回3-2鍵盤(pán)子程序流程圖3.4報(bào)警子程序軟件設(shè)計(jì)報(bào)警子程序是在當(dāng)設(shè)定的保溫溫度大于 99℃時(shí),當(dāng)加熱到這個(gè)預(yù)設(shè)溫度時(shí),蜂鳴器報(bào)警提示水燒開(kāi),繼電器斷開(kāi),停止加熱,溫度下降,停止報(bào)警。報(bào)警子程序中響樂(lè)用到的頭文件如下:#include<reg52.uchartempflag; 溫度正負(fù)標(biāo)志位externucharqian,bai,shi,ge;externuchartime[7],timestr[9],datestr[11],weekstr[2];sbitrelay=P3^7;sbitspeaker=P3^6;sbitkey_read=P1^0;sbitkey_write=P1^1;sbitkey_shi=P1^2;sbitkey_ge=P1^3;sbitkey_start=P1^4;ucharconvert_parameter(uchart_shi,uchart_ge);voidmain(void){bitt_cflag=1,time_flag=1;uchart_shi=0,t_ge=0,temp=0,vtemp=0;lcd1602_init();ds1302_init();playm_init_sound();temp=i2c_read_data(7);*start**while(time_flag){i=0;if(!key_read)i++;if(i>7)i=0;switch(i){case0: { lcd1602_setxy(0,1);lcd1602_printstr("year:");}case1: { lcd1602_setxy(0,1);lcd1602_printstr("month:");}case2: { lcd1602_setxy(0,1);lcd1602_printstr("day:");}case3: { lcd1602_setxy(0,1);lcd1602_printstr("week:");}case4: { lcd1602_setxy(0,1);lcd1602_printstr("lcd1602_printstr("settemperature");delayms(1000);while(!key_start);}}**while(t_cflag){if(!key_read){lcd1602_init();clearscreenlcd1602_write_cmd(0x80);lcd1602_printstr("lastinputT:");lcd1602_setxy(8,1);lcd1602_write_data(0xdf);lcd1602_write_data(0x43);lcd1602_setxy(6,1);t_shi=temp10;t_ge=temp%10;lcd1602_write_data(0x30+t_shi);lcd1602_write_data(0x30+t_ge);delayms(1000);while(!key_read);}lcd1602_write_cmd(0x80);lcd1602_printstr("pleaseinputT:");lcd1602_write_cmd(0x80+0x40);lcd1602_setxy(8,1);lcd1602_write_data(0xdf);lcd1602_write_data(0x43);lcd1602_setxy(6,1);lcd1602_write_data(0x30+t_shi);lcd1602_write_data(0x30+t_ge);if(!key_shi)if(t_shi<9)t_shi++;elset_shi=0;while(!key_shi);if(!key_ge)if(t_ge<9)t_ge++;elset_ge=0;while(!key_ge);if(!key_write){temp=t_shi*10+t_ge;i2c_write_data(7,temp);lcd1602_init();clearscreenlcd1602_write_cmd(0x80);lcd1602_printstr(" writing... ");delayms(1000);while(!key_write);}if(!key_start){t_cflag=0;lcd1602_init();clearscreenlcd1602_printstr("

start

");delayms(1000);temp=t_shi*10+t_ge;while(!key_start);}}lcd1602_init();clearscreenwhile(1){***********************************ds1302_get_time(&time);convert_timestring(&time);convert_datestring(&time);convert_weekstring(&time);lcd1602_setxy(0,1);lcd1602_printstr(×tr);lcd1602_setxy(0,0);lcd1602_printstr(&datestr);lcd1602_printstr("week");lcd1602_printstr(&weekstr);lcd1602_setxy(12,1);lcd1602_write_data(0x32);lcd1602_setxy(9,1);l

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論