




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、 . 永城職業學院畢 業 論 文論文題目:單片機水溫控制系統題 目 單片機水溫控制系統班 級 機電085班專 業 機電一體化技術學生 耿海濤指導教師 艷濤 日 期 2011年5月30日單片機水溫控制系統摘要在現代冶金、石油、化工與電力生產過程中,溫度是極為重要而又普遍的熱工參數之一,在環境惡劣或溫度較高等場合,為了保證生產過程正常安全地進行,提高產品的質量和數量,以與減輕工人的勞動強度、節約能源,要求對加熱爐爐溫進行測、顯示、控制,使之達到工藝標準。如何更快、更準確的控制所需的溫度是溫度控制技術的關鍵。本文介紹的是一個以51單片機為控制核心的水溫控制系統,此系統通過人機交互設定控制溫度,采用增
2、量型PID算法,通過脈寬調制控制電爐加熱,最終實現水溫的恒定。該系統具有溫度超調量小、調節時間短、靜態誤差小、測量精確、恒定溫度與設定溫度偏差小等優點,且控制方便、顯示直觀、性能穩定、可靠性高關鍵詞:溫度控制, MSComm ,串行通信,89S51 單片機,VC,監控系統目錄第一章簡介4第二章硬件系統設計72.1總體硬件設計72.1.1控制系統的總體硬件結構72.1.2 51單片機最小系統板簡介72.1.3 AT89S51性能簡介82.1.4硬件系統各功能模塊設計92.1.5鍵盤與顯示電路102.1.6串口通信接口電路122.1.7可控硅調功控溫電路132.1.8掉電保護電路16第三章單片機與
3、PC通信183.1工作方式193.2 主要屬性193.3 單片機與PC機串口通信軟件設計213.3.1 PC上位機軟件設計213.3.2串口調試中要注意的幾點:22第四章監控軟件的設計與編程實現234.1水溫監控軟件實現的功能234.2軟件開發環境的選擇234.3程序類別介紹:26總結29辭30參考文獻31第一章 簡介與時準確地得到溫度信息并對其進行適時的控制,在許多工業場合中都是重要的環節.水溫的變化影響各種系統的自動運作,例如冶金、機械、食品、化工各類工業中,廣泛使用的各種加熱爐、熱處理爐、反應爐等,對工件的水處理溫度要求嚴格控制。對于不同控制系統,其適宜的水質溫度總是在一個圍。超過這個圍
4、,系統或許會停止運行或遭受破壞,所以我們必須能實時獲取水溫變化。對于,超過適宜圍的溫度能夠報警。同時,我們也希望在適宜溫度圍可以由檢測人員根據實際情況加以改變。單片機對對溫度的控制是工業生產中經常使用的控制方法.自從1976年Intel公司推出第一批單片機以來,80年代單片機技術進入快速發展時期,近年來,隨著大規模集成電路的發展,單片機繼續朝快速、高性能方向發展。單片機主要用于控制,它的應用領域遍與各行各業,大到航天飛機,小至日常生活中的冰箱、彩電,單片機都可以大顯其能。單片機將微處理器、存儲器、定時/計數器、I/O接口電路等集成在一個芯片上的大規模集成電路,本身即是一個小型化的微機系統。單片
5、機技術與傳感與測量技術、信號與系統分析技術、電路設計技術、可編程邏輯應用技術、微機接口技術、數據庫技術以與數據結構、計算機操作系統、匯編語言程序設計、高級語言程序設計、軟件工程、數據網絡通信、數字信號處理、自動控制、誤差分析、儀器儀表結構設計和制造工藝等的結合,使得單片機的應用非常廣泛。同時,單片機具有較強的管理功能。采用單片機對整個測量電路進行管理和控制,使得整個系統智能化、功耗低、使用電子元件較少、部配線少、成本低,制造、安裝、調試與維修方便。隨著電視監視器材、計算機技術的日益發展,圖形監視系統在電視系統或監控場所得到了廣泛地應用。用圖形來實時顯示被控對象(攝像機、終端設備等)在操作過程中
6、的狀態,具有清晰明了、形象直觀且可以與時處理反饋信息。它比數字儀表包含的信息量大得多,因此使現場監控人員的工作方式得到了改進,效率也由此得到了很大的提高。現場電視監控系統由實時控制系統、監視系統與管理信息系統組成。實時控制系統完成實時數據采集處理、存儲、反饋的功能;監視系統完成對各個監控點的全天候的監視,能在多操作控制點上自動或手動切換多路圖像,能遙控前端設備,能使攝像鏡頭自動對焦等;管理信息系統完成各類所需信息的采集、接收、傳輸、加工、處理,是整個系統的控制核心。目前的圖形實時監控軟件通常用VC或VC+開發,它具備編譯各種可視化程序的功能,可以使計算機通過監控界面達到對被控對象的各種實時操控
7、。 因此,我們選擇設計一個簡易的水溫控制系統,采用單片機進行控制的水溫自動控制電路,使系統能簡單的實現溫度的控制與顯示,并將PC 機強大的軟硬件資源、友好的人機界面和AT89S51單片機優秀的實時控制功能、靈活的編程能力有機的結合起來, 并且通過軟件編程能實現各種控制算法,使系統具有控制精度高的特點,對實現對水溫的自動控制,具有重大的現實意義。不但能用于學校的實驗教學與其它一些研究課題的開發,同樣能用于工廠多點溫度的控制,提高工業企業自動化水平。方案選擇與論證1)方案一:本方案是采用傳統的模擬控制方法(方案框圖如圖1-1),選用模擬電路,用電位器設定給定值,采樣放大的信號將反饋的溫度值與給定的
8、溫度值比較后,根據比較結果控制當前溫度顯示,決定加熱或者不加熱。其特點是電路簡單,易于實現,但是系統所得結果的精度不高并且調節動作頻繁,系統靜差大,不穩定。系統受環境的影響大,不能實現復雜的控制算法,而且不易實現對系統的控制與對溫度的顯示,人機交換性能差。數據采集信號放大溫度預置比較器信號放大控制開關圖1-1模擬控制框圖2)方案二:此方案采用單片機對系統進行智能化控制,采用單片機89c51為核心。使用溫度傳感器DS18B20采集溫度變化信號,并通過單片機處理后去控制溫度,使其達到穩定。使用單片機具有編程靈活,控制簡單的優點,使系統能簡單的實現溫度的控制與顯示,并且通過軟件編程能實現各種控制算法
9、使系統還具有控制精度高的特點。此方案不僅具有功能強、體積小、價格低的優點,而且可編程,智能化溫度控制技術的廣泛采用使得系統靈活性大大增加。傳感器采樣A/D8051CPU顯示鍵盤控制電路電爐圖1-2方案二模擬控制框圖通過兩種方案的比較分析,若采用前一種方案,選用模擬電路將反饋的溫度值與給定的溫度值比較決定是否加熱,從輸入采樣到輸出控制的各種誤差產生因素較多,精度難以達到要求,而采用單片機就可充分發揮其優點,將誤差減小到最小,還可以通過監控軟件方便的實現實時控制,而且在試驗過程中,根據試驗數據進行誤差補償和軟件校正,明顯的改善了方案一的不足與缺點,其優點是傳統電路無法比擬的。所以我們選定利用單片機
10、實現溫度控制的第二種方案。第二章 硬件系統設計2.1總體硬件設計2.1.1控制系統的總體硬件結構圖2-1控制系統的總體硬件結構圖控制系統的總體硬件結構圖如圖2-1。本系統采用AT89S52單片機作為下位機,完成水溫檢測與控制。PC機為上位機,與單片機實時通信,實現參數顯示、修改、保存等功能。單片機最小系統2.1.2 51單片機最小系統板簡介51單片機最小系統板是將控制軟件、單片機實驗板、ISP 下載線系統有機組合的套件,可輕松地將編繹好的代碼下載到實驗板上進行驗證或演示,直接用USB 接口5V 電源供電,板上資源:1、8路LED、2、6位數碼管顯示 3、1個蜂鳴器4、4*4鍵盤5、3路5V電源
11、輸入/輸出6、MAX232工業標準RS232串行接口電路。7、并口的ISP下載線電路,可作為ISP編程器用8、ATMEL新型FLASH型單片機AT89S529、所有I/O端口引出,方便用戶擴展,用戶可用萬用板制作擴展模塊2.1.3 AT89S51性能簡介 AT89S51是一種帶4K字節閃爍可編程可擦除只讀存儲器(FPEROMFalsh Programmable and Erasable Read Only Memory)的低電壓,高性能CMOS8位單片機。該器件采用ATMEL高密度非易失存儲器制造技術制造,與工業標準的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲器組合在
12、單個芯片中,ATMEL的AT89C51是一種高效微控制器,為很多嵌入式控制系統提供了一種靈活性高且價廉的方案。因此,本系統使用AT89S51單片機作為微處理器。AT89S51引腳圖如圖2-1。圖2-1AT89C51管腳圖 圖2-2微處理器電路圖它主要具有如下特點:完全兼容51全部字系列產品,4K字節可編程FLASH存儲器,0Hz- 33 KHz全靜態工作,三級程序存儲器鎖定,128*8位部RAM,32條可編程I/O線,兩個16位定時器/計數器,6個中斷源,雙工UART串行通道,看門狗(WDT)電路,片振蕩器和時鐘電路,ISP在線編程功能。AT89S51設計和配置了振蕩頻率可為0Hz并可通過軟件
13、設置省電模式。空閑模式下,CPU暫停工作,而RAM定時計數器,串行口,外中斷系統可繼續工作掉電模式凍結振蕩器,因而可以保存RAM的數據,停止芯片其它功能直至外中斷激活或硬件復位。2.1.4硬件系統各功能模塊設計溫度檢測電路溫度檢測用DS18B20溫度傳感器, DS18B20是Dallas公司推出的單線數字式測溫芯片,它能在現場采集溫度數據,并將溫度數據直接轉換成數字量輸出。采用DS18B20主要在于以下特性:適應電壓圍更寬,電壓圍:3.05.5V,在寄生電源方式下可由數據線供電獨特的單線接口方式,DS18B20在與微處理器連接時僅需要一條口線即可實現微處理器與DS18B20的雙向通訊DS18B
14、20支持多點組網功能,多個DS18B20可以并聯在唯一的三線上,實現組網多點測溫S18B20在使用中不需要任何外圍元件,全部傳感元件與轉換電路集成在形如一只三極管的集成電路溫圍55125,在-10+85時精度為±0.5可編程的分辨率為912位,對應的可分辨溫度分別為0.5、0.25、0.125和0.0625,可實現高精度測溫在9位分辨率時最多在93.75ms把溫度轉換為數字,12位分辨率時最多在750ms把溫度值轉換為數字,速度更快測量結果直接輸出數字溫度信號,以"一線總線"串行傳送給CPU,同時可傳送CRC校驗碼,具有極強的抗干擾糾錯能力負壓特性:電源極性接反時
15、,芯片不會因發熱而燒毀,但不能正常工作。DS18B20部結構主要由4部分組成:64位光刻ROM,溫度傳感器,非揮發的溫度報警觸發器TH和TL,配制寄存器。其部結構圖如圖2-3所示。圖2-3DS18B20的部結構圖圖2-4 DS18B20的管腳排列圖DS18B20中的溫度傳感器可完成對溫度的測量,以12位轉化為例:用16位符號擴展的二進制補碼讀數形式提供,以0.062 5/LSB形式表達,其中S為符號位。溫度檢測控制電路圖見圖2-5。圖2-55溫度檢測控制電路圖2.1.5鍵盤與顯示電路顯示器的掃描方式一般有靜態顯示和動態顯示,對于多位LED數碼顯示器,通常采用動態掃描方法,即逐個地循環地點亮各位
16、顯示器。由于人眼具有視覺殘留效應,雖然在任一時刻只有1位顯示器被點亮,但是看起來與全部顯示器持續點亮的效果基本一樣。圖2-6顯示電路此電路中的LED數碼顯示器是8段共陽極接法,所以顯示0、1、2、3、4、5、6、7、8、9時分別對應編碼C0H、F9H、A4H、B0H、99H、92H、82H、F8H、80H、90H,要顯示小數點時,只需再將相應的編碼的最高位置0。由于LED顯示器的段電流為8mA左右,所以不能由單片機直接驅動,因此接上驅動器74LS245 八雙向總線收發器,而LED顯示器的公共端的驅動電流較大,8段全亮時需約4060mA。因此在單片機與LED的公共端之間接上三極管做為電流驅動器以
17、提高驅動能力。此三極管采用的是PNP型。鍵盤采用非編碼鍵盤結構,目的為了簡化硬件電路,圖2-13表示了此4*4行列式鍵盤的結構示意圖。4*4表示有4根行線和4根列線,在每根行線和列線的交叉點上均勻分布1個單觸點按鍵,共16個按鍵。其中定義09十個數字鍵,小數點,開/關鍵,顯示參數鍵,設定值鍵。圖2-7鍵盤電路2.1.6串口通信接口電路為了提高串行通信的可靠性,增大通信距離,一般采用標準串行接口、RS-232C、RS422A等標準接口來進行串行通信。EIA RS-232C是異步串行通信中應用最廣泛的標準總線,它包括了按位串行傳輸的電氣和機械方面的規定。在微機通信中,通常使用RS-232C接口即P
18、C機的COM口,其引腳定義如圖8所示。圖2-8RS-232C引腳定義圖PC機的COM 口,輸入輸出為RS-232C電平,而51單片機串行口的輸入輸出均為1frL電平。由于TTL電平和RS-232C電平互不兼容,所以兩者接口時,必須進行電平轉換。電平轉換最常用的芯片是傳送線驅動器MC1488和接收器MC1489,其作用除了電平轉換外,還實現正負邏輯電平轉換,如圖2-9和圖2-10所示。圖2-11是單片機與ItS-232標準接口電路。圖2-9MC1488引腳示意圖圖2-10MC1489引腳示意圖圖2-11單片機與ItS-232標準接口電路圖2-12 PC機與單片機通信接口電路2.1.7可控硅調功控
19、溫電路可控硅調功控溫具有不沖擊電網,對用電設備不產生干擾等優點,是一種廣泛應用的控溫方式。調功控溫指的是在給定周期控制可控硅的導通時間,從而改變加熱功率來實現溫度調節,設采取(控制)周期為T,在T 周期工頻交流電的半周波長為N ,如全導通時額定加熱功率為PH,則實際平均加熱功率P與T 周期實際導通的半周波數n成正比,即P=n*PH/N.可控硅調功控溫電路如圖所示: 圖2-12圖中TL494為雙端脈寬調制器,利用其脈寬調制功能構成脈沖形成與脈寬調制電路,其功能框圖與引腳圖如圖2-13所示 圖2-13 TL494功能框圖與引腳圖新型器件MOC3041的使用使調功器電路變得非常簡練,它集光電隔離,過
20、零檢測功能于一身,具有體積小,功耗低,抗干擾能力強,無噪聲等優點,圖2-14 為其構成的可控硅基本驅動電路。IFT16R115TRSAC2過零檢測4CS3RG RL MOC3041RS,CS為吸收電路,并接在功率可控硅的陽極與陰極之間,起保護作用。R11為觸發器輸出限流電阻。RG:晶閘管的門極電阻,防止誤觸發,提高抗干擾能力。掉電檢測與保護電路在工業控制中,掉電事件可能產生嚴重后果,本系統能與時檢測到交流電源下降,在電路動作的滯后時間,將斷點狀態保護在后備電池供電的存儲器,來電后實現斷點補償運行。采用LM311比較器,其引腳功能外形結構如圖2-15所示,它是一種應用較廣泛的集成電壓比較器,具有
21、輸入偏流小,電壓圍寬(從標準的±15V電源到單一的+5V電源均能正常工作)。 圖2-15 LM311引腳功能外形結構整個掉電檢測電路如圖2-19所示,將LM311設為射極輸出方式。以3V為臨界,形成外部中斷的觸發脈沖,將輸入電壓與3V 參考電壓相比較,當輸入VI大于3V 時,輸出為高電平;而當輸入小于3V 時,輸出為低電平。凌陽單片機的B口除具有常規的輸入/輸出功能外,還具有特殊功能,其中IOB2位可為外部中斷源信號的輸入,IOB2位根據輸入的電平來判斷是否發出中斷請求。 圖2-16:掉電檢測電路與其輸出2.1.8掉電保護電路該電路如圖2-17所示,當外部VCC=+5V時,比較器LM
22、393反相端電壓高于正相端,LM393輸出低電平。故原片選信號低電平有效地加到6264的20腳,同時26腳為高電平,6264進行正常的讀寫操作,而當VCC下降到一定程度時,比較器反相端電壓低于正相端時,LM393輸出為高電平。故20腳為高電平,26腳為低電平,此時6264的VCC 由后備3V干電池供電,從而對所存數據進行保護。圖2-17: 掉電保護電路選用HITACHI HM6264B ,其靜態RAM的容量為64K位,6264的引腳圖如下:其中CS1,CS2都為片選信號,WE控制數據的寫入,OE控制信號的輸出,圖2-18 6264引腳圖其部結構圖與控制表如下:圖2-19 6264部結構圖表2-
23、5 6364控制表WECS1CS2OEMODEVCC ,CurrentI/O PINHNOT SELECTED (POWER DOWN)Isb,Isb1HighZLNOT SELECTED (POWER DOWN)Isb,Isb1HighZHLHHOUTPUT DISABLEIccHighZHLHLREADIccDoutLLHHWRITEIccDinLLHLWRITEIccDin第三章 單片機與PC通信在經過了對水溫控制流程的確定后,就要開始控制方案,以實現課題。由于本人主要是做監控軟件的實現,所以本章硬件方面研究了單片機與計算機的通信,以實現參數的傳送,重點是對監控軟件的實現做詳細的說明。水
24、溫控制對實時控制要求比較高,需要時刻關注各個參數的變化,以與隨時可以調節運行過程中設備的運行狀態。作為目前自動化工業中應用較為普遍的一種控制系統,單片機具有優秀的實時控制功能、靈活的編程能力小、價格適宜等特點。因此我們決定在我們的這個課題里使用89C51單片機來實現對整個過程的控制。但是,由于要求能通過計算機來實現運行中對參數的觀察以與控制,這就需要一個可以在PC上顯示出來的人機界面。故決定采用PC單片機這一系統來完成對整個處理過程的控制。采用這一控制系統可以將計算機、單片機與操作人員的人機接口結合在一起,使單片機能利用計算機豐富的軟件資源,而計算機能和單片機的模塊交互存取數據。以PC機為基的
25、控制容易編程和維護用戶的利益,開放的體系結構提供靈活性,最終降低成本和提高生產率。而且使用PC+單片機控制時,即使PC出現了故障,無常工作的時候,單片機仍然能獨立的完成控制任務而不會打斷。串行通信的原理與通信線路連接串行通信基本原理串行通信端口(Serial Communication Port) 在系統控制的疇中一直占據著極其重要的地位,它不僅沒有因為時代的進步而遭淘汰,反而在規格上越來越完善,應用也越來越廣泛。現在,串行通信端口(RS - 232 ) 是計算機上的標準配置,通常有COM1和COM2 兩個端口。在工業應用領域中,RS - 232 串行通信端口的使用相當普遍。串行通信是把數據的
26、每個字節分解為單個的二進制位并依次地傳送,因此在串行通信中只需要一根數據線,比較適合遠距離傳輸。串行通信可分為異步通信和同步通信,異步通信比同步通信簡單,技術上易于實現,適用于數據的隨機發送/ 接收。RS - 232 串行通信端口采用的是全雙工連接的異步串行通信傳輸方式。通信線路連接串口傳輸數據只要有接收數據針腳和發送針腳就能實現:同一個串口的接收腳和發送腳直接用線相連,兩個串口相連或一個串口和多個串口相連。圖3-1通信線路連接PC機的某個串行口通過電纜線與RS232收發器MAX232的2 3 2電平端口三線交叉連接,如圖1所示 MAX232的邏輯電平端口與單片機的串行口相連。PC機RS232
27、的9針連接器的4、6、7、8腳不用連接。PC與單片機通信是采用MSComm 控件通過串行端口傳輸和接收數據,為應用程序提供串行通訊功能。Microsoft Communications Control(簡稱MSComm)是Microsoft公司提供的簡化Windows下串行通信編程的ActiveX控件,它為應用程序提供了通過串行接口收發數據的簡便方法。具體的來說,它提供了兩種處理通信問題的方法:一是事件驅動(Eventdriven)方法,一是查詢法。串行通信控件MSComm32. OCX提供了使用RS - 232 進行數據通信的所有協議,我們可以使用不同的工作方式來處理和解決各類通信軟件的開發
28、設計問題。Visual C+為該控件提供了標準的事件處理函數和過程,并通過屬性和方法提供了串行通信的設置,我們可以通過設置不同的屬性來完成所要求的通信功能。3.1工作方式具體的來說,MSComm控件提供下列兩種處理通訊的方式:事件驅動方式和查詢方式。 1)事件驅動方式事件驅動是處理連接端口通信的一種有效方法,可以利用OnComm 事件捕獲并處理通信中發生的事件和錯誤,通過分別對每個CommEvent 屬性值編程即可完成對各個事件或錯誤的處理,實時性較強。2)查詢方式 可以在每個重要的程序之后查詢MSComm控件某些屬性(如Comnflvent屬性和InBufferCount屬性)的值來檢測事件
29、和通信錯誤。這對小的自含程序可能比較常用。3.2主要屬性MSComm控件有許多重要的屬性其中幾個重要的屬性如下:·CommPort:設置或返回通信端口。程序必須制定所要使用的串行端口,Windows 系統會使用所設置的通信端口與外界進行通信。程序也可借助此屬性返回所使用的連接端口。為1時對應COM1;為2時對應COM2。·Settings:設置或返回波特率、奇偶校驗、數據位和停止位參數。使用RS - 232 通信的雙方,Settings 必須完全一樣,彼此才能順利地通信,否則雙方將無確接收接收到彼此所傳輸地信號。·PortOpen:用于設置或返回通信連接端口的狀態
30、。使用串行端口之前必須先將要使用的串行端口打開,而在使用完畢之后,也必須執行關閉操作。串行通信端口各項功能都是在PortOpen 的True 與False 之間完成的。·Output:將數據寫入發送緩沖區。當程序需要傳輸字符到對方時,可將字符串使用此命令輸入輸出緩沖區中,一般的數據均是在送達輸出緩沖區厚隨即被送出。·Input:讀取或刪除緩沖區中的數據流。·InputLen:設置和返回Input屬性從接收緩沖區中讀取的字節數。·InputMode:設置和返回的類型。該屬性為0時,Input屬性所檢取的數據是文本;為1時,Input屬性所檢取的數據是二進制
31、數據。這個屬性對與單片機的通信尤為重要。本次采用的主要是事件驅動方式,因為這樣更容易使程序響應,可靠性高。在通信之前,先要對端口進行初使化的操作。if(m_MSCOMM.get_PortOpen()m_MSCOMM.put_PortOpen(FALSE);/*判斷端口是否已被打開,如果也打開,則先關閉*/m_MSCOMM.put_CommPort(port);/選擇端口if(!m_MSCOMM.get_PortOpen()m_MSCOMM.put_PortOpen(TRUE);/*判斷選擇端口是否成功,如果未被占用,且可正使用則打開此端口*/else tempst.Format("C
32、OM%d被其它占用",port);MessageBox(tempst);return ;/* 如果打開失敗,顯示失敗消息*/初使化成功用即可使用,向單片機發送數據,只需使用MSComm控件提供的put_Output方法即完成發送任務,由于接收采用事件驅動方式所以只需在MSComm 控件的 OnComm 事件處理函數中加入處理代碼,如下所示。VARIANT variant_inp;COleSafeArray safearray_inp;LONG len,k;BYTE rxdata2048; /設置BYTE數組 An 8-bit integerthat is not signed.CSt
33、ring strtemp;if(m_MSCOMM.get_CommEvent()=2)/*事件值為2表示接收緩沖區有字符*/variant_inp=m_MSCOMM.get_Input();/讀緩沖區safearray_inp=variant_inp;/VARIANT型變量轉換為ColeSafeArray型變量len=safearray_inp.GetOneDimSize();/得到有效數據長度for(k=0;k<len;k+)safearray_inp.GetElement(&k,rxdata+k);/轉換為BYTE型數組for(k=0;k<len;k+)/將數組轉換為C
34、string型變量BYTE bt=*(char*)(rxdata+k); /字符型strtemp.Format("%c",bt); /將字符送入臨時變量strtemp存放m_ReadBuffer+=strtemp; /加入接收緩沖對應字符串3.3 單片機與PC機串口通信軟件設計3.3.1PC上位機軟件設計PC機和單片機在進行通信時,首先分別對各自的串行口進行初始化、確定串行口工作方式、設定波特率、傳輸數據長度等,然后才開始數據傳輸,這些工作是由軟件來完成的,因此對PC機和單片機均需設計相應的通信軟件。本人在本次畢業設計中主要負責的即是PC機上位機軟件的設計。1)實現功能本軟
35、件為串口通信調試軟件,利用鍵盤在PC機中輸入一個數據,然后用鼠標點擊通信命令按鈕,PC機就將此數據發給單片機。單片機收到此數后再原樣發回,PC機收到后顯示窗體上。試驗者可通過肉眼比較發送和接收的兩個數據,檢驗通信是否成功。3.3.2串口調試中要注意的幾點:同編碼機制不能混接,如RS232C不能直接與RS422接口相連,市面上專門的各種轉換器賣,必須通過轉換器才能連接; 路焊接要牢固,不然程序沒問題,卻因為接線問題誤事; 本章小結:在采集系統實現上,采用了性價比較好的89C51單片機為主的采集電路,將更多的任務由軟件實現,這樣可以用更少的端口實現數據外存儲,解決了單片機外擴存儲器線路復雜問題,從
36、而減小了單片機采集電路的體積,實現盡可能的系統最小化,以便于攜帶在信息轉送PC機問題上,采用串口中斷,利用新型轉換芯片MAX232,使得TTL電平到RS-232電平的轉換電路更加簡單實用,單片機采集系統的體積相應減小另外,PC機采用VC編程,VC提供了強大功能的通信控件MSCOMM,該控件可設置串行通信的數據發送和接收,對串口狀態與串口通信的信息格式和協議進行設置為了充分利用高級語言的特點,在PC機中增加人機友好界面,由個人來檢測和控制運行第四章 監控軟件的設計與編程實現在自動化領域,自動化監控系統的發展愈來愈受到人們的重視。隨著微機與單片機技術的不斷發展,采用微機與單片機構成的主從式監控系統
37、越來越多。它既利用了單片機價格低、功能強、抗干擾性能好等優點;又利用了Windows 操作系統的高級用戶界面,操作方便靈活。在工業控制中,這種主從式監控系統通常由上位機PC 機和下位機為單片機的二級系統構成。單片機在操作現場常用于數據數據采集和現場控制,而PC 機則實現數據的處理、顯示以與向單片機下傳一些指令性數據。所以,PC 機與單片機之間快速有效的通信是實時狀態監控的關鍵。4.1水溫監控軟件實現的功能本監控系統是對水溫控制系統的監控,所以力求使它能實現水溫控制系統的基本控制功能,并且能動態的模擬和顯示參數。主要功能包括:1)設計友好的界面,通過軟件的操作可以方便、直觀的控制水溫控制系統。2
38、)從界面能夠反映各個參數的變化趨勢,并且對重要的數據進行保存,以便日后進行數據分析。3)能夠與時了解報警狀態,以便采取相應的故障處理。4.2軟件開發環境的選擇本監控軟件采用Visual C+作為編程語言。它是微軟公司推出的開發Win32環境(Window 95/98/NT)程序,面向對象的可視化集成編程系統。它不僅具有程序框架自動生成,靈活方便的類管理,代碼編寫和界面設計交互操作,可開發多種程序(應用程序,動態庫,ActiveX控件等)等優點,而且通過簡單的設置就可使其生成的程序框架支持數據庫接口、OLE、WinSock網絡、3D控件界面。因此它已經成為開發Win32程序的主要開發工具。使用V
39、isual C+的優點很多,主要優點有:Visual C+面向對象的程序設計方法,數據與處理數據的函數封裝于類中,程序的可維護性好;此外,Visual C+語言通過函數使程序模塊化,并且可以獨立編譯,為結構化程序設計提供了強有力的手段;Visual C+語言與外部設備的接口性好,可以直接利用程序實現外部打印,掃描等功能;Visual C+語言具有強大的數據庫功能,可以比較容易的進行數據庫操作,從而為通過數據庫實現圖形的自動繪制打下了基礎;Visual C+語言具有表達能力強、控制語句豐富、構造復雜數據類型的能力強、書寫整潔、代碼質量高等優點;Visual C+標準庫中豐富的函數與其良好的兼容性
40、,使得Visual C+語言成為功能極強的語言,還配備有70多個圖形庫函數,使利用VC+設計時具有更大的靈活性。綜上所述,最終決定選擇可視化語言Visual C+作為本軟件的開發語言。監控軟件功能簡介實現功能通過串口接受數據;設計一個監控界面,對參數以曲線形式、數字形式顯示和對系統輸入相應命令等。根據測試要求,監控界面可設計成如圖4-1所示的形式。在圖4-1中,監控窗口分成四個部分,第一部分為曲線滾動區,它將測得的參數以曲線的形式滾動顯示出來;第二部分為參數與時間顯示區,將測得的參數值和測量的起止時間以數字的形式顯示出來。第三部分為控制命令輸入區,在本設計中是輸入需測量的時間,需測時間到后系統
41、將自動停止測量,至于在其它的應用場合,可根據系統需要自己定義一些命令。第四部分為圖片顯示區,它可根據用戶的需要,貼人用戶想要在界面中顯示的圖片。下面介紹用VC+ 60的對話框來實現上述監控界面的具體步驟。用visualC+6.0打開temperature.dsw文件并單擊編輯命令,輸入密碼后便進入了監控軟件的主界面統的整個流程,可以讓用戶對水溫控制系統有一個整體、直觀的了解。主界面 圖4-1主界面(1)工藝流程圖區為了清楚方便的演示控制過程,仿照水溫控制系統制作了工藝流程圖區。該區主要有水溫控制器、進水室、污泥室等組成。并能夠演示攪拌曝氣,進水,酸堿中和等過程。(2)按鈕區按啟動按鈕時,PC機
42、向單片機發送指令,啟動整個控制系統。系統開始進入自動控制方式,此時這四個按鈕不能按下。單擊自動按鈕,按鈕由紅色變為綠色的時候進入手動狀態,此時可以自行控制各個步驟的時間。(3)常用參數顯示區參數欄中用數字顯示水溫控制器中各個變量的設定值,并可以動態的顯示開始時間,結束時間。趨勢圖本系統趨勢圖為溫度變化趨勢圖。 趨勢圖的時間軸不斷刷新,因此我們可以觀察一段時間我們水溫變化趨勢,從而指導我們對控制參數的設定。 圖 4-2 溫度變化趨勢圖報警當溫度過高或者過低,系統可能會發生危險,因此我們做了報警系統來監控這幾個參數,監控參數的狀態當出現危急情況時,相應的參數將顯示紅色表示有危險情況。 圖 4-3
43、報警對話框參數設定菜單可以設定溫度控制參數,我們還可以在此設定參數的初始值,并可以使其顯示在常用參數顯示欄中。圖 4-4參數設定菜單設定密碼菜單由于本監控軟件是仿照工業監控,在工業控制中為確保安全,因此進入和退出主界面時都會要求輸入密碼。此菜單可以進行密碼的設定和修改。圖 4-5 設定密碼菜單4.3程序類別介紹:AppWizard為“Temperature”程序生成了五個類,這些類名都是基于應用程序的名而產生的:C Temperature App:應用程序類。CMainFrame:主框架窗口類C Temperature Doc:文檔類C Temperature View:視圖類CAboutDl
44、g:版本信息對話框文件類型介紹:.cpp是源程序代碼C+文件 .h是包含函數聲明和變量定義的頭文件.rc是定義資源的資源腳本文件.dsp是工程文件,記錄當前工程的有關信息.dsw是工作區文件,一個工作區可能包含一個或多個工程與單片機數據的實時交換由于控制系統工作繁重很可能會導致控制界面的嚴重延時,因此我們要創建線程,讓操作系統已輪轉的方式為每個線程提供時間片,即一個線程執行一段時間,系統在調度另一線程執行,依次循環。這樣就可以避免延時現象。下面是本系統線程的部分代碼:1.線程的創建if(plccomflag)m_tThread=AfxBeginThread(ThreadComm,NULL);/
45、如果沒有無線程時,創建一個線程,線程的容在ThreadComm函數中2.線程的結束HANDLE hThread=pDoc->m_tThread->m_hThread;:WaitForSingleObject(hThread,INFINITE);主界面的開發位圖的顯示有兩種途徑,一種是首先把位圖裝入程序的資源庫中,然后用LoadBitmap函數就可以顯示位圖。另外一種不把位圖裝入資源庫中,通過繪圖函數動態將位圖顯示在視窗中。4.4位圖的代碼實現:m_Bitmap.LoadBitmap(IDB_BITMAP1);/裝載位圖的ID= IDB_BITMAP1m_Bitmap.GetObject(sizeof(BM),&BM);m_BitmapHight=BM.bmHeight;/位圖的高m_BitmapWidth=BM.bmWidth;/位圖的寬CDC MemDC; /畫圖設備的定義MemDC.CreateCompatibleDC(NULL);/創建該設備oldbitmap=MemDC.SelectObject(&
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 六一活動憶童年活動方案
- 六一活動游街活動方案
- 六一活動踢球活動方案
- 六一游園手工活動方案
- 六一玩具團隊活動方案
- 六一結對活動方案
- 六一節團委活動方案
- 六一節景區活動方案
- 六一葵花義賣活動方案
- 醫生的考試試題及答案
- 2022年長春中醫藥大學輔導員招聘考試筆試試題及答案解析
- 企業家刑事法律風險及其防范(課件)
- 實用文檔2021近四年小米公司財務報表分析
- 部編版小學道德與法治三年級下冊期末質量檢測試卷【含答案】5套
- 立式圓筒形儲罐罐底真空試驗記錄
- 小學生勞動教育評價細則
- 民法典案例解讀PPT
- 質 量 管 理 體 系 認 證審核報告(模板)
- 腫瘤科新護士入科培訓和護理常規
- 第4章 頜位(雙語)
- 塔吊負荷試驗方案
評論
0/150
提交評論