版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
摘要鍋爐水位是鍋爐運行時重要的參數過可能會發(fā)生鍋爐干燒現象鍋爐燒壞。水位過高會導致蒸汽帶水過多,蒸汽品質下降,會引起設備腐蝕、水擊,燒壞過熱器管子。本文育鯤輔爐現有設備的基礎上計了一套簡易的鍋爐水位自動控制系統(tǒng),由于育鯤輪通常是在航行時使用廢氣鍋爐泊時使用燃油鍋爐水的控制不需要很精確,所以本系統(tǒng)對燃油鍋爐水位采用單沖量控制。系統(tǒng)由硬件系統(tǒng)和軟件系統(tǒng)兩部分組成。硬件系統(tǒng)和軟件系統(tǒng)都采用模塊化設計系分為若干模塊進行初步設計后各個模塊進行整合過改進最終形成個完善的控制系統(tǒng)真軟件Proteus和程軟件Keil相結合,完成系統(tǒng)硬件設計和軟件編程,程序由語言編寫。硬件系統(tǒng)以單機為核心,包括模擬量采集輸入模塊、單片機最小單元模塊、報警模塊、鍵盤模塊、顯示模塊及端口擴展模塊。軟件系統(tǒng)包括初始化模塊、中斷模塊、數據處理模塊、鍵盤模塊、顯示模塊轉模塊和報警模塊。通過硬件系統(tǒng)和軟件系統(tǒng)相結合,實現具有液位檢測和控制的雙重功能,同時也具有報警和顯示的功能,并能通過鍵盤對參數值進行手動設定。最后,提出了顯示模塊的合理改進方案且在育鯤輪現有的通信網絡基礎上設計了通信模塊系統(tǒng)功能更加完善。關鍵詞:鍋爐液位,單片機,單沖量控制,模塊化ABSTRACTWateranparameteraisThephenomenondistillingwithoutoccurthewatertoolow,theboilerbeburndownfinally.Duetowaterlevel,qualityofsteamwillworse.Whatworse,itmaycauseofequipments,downthesuper-heatercoil.aimsatsimplesetofautomaticofboilerswaterlevelbasedonequipmentsof“YU”Generally,gasboilerinduringsailingboilerininharbor.Thus,ofnotneedtobeveryappliessingletoItiscomposedofparts:Theyallsystemisdividedintoseveralmodularizationfinallyformconcretetogether.ProgrammerKeiluVision3”accomplishedofsoftwareAndsimulate“ProteusaccomplishedofhardwareaccomplishedwithbasedonSTC89C52imitationmodularization,themicrocontrollermodularization,modularization,modularization,displaymodularizationandI/Omodularization.includesmodularization,modularization,datamodularization,modularization,modularizationA/Dtransformmodularization.softwaresystemtoaccomplishfunctionofdetectingtheofdisplayingalarming.Whatsmore,systemparametersdatacanbethroughFinally,suggestionofmodularizationcanbeAndcommunicationisonofthat“YUKUNvesselisapplyinginordertomakeKeywords:Boiler,level,Microcontroller,Singlepulse目錄前1.1課意義.1.2發(fā)狀況.硬系統(tǒng)設...............................................................................................................................22.1系總設....................................................................................................................22.1.1系功能................................................................................................................22.1.2硬系統(tǒng)示意圖....................................................................................................22.2各件塊設................................................................................................................32.2.1模量采集輸入模塊............................................................................................32.2.2單機最小單元模塊............................................................................................52.2.3I/O口擴展模塊2.2.4鍵模塊................................................................................................................92.2.5顯模塊2.2.6報模塊..............................................................................................................122.3硬系總原理.軟系統(tǒng)設.3.1軟系總體設.3.1.1軟程序流程......................................................................................................143.1.2軟程序主函數3.2軟各塊程序設.3.2.1初化模塊..........................................................................................................153.2.2AD轉模塊3.2.3數處理模塊......................................................................................................173.2.4顯模塊..............................................................................................................203.2.5報模塊..............................................................................................................233.2.6鍵模塊..............................................................................................................253.2.7中模塊..............................................................................................................28系功能改進與擴展.4.1顯模改.4.1.1LCD1602液顯示.4.1.2液顯示程序設計4.2通功能擴展..................................................................................................................364.2.1RS-485通..........................................................................................................364.2.2信模塊設計.......................................................................................................36結.............................................................................................................................................37參考文........................................................................................................................................39致謝................................................................................................................................................391前1.1題意義在以內燃機為動力裝置的船上是船舶的重要設備的蒸汽主要用于加熱主、副機所用的燃油,以及供廚房及空調等用汽此具有蒸發(fā)量較小、工作壓力較低、對水位控制質量要求不高的特點。鍋爐水位是鍋爐運行時重要的參數,水位過低可能會發(fā)生鍋爐干燒現象,導致鍋爐燒壞。水位過高會導致蒸汽帶水過多品下降,會引起設備腐蝕、水擊燒壞過熱器管子。當船舶機艙自動化的要求越來越高,鍋爐的自動控制在實現無人機艙中是必不可少的。目前,國內較數船舶的輔鍋爐的自動控制仍由繼電器、接觸器、時間繼電器等組成實各種控功能它們的共同特點是線路復雜可靠性差有容易出現誤動作別觸頭氧化及芯與銜鐵弄臟后的吸力不足械動部件運動不靈活而出現被卡燒壞線圈等故障,給維護過程帶來極大不便,甚至會影響正常營運工作,制設備體積大、數量多、重量重、價格貴。因此應用更先進的控制方法是很有必要的。目前應用較為廣泛的可作為傳統(tǒng)繼電接觸器控制系統(tǒng)的替代產品主要有可編程控制器(PLC)單片機MCU可通過軟件來改變控制過程,而且都具有體積小、組裝靈活、編程簡單抗擾及可靠性高等點。鍋爐自控系統(tǒng)是一個典型的大慣性滯后、多變量的過程控制系統(tǒng)其涉及到壓力度位等多個物理參數檢測與控制,需要同時控制循環(huán)泵、補水泵、加熱裝置自排除故障等。由于模擬輸入量多,需要的硬件電路也多,控制起來不簡單?,F階段,很多廠都是利用PLC對鍋爐進行控制,其自動化程度和可靠性較高,但是成本也很高,而且程修改和參數設置比較困難片為控制核心的智能控制系統(tǒng)由于成本低可性好安性高,到了更多企業(yè)的喜愛
總以片機為核心的控制系統(tǒng)經濟性更高,體積更小,控制更靈活以以模塊化更換來代替維修。單片機控制系統(tǒng)必然會得到更廣泛的應用,在工業(yè)控制現場具有良好的應用前景。本設計以鍋爐液位的自動控制為例現了以單片機為核心的自動控制系統(tǒng)服傳統(tǒng)控制鍋爐液位的缺陷,突顯了單片機控制系統(tǒng)的優(yōu)勢。1.2展狀況鍋爐作為能源轉換和消耗的設備已有兩百多年的歷史了于歷史的原因我國鍋爐自動控制的水平一直都較低爐機控制是近幾年是近年來開發(fā)的新技術是型計算機軟件硬、自動控制、鍋爐節(jié)等幾項技術密結合的產物。工業(yè)鍋爐采用微機控制和原有控制方式相比具有明顯優(yōu)勢夠直觀而集中的顯示鍋爐各運行參數示液位壓力溫度的狀態(tài)。而作為鍋爐控制裝置,其主要任務是保證鍋爐的安全、穩(wěn)定、濟運行,減輕操作人員的勞動強度在采用計算機控制鍋爐控制系統(tǒng)中十分周到的安全機制能夠杜絕由于人為疏忽造成的重大事故。鍋工業(yè)的迅猛發(fā)展是近幾年的事情外鍋爐工業(yè)50年發(fā)展最快,年代到高峰。一直以來,用單片機實現鍋爐的控制是控制領域的一個典型的問題伴隨著控制理論和技術法發(fā)展爐自動化控制水平也在逐漸提高鍋爐的自動控制,經歷了30年的單參數儀表控制40年的組成儀表復合參數儀表控制,以及60年代興起的計算機過程控制幾個階段用單片機實現鍋爐的控制是幾年才發(fā)展起來的是個逐漸深入的過程雖與其他發(fā)達國家相比還存在差距是此方面的進步卻是很大的船舶上應用最的鍋爐自動控制系統(tǒng)基本由國外公司所壟斷內司自主開發(fā)的鍋爐自動控制系統(tǒng)存在許多的缺陷靠性不高括制造工藝和技術等各方面的問題導致船舶鍋爐控制的市場額基本被國外公司所占據此設計具有自主知識產權的高可靠性的船舶鍋爐自動控制系統(tǒng)是很有必要的。2硬系設2.1系統(tǒng)總設計系統(tǒng)能本系統(tǒng)采用單沖量的控制方法來完成對燃油鍋爐水位的控制,確保鍋爐運行的安全性。本系統(tǒng)能夠完成以下功能:能夠顯示鍋爐當前水位值;當水位高于最高水位和低于最低水位時能夠發(fā)出報警,并能夠自動控制供水泵的啟停和燃燒器供油的緊急切斷;能夠通過鍵盤對最高低水位泵啟停水位和燃燒器供油切斷水位進行人工調節(jié)。本系統(tǒng)以STC89C52單機為核,包括模擬量采集輸入模塊、單片機最小單元模塊、端口擴展模塊報模塊、按鍵顯示模塊字輸出模塊。模擬量采集輸入模塊包括液位傳感器、A/D轉換器,將模擬轉換成數字量,再將數據傳給單片機進行處理。單片機單元模塊即單片機最小單元,使單片機能正常工作。串口擴展模塊通過端口擴展芯片8255A完成人機交互的一些功能及顯示模塊由獨立式按鍵鍵盤和3位碼管及相應的驅動電路組成警塊將單片機的控數據通過驅動芯片控制相應發(fā)光二極管電器和報警器的工作,實現對燃油鍋爐各種工作狀態(tài)的監(jiān)視報警。硬件統(tǒng)意硬件系統(tǒng)是由多個子模塊連接而成的,以STC89C52單機為核心,包括模擬量采集輸入模塊、單片機最小單元模塊、報警模塊、鍵盤模塊、顯示模塊及端口擴展模塊。硬件系統(tǒng)示意圖如圖1所:水位監(jiān)測單元
時鐘電路獨立按鍵鍵盤STC89C52單機
報警模塊A/D轉換器
I/O擴
顯示模塊圖1
硬件系統(tǒng)示意圖2.2各硬件塊設計模擬采輸模本模塊采用NRGT26-1S型位監(jiān)測單元來采集爐內水位的電流模擬信號經電流—電壓轉換電路轉換成電壓信號轉換(ADC0804)采集到的電壓信號轉換為數字信號,然后把數字信號經過8255A擴芯片送入單片機進行處理。此模塊原理圖如圖2所圖2
模擬量采集輸入模塊原理圖()位測元NRGT26-1S型水位監(jiān)測單元據電容測量原理監(jiān)測導電性和絕緣的液體液位差。在電極盒內有一個液位變送器,可以產生4-20mA的出電流,不需要額外的轉換設備,特別適合持續(xù)監(jiān)測和遠程指示液位大工作壓/度2bar/238°水檢測單元接線圖和外形示意如3、所:圖
水位監(jiān)測單元接線圖
圖水監(jiān)單元示意圖()流電轉電水位監(jiān)測單元產生的是4-20mA的標準電流模量信號在ADC中行AD轉就要將電流信號轉換成電壓信號。應用運放進行電流測量有兩種方法是利用電流在電阻上的壓電初步設計階段就采用的此方法行壓大二是直接將電流注入運放的求和點用樣的電路,轉換得到的電壓信號可以直接加在運放的輸入端種轉換方式有兩個不妥之處先電阻的加入會破壞電路原來的狀態(tài)來測量上的誤差其次運放的失調電壓也會被運放自己放大,并加到測量的輸出結果上。使用“電-電”轉換電路可以避免上述兩個不足,其電路結構如圖5所:圖
電流-電壓轉換電路輸入電流直接接入運放的求和反輸入端輸出端將通過R1向求點提供同樣大小的電流以達到平衡電路的增益由R1決Uout=IinR該路唯一的誤差來源于偏置電流,偏置電流作為誤差與輸入電流進行了代數疊加。()轉器A/D轉換器的作用是將模擬量信轉換成數字量信號。不同的A/D轉換方式具有各自的特點,在要求轉換速度高的場合,選用并行/轉換;在要求精度高的情況下,可采用雙積分型A/轉換,也可選擇分辨率更高的其他形式的轉換器,但成本會增加。而逐次比較性A/D轉器在一定程度上兼有以上兩種轉換器的優(yōu)點,應用較多ADC0804就是此類單片集成A/轉換器。ADC0804采工20引集成芯片,分辨率為8位,轉換時間為100us,入電壓范圍是0~5V,一個8位A/換器、一個8路模量開關、路擬量地址鎖存/譯碼器和一個三態(tài)數據輸出鎖存器組成A/D轉換器內部含有一個高阻抗斬波穩(wěn)定比較器,一個帶有模擬開關樹組的256電分壓器,以及一個逐次逼近型寄存器路模擬開關由地址鎖存器和譯碼器控制以個通中任意訪問一個通道的模擬信號于路開關的地址輸入部分能夠進行鎖存和譯碼且三態(tài)TTL出也可以鎖存所以它易于與微型計算機接口。內部結構原理[如圖示,引腳圖如圖7示;V
VN
D/A轉REFSTARTEOC
控制邏輯
鎖存緩存器
D7D6D5D4D3D2D1D0N位寄存
OE圖6
內部結構原理圖
圖7引圖單片最單模單片機最小單元是保證單片機能正常的最基本的電路,本文采用STC89C52芯片為核心芯片,采用內部時鐘電路和上電復位電路。本模塊原理圖如圖8所圖8
單片機最小單元模塊原理圖()STC89C52單片整個系統(tǒng)以公生產的89C52為心芯片芯為8051核芯片部含FlashE2PROM存儲,芯片內部程序儲空間為8KB,內部RAM512B,PDIP(雙列直插)式封裝,芯片外觀如圖9所示引腳圖如圖10所示STC89C52單機具有以下優(yōu)點:加密性強抗干擾能力強,高抗靜電,寬電壓、不怕電源抖動,寬溫度范圍-40到80攝氏度c)價格低廉超低功耗速度快,可靠性高圖
STC89C52外觀圖10STC89C52引()晶振器路復電51系單機內部已具有振蕩電路,只要在18(XTAL2)19腳XTAL1)上連接簡單的晶體振蕩器即可的體振蕩器頻率可以選11.0592MHz以準確地得到9600波特率和19200波率,另一個型的晶體振蕩器頻率為2MHz,以產生精確地微秒級延時,方便定時場合。本系統(tǒng)采用的是12MHz晶體振蕩器。晶體振蕩器實物如圖11所:圖1
晶體振蕩器實物圖單片機的復位引腳是第9(引腳連接高電平超過兩個機器周期可生復位的動作。為了保證應用系統(tǒng)可靠地復位,在設計復位電路時通常使RST引保持10ms以上的高電平復電路有上電位和手動復位兩種可以采用上電和按鈕復合復位本系統(tǒng)采用上電復位的形式。I/O端擴模單片機本身的I/O口很有限的當所要連接的外設較多時就要擴展I/O接口擴并行I/O口所用的芯片有可編程(如82558155TTLCMOS鎖存器和緩沖器(如74LS373、74LS573、74LS244等模選擇的并行I/O口展芯片為可編程并行接口芯片8255A和TTL鎖器和緩器。()編并接芯8255A8255A是Intel公生產的通用編程并行I/O接口芯片允許采用同步異步和中斷方式傳送I/O數據8255A內部四部分電路組成。它們是A口B口和C口A組制器和B組控制器數緩沖器及讀寫控邏輯8255A內結構原理圖如圖13所芯引腳圖如圖所示圖28255A引圖圖8255A內結構原理圖8255A共3種作方式:方式0方式方式。本系統(tǒng)是采用的8255A的作方式0,方式0為本輸入輸方式,無需聯絡信號,直接輸入或輸出PA,PB和PC中一端口都可以通過方式控制字設定為輸入或輸出可對8255A進數無條件傳送,外設的I/O數據可以在8255A的端口得到鎖存和緩沖。方式0工作示意圖如圖14所:控制線CB
數據線DB
地址線A
1
A
0B口
C口
A口PB70
30
~PC74
7圖8255A方式0工作意()存和沖74HC57374HC573是進制高電流三態(tài)同步輸出鎖存器,器件的輸入是和標準的CMOS輸出兼容的,當鎖存使能端為高時,這些器件的鎖存對于數據是透明的(也就是說輸出同步存使能變低時,符合建立時間和保持時間的數據會被鎖存。輸出能直接接到CMOS,NMOS和TTL接上;操作電壓范圍:2.0V6.0V;低輸入電流1.0uACMOS器件的高噪音抵抗特性。74HC573引圖如15所,真值表如表1示:圖5引圖表:4HC573真表輸入
輸出OELLLH
LEHHLX
DHLXX
QHLQZ鍵盤塊鍵盤模塊主要完成對參數手動設置的功能。鍵盤在單片機應用系統(tǒng)中能實現單片機輸入數據送令等功能人干預單片機的主要手段盤為編碼鍵盤和非編碼鍵盤盤閉合鍵的識別由專用的硬件編碼器實現并生鍵編碼號或鍵值的為編碼鍵盤計算機鍵盤而靠軟件編程來識別的鍵盤稱為非編碼鍵盤非編碼鍵盤又為獨立鍵盤和矩陣鍵盤需要的按鍵較多時為了減少占用單片機的I/O線源通常用矩陣式鍵盤陣式鍵盤有行線和列線組成鍵位于行與列的交叉點上矩鍵盤能效的提高I/O口利用率本系統(tǒng)在設計方案中為了節(jié)約I/O線資源,采用了矩陣鍵盤設計方法,如圖16所:圖6
矩陣鍵盤設計原理圖在后來不斷改進過程中發(fā)現,有的按鍵功能重疊,經過改進之后功能鍵最終確定為8個,完全可以采用獨立按鍵的設計方法。由于鍵盤的掃描只CPU工作內容之一CPU還要做其他工作,如液晶顯示A/D轉換等,為了保證能及時響應按鍵操作,又不過多的占用CPU的作時間,鍵盤的工作方式選為中斷掃描方式。圖17所為獨立鍵盤中斷方式下與單片機接口電路7個節(jié)能按鍵接單片機P1的P1^0P1^1P1^2P1^3P1^4、P1^5P1^6,進/退出按鍵設鍵接到單片機外部中斷0口P3^2功鍵功能如表2所示:表:功能鍵功能按鍵序號
按鍵名稱HWLP_STOPWLP_STARTWLLWLBOC:+—ENTER/EXIT
按鍵功能最高工作水位供水泵停止水位供水泵啟動水位最低工作水位最低危險水位器止設定值加1設定值減1手動設定/退出鍵圖7
鍵盤模塊原理圖顯示塊顯示模塊的功能是對當前鍋爐液位進行顯示行數手動設置時對調節(jié)參數進行顯示。液位顯示初期設計采用數碼管動態(tài)顯示,范圍從0999選擇的數碼管是7段陰極連接,型號是MPX3-CA。在這里使用到了74LS573它是一個位D觸發(fā)器,在單片機系統(tǒng)中經常使用,可以作地址數據總線擴展的鎖存器,也可以作為普通的LED的動器件。動態(tài)顯示的特點是將所有位數碼管的段選線并聯在一起選線控制是哪一位數碼管有效這一來,就沒有必要每位數碼管配一個鎖存器,從而大大地簡化了硬件電路。選亮數碼管采用動態(tài)掃描顯示動態(tài)掃描顯示即輪流向各位數碼管送出字形碼和相應的位選發(fā)管的余輝和人眼視覺暫留作用的感覺好像各位數碼管同時都在顯[10]。動態(tài)顯示的亮度比靜態(tài)顯示要差一些,所以在選擇限流電阻時應略小于靜態(tài)顯示電路中的。顯示模塊原理圖如圖18所:U7(74HC573)為碼管位選數據鎖存器Q0、Q1、Q2分別接三個數碼管的位選端數碼管段選數據鎖存器Q0~分別數碼管的段選端8255A的C口接選鎖存器的輸入使能端接段選鎖存器的輸入使能端。B口于輸出數碼管的位選段選據。圖8
顯示模塊原理圖報警塊報警模塊的功能是對單片機的控制命令和報警命令進行輸出報功能由發(fā)光二極管和喇叭完成繼器則用于將片機的控制命令進行輸出制外部設備動作報警模塊原理圖如圖19所示各器件功能如表3所:表:警模塊各器件功能序號
器件發(fā)光二極管D1發(fā)光二極管D2發(fā)光二極管D3發(fā)光二極管D4發(fā)光二極管D5發(fā)光二極管D6喇叭SPEAKER繼電器RL1繼電器RL2繼電器RL3
功能高水位報警指示低水位報警指示正常水位指示喇叭報警指示1#供水泵運行指示2#供水泵運行指示聲音報警控制1供泵啟??刂?供泵啟停燃燒器停油LED(發(fā)光二極管積,耗電量低,常作為微計算機與數字電路的輸出設備,用于指示信號狀態(tài)有二極管單向導通的特性加反向電壓時LED不施正向電壓時,LED將光。隨著通過LED正電流的增加LED更亮LED的命也將縮短,因此電流以5~15mA為。系的單片機的I/O口都是漏極開路的輸出,其中P1、與P3內有30k的上拉電阻,因此想I/O口提供10~20mA的流驅動LED發(fā)光比較困難。所以擴展一片ULN2803作驅動。繼電器是當輸入量達到規(guī)定值時被控制的輸出電路導通或斷開的電器際上是用較小的電流去控制較大電流的一種“自動開關本系統(tǒng)中采用的是直流電磁機械繼電器管械繼電器的開關響應時間較長是經能夠滿足本系統(tǒng)對控制響應時間的要求且機械繼電器最大的優(yōu)點是其開關狀態(tài)時理想的阻R10R11用于調整繼電器的驅動電流,二極管、用于在繼電器關斷時為線圈提供感生電流的放電電路。圖9
報警模塊原理圖2.3硬件系總原理以上是對硬件系統(tǒng)以模塊的形式進行的初步設計有各個模塊進行整合過進最終才能形成一個完善的控制系統(tǒng)部分就是將模擬量采集輸入模塊片最小單元模塊、報警模塊盤模塊顯模塊及端口擴展模塊進行了整合,形成了一個完整的硬件系統(tǒng),以在軟件設計部分進行編程。圖0
硬件系統(tǒng)總原理圖3軟系設3.1軟件系總體設軟件序程軟件系統(tǒng)指揮著硬件系統(tǒng)的操作,軟件系統(tǒng)設計的成功與否直接影響著系統(tǒng)性能的優(yōu)劣,本軟件系統(tǒng)的程序設計實施模塊化程分為若干模塊。分別是初始化模塊、中斷模塊、鍵盤模塊、顯示模塊A/D轉換模塊和報警模塊。初始化主要是完成開中,清標志位的任務,接著系統(tǒng)就開始啟動檢測信號,延時等待AD轉完成,接著通過I/O擴展芯片8555A將AD轉換結果讀到單片機中單機中對AD轉的數據進行處理斷刻系統(tǒng)的水位狀態(tài)而行不同位狀態(tài)相對應的報警程序將此時的水位顯示在數碼管上。按鍵設置是通過響應中斷來實現的不對參數設置時不會執(zhí)行鍵盤掃描程序通以上設置,系統(tǒng)就能按要求對鍋爐液位進行控制了。圖21是系統(tǒng)的程序流程圖。開始初始化啟動延時等待轉換完成讀取A/D轉換數據數據處理報警顯示圖21
主程序流程圖軟件序函軟件系統(tǒng)程序主函數C語程序如下:void//序主函數{initial();//用初始化子函數//大循環(huán){write_ad();//調用啟動A/D子數delay(100);//等待AD轉完成AD_8255to89c51();將AD轉結果從255到單片機調用數據處理子函數alarm();//用報警子函數//調用顯示子函數}}3.2軟件各塊程序計初始模()始流初始化是程序編程的第一步始化的目的就是把所有用到的標志位量回到所要設定的初始值,以及完成引腳分配的工作,并為配置寄存器寫入需要的[7]。系統(tǒng)開始后首先要進行初始化,初始化主要是完成開中斷,清志位的任務,本設計采用的中斷是INT0中斷中和定時器T0中斷將初始值送入到寄存器中初始化程序流程圖如圖22所示。開始初始化寄存器賦初始值開中斷INT0INT1圖22
初始化程序流程圖()始C語程初始化模塊具體C語言程序如下voidinitial(){//最高工作水位P_STOP//供水泵停止水位P_STARTWL=244//供水啟動水位LWLA=124//最低作水位BOC=74//最低危險水位flag=0;//系統(tǒng)水位狀態(tài)標志位外部中斷INT0標志位EA=1;//總中斷//INTO中//INT1中//開T0中TMOD=0x01;//設定為作方式,TH0=(65536-50000)/256;//為T0賦值TL0=(65536-50000)%256;//INTO為沿觸發(fā)方式//INT1為沿觸發(fā)方式TR0=0;//止啟動}AD轉換模()AD轉換程啟動A/D轉,延時一段時間等待轉換完成,再讀取轉換結果,將結果經過8255A讀取到單片機中,在單片機中對數據進行處理A/D換模塊的程序流程圖如圖23所。開始啟動AD轉軟件延時啟動取轉換結果存儲數據圖23AD轉程序流程圖()AD轉C語程AD轉模塊具體C語程序如:寫口rd=P3^7;讀口選端voidwrite_ad()//動A/D轉子函數{ad_cs=0;//將AD0804的拉wr=0;delay(1);wr=1;ad_cs=1;//將AD0804的置}//8255片端//8255A0引腳//8255A1引腳uint存儲轉換結果voidAD_8255to89c51()//將AD轉結果從8255傳單片機{//將8255A選CS=0,wr=0;//控制字P0=0x90;將A口設置為工作方式//讀A口delay(5);adnum=P0;//AD結果存儲在中}voiddelayx)//延時程序{}數據理塊()據理程首先,由電容式傳感器對水位進行采樣輸出模擬信號,再經A/D轉變成相應的數字信號,送入80C51單機進行據處理。單片機經運算后,把當前測得的液位值num與設定的液位值依次進行比較:若num≥HWL,則表示達至最高作液位,系統(tǒng)水位狀態(tài)標志位flag=1,動報警器報警;若num≥P_STOPWL,則表示達至水泵停止液位,系統(tǒng)水位狀態(tài)標志位flag=2,水泵停止,水泵工作指示燈不亮;若P_STARTWL<num<P_STOPWL則表示正常液位,系統(tǒng)水位狀態(tài)標志位flag=3,位正常指示燈,呈綠;若BOC<num≤P_STARTWL,則表達供水泵啟動供水,系統(tǒng)水位狀態(tài)標志位flag=4,水泵工作指示燈亮,呈綠色;若num≤LWL,則表示達至最低作液位,系統(tǒng)水位狀態(tài)標志位flag=5,動報警器報警;若num≤BOC,則表示達至最低險液位,系統(tǒng)水位狀態(tài)標志位flag=6,動報警器報警,并切斷燃燒器供油。在本系統(tǒng)中于件所限能定育鯤輔鍋爐內水位監(jiān)測單元傳感器測量桿的具體長度,為了方便計算,假設水位為0mm時應的電流信號是4mA,水位為時對應的電流號是,者之間線性關,統(tǒng)所應用的水位測量范圍大致可定位為50mm~560mm,ADC0804參電選5V則測量精度為560/255≈,整為3mm。數據處理模塊的程序流程圖如圖24所示:開始將轉換數據轉換成對應的水位值≥NO
YES
numP_STOPWL
≥
YES
NOP_STARTWL<num<P_STOPWLNO≤P_STARTWL
YESYES
NO
≤LWLNO
YES≤BOC
YES
圖24()據理C語程
數據處理模塊程序流程圖數據處理模塊具體C語程序如:uint轉數據uintbai1,bai2,shi1,shi2,ge1,ge2;//將數轉換成水位的過程變量uint//最高工作水位uintWL=404//供水泵停止水位uintP_STARTWL=244//供水泵啟動水位uint//最低工作水位uintBOC=74//低危險水位uintflag=0;//統(tǒng)水位狀態(tài)位voidhandle()//數據處理程序{//位對應的電壓值的最高位ge1=adnum%51*10%51*10/51;bai2=(bai1*2)%10;將電壓值轉成對應的水位值shi2=(shi1*2)%10;ge2=(ge1*2)%10;num=bai*100+shi*10+ge;if(num>=HWL)flag=1;flag=2;<num<P_STOPWL)flag=3;if(BOC<num<=P_STARTflag=4;if(num<=LWL)flag=5;if(num<=BOC)flag=6;}顯示塊()顯模流LED顯示器有分靜態(tài)顯示和動態(tài)顯示兩種顯示方式設的LED選用是動態(tài)顯示方式。顯示器中的各位獨立,各位的顯示字符一經確定,相應鎖存器的輸出將維持不變顯示另一個字符為止8]水變化到999mm之變化,將三位數據拆分為百個三位分在三位數碼管上顯示在每次送完段選數據后,在送入為數據之前,需要加上一句P0=0XFF;句句叫“影”[7]在剛送完段選數據后PA口然保持著上次的段選數據,若不加“”執(zhí)行接下來的打開位選鎖存器的命令后,原來保持在PA口的段選數據將立即通過位選按鎖存器直接加在數碼管上,接下來才是再次通過PA口給選鎖存器送入位選數據雖這過程非常短暫但在數碼管高速顯示狀態(tài)下我們仍然可以看見數碼管出現顯示混亂現象,加上消影后,在開啟位選鎖存器后PA口數據全為高電平,所以哪個數碼管也不會亮。顯示模塊的程序流程圖如25所示:開始把要顯示的數字拆分為百、十、個三位數字啟動寫、C口)消影顯示百/十個位圖
顯示模塊程序流程圖()示塊C語程顯示模塊具體C語言序如下:codetable[]={0x39,0x5e,0x79,0x71};//數碼管編碼uintnum;//要顯的數字uint//顯示的數字的百、十、個位voiddisplay(uint//數碼管顯示程序{//將8255A選CS=0,A1A0=11wr=0;//控制字P0=0x90;//將設置為工作模式0且都為輸出bai=num/100;shi=num%100/10;P2=0xf3;//設置為寫C口P0=0x00;//將兩片74HC573的LE引置低//寫B(tài)口P0=0xff;//消影P2=0xf3;//設置為寫C口P0=0x01;//將位選74HC573的LE引置高P0=0x00;//將位選74HC573的LE引置低//寫B(tài)口P0=table[bai];//位顯示P0=0x02;//將段選74HC573的LE引置高P0=0x00;//將段選74HC573的LE引置低P2=0xf3;//設置為寫C口P0=0x01;//將位選74HC573的LE引置高P0=0x00;//將位選74HC573的LE引置低P0=0xfb;//通第一個數碼管的位選端P2=0xf3;//設置為寫C口P0=0x01;//將位選74HC573的LE引置高P0=0x00;//將位選74HC573的LE引置低delay(5);P2=0xf3;//設置為寫C口P0=0x00;//將兩片74HC573的LE引置低//寫B(tài)口P0=0xff;//消影P2=0xf3;//設置為寫C口P0=0x01;//將位選74HC573的LE引置高P0=0x00;//將位選74HC573的LE引置低//寫B(tài)口P0=table[shi];//十顯示P0=0x02;//將段選74HC573的LE引置高P0=0x00;//將段選74HC573的LE引置低P2=0xf3;//設置為寫C口P0=0x01;//將位選74HC573的LE引置高P0=0x00;//將位選74HC573的LE引置低P0=0xfd;//通第二個數碼管的位選端P2=0xf3;//設置為寫C口P0=0x01;//將位選74HC573的LE引置高P0=0x00;//將位選74HC573的LE引置低delay(5);P2=0xf3;//置為寫口P0=0x00;//將兩片74HC573的LE引置低//寫B(tài)口P0=0xff;//消影P2=0xf3;//設置為寫C口P0=0x01;//將位選74HC573的LE引置高P0=0x00;//將位選74HC573的LE引置低//寫B(tài)口個顯示P0=0x02;//將段選74HC573的LE引置高P0=0x00;//將段選74HC573的LE引置低P2=0xf3;//設置為寫C口P0=0x01;//將位選74HC573的LE引置高P0=0x00;//將位選74HC573的LE引置低P0=0xfe;//選通第三個數碼管的位選端P2=0xf3;//設置為寫C口P0=0x01;//將位選74HC573的LE引置高P0=0x00;//將位選74HC573的LE引置低delay(5);}報警塊()報模流單片機對AD轉數據進行處理后了相應的系統(tǒng)水位狀態(tài)標志位flag的flag值對應著不同的報警若系統(tǒng)水位狀態(tài)位flag=1,表達至最高工作液位,啟動報警器報警,供水泵停;若系統(tǒng)水位狀態(tài)位flag=2,示達至供水泵停止液位,供水泵停,水泵工作指示燈不亮;若系統(tǒng)水位狀態(tài)位flag=3,表正常液位,水位正常指示燈,呈色;若系統(tǒng)水位狀態(tài)位flag=4,表達供水泵啟動供水,水泵工作指示燈亮,呈綠色;若系統(tǒng)水位狀態(tài)位flag=5,表達至最低工作液位,啟動報警器報警;若系統(tǒng)水位狀態(tài)位flag=6,示達至最低危險液位,啟動報警器報警,切斷燃燒器供油。報警模塊程序流程圖如圖26所:開始NONONO
YESYESYESYES
報警器報警供水泵停水位正常指示燈亮啟動供水泵NO
YES
報警器報警
YES
NO報警器報警燃燒器停止圖
報警模塊程序流程圖()警塊C語程報警模塊具體C語言序如下://74LS373選端//常水位指示燈void{{//達至最高工作液位,啟動報警器報警,供水停}{P0=0xff;//達至供水泵停止液位,水泵停,水泵工作指示燈不亮}{normalled=0;//正常液位,水位正常指示亮}{P0=0x9f;//表示供水泵啟動供水,水泵工作指示燈亮{P0=0x8d;達至最低工作液位,啟動報警器報警;}}{P0=0x6d;//達至最低危險液位,啟動報警器報警,切斷燃燒器供油}}鍵盤塊()盤塊序程鍵盤模塊主要完成對參數設置的功能。鍵盤的軟件程序設計主要解決斷是否有按鍵按下除按鍵的抖動定鍵鍵值、判斷按鍵是否釋放鍵掃描程由外部中斷INT0觸發(fā)ENTER/EXIT鍵下時開外部中斷INT0響應程序,根據標志位的確定是開始按鍵設置還是退出按鍵設置,當為開始按鍵設置時,計時器開始時,要求在一分鐘之內完成按鍵設置,否則自動關中斷退出按鍵設置回主程序始按鍵設置之后進行鍵盤掃描斷是否有鍵按下,采用延時消抖當鍵松開后確按鍵鍵值定相應標志位的值和執(zhí)行相應程序中斷方式下矩陣鍵盤總體流程圖如圖所示開始計超過1minNO是否有鍵按下?YES消抖按鍵是否釋放?YES判斷按鍵鍵值執(zhí)行相應的按鍵程序
YESNONO
退出按鍵程序圖27()盤塊C語程
鍵盤模塊程序流程圖具體的鍵盤模塊C語言程序如下key1=P1^0;//高工作水位設置按鍵key2=P1^1;//水泵停止水位設置按鍵key3=P1^2;//水泵啟動水位設置按鍵key4=P1^3;//低工作水位設置按鍵key5=P1^4;//燒器停止水位按鍵key6=P1^5;//1鍵key7=P1^6;//1鍵key8=P1^7;//入/退出設置按鍵uintuintshow;void按鍵程序{if(count>=1200){count=0;如果按鍵設置超過一分鐘,則標志位置2}P1=0xff;temp=P1;if(temp!=0xff){delay(5);//時消抖(下降沿)if(temp!=0xff){delay(10);//時消抖(上升沿)switch(temp){0xfe:change=1;show=HWL;display(show);break;changeshow=;display(show);break;changeshow=P_STARTdisplay(show);break;changeshow=LWL;display(show);break;0xef:changeshow=BOC;display(show);break;display(show);switch(change){=show;break;P_START=show;break;LWL=show;break;=show;break;}break;show--;display(show);switch(change){HWL=show;break;P_STOPWL=show;break;P_STARTWL=show;break;LWL=show;break;BOC=show;break;}break;}}}}中斷塊()斷序程本模塊涉及到的中斷有外部中斷INT0和時器中斷T0,INT0在ENTER/EXIT鍵下時被觸發(fā)被發(fā)后立即關中斷以防止受到再次出發(fā)外部中斷INT0的干標志位flag_key加1,判斷標志位的值,如果,明是要進入按鍵設置,此時開定時器中斷T0,調用按程序,要求在一分鐘之內進行完參數手動設置,否則標志位flag_key加1當鍵次被按下時標志位flag_key同樣加1執(zhí)完按鍵程序后,再次判斷標志位flag_key的值,如果,說明仍然是要進入按鍵設置,如果flag_key=2,說明是要退出按鍵設置,導致退出按鍵設置的原因有兩個:一是按下ENTER/EXIT鍵執(zhí)EXIT功能在一分鐘之內未完成按鍵設置統(tǒng)強制退出按鍵設置。退出時開中斷T0,開中斷INT0中斷模塊程序流程圖如圖所:ENTER/EXIT鍵下進入外部中斷INT0關中斷INT0flag_key1NO
YES
開中斷T0NO
YES開中斷開中斷INT0退出中斷INT0
調用按鍵程序圖
中斷模塊程序流程圖()斷C語程具體的中斷語程序如:;//時器T0中{TH0=0xec;//5ms定count++;}voidint0()interrupt0//外中斷INT0{EX=0;//外部中斷0flag_key++;{//部中斷標志為執(zhí)行按鍵程序{TR0=1;//開定時器T0key();}//部中斷標志位退出循環(huán){TR0=0;//關定時器中斷break;}}//開INT0斷}4系功改與展4.1顯示模改進原設計中的水位顯示應用的是三位數碼管進行按鍵設置時能反映出當前顯示的水位為何種水位參數,很容易造成誤操作。因此顯示數字是不夠的只數字和文字相結合才能更有效地、更準確地傳達信息。所以液晶顯示器LCD)是比數碼管更優(yōu)的人機交互設備選擇。液晶示各種型號的液晶通常是按照顯示字符的行數或液晶點陣的行列數來命名的如的意思是每行顯示16個符共可以顯示兩行類的命名還有0801,0802,1601等這類液晶通常都是字符型液晶即能顯示ASCⅡ碼字符如數字大寫字母種號等。12232液晶屬于圖形型液晶,由122行32組成,即共有122x32個點來顯示各種圖形,我們可以通過程序控制122x32個中的任一個點顯示或不顯示。類似的命名還有12864,19264,192128,320240等根據客戶需要,廠家可以設計出任意數組合的點陣液晶。經比較1602已經能滿足本系統(tǒng)要求,所以選擇1來代替數碼管進行顯示。本系統(tǒng)采用的是長沙太陽人電子有限公司生產的LCD1602字符型液晶顯示器如圖29所:圖LCD1602字符液晶顯示器經改進后的顯示模塊原理圖如圖30所示,的引腳1為電地;引腳2為源正;第3引為液晶顯示器對比度調整端,接正電源時對比度最低,接地時對比度最高,通過接一個10K的電位器調整對比引腳為寄器選擇電時選擇數據寄存器,低電平時選擇指令寄存器與8255A的PB0引相連第5引R/W為寫選擇高電平時進行讀操作,低電平時進行寫操作于本模塊只用到了寫操作所此引腳與地相連;第6引為能端,當其由高電平跳變?yōu)榈碗娖綍r,執(zhí)行命令,此引腳8255A的PB1引腳相連;~為數線,與的PC口連。圖30液顯示模塊原理圖液晶示序計換用液晶顯示后但對顯示序進行設計要對主函數盤序等進行修改,次處為了更簡潔明了的說明液晶顯示程序,只對液晶顯示程序和鍵盤程序進行了設計和修改。顯示模塊的程序流程圖如圖31所示:LCD1602始化調用顯示函數把要顯示的int型字轉換成char型拆分為百、十、個三位數字啟動8255A(寫B(tài)、口寫指令寫數據顯示圖顯示模塊具體C語言序如下:
顯示模塊程序流程圖";//要顯示的參數名放在數組table";//要顯示的數據放在數組table1中";//要顯示的數據單位放在組table2中void液晶顯函數{l,m,n;lcd_init();/*液初始化(應主函數中進行液晶初始化,次處僅針對液晶顯示函數)*///示地址設為(00H上第位for(m=0;m<10;m++)//將中數據依寫入LCD1602顯{lcd_writedat(table[m]);delay(10);}//新設定顯示地址為,下排第1for(l=0;l<3;l++){delay(10);}for(n=0;n<2;n++){delay(10);}}voidlcd_init()//LCD的始化函數{//8數據,雙列點陣字符lcd_writecom(0x0c);//啟顯示屏,關光標,光標不閃爍//標右移//屏,光標復位到地址}void//將int轉換成char便顯示{a,b,c,d,e,f;//位=show%100/10;//十位=show%10;//個位=a+48;table1[1]=e;}voidlcd_writecom(ucharcom)1602寫命令數{rs=0;//選擇指令寄存器,寫命令rw=0;////命令字送入P2delay(5);短延時,讓1602準備接收數據//使能端電平變化,命令送入1602的8位據口}voiddat)//1602命令函數{rs=1;//選擇數據寄存器,寫數據rw=0;//P2=dat;把要顯示的數據送入P2delay(5);短延時,讓1602準備接收數據//使能端電平變化,命令送入1602的8位據口}鍵盤程序修改:void按鍵程序{if(count>=1200){count=0;如果按鍵設置超過一分鐘,則標志位置2}P1=0xff;temp=P1;if(temp!=0xff){delay(5);//時消抖(下降沿)if(temp!=0xff){delay(10);//時消抖(上升沿)switch(temp){0xfe:change=1;show=HWL;int_char();table[11]="HWL";display();break;changeshow=int_char();display();break;changeshow=P_STARTint_char();WL";display(show);break;changeshow=LWL;int_char();break;0xef:changeshow=BOC;int_char();break;display(show);switch(change){=show;break;P_START=show;break;LWL=show;break;=show;break;}break;int_char();display();switch(change){HWL=show;break;P_STOPWL=show;break;P_STARTWL=show;break;LWL=show;break;BOC=show;break;}break;}}}}4.2信功能展RS-485通信RS-485是RS-422A的變型:RS-422A用全雙工,而則用于半雙工RS-485是一種多發(fā)送器標準,在通信線路上最多可以使用32對差驅動器接收器。如果在一個網絡中連接的設備超過32個,還以使用中繼器RS-485的號傳輸采用兩線間的電壓來表示邏輯和輯0。由于發(fā)送方要兩根傳輸線,接收方也需要兩根傳輸線。傳輸線采用差動信道,所以它的干擾抑制性極好,又因為它的阻抗低,無接地問題,所以傳輸距離可達1200米傳輸速率可達1MbpsRS-485是點對多點的通信接口,一般采用雙絞線的結構。普通的PC機一不帶RS485接口因此要使用RS-232C/RS-485轉器于片機可以通過芯片MAX485來完TTL/RS-485的平轉換。在計算機和單片機組成的RS-485通系統(tǒng)中,下位機由單片機系統(tǒng)組成,上位機為普通的PC機負責監(jiān)視下位機的運行狀態(tài),并對其狀態(tài)信息進行集中處理文方式顯示下位機的工作狀態(tài)以及工業(yè)現場被控設備的工作狀況。系統(tǒng)中各節(jié)點(包括上位機)的識別是通過設置不同的站地址來實現的。4.2.2通信塊計育鯤輪的監(jiān)測報警系統(tǒng)的上層以太網絡主要由2臺控主機和RS-485/ENET轉換組成。系統(tǒng)參數要傳輸到監(jiān)控主機上就要實現TTL協議與ETHERNET之的轉換,本模塊的功能就是實現單片機與監(jiān)控主機之間的通信,上層以太網絡通信系統(tǒng)示意圖如圖3所示
轉器SWITCHPC2打印機
通口圖上以太網絡通系統(tǒng)示意圖本模塊中的RS-485接電路采的是MAX485芯MAX485是一種差分平衡型低功率收發(fā)收發(fā)器芯片片包含有個驅動器和一個接收器單5V電供電用TTL協議與RS-485協間的轉換,于它是半雙工的方式,只能有一方發(fā)送,一方接收,而且它采用差動電平接收的方法來提高抗干擾能力,適合在比較惡劣的環(huán)境下工作。[5]當RS-485總的傳送距離超過一定長度時抗干擾能力就會下降就需要在芯片的A、
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 跟崗學習心得感悟
- 平臺經濟與產業(yè)鏈
- 我們鄰近的地區(qū)和國家-2023年中考地理總復習試題探究與變式訓練(原卷版)
- 安全知識競賽應用題
- 2024年商業(yè)交換網項目投資申請報告代可行性研究報告
- 2024年檸檬酸甘油二酸酯項目資金需求報告代可行性研究報告
- 2024年LNG工藝包及裝置項目投資申請報告代可行性研究報告
- 強化技術保障作用 鑄牢生產安全基礎
- 幼兒園年終老師工作總結(35篇)
- 勞務勞動合同范本(30篇)
- 外貿跟單員培訓培訓材料
- GB 5009.11-2024食品安全國家標準食品中總砷及無機砷的測定
- 艾滋病防治知識講座培訓課件
- 復方氨基酸注射液在美容醫(yī)學中的應用
- vte機械預防專家共識
- 安全地進行游戲 教學設計
- LY/T 3357-2023定制家居木質部件通用技術要求
- 頸腰椎健康宣教課件
- 文控管理體系標準培訓
- 教案程式與意蘊-中國傳統(tǒng)繪畫(人物畫)《步輦圖》教學設計-高中美術人美版(2019)美術鑒賞
- 交通事故案例分析與教訓總結
評論
0/150
提交評論