基于單片機溫度控制課程設計報告_第1頁
基于單片機溫度控制課程設計報告_第2頁
基于單片機溫度控制課程設計報告_第3頁
基于單片機溫度控制課程設計報告_第4頁
基于單片機溫度控制課程設計報告_第5頁
已閱讀5頁,還剩16頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、 電氣控制系統設計 溫度控制系統的設計學 院 輪機工程學院 班 級 電氣1111 班 姓 名 吳棟甫 盧勁知 學 號 2011125032 2011125037 指導老師 江小霞 陳學梅 成 績 2014 年 12 月 26 日 一溫度控制系統發展概述溫度控制與人們的生產、生活有著極其密切的關系。溫度控制廣泛應用于農業,工業,科研和日常生活中。隨著信息技術的不斷的更新與發展,溫度控制系統也在不斷地改進,控制方法趨于多樣化和智能化,控制效果也更加精確和穩定。近幾年國內外的溫度控制系統控制方法主要有以下幾種:神經網絡控制,即基于神經網絡控制或簡稱神經控制,是指在控制系統中采用神經網絡這一工具對難以

2、精確描述的復雜的非線性對象進行建模,或充當控制器,或優化計算,或進行推理,或故障診斷等,亦即同時兼有上述某些功能的適應組合,將這樣的系統統稱為神經網絡的控制系統,將這種控制方式稱為神經網絡控制。在文獻【1】中提到,針對溫室溫度控制系統存在的大滯后、大慣性等問題,考慮到常規PID控制器自適應能力差、魯棒性不強等缺陷,提出采用將具有較強的自組織、自學習和自適應能力的徑向基神經網絡與常規PID相結合構成RBF-PID控制策略,自適應調整PID控制器的參數。在該控制策略中,采用RBF神經網絡辨識器實現溫度控制系統的Jacobian矩陣信息在線辨識,對RBF-PID控制器控制參數在線自整定。研究結果表明

3、:RBF-PID控制器可使溫室溫度控制系統動態響應快、魯棒性強、穩態精度高、超調量小、抗擾動能力強,具有良好的控制效果。 模糊控制,在傳統的控制領域里,控制系統動態模式的精確與否是影響控制優劣的最主要關鍵,系統動態的信息越詳細,則越能達到精確控制的目的。然而,對于復雜的系統,由于變量太多,往往難以正確的描述系統的動態,于是工程師便利用各種方法來簡化系統動態,以達成控制的目的,但卻不盡理想。換言之,傳統的控制理論對于明確系統有強而有力的控制能力,但對于過于復雜或難以精確描述的系統,則顯得無能為力了。因此便嘗試著以模糊數學來處理這些控制問題。比如【3】中基于ARM的溫度控制也屬于是一種模

4、糊控制的運用。而在文獻【2】中提到,針對工業生產中溫度控制系統具有非線性、時變性和滯后性的特點,采用模糊控制與PID相結合的方法,設計了一個基于模糊PID的工業鍋爐溫度控制系統,采用AT91RM9200為主控制芯片,并用模糊PID控制算法對溫度進行控制。最后以工業鍋爐蒸汽溫度為被控對象,建立仿真模型對常規PID控制和模糊PID控制進行了仿真對比,結果表明采用模糊PID控制方法,有效的提高了系統對非線性、時變性和不確定性的處理能力,控制效果更好。遺傳算法,遺傳算法是模擬達爾文生物進化論的自然選擇和遺傳學機理的生物進化過程的計算模型,是一種通過模擬自然進化過程搜索最優解的方法。 隨著應用領域的擴展

