畢業(yè)設計---基于at89c51的多路溫度巡回檢測系統(tǒng)_第1頁
已閱讀1頁,還剩38頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p>  畢 業(yè) 論 文</p><p>  題目 基于AT89C51的多路溫度巡回檢測系統(tǒng) </p><p>  姓 名: </p><p>  所在學院: 自動化工程學院 </p><p>  所學專業(yè):_ 自動化 </p><

2、;p>  班 級:_ 07自動化本科1班__ </p><p>  學 號:__ _ </p><p>  指導教師:_ _ </p><p>  完成時間: 2011年5月16號 </p><p>  畢業(yè)論文(設計)任務書</p><p&g

3、t;<b>  摘要</b></p><p>  近年來隨著計算機在社會領域的滲透, 單片機的應用正在不斷地走向深入,同時帶動傳統(tǒng)控制檢測日新月益更新。在科研、生產和日常生活中,人們對測量和控制溫度、壓力、流量等模擬物理量的要求越來越高。而這些物理量中溫度是應用最為廣泛的。將溫度通過傳感器變成電信號,再經過處理轉換成大眾芯片識別的數字量,芯片將采集到的數字量根據不同場合進行不同處理,然后在顯

4、示器上顯示或由打印機打印出來,并進行實時監(jiān)控?;跍囟忍綔y的監(jiān)控和報警系統(tǒng)不僅僅是一個獨立的系統(tǒng),更多的時候是某個更大監(jiān)控系統(tǒng)中的一部分。有時它與上位機連接,有時它又與PC 機連接,甚至可能與互聯(lián)網連接,以實現遠程監(jiān)測,控制和訪問數字化、智能化的傳感器,并集采樣、A/D 轉換、電平兼容、總線地址、閾值報警、數據雙向通信及接口協(xié)議等功能于一身。這為其廣泛應用于各種不同環(huán)境提供了便捷條件。總而言之,數字化、智能化傳感器的出現和廣泛使用,已成

5、為溫度監(jiān)控系統(tǒng)的一種發(fā)展趨勢。本文基于AT89C51的八路溫度巡回檢測系統(tǒng)設計,可廣泛應用溫室、塑料大棚、物資倉庫、食品加工、熱處理、冶金以及其他行業(yè)的溫度檢測及顯示、報警等。該系統(tǒng)由于使用集成溫度傳感器AD590和</p><p>  關鍵詞:溫度檢測;AD590;AT89C51</p><p><b>  Abstract</b></p><p

6、>  In recent years, with the penetration of the computer in the social sector, the application of SCM is continuously, and drive to the deepening traditional control test new month benefit updates. In scientific resea

7、rch, production and daily life, people on measurement and control temperature, pressure, and flow rate of simulation are increasingly demanding physical quantities. And these quantities of the temperature is most widely

8、used. Will the temperature sensor into electrical signals by, then</p><p>  Keywords:Temperature detection; AD590; AT89C51</p><p><b>  目錄</b></p><p><b>  1 緒論1<

9、;/b></p><p><b>  1.1引言1</b></p><p><b>  1.2設計要求1</b></p><p>  1.2.1總體要求1</p><p>  1.2.2具體要求1</p><p><b>  1.3設計思路2<

10、/b></p><p>  2 系統(tǒng)硬件設計3</p><p>  2.1系統(tǒng)硬件總體設計3</p><p>  2.2系統(tǒng)主要電子元器件選擇3</p><p>  2.2.1系統(tǒng)單片機的選擇3</p><p>  2.2.2、系統(tǒng)溫度傳感器的選擇5</p><p>  2.2.

11、3多路模擬選擇開關的選擇6</p><p>  2.2.4 A/D轉換器的選擇7</p><p>  2.2.5 穩(wěn)壓電路所需元器件的選擇8</p><p>  2.2.6數碼管及其驅動管的選擇8</p><p>  2.2.7集成運算放大器選擇9</p><p>  2.2.8看門狗硬件的選擇9</

12、p><p>  2.3 系統(tǒng)主要硬件電路模塊設計10</p><p>  2.3.1八路溫度采集電路10</p><p>  2.3.2八路溫度選擇電路10</p><p>  2.3.3單路溫度處理電路11</p><p>  2.3.4 A/D轉換電路12</p><p>  2.3.

13、5電源處理電路12</p><p>  2.3.6單片機處理電路13</p><p>  2.3.7聲光報警電路14</p><p>  2.3.8看門狗電路14</p><p>  2.3.9顯示電路15</p><p>  3 系統(tǒng)軟件設計16</p><p>  3.1主程序模

14、塊設計16</p><p>  3.2數據采集模塊設計17</p><p>  3.3數據處理模塊設計17</p><p>  3.4報警模塊設計18</p><p>  3.5顯示模塊設計18</p><p>  4 系統(tǒng)軟硬件的調試,仿真及算法說明20</p><p>  4.1

15、系統(tǒng)軟硬件調試,仿真說明20</p><p>  4.2系統(tǒng)算法說明20</p><p>  4.2.1系統(tǒng)總體誤差20</p><p>  4.2.2算法的轉換20</p><p><b>  結束語21</b></p><p><b>  1、結論21</b>

16、</p><p><b>  2、展望21</b></p><p><b>  附錄22</b></p><p><b>  參考文獻29</b></p><p><b>  致謝30</b></p><p><b&g

17、t;  1 緒論</b></p><p><b>  1.1引言</b></p><p>  隨著電子、計算機技術的飛速發(fā)展,在科研、生產和日常生活中,人們對測量和控制溫度、壓力、流量等模擬物理量的要求越來越高。而這些物理量中溫度是應用最為廣泛的。將溫度通過傳感器變成電信號,再經過處理轉換成計算機識別的數字量,輸入到計算機中。計算機將采集到的數字量根據不同

