2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩37頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、<p>  南 昌 工 程 學 院</p><p>  畢 業(yè) 設 計 (論 文)</p><p>  熱量表的設計與實現(xiàn)(軟件部分)</p><p>  The design and implementation of heat meters (software part)</p><p>  總計 畢業(yè)設計(論文) 32

2、 頁</p><p>  表 格 3 個</p><p>  插 圖 12 幅</p><p><b>  摘要</b></p><p>  我國北方冬季要供暖,為了節(jié)約能源,大多數(shù)地區(qū)已通過熱網(wǎng)集中供熱。但是熱能作為一種商品來出售,當然要收費了。可是目前因為居民

3、家里還沒安裝熱量表,只好按建筑面積收費。但是按建筑面積收供熱費顯然是不合理的,應該按照用戶實際用的熱能來計算。熱量表,是計算熱量的儀表。熱量表的工作原理:將一對溫度傳感器分別安裝在通過載熱流體的上行管和下行管上,流量計安裝在流體入口或回流管上。流量計發(fā)出與流量成正比的脈沖信號,一對溫度傳感器給出表示溫度高低的模擬信號,而積算儀采集來自流量和溫度傳感器的信號,利用積算公式算出熱交換系統(tǒng)獲得的熱量。一個完整的熱量表由三個部分組成:流量傳感器

4、,用以測量流經(jīng)熱交換系統(tǒng)的熱水流量;溫度傳感器,分別測量供暖進水和同水溫度;計算顯示器,根據(jù)與其相連的流量傳感器和溫度傳感器提供的流量和溫度數(shù)據(jù),通過熱量公式計算出用戶從熱交換系統(tǒng)獲得的熱量。本文主要用到51系列的單片機,流量傳感器采用超聲波流量計,溫度采集使用如今市面上使用普遍的DS18B20,便攜式的多點鍵盤。</p><p>  關鍵詞:單片機 流量計 溫度采集器 </p><p&g

5、t;<b>  Abstract</b></p><p>  Winter in the northern China to heating, in order to save energy, most areas already through the network of central heating. But heat as a commodity to sell, of cours

6、e, want to charge. But at present because families haven't install thermal scale, had to press construction area of charges. But according to the construction area of the heating fee is clearly unreasonable, should a

7、ccording to actual use of heat energy users to calculate. Hot scale, is a calculation of heat meter. Heat meter princi</p><p>  Keywords: Single-chip microcomputer;flowmeter;Temperature collector</p>

8、<p><b>  目錄</b></p><p><b>  摘要I</b></p><p>  AbstractII</p><p><b>  第一章 引言1</b></p><p>  1.1 選題背景1</p><p>  1.

9、2 熱量表簡介1</p><p>  1.3國內外發(fā)展概況2</p><p>  1.4 開發(fā)熱量表的意義和前景2</p><p>  1.5 研究內容與目標3</p><p>  第二章 熱量表硬件電路設計4</p><p>  2.1 電源電路的設計4</p><p>  2.

10、2 主控部分的設計4</p><p>  2.3 溫度檢測電路的設計5</p><p>  2.4 流量檢測電路的設計6</p><p>  2.5 顯示電路的設計7</p><p>  2.6 鍵盤電路的設計8</p><p>  第三章 熱量表總體軟件設計10</p><p> 

11、 3.1 熱量表工作原理10</p><p>  3.2系統(tǒng)資源分配11</p><p>  3.3 主程序的設計11</p><p>  第四章 熱量表軟件詳細設計13</p><p>  4.1流量串口通訊設計14</p><p>  4.2 溫度檢測設計15</p><p> 

12、 4.3焓值按鍵設計18</p><p>  4.4 顯示部分軟件控制設計18</p><p>  第五章 總結與展望20</p><p><b>  致謝21</b></p><p><b>  參考文獻22</b></p><p><b>  附錄一:

13、總圖22</b></p><p>  附件二:程序清單23</p><p><b>  第一章 引言</b></p><p><b>  1.1 選題背景</b></p><p>  如今,節(jié)能成為大家越來越來關注的話題。我國的建筑能耗很高,是發(fā)達國家的3倍多,而城市供暖是建筑能耗的

14、主要部分,發(fā)達國家大多采用能調節(jié)和控制的供熱系統(tǒng)。城市供熱,特別是北方供熱正在邁出改革步伐,迫切需要高新計量設備進入供熱領域,改變我國城市目前采暖技術的落后局面。</p><p>  多年來,我國一直采用計劃經(jīng)濟時代的全福利式居民取暖體制,以居民小區(qū)為單位,共用一個控制閥,以住宅面積為熱量的計量依據(jù)。隨著改革開放的不斷深入,人民生活水平的不斷提高,商品意識的不斷加強,舊體制已遠不能適應當前經(jīng)濟生活的發(fā)展。<

15、/p><p>  隨著市場經(jīng)濟的發(fā)展和個人需求的提高,對取暖的質量要求越來越高,越來越多樣化,有人寧愿多花一些錢來享受一個暖冬,有人根據(jù)自己經(jīng)濟條件喜歡經(jīng)濟一點,過得去就行。不論是哪種需求,都有一個共同點,就是希望取暖就像商品一樣,花多少錢享受多少熱量,明碼實價,錢花得其所。而現(xiàn)在所有的供暖方式,只要是同一個供暖單位供熱,都只能是一樣,根本無法滿足用戶自己調節(jié)的要求。</p><p>  供熱

