基于單片機(jī)的家用水流量設(shè)計(jì)論文_第1頁
基于單片機(jī)的家用水流量設(shè)計(jì)論文_第2頁
基于單片機(jī)的家用水流量設(shè)計(jì)論文_第3頁
基于單片機(jī)的家用水流量設(shè)計(jì)論文_第4頁
基于單片機(jī)的家用水流量設(shè)計(jì)論文_第5頁
已閱讀5頁,還剩24頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、 PAGE26 / NUMPAGES29 基于單片機(jī)的家用水流量設(shè)計(jì)摘要誰是我們每天都要接觸的東西,同時(shí)水也是非常寶貴的資源,怎么樣才能夠幫助我們節(jié)約、規(guī)劃我們的用水,在這里我們想到了制作家用水流量儀器,在達(dá)到活動(dòng)大腦的同時(shí)也能夠?yàn)槲覀兊募彝砬泻蠈?shí)際的提高節(jié)約意識與用水節(jié)約數(shù)字化,鑒于當(dāng)前我國水資源短缺,如何節(jié)約環(huán)保已經(jīng)成為各階層共同應(yīng)對的問題。本次畢業(yè)設(shè)計(jì)我通過以單片機(jī)為主體,出于對多方面的綜合考慮,通過對各模塊的應(yīng)用與結(jié)合,對水流量的測量進(jìn)行設(shè)計(jì)與應(yīng)用,旨在提高大眾節(jié)水意識,優(yōu)化生活質(zhì)量。 關(guān)鍵詞:節(jié)約;流量;家用;單片機(jī)。目錄TOC o 1-3 h u HYPERLINK l _To

2、c11214 引言: PAGEREF _Toc11214 2 HYPERLINK l _Toc7687 方案設(shè)計(jì): PAGEREF _Toc7687 2 HYPERLINK l _Toc2255 1、 方案選擇 PAGEREF _Toc2255 2 HYPERLINK l _Toc3468 方案一: PAGEREF _Toc3468 2 HYPERLINK l _Toc21446 方案二: PAGEREF _Toc21446 3 HYPERLINK l _Toc22712 方案三: PAGEREF _Toc22712 5 HYPERLINK l _Toc1077 2、 方案確定 PAGEREF

3、 _Toc1077 6 HYPERLINK l _Toc20273 3、 理論分析與方案論證 PAGEREF _Toc20273 7 HYPERLINK l _Toc20629 4、總體設(shè)計(jì) PAGEREF _Toc20629 7 HYPERLINK l _Toc1364 1 溫度程序模塊 PAGEREF _Toc1364 7 HYPERLINK l _Toc23688 2 水流量程序模塊 PAGEREF _Toc23688 8 HYPERLINK l _Toc22025 3 顯示程序模塊 PAGEREF _Toc22025 8 HYPERLINK l _Toc3552 5、單元電路(或軟件模

4、塊)設(shè)計(jì) PAGEREF _Toc3552 9 HYPERLINK l _Toc21564 (1)時(shí)鐘電路 PAGEREF _Toc21564 9 HYPERLINK l _Toc26288 (2)復(fù)位電路 PAGEREF _Toc26288 10 HYPERLINK l _Toc12584 (3)按鍵控制電路 PAGEREF _Toc12584 11 HYPERLINK l _Toc29945 (4)水流量測量電路 PAGEREF _Toc29945 11 HYPERLINK l _Toc1482 結(jié)束語: PAGEREF _Toc1482 12 HYPERLINK l _Toc11448