18、場合進行不同處理,然后在顯示器上顯示或由打印機打印出來,并進行實時監(jiān)控【1】。這一過程的實現就是數據采集檢測系統(tǒng)?;跍囟忍綔y的監(jiān)控和報警系統(tǒng)不僅僅是一個獨立的系統(tǒng),更多的時候是某個更大監(jiān)控系統(tǒng)中的一部分。有時它與上位機連接,有時它又與PC 機連接,甚至可能與互聯(lián)網連接,以實現遠程監(jiān)測,控制和訪問數字化、智能化的傳感器,并集采樣、A/D 轉換、電平兼容、總線地址、閾值報警、數據雙向通信及接口協(xié)議等功能于一身。這為其廣泛應用于各種不同環(huán)境

19、提供了便捷條件??偠灾瑪底只?、智能化傳感器的出現和廣泛使用,已成為溫度監(jiān)控系統(tǒng)的一種發(fā)展趨勢。本文基于AT89C51的八路溫度巡回檢測系統(tǒng)設計,可廣泛應用溫室、塑料大棚、物資倉庫、食品加工、熱處理、冶金以及其他行業(yè)的溫度檢測及顯示、報警等。該系統(tǒng)由于使用集成溫度傳感器AD590和性價比較高的</p><p><b>  1.2設計要求</b></p><p>&l

20、t;b>  1.2.1總體要求</b></p><p>  在此系統(tǒng)中,溫度傳感器獲得所測環(huán)境中的檢測溫度信號,信號處理和放大后,由A/D轉換器轉換成數字信號進入單片機內部,顯示于LED顯示器上。單片機將給定的溫度安全范圍與測量的溫度相比較,若測量溫度在給定的溫度安全范圍則表明所測環(huán)境溫度正常,各工作器件可在此環(huán)境中繼續(xù)工作;若測量溫度不在給定的溫度安全范圍內,則相應報警系統(tǒng)工作,發(fā)出報警,說明

21、所測環(huán)境溫度需要調整。同時此系統(tǒng)設有看門狗電路模塊,可以防止程序在運行過程中“跑飛”,保證系統(tǒng)運行的穩(wěn)定、可靠。</p><p><b>  1.2.2具體要求</b></p><p>  本方案中整個系統(tǒng)由溫度采集電路,溫度選擇電路,溫度處理電路,A/D轉換電路,單片機處理電路,聲光報警電路,看門狗電路,顯示電路等組成,軟件選用匯編或C語言編程。</p>

22、<p><b>  內容:</b></p><p> ?。?)安全溫度范圍為-30—50℃,最小區(qū)分度為1℃,標準溫度≤1℃。</p><p> ?。?)溫度控制的靜態(tài)誤差≤1℃。</p><p> ?。?)用十進制數碼管動態(tài)顯示所測環(huán)境溫度。</p><p> ?。?)由于單片機無操作系統(tǒng),若程序出現異常

23、無法正常工作,故本系統(tǒng)采用了一個硬件看門狗來防止程序“跑飛”,保證系統(tǒng)運行的穩(wěn)定、可靠。</p><p><b>  1.3設計思路</b></p><p>  本設計采用單片機作為數據處理與控制單元,為了進行數據處理,單片機控制溫度傳感器經過處理的信號,把信號通過單總線傳遞到單片機上。單片機數據處理之后,發(fā)出控制信息改變報警和控制執(zhí)行模塊的狀態(tài),同時將當前溫度信息發(fā)

24、送到LED進行顯示。本系統(tǒng)可以實現多路溫度信號采集與顯示,通過進行溫度數據的運算處理,發(fā)出控制信號達到控制對象正常的目的。</p><p><b>  2 系統(tǒng)硬件設計</b></p><p>  2.1系統(tǒng)硬件總體設計</p><p>  根據單片機應用系統(tǒng)的設計原則, 首先設計了系統(tǒng)硬件的總體結構如圖2.1所示,</p>&

25、lt;p>  圖2.1 系統(tǒng)硬件的總體結構</p><p>  然后按模塊分別對各單元電路進行電路設計, 而后進行硬件電路集成。單片機系統(tǒng)的控制核心部分。八通道溫度傳感器由八選一模擬選擇開關循環(huán)選通, 被選中的溫度傳感器信號由信號處理及放大電路進行處理之后送入A/D轉換器,再由單片機控制A/D轉換器進行溫度數據的采集, 而后對溫度原始數據進行處理,根據處理結果驅動聲光報警電路和執(zhí)行數碼管??撮T狗采用硬件看

26、門狗電路, 防止程序在運行過程中“跑飛”, 保證系統(tǒng)運行的穩(wěn)定、可靠【2】。</p><p>  2.2系統(tǒng)主要電子元器件選擇</p><p>  2.2.1系統(tǒng)單片機的選擇</p><p><b>  一、選材</b></p><p>  根據系統(tǒng)的功能需求, 選擇目前市場上性價比較高的單片機AT89C51作為該系統(tǒng)的

27、控制核心。</p><p>  二、AT89C51相關說明【3】</p><p>  1、AT89C51芯片主要性能:</p><p>  ·4K字節(jié)可編程閃爍存儲器 </p><p>  ·全靜態(tài)工作:0Hz-24MHz</p><p>  ·128×8位內部RAM</p

28、><p>  ·32可編程I/O線</p><p>  ·兩個16位定時器/計數器</p><p><b>  ·5個中斷源 </b></p><p><b>  ·可編程串行通道</b></p><p>  ·低功耗的閑置和掉電

29、模式</p><p>  ·片內振蕩器和時鐘電路</p><p>  2、管腳說明(如圖2.2.1)</p><p>  圖2.2.1 AT89C51管腳說明</p><p>  電源及時鐘引腳(4個)</p><p><b>  : 電源接入引腳</b></p><

30、;p><b> ?。航拥匾_</b></p><p> ?。壕д裾鹗幤鹘尤氲囊粋€引腳 (采用外部振蕩器時,此引腳接地);</p><p>  :晶體振蕩器的另一個引腳(采用外部振蕩器時,此引腳作為外部振蕩器信號的輸入端)。</p><p>  (2)控制線引腳(4個)</p><p> ?。簭臀恍盘栞斎胍_/備用