16、由供熱單位單一方支配,隨意性強,缺少制約機制。在現(xiàn)有的供熱體制下,取暖費交給供熱單位后,這一冬季的取暖全在供熱單位的控制下,無法建立有效監(jiān)督機制?,F(xiàn)有的大鍋式取暖方式必須改革,讓供暖走向市場,把熱量回歸為商品,讓人們對熱量的需求如同對普通商品一樣,多花錢多買,少花錢少買,建立公平的供求關系。只有按實際供熱量收費,才能調動用熱和供熱的雙方積極性,節(jié)能工作才能真正落實。</p><p><b>  1.2

17、熱量表簡介</b></p><p>  按熱量計費,必須有熱量計量工具,而熱量表就是建立在用戶計量的基礎上,通過測量流經(jīng)熱交換系統(tǒng)的熱總量。熱量表能實現(xiàn)把熱量作為一種商品供應千家萬戶。一戶一表,一戶一閥。一個完整的熱量表由三個部分組成:流量傳感器,用以測量流經(jīng)熱交換系統(tǒng)的熱水流量;配對溫度傳感器,分別測量供暖進水和同水溫度;計算顯示器,根據(jù)與其相連的流量傳感器和溫度傳感器提供的流量和溫度數(shù)據(jù),通過熱量

18、公式計算出從熱交換系統(tǒng)獲得的熱量。</p><p>  目前比較實用的有三種熱量表,霍爾式、電磁式和超聲波式熱量表。在這三種熱量表中,霍爾式熱量表是通過霍爾效應測量水的流量?;魻柺綗崃勘砭哂泻碾娚?,抗干擾性好,安裝維護方便各價格低廉的優(yōu)點,其測量原理和結構簡單,對工作要求不高,因此現(xiàn)在應用比較多,在熱水管網(wǎng)的計量中占據(jù)主導地位。電磁式熱量表是按法拉第定律測量水的流量,其測量腔體內部沒有任何可動部件,但對供熱介質的

19、電導率要求高,結構復雜,成本較高,功耗大,在用戶中使用較少。超聲波式熱量表是通過超聲波射線直射或反射的方法測量水的流量,對介質成分沒有要求。優(yōu)點是量程大、計量精度高。用戶型熱量表普遍采用的結構形式是緊湊型,將進水溫度探頭和流量表一體,回水溫度探頭與之分開,計算顯示器可與流量表裝在一體。這種結構靈活,不受安裝空間限制,缺點是安裝調試麻煩。而一體化熱量表把流量計,進水溫度傳感器,回水溫度傳感器和計算顯示器安裝在一體,這種結構安裝簡單,無需調

20、試。只有采用高質量的的熱量表,才能滿足用戶和供熱商的雙方利益。</p><p>  1.3國內外發(fā)展概況</p><p>  熱計量技術起源于歐洲,早在20世紀20年代歐洲就開始進行按戶計量采暖費用,尤其是經(jīng)歷了70年代初期的能源危機后,如何在保持經(jīng)濟發(fā)展的同時節(jié)省有限的能源成了各國的研究課題,相應的“熱表”經(jīng)歷了從機械式、電子模擬積分式、電子數(shù)字積分式,直到微處理器為基礎的智能式的發(fā)展過

21、程。在80年代初期,采暖計費制度己經(jīng)在歐美國家普及了,實施供熱計量計費方法也逐步得到完善,熱量計量技術也已經(jīng)基本成熟。</p><p>  我國熱量表的自行研制始于上世紀九十年代,1997-2000 年歐洲標準《熱量表EN1434》逐漸被一些企事業(yè)單位所了解和重視,中國熱量表的研制開發(fā)走上了正軌。由于我國熱量表方面的研究處于初級階段,存在一定上的盲目性和探索性,研究中遇到了一些問題和爭議,考慮到國外的國情各國內的

22、又不一樣,只能靠自己摸索。目前,國內不少單位根據(jù)建筑采暖必須計量收費的原則,已著手研究開發(fā)建筑節(jié)能技術各產(chǎn)品,引進、消化、研制相關的控制手段和儀表。國內實驗的計量方法及儀表基本是采用樓棟熱表和熱水流量表計量方法,國內實驗工程中使用的有:葉輪式熱量表、電磁式熱量表、超聲波式熱量表、蒸發(fā)式熱量表和電子式熱量表。世界各國越來越重視按戶計量收費,我國已經(jīng)在多個城市進了按戶計量的試驗工程,一些城市已開始以各種手段促進這一技術的發(fā)展。</p&

23、gt;<p>  1.4 開發(fā)熱量表的意義和前景</p><p>  如今,節(jié)能與環(huán)保成為我國的重要國策。據(jù)有關機構對德國熱力系統(tǒng)調研,采用熱量表可以降低能源消耗10~30%。同時還可緩和城市燃料運輸緊張的狀況,減少對大氣的污染。熱量表主要是用于集中供暖的居民住宅,商用辦公室所耗熱量的計量。戶用熱量表的使用市場主要有兩個方向:一個是采暖地區(qū)新建的居民住宅;另一個是現(xiàn)有的尚未實行供熱按計量收費的居民住

24、宅。目前國家每年新建采暖居住建筑為7億平方米左右,按平均每戶80平方米計,近1000萬戶,按建設部的要求從2000年開始新建住宅都應安裝熱量計量設施,但由于各地情況不同、經(jīng)濟發(fā)展不均衡,地方政策的差異等因素,不可能同時全部安裝。盡管如此,東北、西北和華北地區(qū)的大中城市從1999-2000采暖期也開始安裝,并有很多大中城市已明令從2000年起必須在商品住宅上安裝熱量計。目前各省正在積極制定有有關政策使供熱商品化,同時建設部節(jié)能規(guī)劃中也要求