5、參考文獻(xiàn) PAGEREF _Toc11448 13引言:當(dāng)今社會,經(jīng)濟(jì)快速發(fā)展,人們生活水平普遍提高,對物質(zhì)生活的需要和精神領(lǐng)域的追求也日趨提高,同時(shí)對家居等的舒適度,個(gè)性化,智能化,功能多樣化等也提出了更高的要求。鑒于當(dāng)前我國水資源短缺,如何節(jié)約環(huán)保已經(jīng)成為各階層共同應(yīng)對的問題。本次畢業(yè)設(shè)計(jì)我通過以單片機(jī)為主體,出于對多方面的綜合考慮,通過對各模塊的應(yīng)用與結(jié)合,對水流量的測量進(jìn)行設(shè)計(jì)與應(yīng)用,旨在提高大眾節(jié)水意識,優(yōu)化生活質(zhì)量。我設(shè)計(jì)的家用水流量可通過液晶屏對溫度的實(shí)時(shí)顯示調(diào)節(jié)用水溫度,測量水的流量并換算為價(jià)格用于提示用戶用水程度。 早期的水表由英國人發(fā)明,隨后德國,法國,美國,日本等國依次發(fā)

6、明或引進(jìn)先進(jìn)水表,具體有往復(fù)式單活塞式水表,旋轉(zhuǎn)活塞式水表,圓盤式水表,旋翼式水表等。我國的水表使用和生產(chǎn)較晚,直至1879年,鴻章創(chuàng)建我國第一家水廠,水表進(jìn)入我國。之后的一百余年我國水表整體落后于西方發(fā)達(dá)國家。目前我國家用水表多是機(jī)械旋翼式水表。其弊端有:水表始動(dòng)流量大,不流水水表自走,漏損率高,檢查和維修周期短,準(zhǔn)確率低等。方案設(shè)計(jì):方案選擇方案一:本方案由流量計(jì),單片機(jī),顯示器,溫度測量計(jì),報(bào)警器等主要器件構(gòu)成,其工作原理大致為:當(dāng)打開水龍頭時(shí),根據(jù)單片機(jī)STC89C52的指令、水流量計(jì)傳感器和數(shù)字溫度傳感器 DS18B20 實(shí)時(shí)采集水流量狀態(tài)和水溫的數(shù)據(jù)。當(dāng)單片機(jī) STC89C52 掃

7、描到水流量計(jì)傳感器的脈沖數(shù),經(jīng)過單片機(jī)STC89C52處理,計(jì)算出所采集的水流量后,通過液晶屏LCD1602 能動(dòng)態(tài)顯示當(dāng)前水流量、水費(fèi)與水溫(當(dāng)溫度超出安全圍時(shí),報(bào)警器工作。)硬件框圖(圖1):程序流程圖(圖2):該方案特點(diǎn): (1)液晶顯示有水溫、水價(jià)、水費(fèi)和當(dāng)前水流量。水流量的測量由開關(guān)控制。 (2)在程序中可以分為 3 個(gè)主要模塊:水流量模塊,溫度模塊,顯示模塊。 (3)由于有時(shí)自來水水流不夠均勻,水流量傳感器較小,測量存在局限性。方案二: 將滑動(dòng)變阻器固定在密度較大的不銹鋼網(wǎng)上,垂直于水流方向放置(與管壁無摩擦),將變阻器,恒定電源,安全電阻接入電路,因?yàn)椴讳P鋼網(wǎng)的阻礙,水流會對不銹

8、鋼網(wǎng)產(chǎn)生力,所以通過水流的速度(因?yàn)楣艿罊M截面積確定,水流速度反映水的流量)可以轉(zhuǎn)化成對應(yīng)的電流。將電流轉(zhuǎn)換成相應(yīng)的信號傳入到單片機(jī)中,進(jìn)而將對應(yīng)的流量和費(fèi)用傳輸?shù)揭壕э@示屏上,將溫度計(jì)固定在管道,將溫度信號轉(zhuǎn)換成電信號輸入到單片機(jī),輸出對應(yīng)水的溫度。(當(dāng)水溫過高時(shí),溫度信號轉(zhuǎn)換成的電信號將進(jìn)入警戒區(qū)域,報(bào)警器工作)。硬件框圖:軟件流程圖:該方案特點(diǎn):(1)原理較為簡單,器件更為耐用。(2)體現(xiàn)了多學(xué)科交叉的特點(diǎn),水流對不銹鋼網(wǎng)的沖擊與滑動(dòng)變阻器阻值的對應(yīng)關(guān)系是依據(jù)了力學(xué)原理,將溫度計(jì)對水溫感應(yīng)的信號轉(zhuǎn)換為電信號涉與到熱學(xué)與電學(xué)的轉(zhuǎn)換等,本方案將多學(xué)科融入工程,通俗易懂。(3)由于不銹鋼網(wǎng)安裝