31、電源輸入引腳;</p><p> ?。旱刂锋i存允許信號輸出引腳/編程脈沖輸入引腳:</p><p>  :內外存儲器選擇引腳/片外EPROM編程電壓輸入引腳;</p><p>  :外部程序存儲器選通信號輸出引腳。</p><p> ?。?)并行I/O引腳</p><p>  P0.0-P0.7:一般I/O口引腳或數據

32、/低位地址總線復用引腳;</p><p>  P1.0-P1.7:一般I/O口引腳;</p><p>  P2.0-P2.7:一般I/O口引腳或高位地址總線引腳;</p><p>  P3.0-P3.7:一般I/O口引腳或第二功能引腳</p><p><b>  3、振蕩器說明</b></p><p&

33、gt;  和分別為反向放大器的輸入和輸出。該反向放大器可以配置為片內振蕩器。石晶振蕩和陶瓷振蕩均可采用。如采用外部時鐘源驅動器件,應不接。有余輸入至內部時鐘信號要通過一個二分頻觸發(fā)器,因此對外部時鐘信號的脈寬無任何要求,但必須保證脈沖的高低電平要求的寬度。</p><p>  2.2.2、系統(tǒng)溫度傳感器的選擇</p><p><b>  一、選材</b></p&

34、gt;<p>  由于溫度變化較為緩慢, 靈敏度要求不高。為了便于推廣應用, 要求傳感器性能穩(wěn)定, 價格適中。此外, 由于本系統(tǒng)采用單片機進行數據處理和控制, 必須采用能夠把非電量變成電量的傳感器,由各類傳感器的優(yōu)缺點對比和系統(tǒng)工作的需求, 本系統(tǒng)AD590較為合適。 AD590具有線性優(yōu)良、性能穩(wěn)定、靈敏度高、無需補償、熱容量小、抗干擾能力強、可遠距離測溫且使用方便等優(yōu)點。它可廣泛應用于各種冰箱、空調器、糧倉、冰庫、工業(yè)

35、儀器配套和各種溫度的測量和控制等領域。因此, 本系統(tǒng)集成溫度傳感器采用美國AD公司產品AD590【4】。</p><p>  二、AD590相關說明</p><p><b>  1、概述:</b></p><p>  AD590溫度傳感器是一種已經IC化的溫度傳感器,它會將溫度轉換為電流。</p><p><b&g

36、t;  其規(guī)格如下:</b></p><p> ?。?)、流過器件的電流 () 等于器件所處環(huán)境的熱力學溫度(開爾文) 度數,即= ;式中,—流過器件(AD590) 的電流,單位為,—熱力學溫度,單位為,即其輸出電流是以絕對溫度零度(-273.12℃)為基準,每增加1℃,它會增加1輸出電流。開爾文溫度與攝氏溫度的關系為:=273.12℃,如:室溫25℃時,其輸出電流=273.12+25=298.12。

37、</p><p> ?。?)、AD590的測溫范圍為-55℃至+150℃;</p><p>  (3)、AD590的電源電壓范圍為4至30 V,可以承受44 V正向電壓和20 V反向電壓,因而器件即使反接也不會被損壞;</p><p> ?。?)、精度高,AD590在- 55℃至+150℃范圍內,非線性誤差僅為±0.3℃ 【5】。</p>&

38、lt;p>  2、管腳說明,電路符號及基本應用電路</p><p> ?。?)、管腳說明(如圖2.2.2)</p><p>  圖2.2.2 AD590管腳</p><p>  注:其中1腳為電源正端+;2腳為電流輸 出端;3腳為管殼,一般不用。</p><p> ?。?)電路符號(圖2.2.3)及基本應用電路(圖2.2.4)<

39、/p><p>  圖2.2.3 電路符號 圖2.2.4 基本應用電路</p><p>  2.2.3多路模擬選擇開關的選擇</p><p><b>  一、選材</b></p><p>  本系統(tǒng)選用CD4051作為多路模擬選擇開關, 它是單向八通道多路模擬選擇開關,而且易用,引腳簡單易懂

40、,故選擇它作為模擬開關【6】。</p><p>  二、CD4051相關說明</p><p><b>  1、概述</b></p><p>  CD4051是單八通道數字控制模擬電子開關,有三個二進控制輸入端A、B、C和INH輸入,具有低導通阻抗和很低的截止漏電流。幅值為4.5~20V的數字信號可控制峰值至20V的模擬信號。這些開關電路在整個V

41、DD-VSS和VDD-VEE電源范圍內具有極低的靜態(tài)功耗,與控制信號的邏輯狀態(tài)無關。當INH輸入端=“1”時,所有的通道截止。三位二進制信號選通八通道中的一通道,可連接該輸入端至輸出。</p><p>  2、CD4051引腳(圖2.2.5)及說明(表2.1)</p><p>  圖2.2.5 CD4051引腳</p><p>  表2.1 CD4051引腳說明

42、圖</p><p>  2.2.4 A/D轉換器的選擇</p><p><b>  一、選材</b></p><p>  A/D轉換器的選擇類型較多,根據所測溫度的范圍及精度的要求,本系統(tǒng)選用單片機應用系統(tǒng)中最常用的A/D轉換器ADC0809作為系統(tǒng)的AD轉換器。</p><p>  二、AD0809的相關說明</

43、p><p><b>  1、主要性能</b></p><p><b>  分辨率為8位;</b></p><p>  精度:ADC0809小于1LSB;</p><p>  單+5V供電,模擬輸入電壓范圍為0至5V;</p><p>  具有鎖存控制的8路輸入模擬開關;</

44、p><p>  可鎖存三態(tài)輸出,輸出與TTL電平兼容;</p><p><b>  功耗為15mW;</b></p><p>  不必進行零點和滿度調整;</p><p>  轉換速度取決于芯片外接的時鐘頻率,其時鐘頻率范圍:10至1280KHz【7】。</p><p>  2、ADC0809的內部結