25、在2003年開始將“熱”過渡為商品,熱量表產(chǎn)品正處在市場需求的上升期,未來市場是巨大的。由于舊的供暖視住宅面積大小收費,在當前形式下,這種技術的投產(chǎn)應用必將帶動新一輪的市場增長點,并推動熱量表技術的不斷發(fā)展與完善。總之熱量表的應</p><p>  1.5 研究內容與目標</p><p>  本文針對熱量表的現(xiàn)狀及發(fā)展趨勢,在閱讀了大量文獻和資料的基礎上,成功設計了一套用于計量熱量的熱量表

26、系統(tǒng)。該系統(tǒng)能體現(xiàn)了熱量表的智能化,能很好的解決上述中的問題。該熱量表重點在于溫度傳感器,流量傳感器,顯示模塊和按鍵模塊的設計。熱量表通過回水溫度、給回水溫度、瞬時流量、累計流量等參數(shù)計算在熱量表上顯示出總累計熱量值。通過采集器連接上位機,物業(yè)管理部門可以通過上位機監(jiān)視用戶的用熱情況。</p><p>  第二章 熱量表硬件電路設計</p><p>  2.1 電源電路的設計</p

27、><p>  由于中央處理系統(tǒng)是單片機,而通用的220V的交流電源不能滿足需求,所以需要外圍處理之后的+5V的直流電源給單片機以及一些芯片供電。具體的電路如圖2.2所示:</p><p><b>  圖2.1</b></p><p>  在電源電路中,使用TRAN—ZPZS作為變壓器,電壓經(jīng)過整流器整流之后將交流變?yōu)橹绷麟娐?。由標?V正弦波電壓信

28、號改變?yōu)槿珵檎碾妷盒盘?。再?805三端穩(wěn)壓器將電壓穩(wěn)定在5V信號,途中的C1、C2是穩(wěn)壓及濾波的作用。</p><p>  2.2 主控部分的設計</p><p>  單片機在使用前,應該有一些外圍的輔助電路,其中包括復位電路,時鐘電路。時鐘電路用于產(chǎn)生MCS—51單片機工作時所需的始終控制信號。MCS—51單片機的內部電路在時鐘信號控制下,嚴格的按時序執(zhí)行指令進行工作。而時序所研究的

29、指令執(zhí)行中各個信號的時間上的關。</p><p>  而在執(zhí)行指令是,CPU首先要到程序存儲器中取出需要執(zhí)行的指令操作碼,然后譯碼,并在時序電路產(chǎn)生一系列控制訊號去完成指令所規(guī)定的操作。CPU發(fā)出的時序信號有兩類,一類用于片內對各個功能部件的控制,這類信號很多。另一類用于對片外存儲器或I/O端口的控制,這部分時序對于分析、設計硬件接口電路至關重要。</p><p>  晶體振蕩器的振蕩信號

30、從XTAL2端送入內部時鐘電路,它將該振蕩信號二分頻,產(chǎn)生一個兩相時鐘信號P1和P2供單片機使用。時鐘信號的周期稱為狀態(tài)時間S,它是振蕩周期的2倍,P1信號在每個狀態(tài)的前半周期有效,在每個狀態(tài)的后半周期P2信號有效。CPU就是以兩相時鐘P1和P2為基本節(jié)拍協(xié)調單片機各部分有效工作的。</p><p>  復位電路是單片機的初始化操作,只需要給MCS—的復位引腳RST加上大于兩個機器周期(即24個始終震蕩周期)的高

31、電平就可以使MCS—51復位。復位時,PC初始化為0000H,使MCS—51單片機從0000H單元開始執(zhí)行程序。出了進入系統(tǒng)的正常初始化之外,當由于程序運行出錯或操作錯誤使系統(tǒng)處于死鎖狀態(tài),為白兔死鎖狀態(tài),也需按復位鍵使RST引腳為高電平使MCS—51重新啟動。</p><p>  2.3 溫度檢測電路的設計</p><p>  在溫度傳感器部分使用DS18B201。溫度信號的采集采用溫度

32、傳感器,由于該部分主要是采集兩個端口的溫度差,因此需要兩只溫度傳感器組成配對傳感器。配對溫度傳感器是指對同一個熱量表,分別用來測量供熱管路系統(tǒng)的入口和出口溫度的兩支溫度傳感器,分別安裝在管路系統(tǒng)的入口和出口,采集系統(tǒng)內介質的溫度并且發(fā)出溫度信號,兩支溫度傳感器在出廠前要經(jīng)過測試篩選,要求具有一致的特性,并配有標記。無論采用何種形式的配對溫度傳感器,都需要根據(jù)最小測量溫差的要求,滿足相應的標準。溫度計一定要有溫度采集,可以采集溫度的途徑很

33、多,在眾多應用于溫室環(huán)境監(jiān)測的溫敏元件中,盡管溫敏電阻成本低,但是后續(xù)電路太復雜, 精度、重復性、可靠性都較差,而且還需要進行溫度的標定;電流型集成溫度傳感器AD590也因為它的輸出是模擬信號,而且輸出信號比較弱,故需要進行后續(xù)放大和A/D轉換電路,如果使用普通運放,那么精度難以保證,而測量放大器價格偏高,這樣,系統(tǒng)的成本就提高了。而達拉斯公司生產(chǎn)的單線數(shù)字溫度傳感器DS18B20,作為 DS1820的改版可使溫度信號直接轉換成串行數(shù)字