5、,遺傳算法的研究出現了幾個引人注目的新動向:一是基于遺傳算法的機器學習,這一新的研究課題把遺傳算法從歷來離散的搜索空間的優化搜索算法擴展到具有獨特的規則生成功能的嶄新的機器學習算法。這一新的學習機制對于解決人工智能中知識獲取和知識優化精煉的瓶頸難題帶來了希望。二是遺傳算法正日益和神經網絡、模糊推理以及混沌理論等其它智能計算方法相互滲透和結合,這對開拓21世紀中新的智能計算技術將具有重要的意義【4】【5】除了以上的幾種控制算法,還有一些尚未成熟的控制算法但應用并不廣泛。而以上幾種控制算法往往并不是單獨的去控制一個系統,而是幾種控制算法結合使用。比如pid和神經網絡控制的結合使用,可以得到較好的控

6、制效果。 二系統設計任務要求與說明2.1設計目的1. 培養綜合運用所學知識的基本理論和專業知識,獨立進行控制系統的設計。2. 學會搜集,閱讀,和分析相關參考資料,以及通過設計提高計算和繪圖能力。3. 掌握一般控制系統的系統分析和設計方法,得到初步的工程訓練。2.2設計內容 完成溫度控制系統設計。采用單片機、溫度傳感器和功率模塊構成溫度控制系統,對該控制系統進行理論分析、設計控制算法,并編寫程序。2.3設備條件1、電熱水壺控制對象采用電熱水壺。2、溫度傳感器采用數字溫度傳感器DS18B20。3、功率調控模塊功率可調模塊選用EUV-10A-X。4、采用單片機作為主控器,C51作為軟件平臺2.4設計

7、要求1、采用Protues和Keil聯合仿真的方式調試溫度的讀取;2、使用Proteus完成溫度控制系統仿真;(系統應擴展DAC0832、顯示器、溫度變送器、開關等);3、組成控制系統,設計PID控制器,對PID參數進行整定,并繪制時域響應圖,給出時域特性指標;4、在完成13的基礎上,依情況完成下列AD項內容中的1項或多項內容;A、各種變型PID(如BangBang PID等);B、對該對象進行建模,Matlab進行控制算法的仿真;C、采用施密斯預估算法;D、用自行設計的其它控制算法進行控制并與PID算法進行比較2.5系統設計進度與任務分配任務分配:盧勁知的任務:1.控制系統方框圖2.資料收集

8、與處理3.溫度傳感器調試4.合作功率模塊調試吳棟甫的任務: 1.系統流程圖2.功率模塊調試3.數模轉化模塊部分4.串口通信設計進度記錄:十六周:周一:閱讀理解設計任務書和查閱相關資料,歸納資料,試編寫溫度傳感器部分程序周二:對ds18b20部分的程序理解并用keil編譯調試。周三周四:采用protuse和keil聯合仿真的方式調試溫度的讀取,其中為了方便顯示,擴展了8255接口并用led燈顯示分析。周五:溫度信號的讀取和D/A,功率模塊的調試。數據記錄,找到零點(零點調整)周末:查閱資料和對本周完成的部分模塊進行分析理解,復習計算機控制技術,了解pid的編程流程圖。十七周:周一:寫入pid子程

9、序,并進行實物的調試運行。周二:串口通信子程序先調試(要求輸出鋸齒波)。周三周五:將串口通信子程序嵌入之前的程序中構成完整的溫度控制系統程序,連接實物系統,對整個系統進行運行調試,pid整定。運用matlab畫出時域相應圖。 三.控制系統模塊設計3.1、控制系統方框圖與流程圖PID控制功率模塊被控對象 給定溫度D/A控制電壓溫度傳感器根據老師的要求和指導明白了,系統設計一般用模塊化設計,而模塊化設計中又從反饋環節開始設計。在該控制系統中溫度傳感器是首要測試的部分。即將相關程序寫入單片機中,通過單片機讀取溫度傳感器中存儲的數值。其次,是對功率模塊的調試,這部分很關鍵的一點是要找到零點;而且在對功