45、構及引腳功能</p><p>  ADC0809引腳圖如圖2.2.6所示。</p><p>  圖2.2.6 ADC0809引腳圖</p><p><b>  引腳功能如下:</b></p><p>  IN0-IN7:8路模擬量輸入端。</p><p>  D7-D0:8位數字量輸出端。<

46、;/p><p>  ALE:地址鎖存允許信號輸入端。對應ALE上跳沿,可將A、B、C地址狀態(tài)送入地址鎖存器內并進行譯碼,選通相應的模擬輸入通道。</p><p>  START——啟動A/D轉換控制信號輸入端。START上升沿時,復位ADC0809,START下降沿時啟動芯片,開始進行A/D轉換,在A/D轉換期間,START應保持低電平。本信號有時簡寫為ST。</p><p

47、>  CLK:時鐘信號輸入端。</p><p>  EOC:轉換結束信號輸出端。A/D轉換期間EOC為低電平,A/D轉換結束后EOC為高電平。</p><p>  OE:輸出允許控制端,控制輸出鎖存器的三態(tài)門。當OE為高電平時,轉換結果數據出現在D7-D0引腳。當OE為低電平時,D7-D0引腳對外呈高阻狀態(tài)。</p><p>  C、B、A:8路模擬開關的地址

48、選通信號輸入端,3個輸入端的信號為:000-111,接通IN0-IN7對應通道。</p><p>  、:分別為基準電源的正、負輸入端。</p><p> ?。弘娫摧斎攵?,+5V。</p><p><b>  GND:地。</b></p><p>  2.2.5 穩(wěn)壓電路所需元器件的選擇</p><p

49、><b>  一、選擇</b></p><p>  本系統(tǒng)由220V交流電供電,經過整流濾波等處理,得到+5V的直流電,供各個單元使用。其中變壓器采用,是經過計算選擇的出來的,原因后續(xù)介紹。整流及濾波電路,采用的器件就是常用的二極管及電容,其中電容的容值也在后續(xù)介紹,而穩(wěn)壓電路則采用選擇CW7805三端集成穩(wěn)壓塊及相應外圍器件組成,現主要介紹CW7805三端集成穩(wěn)壓塊。</p&g

50、t;<p>  二.CW7805相關說明</p><p>  CW7805總共有三個引腳,分別為輸入端、輸出端、接地端。其輸入電壓為,輸出電壓為。其引腳圖如圖2.2.7所示。</p><p>  圖2.2.7 CW7805</p><p>  2.2.6數碼管及其驅動管的選擇</p><p><b>  一、選擇依據&

51、lt;/b></p><p>  由于AD590測溫范圍為-50-150℃,加上選通傳感器號或者通道號一共可以顯示四位即可,故本系統(tǒng)采用7SEG-MAX4動態(tài)顯示四位的LED數碼管。</p><p><b>  二、相關說明</b></p><p><b>  1、概述</b></p><p>

52、;  本LED數碼管為四位動態(tài)數碼管,其內部共陰極,顧與單片機供電問題,才有74LS245作為7SEG-MAX4數碼管的驅動管【8】。</p><p>  2、關于74LS245的說明</p><p>  如圖2.2.8為74LS245芯片的引腳圖</p><p>  圖2.2.8 74LS245引腳圖</p><p>  74LS245是

53、我們常用的芯片,用來驅動LED或者其他的設備,它是八路同相三態(tài)雙向總線收發(fā)器,可雙向傳輸數據。74LS245還具有雙向三態(tài)功能,既可以輸出,也可以輸入數據。當片選端低電平有效時,DIR=“0”,信號由 B 向 A 傳輸(接收); DIR=“1”,信號由 A 向 B 傳輸(發(fā)送);當CE為高電平時,A、B均為高阻態(tài)。</p><p>  2.2.7集成運算放大器選擇</p><p><

54、b>  一、選擇依據</b></p><p>  OP07芯片是一種低噪聲,非斬波穩(wěn)零的雙極性運算放大器集成電路。由于OP07具有非常低的輸入失調電壓(對于OP07A最大為25),所以OP07在很多應用場合不需要額外的調零措施。OP07同時具有輸入偏置電流低(OP07A為±2)和開環(huán)增益高(對于OP07A為300)的特點,這種低失調、高開環(huán)增益的特性使得OP07特別適用于高增益的測量設

55、備和放 大傳感器的微弱信號等方面。</p><p>  二、OP07相關說明</p><p><b>  1、特點:</b></p><p>  超低偏移: 150最大。 低輸入偏置電流: 1.8 。低失調電壓漂移: 0.5/℃ 。 超穩(wěn)定,時間: 2最大高電源電壓范圍: ±3V至±22V。</p><p

56、><b>  2、引腳功能說明:</b></p><p>  OP07其引腳圖如圖2.2.9</p><p>  圖2.2.9 OP07引腳圖</p><p>  1和8為偏置平衡(調零端),可懸空;2為反向輸入端;3為正向輸入端;4接地端;5為空腳; 6為輸出端;7接電源正極【9】。</p><p>  2.2.

57、8看門狗硬件的選擇</p><p><b>  一、選擇依據:</b></p><p>  為防止程序在運行過程中“跑飛”, 本系統(tǒng)采用MAX706P作為看門狗電路的硬件芯片,以保證系統(tǒng)運行的穩(wěn)定、可靠【10】。</p><p>  二、MAX706P的相關說明:</p><p>  其引腳圖如圖2.2.10</p

58、><p><b>  其引腳的意義如下:</b></p><p> ?。焊唠娖綇臀恍盘栞敵龆?。</p><p><b>  :看門狗輸出。</b></p><p><b>  :手動復位輸出。</b></p><p><b> ?。弘娫摧斎攵恕?l