34、信號供微處理器處理,而且外圍電路很簡單,實現(xiàn)方便。由于每片D</p><p>  圖2.3 溫度傳感器部分</p><p>  2.4 流量檢測電路的設計</p><p>  流量計部分采用市場上常用的便攜式超聲波流量計,由于已經(jīng)封裝好的在市場上銷售的流量計,與單片機的接口只能使用RS-232。 RS-232是異步通訊中最廣泛的標準總線,適用于數(shù)據(jù)中端設備(DTE)

35、和數(shù)據(jù)通訊設備(DCE)之間的接口。在微機通訊中,通常使用 的RS-232接口信號是九根引腳。</p><p>  圖2.4 流量計部分</p><p>  超聲波流量計工作原理如下:</p><p><b>  逆流換能器 </b></p><p>  流量方向

36、 </p><p><b>  順流換能器 X</b></p><p>  圖2.4.1 時差法超聲波流量測量原理</p><p>  用一對超聲波換能器相互交替收發(fā)超聲波,通過測量超聲波在介質中的順流和逆流傳播時間之差來間接測量流體的流速,再通過流速來計算流量的一種方法。</p><p><

37、b>  順流和逆流時間:</b></p><p>  T= (2-1)</p><p>  T= (2-2)</p><p>  式中C為超聲波在介質中的聲速,V為流體介質的

38、流動速度。經(jīng)數(shù)學推導得:</p><p>  V= (2-3)</p><p>  流量Q= (2-4)</p><p>  2.5 顯示電路的設計</p><p

39、>  在顯示部分的設計中,采用數(shù)碼管進行動態(tài)顯示,在動態(tài)顯示時,如果將數(shù)碼管直接與單片機連接,除了硬件電路簡單之外,似乎沒有太多的優(yōu)點。但是當選用專用的數(shù)碼管顯示驅動芯片時,優(yōu)點就顯現(xiàn)出來了。數(shù)碼管的顯示全部采用動態(tài)掃描方式,都可以連接8個數(shù)碼管,控制方式都比較簡單。在設計中,采用CH451作為數(shù)碼管驅動芯片CH451。CH451是一個整合了數(shù)碼管顯示驅動和鍵盤掃描控制以;P監(jiān)控的多功能外圍芯片。CH451內置 RC 振蕩電路,可

40、以動態(tài)驅動8位數(shù)碼管或者64位LED,具有BCD譯碼、閃爍、移位等功能;同時還可以進行64鍵的鍵盤掃描;CH451通過可以級聯(lián)的串行接口與單片機等交換數(shù)據(jù);并且提供上電復位和看門狗等監(jiān)控功能。</p><p><b>  圖2.5 顯示部分</b></p><p>  2.6 鍵盤電路的設計</p><p>  在鍵盤部分,由于顯示以及功能的需

41、要,按鍵不少于12個,所以使用非編碼式的3*4矩陣式鍵盤。鍵盤是由若干個按鍵組成的開關矩陣,它是最簡單的單片機輸入設備,通過鍵盤輸入數(shù)據(jù)或命令,實現(xiàn)簡單的人機對話。鍵盤上閉和鍵的識別是由專用硬件實現(xiàn)的,稱為編碼鍵盤,靠軟件實現(xiàn)的稱為非編碼鍵盤。在此次設計中,由用擴展的8155的PA0口的低四位和P0口的高三位組成4X3矩陣結構形式的12個鍵組成,考慮到在此次設計中鍵盤的作用僅僅是輸入焓系數(shù)值,并不是時時在用,因此設定了采用中斷方式實現(xiàn),

42、 因此定義十二個鍵,其中兩個功能鍵十個為數(shù)字鍵即可。</p><p>  由于串行顯示管理芯片CH451廣泛地應用于智能儀表當中,在具體應用過程中,它接收所要顯示的數(shù)據(jù)并將其顯示在LED顯示器上,動態(tài)地掃描管理著顯示,該芯片本身只需3根線就可與單片機實現(xiàn)接口,硬件連接簡便,軟件編程容易。尤其用在單片機擔負繁忙數(shù)據(jù)處理任務的系統(tǒng)中,節(jié)省單片機用于顯示掃描的時間,更顯出其優(yōu)越性。</p><p&g

43、t;  圖2.6 8155芯片及鍵盤</p><p>  第三章 熱量表總體軟件設計</p><p>  3.1 熱量表工作原理</p><p>  熱量表系統(tǒng)由流量傳感器、供回水溫度傳感器及計算、顯示裝置組成。在熱交換系統(tǒng)中安裝熱量表,配對溫度傳感器分別安裝在熱交換入口和出口管道上。當水流經(jīng)系統(tǒng)時,流量傳感器發(fā)出流量信號,配對溫度傳感器分別檢測出入口和出口溫度信號

44、,積算器采集流量、溫度信號,根據(jù)與溫度相關的熱量系數(shù)和體積、溫差計算出采暖系統(tǒng)所消耗的熱能值,顯示載熱液體從入口至出口所釋放的熱量值。熱量表系統(tǒng)的工作原理圖如圖2.1</p><p><b>  供水管道</b></p><p><b>  計算測量與通信模塊</b></p><p>  回水管道

45、 總線</p><p>  圖3.1 熱量表系統(tǒng)工作原理</p><p>  熱量表安裝在供熱系統(tǒng)的供水管道上,并將溫度傳感器分別裝在進、回水管道上。當熱水以一定溫度從進水管注入一個熱交換器,用戶在通過熱交換獲取能量的同時,熱水便以較低的溫度從回水管流出。一段時間內用戶所消耗的熱量為所供熱水的流量和供回水的溫度差的乘積對時間的積分。其計算公式簡化為:&l