10、率模塊的調試前必須要有一個D/A轉化,即dac0832。再者,將pid子程序嵌入,進行初步的燒水操作。所以,相應的程序設計流程圖為開始 各模塊初始化 DS18B20采集實時溫度顯示實時溫度溫度偏差輸入pid控制器度對控制器輸出D/A轉化Yk3.2、溫度傳感器DS18B20 由于ds18b20是初次接觸,需要了解和學習。通過老師提供的資料和網上查閱的資料,下面對ds18b20作詳細介紹。由DALLAS半導體公司生產的DS18B20型單線智能溫度傳感器,屬于新一代適配微處理器的智能溫度傳感器。與傳統的熱敏電阻相比,它能夠直接讀出被測溫度,并且可根據實際要求通過簡單的編程實現912 位的數字值讀數方

11、式。其可以分別在93.75ms和750ms內完成9位和12位的數字量,最大分辨率為0.0625 , 而且從DS18B20 讀出或寫入DS18B20的信息僅需要一根口線(單線接口)讀寫。 DS18B20的主要特性(1)適應電壓范圍寬,范圍:3.05.5V,在寄生電源方式下可由數據線供電。(2)獨特的單線接口方式,DS18B20在與微處理器連接時僅需要一條口線即可實現微處理器與DS18B20的雙向通訊。(3)支持多點組網功能,多個DS18B20可以并聯在唯一的三線上,實現組網多點測溫。(4)使用中不需要任何外圍元件,全部傳感元件及轉換電路集成在形如一只三極管的集成電路內。(5)溫范圍55+125,

12、在-10+85時精度為±0.5。(6)可編程 的分辨率為912位,對應的可分辨溫度分別為0.5、0.25、0.125和0.0625,可實現高精度測溫。(7)在9位分辨率時最多在 93.75ms內把溫度轉換為數字,12位分辨率時最多在750ms內把溫度值轉換為數字。(8)測量結果直接輸出數字溫度信號,以"一 線總線"串行傳送給CPU,同時可傳送CRC校驗碼,具有極強的抗干擾糾錯能力。(9)負壓特性:電源極性接反時,芯片不會因發熱而燒毀, 但不能正常工作。2.2.2 DS18B20的外形(如圖2) 圖2 DS18B20封裝DS18B20引腳定義:(1)DQ為數字信號輸

13、入/輸出端;(2)GND為電源地;(3)VDD為外接供電電源輸入端(在寄生電源接線方式時接地)。2.2.3 DS18B20的內部結構DS18B20內部結構主要由四部分組成:64位光刻ROM 、溫度傳感器、非揮發的溫度報警觸發器TH和TL、配置寄存器。如圖3所示。 圖3 DS18B20內部結構 (1)光刻ROM中的64位序列號是出廠前被光刻好的,它可以看作是該DS18B20的地址序列碼。64位光刻ROM的排列是:開始8位 (28H)是產品類型標號,接著的48位是該DS18B20自身的序列號,最后8位是前面56位的循環冗余校驗碼(CRC=X8+X5+X4+1)。光刻ROM的作用 是使每一個DS18

14、B20都各不相同,這樣就可以實現一根總線上掛接多個DS18B20的目的。(2)DS18B20中的溫度傳感器可完成對溫度的測量,以12位轉化為例:用16位符號擴展的二進制補碼讀數形式提供,以 0.0625/LSB形式表達,其中S為符號位。表1 DS18B20溫度值格式表這是12位轉化后得到的12位數據,存儲在18B20的兩個8比特的RAM中,二進制中的前面5位是符號位,如果測得的溫度大于0, 這5位為0,只要將測到的數值乘于0.0625即可得到實際溫度;如果溫度小于0,這5位為1,測到的數值需要取反加1再乘于0.0625即可得到實際溫度。 例如+125的數字輸出為07D0H,+25.0625的數