59、t;/b></p><p> ?。弘娫垂收媳O(jiān)控電壓輸入。</p><p> ?。弘娫垂收陷敵?,當監(jiān)控電壓<1.25V, 變低。</p><p><b>  :接地端。</b></p><p>  圖2.2.10 MAX706P的引腳</p><p>  2.3 系統(tǒng)主要硬件電路模塊設

60、計</p><p>  2.3.1八路溫度采集電路</p><p>  本系統(tǒng)中采用八路溫度采集,即在所測環(huán)境中放八個溫度傳感器,其電路圖如圖2.3.1所示。</p><p>  圖2.3.1 八路溫度采集電路</p><p>  圖中M1A至M1H分別為8個傳感器,他們分別放到所測環(huán)境的8個不同位置,由AD590的性質不難得出0至7端口輸

61、出電壓=10,然后0至7端口再接到溫度選擇電路中即可。</p><p>  2.3.2八路溫度選擇電路</p><p>  本系統(tǒng)中八路溫度需要巡回檢測,故采用一個八路模擬選擇開關CD4051,其電路圖如下圖2.3.2所示。</p><p>  圖2.3.2 八路溫度選擇電路</p><p>  圖中引腳框中0-7為8個傳感器信號輸入端,通

62、過A、B、C三個端口的模擬組合決定某一刻某一個端口被選通,其中AA、BB、CC分別接AT89C51的P1.4、P1.5、P1.6端口,其中3口OUT為信號輸出口,OUT端口接信號的處理及放大電路。</p><p>  2.3.3單路溫度處理電路</p><p>  本系統(tǒng)單路溫度處理電路如圖2.3.3所示[11]。</p><p>  圖2.3.3 單路溫度處理電

63、路</p><p>  如圖,AD590串連一個10電阻再接地, 即可產生10 (273.2 + t)℃毫伏電壓, 這個電壓先經一個運放AR1(0P07) 所組成的緩沖器, 以避免負載效應。=10 (273.2 + t℃);中間的運放AR2(OP07)組成一個減法器。為了將采集的電壓A/D轉換成溫度更接近人的思維角度,通過這個減法器將電壓減掉2.732 。==1.366 V; =-(-2)=-(-2.732)

64、V;再加上最后一個運放AR3(OP07)組成一個反相器, 使最后輸出電壓每增加0.01, 即表示溫度增加1 ℃。= =0.3V, =-=0.6 + 0.01t;例如, 實際空氣溫度為20 ℃, 即t = 20;= 2.732 V;=0.8。單片機將此電壓進行A/D轉換和單片機處理, 轉換后就為20,無需再將結果標定成溫度,其中A/D轉換的算法在后續(xù)介紹。</p><p>  2.3.4 A/D轉換電路</

65、p><p>  ADC0809與單片機AT89C51的硬件接口有三種方式: 中斷方式、查詢方式和等待延時方式。在本系統(tǒng)中采用查詢方式, ADC0809與AT89C51的接口電路如圖2.3.4所示[12]。</p><p>  圖2.3.4 A/D轉換電路</p><p>  由于ADC0809片內無時鐘, 可利用ATC89C51的P1.3口獲得, 因為本系統(tǒng)采用頻率為

66、12 MHz的晶振, 所以P1.3輸出約為1 MHz,在ADC0809的輸入時鐘頻率范圍內。由于ADC0809具有輸出三態(tài)鎖存器, 故其8位數據輸出引腳可直接與數據總線相連。地址譯碼引腳ADDA、ADDB、ADDC分別與地址總線的低三位A0、A1、A2相連, 以選通IN0-IN7中的一個通道,這里由于輸入為IN0,故ADD A、ADD B、ADD C接地可以選通IN0通道。OUT1-OUT7與AT89C51的P3口相連,以便程序的調用方

67、便。</p><p>  2.3.5電源處理電路</p><p>  電源處理電路是常用的變壓整流電路,技術相對成熟,成本較低。變壓器輸入端為220V/50HZ交流電,經過變壓器變壓獲得9V交流電,然后再由橋式整流電路和濾波電路處理,得到約等9V直流電,最后經過直流穩(wěn)壓電路CW7805處理,最終得到+5V的直流電,即可作為此系統(tǒng)的電源,具體電路如圖2.3.5所示:</p>&

68、lt;p>  圖2.3.5 電源處理電路</p><p>  根據要求,首先用集成穩(wěn)壓器設計一個固定輸出5V的直流穩(wěn)壓電源,通過查閱常用電子元器件實用手冊可知CW7805集成穩(wěn)壓器輸出, CW7805的輸入電壓為,又由于次級線圈的電壓一般比最終輸出的穩(wěn)壓至少高,故可均取輸入電壓為設計。即交流輸入電壓經整流和濾波后變成。則有變壓后電壓</p><p>  于是選擇變壓器原繞組與副繞組的