9、于管道中,從衛(wèi)生角度和實(shí)用角度來看,并不如第一種方案。譬如,不銹鋼具有導(dǎo)熱特性,長時(shí)間后不銹鋼會被腐蝕,影響水質(zhì),不易更換維修等。方案三:該流量計(jì)工作原理如圖所示,當(dāng)液體流經(jīng)產(chǎn)品有渦輪葉片機(jī)構(gòu),使渦輪旋轉(zhuǎn),渦輪的轉(zhuǎn)速隨流量的變化而變化。由于葉片置磁體通過下方的一磁線圈回升,葉片周期性地切割電磁鐵產(chǎn)生的磁力線,改變線圈的磁通量。根據(jù)電磁感應(yīng)原理在線圈將感應(yīng)出脈動(dòng)的電勢信號,此脈動(dòng)信號的頻率與被測流體的流量成正比。該高頻脈沖是成正比的轉(zhuǎn)子角速度和流速。脈沖信號隨時(shí)傳送給單片機(jī),再由單片機(jī)將信號傳給液晶顯示器和警報(bào)器。硬件框圖(如圖6):程序流程圖(如圖7):該方案特點(diǎn):(1)渦輪流量計(jì)是理想的低流

10、量液體監(jiān)測器件。小型渦輪的反應(yīng)迅速。(2)渦輪技術(shù)是不受系統(tǒng)壓力變化的影響。流量傳感器的標(biāo)準(zhǔn)電源和輸出出規(guī)格可以很容 易地改進(jìn),以適應(yīng)當(dāng)前的控制器。方案確定我設(shè)計(jì)該組件的目標(biāo)與要求為:可以在一定非適宜環(huán)境下工作,操作方便,具有較強(qiáng)的實(shí)用性與可行性。盡量要求測量精確,誤差較小。該水流測量裝置應(yīng)具有較強(qiáng)的安全性能,不會對人體與環(huán)境造成負(fù)面影響。本身不會造成大量的資源消耗或浪費(fèi)。簡約美觀,符合家居氛圍。各方案的特點(diǎn): 首先,2美觀性較差,3中的渦輪可能存在噪音。 其次,水流較小時(shí)2,3可能會停止轉(zhuǎn)動(dòng),同時(shí)3的渦輪存在慣性,會使所測流量偏大,這些都使2,3方案可靠性降低。 再次,從實(shí)用角度來看,方案二

11、中滑動(dòng)變阻器的阻值隨著水溫的變化而變化,受環(huán)境影響大;從衛(wèi)生性能上考慮,3方案中安裝在水中的渦輪會使水質(zhì)降低。相比較而言我認(rèn)為方案一更為合理,具體如下:受溫度影響較小,可以適應(yīng)多種工作環(huán)境;美觀簡約,操作方便;耗費(fèi)資源少,節(jié)約環(huán)保,不會對環(huán)境和人體造成負(fù)面影響;采用電子流量計(jì)進(jìn)行水流測量,相對另外兩種物理方案誤差較??;經(jīng)濟(jì)廉價(jià),實(shí)用性強(qiáng)。 綜合以上分析,我認(rèn)為方案一更加適合設(shè)計(jì)要求,故對方案一進(jìn)行了具體的設(shè)計(jì)與實(shí)施。理論分析與方案論證 工作原理:當(dāng)打開水龍頭時(shí),根據(jù)單片機(jī) STC89C52 的指令、水流量計(jì)傳感器和數(shù)字溫度傳感器 DS18B20 實(shí)時(shí)采集水流量狀態(tài)和水溫的數(shù)據(jù)。當(dāng)單片機(jī) STC