46、t;/p><p>  Q=K*V*T (3-1)</p><p>  式中:Q為吸收的熱量,K為熱焓修正系數(shù)(可以通過水的密度與焓值表查詢),T為進回水溫差,V為熱水體積瞬時流量。實際測量時,當測量的時間間隔t很小時,水溫的變化很小,可近似認為溫差T恒定,從而積分式轉為累加和</p><p>  Q==

47、Q+q (3-2)</p><p><b>  3.2系統(tǒng)資源分配</b></p><p>  RAM地址分配:首地址0000H,末地址1FFFH,芯片6264。</p><p>  ROM地址分配:首地址0000H,末地址1FFFH,芯片2764。</p

48、><p>  AT89C51端口分配:</p><p>  P0口:雙向數(shù)據(jù)端口及低8位地址線口</p><p>  P2口:高8位地址線口</p><p>  P1.0:溫度傳感器1輸入口</p><p>  P1.1:溫度傳感器2輸入口</p><p>  P1.2:CH451控制端1</

49、p><p>  P1.3:CH451控制端2</p><p>  P1.4:CH451控制端3</p><p>  P3.2:INT0,接收流量信號</p><p>  P3.6:WR端,寫控制端</p><p>  P3.7:RD端,讀控制端</p><p><b>  直接尋址位分配&

50、lt;/b></p><p>  34H 定時結束標志位 高電平標示己結束</p><p><b>  內部數(shù)據(jù)存儲器分配</b></p><p>  50H 存放溫度差值結果</p><p>  53H 存放熱量累積值</p><p>  57H 存放流量體積

51、值</p><p>  3.3 主程序的設計</p><p>  在此次設計中,采用模塊化的編程思想。要實現(xiàn)智能儀表的預期功能,需要編制調試大量的軟件程序,工作量非常大。這么煩瑣的程序需要采用模塊化方法進行編程,即將一個大的程序分成若干個小的模塊,各個程序模塊可以分別進行設計,從而使程序的調試、修改和維護變得比較容易。程序量可以由不同的人同時分別編寫不同的模塊,從而能夠加快程序編制的進度。

52、將系統(tǒng)軟件分割為主程序和若干個子程序,各個子程序之間采用結構良好的轉移和調用,這樣各個模塊可有效地組合成一個整體,使流程明確地從一個程序模塊轉移到下一個程序模塊。在這個過程中,必須嚴格注意控制使用任意轉移語句,以提高程序運行效率和可靠性。在熱量控制表的軟件設計中,我們綜合采用模塊化編程和結構化編程方法對系統(tǒng)進行軟件編制和調試。在本系統(tǒng)中,主要采用C語言進行程序編制。利用Keil C程序編譯器進行C語言的編輯、調試、編譯和仿真。</

53、p><p><b>  主程序流程圖如下:</b></p><p>  圖3.3 主程序流程圖</p><p>  在本系統(tǒng)中,軟件主要由主程序和若干中斷服務子程序組成。中斷服務子程序主要由以下幾部分組成:</p><p> ?。?) 流量通訊子程序:RS-232接口通訊程序。</p><p> ?。?/p>

54、2) 溫度測量子程序:采集進回水溫度。</p><p>  (3) 焓值設定子程序: 設定熱焓系數(shù)。</p><p> ?。?) 熱量計量程序:熱量計量程序又可分為進水/出水口溫度采集、室溫信號采集和熱量計算三部分。</p><p>  第四章 熱量表軟件詳細設計</p><p>  4.1流量串口通訊設計</p><p&

55、gt;  熱量表與主機通訊通過RS-232來實現(xiàn),AT89C51芯片中的串行接口UART給這方面的應用提供了很大的方便,可以在CPU很少干預的情況下實現(xiàn)全雙工通信。</p><p>  一般的串行通信要關心的是以下幾個參數(shù):</p><p>  波特率 如9600b/s,指每秒傳送9600位。</p><p><b>  每幀有幾比特數(shù)據(jù)。</b&g

56、t;</p><p>  是否校驗,有奇校驗,偶校驗或不校驗。</p><p><b>  有幾個停止位。</b></p><p>  單片機內部,用定時器1作為波特率發(fā)生器,收發(fā)都在中斷中完成。系統(tǒng)晶振用11.0592MHZ。通訊程序流程圖如圖3.4所示:</p><p>  圖4.1 流量通訊子程序流程圖</p

57、><p>  4.2 溫度檢測設計</p><p>  溫度信號采集部分有兩只配對的溫度傳感器DS18B20組成,在單片機的控制下,兩只溫度傳感器將代表溫度值的脈沖信號送入P1.0、P1.1,至此溫度信號采集過程結束。流程圖如圖4.2所示:</p><p>  圖4.2溫度信號采集子程序流程圖</p><p>  1 溫度/數(shù)據(jù)關系如表4.1所示

58、:</p><p>  表4.1 DS18B20溫度/數(shù)據(jù)關系</p><p><b>  2 溫度計算</b></p><p>  DS18B20 用9~12位存貯溫值度最高位為符號位下圖為1820 的溫度存儲方式負溫度</p><p>  S=1 正溫度S=0 如00AAH 為+85 ,0032H 為25 FF92

59、H 為55。溫度寄存器格式如表4.2所示:</p><p>  表4.2 溫度寄存器格式</p><p><b>  4.3焓值按鍵設計</b></p><p>  按鍵設計流程圖如下:</p><p><b>  y</b></p><p><b>  y<