69、匝數比</p><p><b>  (變壓比)。</b></p><p>  功率,所以可以選用變壓器。</p><p>  電路中整流二極管所承受的最大反向電壓</p><p><b>  。</b></p><p>  所以應選擇反向擊穿電壓的整流二極管(按最大反向工作電

70、壓的二倍選?。9士梢赃x擇二極管(最大反向工作電壓,最大正向整流電流)搭建整流橋。可選用抗擊穿能力較強的發(fā)光二極管用于短路時保護三端集成穩(wěn)壓器,還可以起到指示作用。</p><p>  電容的容抗一般大于幾千歐,為了防止電容被擊穿,我們取,根據公式</p><p>  得到防止低頻干擾的電容 </p><p><b>  故可取=</b&g

71、t;</p><p>  根據三端集成穩(wěn)壓器的規(guī)格可以確定=0.33, =0.33。根據,得</p><p>  故,可取反向擊穿電壓為的電解電容濾波電容。</p><p>  2.3.6單片機處理電路</p><p>  本系統(tǒng)采用AT89C51作為單片機芯片,晶振為12MHz,所選電容容值都為經典數值,采用上電自動復位,。接法如圖2.3.

72、6所示,其中Vcc為經過220V電源變換來的直流穩(wěn)壓電源,其大小為+5V。</p><p>  圖2.3.6 單片機處理電路</p><p>  2.3.7聲光報警電路</p><p>  當某一通道的溫度測量值超出預先設定的上、下限報警值或系統(tǒng)運行出現故障時, 系統(tǒng)發(fā)出聲光報警以提醒用戶注意。報警電路中光報警采用發(fā)光二極管, 聲報警采用蜂鳴器來設計, 其硬件電路

73、如圖2.3.7所示。</p><p>  圖2.3.7 聲光報警電路</p><p>  蜂鳴器電路中,晶體管起開關作用, P1.7輸出低電平時, 管腳輸出電壓經過lK限流電阻分壓后, 到達晶體管基極的電壓為使得晶體管發(fā)射結正偏,集電結反偏, 晶體管導通, 蜂鳴器上電而產生聲響。</p><p>  2.3.8看門狗電路</p><p> 

74、 由于單片機無操作系統(tǒng), 如果程序出現異常情況(如出現死循環(huán))就無法正常運行, 因此, 本系統(tǒng)采用了一個硬件看門狗來監(jiān)視程序的運行。美信公司的MAX706P, 具有“看門狗”、主電源檢測的功能。單片機通過I/0引腳給(看門狗輸入)腳正脈沖,如果兩次脈沖時間間隔不大于1.6S, 則 (看門狗輸出)腳一直為高電平, 說明微機程序運行正常。當兩次發(fā)出正脈沖的時間間隔大于1.6S時, “看門狗” 便使引腳變?yōu)榈碗娖剑?將腳與相連, 可使RESE

75、T腳(與單片機的RST相連)產生高電平的復位脈沖, 使程序能從頭重新開始執(zhí)行, 起到監(jiān)視程序運行的作用??撮T狗電路如圖2.3.8所示。</p><p>  圖2.3.7 看門狗電路</p><p>  注:圖中MAX706P的REST端接單片機的RST端,端接P2.4端口。</p><p><b>  2.3.9顯示電路</b></p&

76、gt;<p>  本系統(tǒng)采用74LS245做驅動數碼管的電路,可以保證數碼管的供電,數碼管7SEG-MAX4動態(tài)顯示4位數字,74LS245芯片及數碼管7SEG-MAX4前已做了詳細介紹,這里不再說明。這里著重說明一下數碼管顯示數字的含義,數碼管顯示數字為4位,其4位數從左向右數的含義為:第一個數碼管顯示的是傳感器的通道號,第二個數碼管顯示“-”號或者當溫度高于100℃時顯示百位數字,第三個數碼管和第四個數碼管依次顯示所測

77、溫度數字,例如若是數碼管顯示為6-15,則其含義為6代表第6個傳感器,“-”代表溫度為零下,-15代表零下15℃,即其總體含義為第六個溫度傳感器的位置檢測的溫度為零下15℃;若是數碼管顯示為8030,則其含義為第八個傳感器的位置檢測位置的溫度為30℃。其硬件電路如圖2.3.9所示。</p><p>  圖2.3.9 顯示電路</p><p>  綜上所述為本系統(tǒng)硬件的設計,其總體電路圖見

78、附錄一。</p><p><b>  3 系統(tǒng)軟件設計</b></p><p>  系統(tǒng)硬件電路設計完成以后, 進行系統(tǒng)軟件設計。分析系統(tǒng)對軟件的要求, 然后進行了軟件的總體設計, 包括程序總體結構設計和對程序進行模塊化設計。將系統(tǒng)整體功能劃分成多個不同的模塊, 單獨設計、編程、調試, 然后將各個模塊進行裝配聯(lián)調, 組成完整的系統(tǒng)軟件。根據系統(tǒng)軟件的功能需求, 系統(tǒng)應

79、用軟件分為主程序、數據采集、數據處理(A/D轉換)、報警及顯示等五大主要程序模塊。</p><p>  3.1主程序模塊設計</p><p>  主程序主要將各子模塊組織起來成為一個有機的整體,主程序流程圖如圖3.1.1所示【13】。</p><p>  圖3.1.1 系統(tǒng)主程序流程圖</p><p>  上電復位后單片機,首先進行系統(tǒng)初始

80、化,然后按系統(tǒng)流程圖各個模塊依次執(zhí)行。</p><p>  主程序模塊包含的主要函數定義及功能:</p><p><b>  1、初始化部分</b></p><p>  函數定義: void main();</p><p>  功能: 初始化包含在主程序中,對AT89C51CPU的主要寄存器進行初始化</p>

81、<p><b>  和全局變量賦初值。</b></p><p><b>  2、數據采集模塊</b></p><p>  A/D轉換函數定義: void convert()</p><p>  功能: 啟動A/D轉換, 將模擬電壓信號轉換成數字量。</p><p><b> 

82、 3、數據處理模塊</b></p><p>  函數定義: void fun()</p><p>  功能: 對采集過來的原始數據進行選擇通道且處理(內含有最終算法表達式)。</p><p><b>  4、聲光報警模塊</b></p><p>  函數定義:void alarm()</p>&

83、lt;p>  功能: 對某通道溫度實時數據越限進行聲光報警。</p><p><b>  5、顯示模塊</b></p><p>  函數定義:void show()</p><p>  功能: 按照算法顯示程序。</p><p>  3.2數據采集模塊設計</p><p>  數據采集模塊主

84、要對八路模擬通道選擇處理,將結果送到單片機處理。其流程圖如圖3.2所示【14】。</p><p>  圖3.2 數據采集模塊設計流程圖</p><p>  3.3數據處理模塊設計</p><p>  數據處理模塊主要是針對ADC0809的各個引腳的作用,使其能按事先約定的算法正確運行,并結合單片機正確處理數據。其流程圖如圖3.3.1所示。</p>&