12、89C52 掃描到水流量計(jì)傳感器的脈沖數(shù),經(jīng)過單片機(jī) STC89C52 處理,計(jì)算出所采集的水流量后,通過液晶屏LCD1602 能動(dòng)態(tài)顯示當(dāng)前水流量、水費(fèi)與水溫。 各項(xiàng)技術(shù)保證: 我設(shè)計(jì)的家用流量設(shè)計(jì)大致可分為溫度程序模塊,水流量程序模塊,顯示程序模塊。其中溫度程序模塊主要是將溫度信號轉(zhuǎn)換成電信號和對溫度的處理,如調(diào)節(jié)數(shù)值在合理圍,是否超出安全圍并報(bào)警等。水流量程序模塊是對水流量進(jìn)行數(shù)值讀取并清零,對水流量數(shù)據(jù)進(jìn)行處理等。顯示程序模塊是計(jì)算出流量值,溫度與資源分配情況等。4、總體設(shè)計(jì)1 溫度程序模塊(1) 溫度數(shù)據(jù)轉(zhuǎn)換程序由溫度傳感器 DS18B20 采集的溫度數(shù)據(jù)讀取后溫度的低位和高位分別存

13、在主芯片 SCT89C52 存儲器中 。其中依定傳感器的設(shè)計(jì) ,讀出的數(shù)據(jù)最高位為 0 時(shí)溫度 為正 ,溫度為 1 時(shí),溫度是負(fù)數(shù) 。是以對溫度數(shù)據(jù)處理 ,將溫度數(shù)據(jù)高位和低位整 合在一起,在判斷溫度的正負(fù)即可。(2)溫度數(shù)據(jù)顯示前處理程序 將已處理好的溫度數(shù)據(jù)的首先判斷它的正負(fù),然后再去運(yùn)行其他的代碼。在這里,程序還設(shè)定了溫度報(bào)警。溫度報(bào)警本來可以在DS18B20 中對芯片進(jìn)行設(shè)置,但考慮到對芯片的熟悉度不夠,容易出錯(cuò),而在程序中設(shè)定比較容易理解,寫起來也不會太難。還有實(shí)際水的溫度不可能超過100度,所以測得100度以上的溫度值就會顯得多余,在程序中只要設(shè)定最高 99.9 度即可。再就是美觀

14、上的設(shè)定,測得的溫度在為個(gè)位時(shí),十位為0就會看起來不太美觀,只要把十位設(shè)定看不見即可。如圖 9 所示 :2 水流量程序模塊水流量的測量主要依靠對得到的頻率處理,由流量計(jì)在一段時(shí)間下產(chǎn)生高電平的個(gè)數(shù)決定 ,即 Q(流量 ) =F(頻率 ) /R(商家設(shè)定值 )所以只要在單片機(jī)中設(shè)定一定的時(shí)間 ,并在該時(shí)間之下計(jì)算出得到的高電平即可。在本程序中 STC89C52 的兩個(gè)定時(shí)器 T0 為計(jì)數(shù)狀態(tài), T1 為計(jì)時(shí)狀態(tài),這樣方可測量流量。 (1)水流量的讀取程序 中斷程序運(yùn)行的時(shí)間到,就可以讀取計(jì)數(shù)器中的數(shù)值,將下數(shù)值讀出后把計(jì)數(shù)器賦值為 0 , 等待下一次的取出,然后進(jìn)入對讀出數(shù)據(jù)的處理程序。(2)水

15、流量數(shù)據(jù)的處理程序在預(yù)定時(shí)間到,即已經(jīng)取出了定時(shí)器的數(shù)值。我們計(jì)算的水流量最大是以每噸來計(jì)算并顯示的,故一個(gè)整形或長整型的數(shù)不夠,故先把它放在了一個(gè)int 變量的存儲空間 ,做水流量的前三位 ,在定義一個(gè)長整型的數(shù),把它作為水流量的后六位 ,這樣計(jì)算起來也比較容易 ,數(shù)據(jù)也不會起沖突,也是為將要計(jì)算水價(jià)做準(zhǔn)備。設(shè)定該水流量的最大計(jì)數(shù)為250 噸,超過了定值,則會從0 開始。如圖 11 所示 :3 顯示程序模塊在程序中只是計(jì)算出流量值,溫度值以與和資源分配的情況,一些字母的顯示,都要另加,這樣才能盡善盡美的表達(dá)出顯示出來的意思。在顯示程序中加入了溫度的測量 ,所以在主程序中不必再測量溫度 。在第