60、/b></p><p><b>  y</b></p><p><b>  nyn</b></p><p><b>  y</b></p><p><b>  n</b></p><p>  圖4.3 焓值按鍵設定流程圖&

61、lt;/p><p>  在掃描函數(shù)里,依次送出列掃描信號,而每組列掃描信號輸出后,就讀取按鍵狀態(tài),若有按下按鍵,則進行鍵值的判斷與計算,再將其對應的顯示信號放入disp數(shù)組,當然,在放入前,disp數(shù)組先移位。在組列掃描的最后,還要確定按鍵已放開,才進行下一組列掃描。</p><p>  4.4 顯示部分軟件控制設計</p><p>  為保證完成正常的顯示功能,主程序

62、首先要CH451控制寄存器裝入控制字,然后才可以進行顯示操作。以下是操作的組成流程圖如4.4,4.5所示:</p><p>  圖4.4初始化流程圖</p><p>  圖4.5顯示子程序流程圖</p><p><b>  第五章 總結與展望</b></p><p>  通過本次畢業(yè)設計,我對國內外的熱量表系統(tǒng)的發(fā)展有了

63、一定的了解,對熱量表在實際生活中的應用有了更深遠的認識,特別是熱量表在北方地區(qū)的應用。在設計過程中,我們要采用51系列單片機,通過溫度傳感器、流量傳感器采集而來的數(shù)據(jù)進行存儲運算計量熱量。了解51單片機的原理,溫度傳感器DS18B20的應用各超聲波流量計的原理,也更熟悉了用C語言編程的方法。</p><p>  在整個畢業(yè)設計過程中,我們通過反復的學習,從而達到鍛煉自己的目的。同時還在這個過程中學到了有關熱量計量

64、的知識。通過本次畢業(yè)設計,我感到自己應用基礎知識及專業(yè)知識解決問題的能力有了很大提高,我這次的選題跟我們的以后就業(yè)就很大幫助,我把它作為一次演練,去更深入的了解我們專業(yè)知識。我想,通過這次畢業(yè)設計,到了工作單位后,我將能更快的適應工作崗位和工作要求,它為我以后的工作選擇開拓了更大的空間??傊痪湓?,畢業(yè)設計使我把上課學到的東西運用到實踐工作當中去,從實踐生產(chǎn)中有所領悟。此次畢業(yè)設計給了我很大的信心,對我走向社會和今后人生的道路上都有很大

65、的幫助。</p><p><b>  致謝</b></p><p>  畢業(yè)設計終于完成了,首先,我要感謝我的導師梁錦華老師,在我整個畢業(yè)設計過程中時刻關注我們的進度,我有不懂的地方,總是能給予我很好的建議,起到了指明燈的作用。他的教導與不拘一格一思路給了我無盡的啟迪,讓我很快融入設計中。也要感謝我同組的同學,沒有他的硬件,我的軟件就不能很好的完成。</p>

66、;<p>  此次畢業(yè)設計歷時三個月,這次的設計相當于把在大學里學到的各種知識結合到一起,只要把每一個環(huán)節(jié)的知識搞清楚,總體的設計任務就不會難了。話雖如此,但是當我真正做起來的時候,設計中涉及到的各種問題還是暴露出來了,每次都是和老師深討才慢慢得以解決。從課題的選擇到項目的最終完成,老師都始終給予我細心的指導和不懈的支持,我們組和老師還有時打電話探討問題,我們還建了個群,更方便我們與老師交流。</p><

67、;p>  現(xiàn)在的自己已經(jīng)不再是剛進大學時的那個小男生了,四年的磨礪讓我的肩頭多了一份責任和承擔,已經(jīng)踏入社會開始工作的我,面臨的抉擇和困難也非常之多,但是不管前途多么的未知和艱難,我會毫無畏懼地前行。最后還要感謝我的母校南昌工程學院四年來對我的栽培。</p><p><b>  參考文獻</b></p><p>  [1]倪繼烈 劉新民 微機原理和接口技術 [M

68、]西安:電子科技大學出版社,2000 </p><p>  [2]蘇凱等編注,MCS-51系列單片機系統(tǒng)原理與設計[M] 北京:冶金工業(yè)出版社,2003</p><p>  [3]馮根生 郭教之,微機控制技術[M] 北京:中國科技大學出版社,2002</p><p>  [4]劉明俊等編注,自動控制原理[M] 長沙:國防科技大學出版社,2000</p&g

69、t;<p>  [5][英]H.K.P紐伯特,儀器傳感器--性能和設計入門[M] 北京:科學出版6.社,1995</p><p>  [7]王平主編,儀器儀表[M] 杭州:浙江大學出版社,2002</p><p>  [8]高魁明主編,熱工測量儀表[M].北京:冶金工業(yè)出版社,1985</p><p>  [9]張子慧主編,熱工測量與自動控制[M]北京

70、:中國建筑工業(yè)出版社,1996</p><p>  [10]郭紹霞主編,熱工測量技術[M] 北京:中國電力出版社,1997</p><p>  [11]王俊峰 理工科學生怎樣做好畢業(yè)設計[M] 北京:電子工業(yè)出版社,2004</p><p>  [12]郁有文. 傳感器原理及工程應用[M].西安:西安電子科技大學出版社,2003</p><p&g