85、lt;p>  圖3.3.1 數據處理模塊設計</p><p><b>  3.4報警模塊設計</b></p><p>  其程序流程圖如圖3.4.1所示</p><p><b>  3.5顯示模塊設計</b></p><p>  此程序模塊設計主要是對單片機相應的I/O口進行控制, 程序比較

86、簡單,基本不用流程圖表示,故這里省略。</p><p>  圖3.4.1 報警模塊程序流程圖</p><p>  綜上所述為本系統(tǒng)軟件設計模塊,其總體程序清單見附錄二。</p><p>  4 系統(tǒng)軟硬件的調試,仿真及算法說明</p><p>  4.1系統(tǒng)軟硬件調試,仿真說明</p><p>  本系統(tǒng)單片機軟件程

87、序采用MCS-51單片機C語言編寫,在Keil C51軟件環(huán)境中編寫源程序, 然后進行編譯,并用Proteus聯(lián)調仿真,由于Proteus中沒有傳感器等元器件,故用部分元器件代替來模擬仿真【14】,這與系統(tǒng)中的真實元器件在原理上并無異樣,其仿真電路圖及仿真時的加載程序見附錄三及附錄四。</p><p><b>  4.2系統(tǒng)算法說明</b></p><p>  4.2

88、.1系統(tǒng)總體誤差</p><p>  由溫度傳感器AD590的硬件知,其非線性誤差僅為±0.3℃,同理由ADC0809的技術指標知道,其分辨率為1/2,再由圖2.3.2可得=0.6 + 0.01t(此式前面已給出推導),設=0.01t,則即為由溫度引起的本系統(tǒng)轉換后的電壓誤差,即誤差為=±0.003,設=1/2,則易知最終總誤差為 =+=0.003+1/20.0069,此誤差還是可以容許的,在

89、所測范圍內由硬件誤差引起的干擾不大。</p><p>  4.2.2算法的轉換</p><p>  由AD590的測溫范圍知其溫度變化為-55℃至150℃,此時由式=0.6 + 0.01T(為了后面規(guī)范表示這里將t換成了T),得出對應的變化范圍為0.05至2.1。而為輸入ADC0809的模擬電壓輸入量,由ADC0809的性能知,其為單+5V供電,模擬輸入電壓范圍為0至+5V,同時與此對應的

90、未調整的數碼管顯示為0至255,故當輸入ADC0809的模擬電壓輸入量的變化范圍為0.05至2.1時,設ADC0809的OUT口輸出為Y,則不難得出Y與的關系式為Y=【107(-0.05)/2.05】,其中【】代表四舍五入后取整運算,易得出與此對應P3口的輸出值為0至107。設定安全溫度范圍為-30℃至50℃,即超過這兩個值,報警電路會發(fā)出報警,為了程序書寫分析方便,不妨將安全溫度設定三個標志性溫度,-30℃、0℃和50℃,由=0.6

91、+ 0.01T及Y=107(-0.05)/2.05,二式聯(lián)立得Y與T的關系式Y=【107(0.05+.01T)/2.05】,即Y=【0.52T+28.71】,由此式得出-30℃、0℃和50℃對應的Y值依次為13、29、55,為了滿足期望的環(huán)境溫度是MM℃時,顯示MM℃</p><p>  綜上可得溫度按要求顯示的兩個重要式子為:</p><p>  溫度轉換到ADC0809的OUT口的調整

92、公式為:Y=【0.52T+28.71】</p><p>  由OUT口到數碼管顯示的調整公式為:Z=1.92Y-55.12</p><p><b>  結束語</b></p><p><b>  1、結論</b></p><p>  設計的首要之處是選型。</p><p> 

93、 本系統(tǒng)單片機芯片采用AT89C51,該芯片可靠性好、性能穩(wěn)定、對于該系統(tǒng)其存儲空間足夠,且易于用C語言編程。溫度傳感器采用AD590,為電流型傳感器,在其基本應用電路中便于的得到所需電壓,精度高,器件穩(wěn)定。A/D轉換時采用ADC0809,可以實現八路溫度的轉換,同樣該器件精度高,性能穩(wěn)定。</p><p>  實踐證明選型比較成功。</p><p>  而選型后的軟件程序設計和硬件參數設

94、置也是必不可少的,正確的設置參數及編程,才能使該系統(tǒng)正常運行。</p><p>  同樣本系統(tǒng)的顯示部分也可以用上位機來實現,這樣涉及到了串行口的通信問題,由于此與顯示部分模塊相差無意,故此省略。</p><p><b>  2、展望</b></p><p>  隨著時代的發(fā)展,溫控系統(tǒng)的應用會愈加普及,前景十分廣闊,本設計在小型環(huán)境中比如蔬菜

95、大棚、物資倉庫等可得到應用【15】,在大型環(huán)境中要用到上位機的控制,其設計模式并無異樣,因此本設計的實用價值還是很高的。</p><p>  但是,智者千慮,必有一失。由于本人專業(yè)知識的局限性和篇幅所限,很難保證本人的設計沒有絲毫遺漏,還望指正【16】。</p><p><b>  附錄</b></p><p>  附錄一:系統(tǒng)總體電路圖<

96、;/p><p>  附錄二:系統(tǒng)程序清單</p><p>  #include<reg51.h></p><p>  #define uchar unsigned char</p><p>  #define uint unsigned int</p><p>  uchar code shuzi[]={0x3

97、f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40};///共陰極</p><p>  sbit OE=P1^0;</p><p>  sbit EOC=P1^1;</p><p>  sbit ST=P1^2;</p><p>  sbit CLK=P1^3;</p><

98、;p>  sbit AA=P1^4;</p><p>  sbit BB=P1^5;</p><p>  sbit CC=P1^6;</p><p>  sbit bj=P1^7;</p><p>  sbit dog=P2^4;</p><p>  ////++++++++++++++++++++++++<

99、;/p><p>  void delay(int a)///a ms</p><p><b>  {uint i;</b></p><p>  while(a--)</p><p><b>  {</b></p><p>  for(i=0;i<110;i++);</