16、一頁主要顯示的是溫度 、水費(fèi)和水 流量的后六位 ,最后以t結(jié)尾。第二頁主要顯示溫度、單位水價(jià)和水流量的前三位,最后以 kg 結(jié)尾。如圖 12、圖 13 所示:5、單元電路(或軟件模塊)設(shè)計(jì)各單元電路:(1)時(shí)鐘電路單片機(jī)的最小系統(tǒng)有三部分組成,即電源,時(shí)鐘電路和復(fù)位電路。其中單片機(jī)的電源引腳與5V 電源連通即可,而時(shí)鐘電路和復(fù)位電路還需接口擴(kuò)展,這也是單片機(jī)的基本電路操作。時(shí)鐘電路用于產(chǎn)生單片機(jī)工作所需的時(shí)鐘信號,時(shí)序是指令執(zhí)行中各信號之間的相互關(guān)系 。單片機(jī)本身就如同一個(gè)復(fù)雜的同步時(shí)序電路,為了保證同步工作方式的實(shí)現(xiàn),電路應(yīng)在唯一的時(shí)鐘信號控制下嚴(yán)格地按時(shí)序進(jìn)行工作。在 STC89C52單片

17、機(jī)部帶有時(shí)鐘電路,因此,只需要在片外通過XTAL1 和 XTAL2 引腳接入定時(shí)控制元件 (晶體振蕩器和電容 ),即可構(gòu)成一個(gè)穩(wěn)定的自激振蕩器。在STC89C5 2芯片部有一個(gè)高增益反相放大器,而在芯片的外部 ,XTAL1 和 XTAL2 之間跨接晶體振蕩器和微調(diào)電容。在單片機(jī)的 XTAL1 腳和 XTAL2 腳之間并接一個(gè)晶體振蕩器就構(gòu)成了部振蕩方式。STC89C52 單片機(jī)部有一個(gè)高增益的反相放大器XTAL1為部反相放大器的輸入端,XTAL2 為部反相放大器的輸出端,在其兩端接上晶振后,就構(gòu)成了自激振蕩電路,并產(chǎn)生振蕩脈沖,振蕩電路輸出的脈沖信 號的頻率就是晶振的固有頻率。在實(shí)際應(yīng)用常還需

18、要在晶振的兩端和地之間各 并上一個(gè)小電容。用晶振和電容構(gòu)成諧振電路。電容大小與晶振頻率和工作電壓有關(guān)。但電容的大小影響振蕩器的穩(wěn)定性和起振的快速性,為了提高精度,本實(shí)驗(yàn)板采用 20pF 的電容作為微調(diào)電容 。在設(shè)計(jì)電路板時(shí),晶振、電容等均應(yīng)盡可能靠近芯片,減小分布電容,以保證振蕩器振蕩的穩(wěn)定性。(2)復(fù)位電路復(fù)位是單片機(jī)的初始化操作,其目的是使CPU 和系統(tǒng)中各部分處于一個(gè)確定的狀態(tài) ,并從這一狀態(tài)開始工作 。單片機(jī) 的 RST 引腳為復(fù)位引腳,振蕩電路正常工作后, RST 端加上持續(xù)兩個(gè)機(jī)器周期的 高電平后 ,單片機(jī)就被復(fù)位 。我采用按鍵開關(guān)復(fù)位是指通過接通按鈕開關(guān),使單片機(jī)進(jìn)入復(fù)位狀態(tài)。本