71、t;  [13]羅省賢. 匯編語言程序設計教程[M].北京:電子工業(yè)出版社,2004</p><p>  [14]蔡美琴. MCS-51系列單片機系統(tǒng)及其應用第二版[M]. 北京:高等教育出版,2004</p><p>  [15]馬維華. 微型計算機及接口技術[M]. 北京 :科學出版社,2004</p><p>  [16]張毅剛. MCS-51單片機應用[M]

72、.哈爾濱:哈爾濱工業(yè)大學出版社,1997</p><p><b>  附錄一:總圖</b></p><p><b>  附件二:程序清單</b></p><p>  #include<reg51.h></p><p>  #define tiji=0</p><p&g

73、t;  #define reliang=0</p><p>  {Sbit plus=p^1.5 //程序初始化</p><p>  delay(int i)</p><p>  {while(i--);}</p><p>  char key()</p><p>  {char i,z=255 ;</p&g

74、t;<p><b>  t=0,z1;</b></p><p><b>  p2=0xff;</b></p><p><b>  p0=0x80;</b></p><p>  for(i=0;i<7;i++)</p><p>  {if(p2.0= =1)&

75、lt;/p><p>  {z=i*4/1;t=1;break;}</p><p>  if(p2.1= =1)</p><p>  {z=i*4/2;t=1;break;}</p><p>  if(p2.2= =1)</p><p>  {z=i*4/3;t=1;break;}</p><p> 

76、 if(p2.3= =1)</p><p>  {z=i*4/4;t=1;break;}</p><p>  p0=p0>>1;}</p><p><b>  if(t= =1)</b></p><p>  {delay(2.0);</p><p><b>  p0=ox80

77、;</b></p><p>  for(i=0;i<7;i++)</p><p>  {if(p2.0= =1)</p><p>  {z1=1*4/1;t=1;break;}</p><p>  if(p2.1= =1)</p><p>  {z1=i*4/2;t=1;break;}</p&g

78、t;<p>  if(p2.2= =1)</p><p>  {z1=i*4/3;t=1;break;}</p><p>  if(p2.3= =1)</p><p>  {z1=i*4/4;t=1;break;}</p><p>  p0=p0>>1;}</p><p><b> 

79、 if(z!=z1)</b></p><p><b>  z=255;</b></p><p>  return z;}</p><p>  switch(z);</p><p>  {case0:break;</p><p>  case1:break;</p>&l

80、t;p>  case2:break;</p><p>  case3:break;</p><p>  case4:break;</p><p>  case5:break;</p><p>  case6:break;</p><p>  case7:break;</p><p>  c

81、ase8:break;</p><p>  case9:break;</p><p>  case10:break;</p><p>  case11:break;</p><p>  case12:break;</p><p><b>  default;</b></p><

82、p><b>  }</b></p><p>  return z;} </p><p>  int getint() </p><p>  {char i,Byte[5]={0};</p><p><b>  int y;</b></p><p>  for(i=

83、0;i<5;i++)</p><p>  {Byte(i)=getchar();</p><p>  if(Byte(i)= =ENTER)</p><p>  {y=Byte(4)*10000+Byte(3)*1000+Byte(2)*100+Byte(1)*10+Byte(0);</p><p>  return y;}</p

84、><p>  Byte(i+1)=Byte(i);}</p><p>  ORG 0000H //流量串口通訊</p><p>  AJMP 0030H</p><p>  MAIN: MOV 20H, #00H</p><p>  MOV TMOD, #20H &l

85、t;/p><p>  MOV SCON, #40H </p><p>  MOV TH1, #0FAH </p><p>  MOV PCON, #80H </p><p>  SETB TR1 </p><p>  SETB REN </p

86、><p>  START: MOV R2, #8 </p><p>  MOV R3, #0 </p><p>  MOV DPTR, CMD </p><p>  WAIT: JNB RI , $ </p><p>  CLR RI

87、 </p><p>  MOV A, SBUF </p><p>  MOV B, A </p><p><b>  MOV A, R3</b></p><p>  MOVC A, @A+DPTR </p><p>  CJNE

88、A, B, START </p><p>  INC R3 </p><p>  DJNZ R2, WAIT</p><p>  CLR REN </p><p>  SEND: MOV DPTR, #WORD </p><p>  SEND1: CLR A

89、 </p><p>  MOVC A, @A+DPTR </p><p>  CJNE A, #' @' ,SEND2</p><p>  SETB REN </p><p>  SJMP START </p><p&

90、gt;  SEND2:MOV SBUF,A </p><p>  JNB TI, $ </p><p>  CLR TI </p><p>  INC DPTR </p><p>  LJMP SEND1 </p>&

91、lt;p><b>  END</b></p><p>  #define DQ AT89C51_P1.0 //溫度采集</p><p>  #define DQ_INPUT AT89C51_P1.0_INP </p><p>  #define DQ_INPUT AT89C51_P1.0_OUTP &

92、lt;/p><p>  void reset(void){do{at89c51_gpio_cfgpin(DQ_OUTPUT);</p><p>  at89c51_gpio_setpin(DQ,1);</p><p>  udelay(1);</p><p>  at89c51_gpio_setpin(DQ,0);

93、 </p><p>  udelay(600); </p><p>  at89c51_gpio_setpin(DQ,1); </p><p>  udelay(60);</p><p>  }while((at89c51_gpio_getpin(

94、DQ))!=0); </p><p>  while((at89c51_gpio_getpin(DQ))==0);} </p><p>  void writebyte(unchar comd){</p><p><b>  unchar i;</b></p><p>  at89c51_gpio_cfgpin(DQ,D

95、Q_OUTPUT); </p><p>  for(i=0;i<8;i++){ at89c51_gpio_getpin(DQ,1);</p><p>  udelay(65); </p><p>  at89c51_gpio_getpin(DQ,1); </p><p>

96、  comd=comd>>1;}}</p><p>  unchar readbyte(void){</p><p>  unchar i,temp=0;</p><p>  for(i=0;i<8;i++){</p><p><b>  temp>>=1;</b></p>&

97、lt;p>  at89c51_gpio_cfgpin(DQ,DQ_OUTPUT); </p><p>  at89c51_gpio_setpin(DQ,0);</p><p>  udelay(1);</p><p>  at89c51_gpio_setpin(DQ,1); </p><p>  at89c51_

98、gpio_cfgpin(DQ,DQ_INPUT); </p><p>  udelay(10);</p><p>  if(at89c51_gpio_getpin(DQ)) temp=(temp 0x80); </p><p>  udelay(65);</p><p>  at89c51_gpio_cfgpin(DQ,DQ_OUTPUT

99、);</p><p>  at89c51_gpio_setpin(DQ,1); </p><p>  } return(temp);} </p><p>  #include<reg51.h> //焓值K輸入</p><p>  #define KEYP P0 </p><

100、;p>  #define CH451 P1 </p><p>  unsigned char code TAB[17]= </p><p>  {0xc0,0xf9,0xa4,0xb0,0x99, </p><p>  0x92,0x82,0xf8,0x80,0x98 </p><

101、p>  0xa0,0x83}; </p><p>  unsigned char scan[4]={0xef,0xdf,0xbf,0x7f}; </p><p>  void delay 1ms(int); </p><p>  void scanner(void)