15、字輸出為0191H,-25.0625的數字輸出為FE6FH,-55的數字輸出為FC90H 。(3)DS18B20溫度傳感器的存儲器 DS18B20溫度傳感器的內部存儲器包括一個高速暫存RAM和一個非易失性的可電擦除的EEPRAM,后者存放高溫度和低溫度觸發器 TH、TL和結構寄存器。(4)配置寄存器 該字節各位的意義如表3所示。表3 配置寄存器結構TMR1R011111低五位一直都是"1",TM是測試模式位,用于設置DS18B20在工作模式還是在測試模式。在DS18B20出廠時該位被設置為0,用 戶不要去改動。R1和R0用來設置分辨率,如表4所示:(DS18B20出廠時被設

16、置為12位)表4 溫度分辨率設置表R1R0分辨率溫度最大轉換時間009位93.75ms0110位187.5ms1011位375ms1112位750msDs18b20溫度顯示(實驗設計中擴展了8255,并將其高8位和低8位接到led燈顯示。編寫子程序參考步驟:Ds18b20開始轉換:1. ds18b20復位。2.寫入跳過ROM的字節命令,0xcc。3.寫入開始轉換的功能指令,0x44。4.延遲大約750900msDs18b20讀暫存數據:1. ds18b20復位。2.寫入跳過ROM的字節命令,0xcc。3.寫入開始轉換的功能指令,0xbe。4.讀入第0字節LS byte ,轉換結果的低八位。5.

17、讀入第一個字節MS Byte,轉換結果的高八位。6.ds18b20復位,表示讀取暫存結束。數據求出十進制1. 整合LS Byte和MS Byte的數據2. 判斷正負數(由于該設計溫度控制中,溫度不出現負值,故程序中不存在這一步)。3. 求出十進制。正數乘以0.0625,(在做設計中,本組成員只做到正數部分,并沒有將小數點求出)。具體的c語言程序參照溫度控制完整程序。在這部分的調試中,將程序寫入keil和protuse進行聯合仿真。設置ds18b20中的溫度為85度,led從高到低依次顯示為0000 0111 1101 0000.25度,led從高到低依次顯示為0000 0001 1001 00

18、00.設計中遇到的問題及其解決1. 連接溫度傳感器,打開實驗箱電源,并未開始檢測被測物體。結果卻發現測溫端竟然溫度很高。經檢查和查閱資料知道:ds18b20左正右負,一旦接反就會立即發燙,甚至有可能燒毀。(幸好發現及時)。2. 把溫度通過8255口傳到led燈顯示時,顯示的數據經驗證一直錯誤。最后在老師的指導下,才發現8255和led燈的接線端口高低位插反了,導致數據顯示不對應。3.3、數模轉換器DAC0832和功率模塊該部分原理即,希望通過把實時溫度與給定溫度偏差的數字量送入控制器控制,輸出的數字量經DAC0832轉換成電壓,送至功率放大,以達到控制流過控制對象的電流大小,進而達到水溫控制。

19、這部分把之前的8255,ds18b20,單片機,功率模塊,DAC0832等實物連接在一起。設計:選擇DACo832的端口地址為A000H,CS6。將ds18b20檢測的數據通過單片機輸出到DAC0832中。改變DA數字輸入量,用萬用表測得DA輸出量電壓大小,和經過功率放大器輸出的電壓大小。a(數字量)D/A轉換輸出量(V)功率模塊輸出(V)100.31142200.62143300.83142400.95143501.07143601.2733702.1848802.5062902.81791103.12941303.431091503.651231704.061651904.38151220

20、4.681662554.93181 (錯誤測量數據)測試中遇到的困惑與解決1. 無法找到零點,即無論輸入數字量為0時,功率模塊輸出不會為0。這將在完成串口通信后,在matlab的畫圖中可以明顯看出。解決:在matlab圖形中發現無法找到零點,找不到零點意味著系統無法進行控制。在后面的串口通信調試過程中發現同學之間也存在相似的問題。經過討論和詢問老師,最終發現在測試過程中并沒有將負載(熱水壺)接入系統,從而沒有零點出現。將熱水壺接入,重新測量。a(數字量)D/A轉換輸出量(V)功率模塊輸出(V)100.310200.620300.830400.950551.060601.2733702.1848

21、802.5062902.81791103.12941303.431091503.651231704.061651904.381512204.681812554.93216零點調整,輸入數字量加上55才是系統實際的數字量輸入。3.4.PID控制子程序 根據偏差的比例(P)、積分(I)、微分(D)進行控制(簡稱PID控制),是控制系統中應用最為廣泛的一種控制規律。實際運行的經驗和理論的分析都表明,這種控制規律對許多工業過程進行控制時,都能得到滿意的效果。 其中,比例控制能迅速反應誤差,從而減小誤差,但比例控制不能消除穩態誤差,Kp的加大,會引起系統的不穩定;積分控制的作用是:只要系統存在誤差,積分

22、控制作用就不斷地積累,輸出控制量以消除誤差,因而,只要有足夠時間,積分控制將能完全消除誤差,積分作用太強會使系統超調加大,甚至使系統出現振蕩;微分控制可以減小超調量,克服振蕩,使系統穩定性提高,同時加快系統的動態響應速度,減小調整時間,從而改善系統的動態性能。 本設計中用pid的位置型算法, u(k)=Kp*e(k) +Ki* +Kd*e(k)-e(k-1)3.5、串口通信 該部分主要是為了把實驗設備和計算機通信,將溫度傳入計算機,以實現溫度的實時監控。并聯合matlab繪制時域響應圖。串口子程序(注釋)設計步驟一串口初始化設置。1. 選擇方式二定時器,串口控制寄存器,方式1禁止接受數據。2.

23、 設置時鐘頻率和波特率12MHZ,Band=9600。3. Smod=1,波特率加倍。中斷允許標志2 串口發送,標志位設置。等待中斷3 發送數據,將實時溫度送入計算機。4 查詢發送結束標志位,發送完結束,否則繼續。 將串口子程序嵌入之前調試運行成功的程序中。并用串口通信線將實驗箱和pc機連接起來。 在此過程中遇到的問題及其解決1. 在運行了兩次通信后,matlab命令窗口中顯示數據輸入全為零即通信未能成功,能出現繪圖界面但不能繪圖。檢查線路和重啟電腦,重新運行程序均無法正常進行。甚至連換一根通信線都沒用。結果在下次實驗時間上來重新運行,一切正常。分析可能是上次對試驗箱通電運行時間過長造成試驗箱

24、出現故障。2. 程序出現錯誤,無法正常運行。經過檢查發現一些變量沒有在開頭先定義。3. 命令串口顯示數據傳送正常,但繪圖窗口無法繪圖。經過調整延遲時間,發現可以正常繪圖。4. 遺漏了RXD和TXD管腳的連接。使得通信無法正常運行。 四系統仿真圖與時域響應圖4.1、protuse仿真圖4.2、PID控制參數整定時域響應圖 圖1 Kp=30 ki=0 kd=0 max=75 wen=72 圖2 Kp=50 ki=0 kd=0 max=77 wen=74 圖3 Kp=20 ki=0 kd=0 max=72 wen=70 圖4 Kp=40 ki=0 kd=0 max=76 wen=73 圖5 Kp=3

25、0 ki=0.01 kd=0 max=82 wen=76 圖6 kp=30 ki=0.005 kd=0 max=79 wen=77 圖7 Kp=30 ki=0.005 kd=0.01 max=79 wen=76 圖8 Kp=30 ki=0.005 kd=0.005 max=76 wen=73經過以上的整定調試可知,適當增大kp可以加快上升速度,減少調節時間。但是kp過大會出現一定的超調。而調節ki參數則能夠消除靜差,這點在理論上可以用穩態終值誤差來分析。比例控制是基于偏差來計算的,這樣必然會產生靜差。而比例積分控制則是基于偏差的積分控制,即使偏差輸入為0,控制器輸出依然是最大值,而不是0。在P

26、ID整定調試中的問題:1. 在達到給定附近時出現較大的擾動,出現不平滑階梯狀的曲線。解決:首先減少了延遲時間,讓系統采集數據快些,結果使得曲線較之前更平滑些。由老師指導,通過加入濾波語句(不僅只有平均值濾波)進行程序修改,如if(abs(yk-tt)>30.0) yk=tt 把溫度傳感器的輸出值和時域曲線的上一點進行比較,如果大于30,就將上一點的溫度值給這個點。程序和其他硬件都正常,但是偶爾出現一兩次的響應曲線不如之前的平穩。原因在于負載不一樣,即熱水壺盛的水量不同。經調試整定,最終的響應時序圖的參數指標為上升時間為210us,系統超調量為36.6%,穩態誤差為1.4%。 五. 控制系

27、統設計綜述5.1、溫度控制系統結論 通過該溫度控制系統設計,可以很清楚的了解到PID算法對系統動態跟隨性能和抗干擾性能的改善作用。單純的比例控制不能消除系統的靜差,如果在此基礎上加上積分控制,則系統的超調將會降低很多。而PID 的整定方法也有很多,比如試湊法,臨界阻尼調試法,現場經驗整定發等等。雖然PID能夠改善系統的性能,但是由于溫度的非線性性,和不穩定性,僅憑簡單的PID并不能得到非常滿意的控制效果。 所以,在PID的基礎上還可以加入濾波作用。濾波方式常用的有:平均值濾波,限幅濾波,中值濾波方法等。或者嘗試用bang-bang控制能夠得到準時間最優的控制。5.2、溫度控制系統系統設計心得

28、從第一天上實驗室聽老師講任務要求和設計內容到最后的質疑答辯,兩個星期的課程設計即將結束。一個完整的課程設計下來,自己受益匪淺。無論是實際的操作方面上,還是理論的認識方面上都有了很大的提高。這是一次理論運用于實踐的過程,實踐印證理論的過程。整個設計內容貫穿著大學四年所學的專業知識,較清晰的認知到所學課程之間的聯系和實際應用。從基礎的c語言編寫到計算機技術控制技術以及單片機運用。環環相扣,缺一不可。從課本到實踐,使得很多原本不理解的理論知識得到了形象直觀的解答。當然,在設計中難免遇到各種各樣的困難,需要一步步去解決。 首先是程序的運行調試問題,由于理論基礎相對薄弱,加上對學過的知識稍有遺忘,使得各

29、個模塊的程序設計調試中遇到了很大困難。有時候出現30幾個錯誤,查看后卻發現只是一個子程序的先后位置問題。有的時候一直查找都沒辦法找出是哪句程序有問題,直到同學幫忙檢查才恍然大悟是少了幾個分號。這些問題雖小,卻影響著整個系統的設計。所以在實際的操作設計中需要我們的耐心和細心,否則后果不堪設想,進程也將大大推遲。除此以外,在調試中自己也更熟悉了對keil和protuse軟件的操作以及程序的編寫。彌補了之前學習中不熟悉不熟練的地方。比如串口通信子程序部分,PID部分。其次是硬件的連接問題。這相比較于軟件的調試更令人抓狂。因為程序出現錯誤,調試軟件還會提示出現了幾個錯誤,出現在哪些地方。而硬件問題則無

30、從知曉,即使是程序提示無錯誤,無警告。只能一次次的嘗試或和同學討論分析。再去查找是不是程序的問題,那些軟件系統不會顯示出來的錯誤。再結合硬件一次次調整。往往是,一次次的程序排查,最終運行成功。但是硬件連接后卻不能啟動整個系統。在我的設計中,經常出現的問題是8255接的led燈無法顯示。懷疑是led燈的問題,可是換了試驗箱依然不行,最終發現是程序中高低位未能取反的問題。其中,還出現了功率放大器的三條連接線斷開的情況,必須重新焊接。還有萬用表不能長久的放在插座中測量電壓,很可能造成萬用表失靈。最后就是經過課程設計,從老師那里學到了很多東西,不僅僅只是專業知識上的問題,還有為人處世方面的一個準則。在

31、整個設計中,感覺老師就像萬能鑰匙,哪里不懂,哪里出錯誤,老師都能夠馬上解決,并且提供詳細的理論依據和實際的工程經驗。最開始,老師就要求我們要從溫度傳感器開始調試。控制系統一般從反饋環節開始,只有反饋環節沒問題,整個系統才能正常運行。接著一個個模塊設計調試,這樣才能保證每一個環節都不出錯誤。這個經驗是很重要的。此外,老師教導我們要做生活的有心人,凡事多注意點,就會走在別人的前面,不怕出錯誤,遇到問題要想著怎么解決。要形成查閱資料和分析資料的習慣,遺忘的不懂得問題得去找答案。在這過程中,老師的認真敬職也是值得我學習的。當老師被我們問到她之前沒有遇到的問題或者沒有注意到的問題時,她會馬上記錄下來。經

32、驗就是這樣一點點積累的。還有就是一些做工程中比較好的習慣老師也無保留的傳授給我們。比如:每個設計配一個筆記本,記錄各個參數指標和數據等,記錄一些心得。總之,老師給了我們很大的幫助。不僅是我們學業上的解惑者,也是我們為人處世上的教導者。經過課程設計,也發現了自己很多的不足。不夠有耐心和細心,分析問題比較慢等。課設讓我在實踐和理論上都打下了一個比較好的基礎,這將為我接下來的畢業設計中提供很大的幫助。而我的畢業設計課題是基于組態王的溫度控制,相信經過這次水溫控制系統,面對下次得設計,我能夠做的更好。 6. 參考文獻【1】屈毅,寧鐸,賴展翅,程琪,穆麗寧。溫室溫度控制系統的神經網絡PID控制J. 農業

33、工程學報.2011(02)【2】韓文虹,趙廣。基于模糊PID的工業鍋爐溫度控制系統設計.制造業自動化.2011(08)【3】湯志寶,郭興旺,曾超。基于ARM的溫度控制系統的設計。微計算機信息.2008(02)【4】羅樂,箮賢進。基于遺傳算法的溫度控制系統設計,現代電子技術.2012(18)【5】孟國營, 王曉蕾,李承志。基于遺傳算法的爐膛溫度場重建算法研究,電子測量與儀表學報 .2014(10)溫度控制系統完整程序#include <reg52.h>#include <intrins.h>#include<math.h>#include<absacc.

34、h>#define DAC0832 XBYTE0xA000#define K8255 XBYTE0x8003#define A8255 XBYTE0x8000#define B8255 XBYTE0x8001#define uchar unsigned char#define uint unsigned intsbit DS=P13; /將DS18B20的數字輸入/出端接入單片機P1.3口unsigned char TH,TL;float tt;unsigned char sending;void dsreset(void) /復位子程序 int i; DS=0; i=103; whil

35、e(i>0)i-; /延時 DS=1; i=4; /拉高電平 while(i>0)i-; /延時 bit tmpreadbit(void) /read a bit讀一位 int i; bit dat; DS=0;i+; /i+ for delay i=1 DS=1;i+;i+; dat=DS; i=8; while(i>0)i-; return (dat); /一個位輸出unsigned char tmpread(void) /讀一個字節數 unsigned char i,j,dat; j=0; dat=0; for(i=1;i<=8;i+) j=tmpreadbit(); dat=(j<<7)|(dat>>1); return(dat); void tmpwritebyte(unsigned char dat) /寫一個位 int i; unsigned char j; bit tee; for(j=1;j<=8;j+) tee=dat&0x01; dat=dat>>1; if(tee) /write 1 DS=0; i+;i+; DS=1; i=8;while(i>0)i-; else DS=0; /

溫馨提示

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

評論

0/150

提交評論