19、設(shè)計(jì)中將開關(guān)復(fù)位與上電復(fù)位組合在一起形成組合復(fù)位電路,上電復(fù)位電路完成上電復(fù)位功能,開關(guān)復(fù)位電路完成人工復(fù)位。圖 15 中 C7 與 R5 構(gòu)成了上電復(fù)位電路。上電復(fù)位后,電源經(jīng)R5 對 C7 充滿電源, C7 等效于開路, RST 端為低電平;單片機(jī)正常工作。按開關(guān)K 1 后, C7 兩端電荷經(jīng) R 5 迅速放電, K1 斷開后,由 C7、 R5 與電源完成對單片機(jī)的復(fù)位操作 。 在上述電路中 C7、 R5 按上電復(fù)位電路的設(shè)計(jì)而取值。(3)按鍵控制電路課題設(shè)計(jì)之初,要求基本實(shí)現(xiàn)的功能有水流量的控制、水價(jià)的改變。由于液晶顯示屏不能夠完全實(shí)現(xiàn)其顯示,故又增加了換頁功能,共三個(gè)控制鍵。 圖 16

20、 按鍵電路(4)水流量測量電路水流量測量電路如圖28,圖27為模塊設(shè)計(jì)應(yīng)用的流量計(jì)。本次設(shè)計(jì)中最重要的是水流量的測量,通過水流量傳感器的數(shù)據(jù)采集,根據(jù)商家的水流量傳感器的參數(shù)可以得出單片機(jī)在運(yùn)算時(shí)的數(shù)據(jù)。水流量傳感器參數(shù):環(huán)境溫度:-1055 流量計(jì)算在流量為:0.20.4L/Min 時(shí) 1L=2100次;0.50.8L/Min時(shí), 1L=228 0次; 0.91.2L/Min 時(shí) ,1L=2350 次;1.22.5L/Min 時(shí),1L=2460 次;(脈沖次數(shù)在流量變化時(shí)有一定程度的變動(dòng))接線方法 白線:信號輸出;黑線:電源負(fù) 測量精度: 5%(在流量穩(wěn)定的系統(tǒng),精度可達(dá) 2%)工作電壓:

21、DC024V工作壓力: 100PSI ( 7kg/cm)耐濕性能:在環(huán)境濕度為 90% 以下時(shí)性能保持穩(wěn)定壽命測試:本產(chǎn)品用進(jìn)口干簧管作感應(yīng)元件,在負(fù)荷小于 24V 1mA 前提下 ,開關(guān)壽命大于3億次。 圖17 圖18結(jié)束語:本文是在老師的精心指導(dǎo)和嚴(yán)格要求下完成的,#老師以其嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度、高度的敬業(yè)精神、兢兢業(yè)業(yè)、孜孜以求的工作作風(fēng)和大膽創(chuàng)新的進(jìn)取精神對我產(chǎn)生重要影響。同時(shí),還特別感#各位同學(xué)對我的無私幫助,使我得以順利完成論文。通過這次設(shè)計(jì),使我獲得了豐富的理論知識,極提高了實(shí)踐能力。單片機(jī)領(lǐng)域這對我今后進(jìn)一步學(xué)習(xí)計(jì)算機(jī)方面的知識有極大的幫助。在此,我忠心感#老師以與電子工程系各位老師

22、的指導(dǎo)和支持。在未來的工作和學(xué)習(xí)中,我將以更好的成績來回報(bào)各位領(lǐng)導(dǎo)和老師。參考文獻(xiàn)1 風(fēng)言. 電子電路基礎(chǔ)(第二版). :高等教育, 1995.2 風(fēng)言. 電子電路基礎(chǔ)(第一版). :高等教育, 1986.3 康華光.電子技術(shù)基礎(chǔ)模擬部分M.第五版.:高等教育.4 王俊峰,斐炳南,傳光.電子產(chǎn)品的設(shè)計(jì)與制作工藝M.理工大學(xué),1995.5 王麗敏,鄧舒勇. 電路仿真與實(shí)驗(yàn)M.第一版.:工程大學(xué),2000.6 譚浩強(qiáng)C語音程序設(shè)計(jì)(第二版). 清華大學(xué)附錄:C語言程序清單#include#define uchar unsigned char #define uint unsigned intsbi

23、t DQ=P10; /ds18b20 與單片機(jī)連接口sbit RS=P11;sbit RW=P12;sbit EN=P13;sbit p37=P36; /流量正常運(yùn)行接口sbit p36=P37; /溫度報(bào)警接口sbit p14=P14; /功能按鍵接口sbit p15=P15;sbit p16=P16;uchar table=0 x30,0 x31,0 x32,0 x33,0 x34,0 x35,0 x36,0 x37,0 x38,0 x39,0 x20; /0-9數(shù)字和顯示無unsigned long int a;floatf,zong;uinttvalue;ucharn1,n2,n3,n