100、p><p><b>  }</b></p><p><b>  }</b></p><p>  //+++++++++++++++++++++++++++++</p><p>  void alarm(uint b)</p><p><b>  {</b>&

101、lt;/p><p>  if((b>50)||(b<-30))</p><p><b>  bj=1;</b></p><p>  else bj=0;</p><p><b>  }</b></p><p>  //+++++++++++++++++++++++++

102、+</p><p>  void show(int b,int s)//段顯由P0,位選由P2.0-2.2共陰極p3為AD轉換的值</p><p>  {int i=1000;//顯示時間長短</p><p><b>  if(b>=0)</b></p><p><b>  {</b><

103、/p><p>  while(i--)</p><p><b>  {P0=0;</b></p><p><b>  P2=0XF7;</b></p><p>  P0=shuzi[s];</p><p><b>  delay(3);</b></p&

104、gt;<p><b>  P0=0;</b></p><p><b>  P2=0XFE;</b></p><p>  P0=shuzi[b/100];</p><p><b>  delay(3);</b></p><p><b>  P0=0;<

105、;/b></p><p><b>  P2=0XFD;</b></p><p>  P0=shuzi[b%100/10];</p><p><b>  delay(3);</b></p><p><b>  P0=0;</b></p><p>&l

106、t;b>  P2=0XFB;</b></p><p>  P0=shuzi[b%10];</p><p><b>  delay(3);</b></p><p><b>  }</b></p><p><b>  }</b></p><p&

107、gt;<b>  else {</b></p><p><b>  P0=0;</b></p><p><b>  P2=0XF7;</b></p><p>  P0=shuzi[s];</p><p><b>  delay(3);</b></p&

108、gt;<p><b>  P0=0;</b></p><p><b>  P2=0XFE;</b></p><p>  P0=shuzi[10];///負號</p><p><b>  delay(3);</b></p><p><b>  P0=0;&

109、lt;/b></p><p><b>  P2=0XFD;</b></p><p>  P0=shuzi[b%100/10];</p><p><b>  delay(3);</b></p><p><b>  P0=0;</b></p><p>

110、<b>  P2=0XFB;</b></p><p>  P0=shuzi[b%10];</p><p><b>  delay(3);</b></p><p><b>  }</b></p><p>  P2=0XFF;//清屏</p><p><

111、;b>  }</b></p><p>  /////+++++++++++++++++++++++++++++++++</p><p>  void convert(uint i)</p><p><b>  {</b></p><p><b>  ST=0;</b></p&

112、gt;<p><b>  ST=1;</b></p><p><b>  ST=0;</b></p><p>  while (EOC==0);</p><p><b>  OE=1;</b></p><p>  P3=107*(0.55+0.01*P3)/2.0

113、5;</p><p>  P3=1.92*P3-55.12;</p><p>  alarm(P3);</p><p>  show(P3,i);</p><p><b>  OE=0;</b></p><p><b>  }</b></p><p>

114、  /////+++++++++++++++++++++++++++++++++++</p><p>  void fan(uint i,uint j,uint k,uint x)</p><p><b>  {</b></p><p><b>  AA=i;</b></p><p><b&g

115、t;  BB=j;</b></p><p><b>  CC=k;</b></p><p>  convert(x);</p><p><b>  }</b></p><p>  //++++++++++++++++++++++++++</p><p>  voi

116、d main()</p><p><b>  {</b></p><p>  TMOD=0X02;</p><p><b>  TH0=0X14;</b></p><p><b>  TL0=0;</b></p><p><b>  TR0=1

117、;</b></p><p><b>  ET0=1;</b></p><p><b>  EA=1;</b></p><p>  //GEI DIZHI KEYIBA JIEDI 0KOU</p><p><b>  while(1)</b></p>

118、<p>  {//no(0);//當前的傳感器號</p><p>  fan(0,0,0,0);//傳感器通道</p><p><b>  //no(1);</b></p><p>  fan(0,0,1,1);</p><p><b>  //no(2);</b></p>

119、<p>  fan(0,1,0,2);</p><p><b>  //no(3);</b></p><p>  fan(1,0,0,3);</p><p><b>  //no(4);</b></p><p>  fan(0,1,1,4);</p><p>&

120、lt;b>  //no(5);</b></p><p>  fan(1,0,1,5);</p><p><b>  //no(6);</b></p><p>  fan(1,1,0,6);</p><p><b>  //no(7);</b></p><p>

121、;  fan(1,1,1,7);</p><p><b>  }</b></p><p><b>  }</b></p><p>  void time0() interrupt 1 using 0</p><p><b>  {</b></p><p>

122、;<b>  CLK=!CLK;</b></p><p><b>  dog=!dog;</b></p><p><b>  }</b></p><p>  附錄三:簡化仿真電路圖</p><p>  附錄四:簡化仿真時加載的程序</p><p>  #

123、include<reg51.h></p><p>  #define uchar unsigned char</p><p>  #define uint unsigned int</p><p>  uchar code shuzi[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};</p

124、><p>  sbit OE=P1^0;</p><p>  sbit EOC=P1^1;</p><p>  sbit ST=P1^2;</p><p>  sbit CLK=P1^3;</p><p>  sbit AA=P1^4;</p><p>  sbit BB=P1^5;</p&g

125、t;<p>  sbit CC=P1^6;</p><p>  sbit bj=P1^7;</p><p>  sbit dog=P2^4;</p><p>  void delay(int a)</p><p><b>  {uint i;</b></p><p>  while(

126、a--)</p><p><b>  {</b></p><p>  for(i=0;i<110;i++);</p><p><b>  }</b></p><p><b>  }</b></p><p>  //+++++++++++++++++

127、++++++++++++++++</p><p>  void alarm(uint b)</p><p><b>  {</b></p><p>  if((b>200)||(b<20))</p><p><b>  bj=1;</b></p><p>  el

溫馨提示

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

評論

0/150

提交評論