102、; </p><p>  { while(1) </p><p>  scanner();}</p><p>  void delay 1 ms(int x) </p>&

103、lt;p>  { int i,j; </p><p>  for(i=0;i<x;i++); } </p><p>  void scanner(void) </p>

104、<p>  { unsigned char col,row,dig; </p><p>  unsigned char rowkey,kcode; </p><p>  for(col=0;col<4;col++) </p><p>  {KEYP=scan[col]; </p>

105、<p>  CH451=disp[col] </p><p>  rowkey=~KEYP&0xf; </p><p>  if(rowkey!=0) </p><p>  {if(rowkey==0x01)row=0; </p>

106、<p>  else if(rowkey==0x02)row=1; </p><p>  else if(rowkey==0x04)row=2; </p><p>  kcode=4*col+row; </p><p>  while(rowkey!=0) </p>

107、;<p>  rowkey=~KEYP&0x0f; } </p><p>  delay 1ms(4); } } </p><p>  Int451() //顯示部分軟件設計</p><p>  {w451(0x0c,1);<

108、;/p><p>  W451(0x0b,7);</p><p>  W451(0x0a,14);</p><p>  W451(0x09,255);}</p><p>  display(int x) </p><p><b>  { char i;</b></p><p>

109、;  for(i=0;i<8;i++)</p><p>  w7219(i+1,0)</p><p>  w451(4,x/10000);</p><p>  w451(5,x%10000*10);</p><p>  w451(6,x%1000*10);</p><p>  W451(7,X%100*10);&

110、lt;/p><p>  W451(8,X%10);}</p><p>  Init(8051);</p><p>  {char x=0;</p><p><b>  p2.7=1;</b></p><p><b>  delay(9);</b></p><p

111、><b>  p2.7=0;</b></p><p>  delay(90);</p><p><b>  p2.7=1;</b></p><p>  delay(20);</p><p><b>  x=p2.7;</b></p><p>  d

112、elay(30);}</p><p>  char R.Baty()</p><p>  {char i=0,data=0;</p><p>  for(i=8;i>0;i++)</p><p><b>  {p2.7=0;</b></p><p><b>  data>&g

113、t;1;</b></p><p><b>  p2.7=1;</b></p><p>  if(p2.7= =1)</p><p>  data/=0x80;</p><p>  delay(10);}</p><p>  W.Byte(char x)</p><p

114、>  {char i=0;</p><p>  for(i=8;i>0;i--)</p><p><b>  {p2.7=0;</b></p><p>  p2.7=x&0x01;</p><p><b>  delay(5);</b></p><p>&

115、lt;b>  p2.7=1;</b></p><p><b>  x=x>>1;</b></p><p>  delay(5);}</p><p>  float R.T()</p><p>  {char a=0;</p><p><b>  int t=

116、0;</b></p><p>  float tt=0;</p><p>  Init(8051);</p><p>  w_Byte(0x0c);</p><p>  W_Byte(0x44)</p><p>  Init(8051);</p><p>  W_Byte(0xcc)

117、;</p><p>  W_Byte(0xBE);</p><p>  a=R.Byte();</p><p>  t=R.Byte();</p><p><b>  t=t<<8;</b></p><p><b>  t=t/a;</b></p>

118、<p>  tt=t*0.0625;</p><p>  return(tt);}</p><p><b>  int w=0; </b></p><p>  int V=0,Q=0;</p><p>  char Var=0;</p><p><b>  INT0()<

119、/b></p><p>  {float T1,T2;</p><p>  T1=R.T1();</p><p>  T2=R.T2();</p><p>  W=(T2-T1)*V*Q+W;</p><p>  } mian() //熱量值計算并顯示</p&

120、gt;<p>  { IE=0x81;</p><p>  Init451();</p><p><b>  while(1);</b></p><p>  {while(Var= ="V")</p><p>  V=getchar();</p><p>  wh

溫馨提示

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

評論

0/150

提交評論