24、4,n5,n6,n7,n8,n9;uchartflag,d,g,kai,j,j1,j2,b;/* 延時(shí)子程序*/void delay (uint z) int x,y;for(x=z;x0;x-) for(y=120;y0;y-) ;/*延時(shí) 1us 子程序*/void delay_18B20(unsigned int i)/延時(shí) 1 微秒while(i-);/*液晶顯示寫指令*/void wr_(unsigned char ) /寫指令delay(1);/延時(shí) 1msRS=0;/寫命令設(shè)置RW=0;/并行數(shù)據(jù)的讀寫EN=0;/使能為 0P2=;/輸入命令delay(1);/延時(shí) 1msEN=

25、1;/使能為 1delay(1);/延時(shí) 1msEN=0;/使能為 0/*液晶顯示寫數(shù)據(jù) */void wr_dat(unsigned char dat)/寫數(shù)據(jù)delay(1);/延時(shí) 1msRS=1;/寫數(shù)據(jù)設(shè)置RW=0;/并行數(shù)據(jù)的讀寫EN=0;/使能為 0P2=dat;/輸入數(shù)據(jù)delay(1);/延時(shí) 1msEN=1;/使能為 1delay(1);/延時(shí) 1msEN=0;/使能為 0/*水流量計(jì)算程序與數(shù)據(jù)轉(zhuǎn)換程序 */void loop ()uintzong1;if(g=0) /判斷時(shí)間是否到zong=(b/100.0)+zong; /得出總流量的后三位g=1; /將標(biāo)志為為 1i

26、f(zong=1000) /判斷總流量后三位是否大于 1000a+; /總流量前六位加 1 zong=0; /后三位清零if(a=1000000) /總流量前六位大于 1 百萬a=0; /總流量前六位清零zong1=(int)zong ; /總流量后三位轉(zhuǎn)換為整形 n9=a/100000; /總流量 9 位全部分配 n8=a%100000/10000;n7=a%10000/1000;n6=a%1000/100;n5=a%100/10;n4=a%10;n3=zong1%1000/100;n2=zong1%100/10;n1=zong1%10;/* 水費(fèi)計(jì)算與數(shù)據(jù)轉(zhuǎn)換 */void shuifei

27、()uchar h1,h2,h3,h4; h4=(j*a)/1000000; /水費(fèi)顯示 h3=(j*a)%1000000/100000; h2=(j*a)%100000/10000; h1=(j*a)%10000/1000; wr_(0 x80+10); /水費(fèi)顯示wr_dat(0 x5c); wr_dat(tableh4); wr_dat(tableh3); wr_dat(tableh2);wr_dat(0 x2e); /顯示小數(shù)點(diǎn) wr_dat(tableh1);/*ds1820 復(fù)位子程序*/void ds1820rst()unsigned char x=0;DQ = 1;/DQ 復(fù)位

28、delay_18B20(4);/延時(shí)DQ = 0;/DQ 拉低delay_18B20(100); /精確延時(shí)大于 480usDQ = 1;/拉高delay_18B20(40); /延時(shí)/*ds1820 讀數(shù)據(jù)子程序*/uchar ds1820rd() /讀數(shù)據(jù)unsigned char i=0; unsigned char dat=0;for (i=8;i0;i-) /讀溫度 2 進(jìn)制 8 次DQ = 0;/給脈沖信號dat=1;/將溫度數(shù)據(jù)轉(zhuǎn)移到 datDQ = 1; /給脈沖信號if(DQ)/數(shù)據(jù)轉(zhuǎn)換dat|=0 x80;delay_18B20(10);return(dat);/*ds18

29、20 寫數(shù)據(jù)子程序*/void ds1820wr(uchar wdata)unsigned char i=0;for (i=8; i0; i -) /寫數(shù)據(jù) 2 進(jìn)制 8 次DQ = 0;/給脈沖信號DQ = wdata&0 x01; /數(shù)據(jù)傳送delay_18B20(10); /延時(shí)DQ = 1;/給脈沖信號wdata=1;/數(shù)據(jù)移位/*ds1820 溫度轉(zhuǎn)換程序*/uint read_temp()uchar a,b;ds1820rst(); /ds1820 復(fù)位 ds1820wr(0 xcc); /跳過讀序列號ds1820wr(0 x44);/啟動(dòng)溫度轉(zhuǎn)換ds1820rst();/ds18

30、20 復(fù)位ds1820wr(0 xcc);/跳過讀序列號ds1820wr(0 xbe);/讀取溫度a=ds1820rd();/將溫度數(shù)據(jù)給 ab=ds1820rd();/將溫度數(shù)據(jù)給 btvalue=b;/將溫度數(shù)據(jù)轉(zhuǎn)移tvalue=8;tvalue=tvalue|a;if(tvalue=4)p37=0; else p37=1;if(tflag=1)p37=0;/負(fù)溫度顯示負(fù)號 : -if(t3=0)t3=10; /如果百位為 0 ,不顯示 if(t2=0)t2=10;/如果百位為 0 ,十位為 0 也不顯示wr_dat(tablet3);/顯示百位 wr_(0 x80+3); wr_dat(

31、tablet2);/顯示十位wr_dat(tablet1);/顯示個(gè)位 wr_dat(0 x2e); /顯示小數(shù)點(diǎn) wr_dat(tablet4);/顯示小數(shù)位/* 流量程序*/void liuliang()while(d=2)/時(shí)間到?d=0;/d 清零b=TH0*256+TL0;/讀取頻率TH0=0 x00;/計(jì)數(shù)器清零TL0=0 x00;g=0;/時(shí)間標(biāo)志位loop();/水流量計(jì)算程序與數(shù)據(jù)轉(zhuǎn)換程序/*第一頁顯示子程序 */voiddisplay1()wr_(0 x80); /溫度顯示wr_dat(0 x54); /顯示 Twr_dat(0 x3a); /顯示:read_temp();

32、 /讀取溫度ds1820disp( ); /溫度顯示wr_dat(0 x00); /顯示wr_dat(0 x43); /顯示 Cshuifei();wr_(0 x80+0 x40); /水流量(t)顯示 wr_dat(0 x46);wr_dat(0 x4c); wr_dat(0 x4f); wr_dat(0 x57); wr_dat(0 x3a); wr_dat(0 x20); wr_dat(tablen9); wr_dat(tablen8); wr_dat(tablen7);wr_dat(0 x2e); /顯示小數(shù)點(diǎn) wr_dat(tablen6); wr_dat(tablen5); wr_

33、dat(tablen4);wr_dat(0 x20); /顯示小數(shù)點(diǎn) wr_dat(0 x74);wr_dat(0 x20);/*第二頁顯示子程序 */void display2()wr_(0 x80); /溫度顯示wr_dat(0 x54); /顯示 Twr_dat(0 x3a); /顯示:read_temp(); /讀取溫度ds1820disp( ); /溫度顯示wr_dat(0 x00); /顯示wr_dat(0 x43); /顯示 Cwr_(0 x80+10); /水價(jià)顯示 wr_dat(tablej2);wr_dat(0 x2e); wr_dat(tablej1);wr_dat(0

34、x5c); wr_dat(0 x2f); wr_dat(0 x74); wr_dat(0 x20);wr_(0 x80+0 x40+5);/ 水流量(kg)顯示 wr_dat(0 x20);wr_dat(0 x20); wr_dat(tablen4);wr_dat(0 x2e); /顯示小數(shù)點(diǎn) wr_dat(tablen3); wr_dat(tablen2); wr_dat(tablen1);wr_dat(0 x20); wr_dat(0 x6b); wr_dat(0 x67);/*控制流量測量的開關(guān)程序 */void kaiguan1()if(p14=0)/按鍵按下?delay(2);if(p14=0) delay(2);p36=p36;/P3.6 取反TR0=TR0;/TR0 取反while(p14=

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論