版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、單片機控制的水箱液位檢測裝置摘要本設(shè)計是由單片機控制的水箱液位檢測裝置,可以對水箱液位進(jìn)行檢測與顯示。本文介紹了8051單片機、MPX10DP差壓傳感器、模數(shù)轉(zhuǎn)換芯片ADC0804的整體功能,并且完成了硬件電路的設(shè)計。硬件部分利用差壓傳感器MPX10DP對被測水箱中的液位信息進(jìn)行采集,將采集到的壓力信號轉(zhuǎn)換成微弱的電壓信號,再對此電壓信號進(jìn)行調(diào)零、放大處理后送入模數(shù)轉(zhuǎn)換模塊ADC0804進(jìn)行信號轉(zhuǎn)換,將轉(zhuǎn)換后得到的數(shù)字信號送入8051單片機進(jìn)行數(shù)據(jù)處理,由單片機把處理完成的數(shù)據(jù)送到數(shù)碼管中進(jìn)行顯示,這樣就完成了對水箱的液位檢測。本設(shè)計中的液位檢測裝置達(dá)到了設(shè)計要求,可以對水箱液位進(jìn)行檢測。利用
2、本設(shè)計方法構(gòu)成的檢測裝置性能穩(wěn)定并且操作方便,克服了傳統(tǒng)人工水位檢測耗時耗力、檢測結(jié)果誤差大的缺點,滿足現(xiàn)代工業(yè)對液位檢測的要求,可以廣泛應(yīng)用在民用或工業(yè)中。關(guān)鍵詞:MPX10DP;8051;ADC0804;液位檢測Single-chip Microcomputer Control of Tank Liquid Level Detection DeviceABSTRACTThis design is a tank liquid level detection device controlled by single-chip microcomputer. This design can dete
3、ct and display the water tank liquid level.8051 single-chip microcomputer plays an important role in this paper,including MPX10DP pressure difference transducer,and ADC0804 chip, in addition,this paper completed the design of hardware circuit as well.Hardware part make use of MPX10DP to gather liqui
4、d level information of the water tank under test,and then convert this pressure signal into voltage signal.After putting the voltage signal into zero and amplify,log on this signal into ADC0804 to have a transform.Finally, 8051 single-chip microcomputer deal with the figure signal and then put it in
5、to nixie tube to display data analysis.This system completes the water tank liquid level detection.This design of water tank liquid level detection device reached the design requires,can carry out on tank liquid level.A device using this method to detect tank liquid level not only have a stable perf
6、ormance but also easy to use,it has overcomed traditional manual water level detection time-consuming and the accuracy of the results.Device like this satisfies modern industry requires and can be widely used in civil or industrial.Keywords: MPX10DP;8051;ADC0804;Liquid level detection目錄1引言1 1.1水位檢測系
7、統(tǒng)的發(fā)展?fàn)顩r1 1.2本課題主要研究內(nèi)容及方法1 2系統(tǒng)硬件設(shè)計2 2.1系統(tǒng)硬件功能整體概述2 2.2核心芯片選擇2 8051單片機2 差壓傳感器MPX10DP3 A/D轉(zhuǎn)換芯片ADC08044 2.3信號檢測與放大電路設(shè)計5 2.4A/D轉(zhuǎn)換電路6 2.5顯示電路的設(shè)計8 2.6單片機外圍電路設(shè)計8 2.6.1單片機的復(fù)位電路9 2.6.2單片機的時鐘電路9 2.7+5V穩(wěn)壓電源的設(shè)計10 3系統(tǒng)軟件設(shè)計11 3.1軟件功能概述11 3.2主程序設(shè)計11 3.3延時程序設(shè)計13 3.4顯示程序設(shè)計13 3.5中斷程序設(shè)計14 4結(jié)論16 參考文獻(xiàn)17 致謝18 附錄191引言1.1水位檢測
8、系統(tǒng)的發(fā)展?fàn)顩r 在人類的生活環(huán)境中,液位檢測貫徹在生產(chǎn)與生活的始終?,F(xiàn)代液位檢測技術(shù)飛速發(fā)展,在工業(yè)領(lǐng)域中有著舉足輕重的地位,尤其是在類似石油化工行業(yè)中?,F(xiàn)代液位檢測系統(tǒng)的發(fā)展基于電子技術(shù)、傳感技術(shù)、以及計算機技術(shù)在當(dāng)今社會中的快速發(fā)展。傳統(tǒng)的水位監(jiān)測控制是人為控制。這樣的控制方式不僅耗費人力物力,并且工作效率和測量值的準(zhǔn)確度較低,無法適應(yīng)現(xiàn)代水位監(jiān)測的需求。而單片機液位檢測系統(tǒng)控制精度高,性能穩(wěn)定可靠,人為操作方便并且造價低,把單片機的這些特點應(yīng)用到液位檢測系統(tǒng)中可以加強人機交互能力,使系統(tǒng)的可靠性得到提高1。本設(shè)計采用差壓傳感器MPX10DP在不同液位下檢測到的壓力信號不同這一特點,將壓力
9、信號進(jìn)一步轉(zhuǎn)化為電壓信號,經(jīng)由調(diào)零放大、A/D轉(zhuǎn)換等步驟,送入單片機進(jìn)行處理,對水位檢測進(jìn)行高精度的自動化控制,避免了在現(xiàn)場進(jìn)行人工的檢測操作。這樣不僅使人們更容易獲得液位信息,并且控制方便,系統(tǒng)穩(wěn)定性能好。單片機不僅有體積小、安裝方便、功能較齊全等優(yōu)點,而且有很高的性價比,同時還可以在單片機控制系統(tǒng)中加入數(shù)字顯示模塊,使得系統(tǒng)具有很強的可視性,更加適用于在工業(yè)生產(chǎn)中的應(yīng)用1。另外,單片機的應(yīng)用有助于發(fā)現(xiàn)可能存在的故障,通過微機實現(xiàn)液位檢測系統(tǒng)的自動控制與調(diào)節(jié),保證設(shè)備工作在安全經(jīng)濟的運行狀態(tài)。本文是采用8051單片機為核心芯片的水箱液位檢測裝置,在實際的生產(chǎn)中得到了廣泛的應(yīng)用。1.2本課題主
10、要研究內(nèi)容及方法本設(shè)計以8051單片機為核心芯片,并且利用其與相關(guān)硬件的連接來實現(xiàn)水位的檢測控制系統(tǒng)。在用差壓傳感器MPX10DP測量液位的基礎(chǔ)上,使 CPU循環(huán)檢測傳感器的輸出狀態(tài),并用七段LED數(shù)碼管顯示出液位值。另外,還可以利用此基本原理對水箱的液位進(jìn)行控制。通過輸入給定值,將所測得的數(shù)據(jù)與給定值進(jìn)行比較,進(jìn)而根據(jù)比較結(jié)果控制水箱的進(jìn)出水操作。還可以裝設(shè)報警裝置,在水箱中的液位過高或過低時實現(xiàn)自動報警,進(jìn)而實現(xiàn)對液位的自動控制。經(jīng)過對本課題的反復(fù)研究以及對相關(guān)資料的分析,在對液位檢測技術(shù)以及液位檢測系統(tǒng)現(xiàn)狀綜合認(rèn)識的基礎(chǔ)上,決定采用8051作為核心處理器來完成設(shè)計。本設(shè)計主要完成以下工作
11、:基于8051的液位檢測設(shè)計方案。差壓傳感器的壓力檢測與轉(zhuǎn)換。對微弱電壓信號的放大,以及對電路的調(diào)理。A/D轉(zhuǎn)換芯片、顯示芯片與單片機的接口電路設(shè)計。軟件設(shè)計,完成對主要程序模塊的設(shè)計。2系統(tǒng)硬件設(shè)計2.1系統(tǒng)硬件功能整體概述本系統(tǒng)主要實現(xiàn)對水箱液位的檢測與顯示。主要依據(jù)硬件與軟件的相互協(xié)調(diào)工作來完成系統(tǒng)功能。其中,硬件部分對傳感器信號進(jìn)行采集與處理,并且在數(shù)碼管中顯示液位信息;軟件部分支撐硬件,對采集的液位信息進(jìn)行處理及顯示。本系統(tǒng)最終擬定以8051作為核心控制芯片,主要利用壓差傳感器、ADC0804轉(zhuǎn)換芯片和七段數(shù)碼管來實現(xiàn)對水箱液位的檢測和顯示。采用壓敏元件成X型的差壓傳感器將水箱液位的
12、壓力信號轉(zhuǎn)換為微弱的電壓信號,經(jīng)過放大、調(diào)零處理后由8位逐次逼近型A/D轉(zhuǎn)換器件ADC0804對該電壓信號進(jìn)行模數(shù)轉(zhuǎn)換,進(jìn)而可以把轉(zhuǎn)換結(jié)果,即水箱液位信息傳送到單片機8051芯片中進(jìn)行數(shù)據(jù)處理。經(jīng)由單片機轉(zhuǎn)換過的數(shù)據(jù)再進(jìn)一步傳送到七段數(shù)碼管中進(jìn)行液位值的顯示。系統(tǒng)框圖如圖2-1所示。圖2-1系統(tǒng)框圖信號采集信號處理模/數(shù)轉(zhuǎn)換數(shù)據(jù)處理液位顯示 2.2核心芯片選擇2.2.18051單片機單片機是一個單芯片的微型計算機。單片機的優(yōu)勢在于實時控制能力強,并且可靠性高。本系統(tǒng)中采用的8051單片機就是由CPU系統(tǒng)部分,存儲器系統(tǒng)部分以及I/O口和其他功能單元部分組成的2。8051的主要特性·與
13、MCS-51 兼容·4K字節(jié)可編程閃爍存儲器 ·壽命:1000寫/擦循環(huán)·數(shù)據(jù)保留時間:10年·全靜態(tài)工作:0Hz-24MHz·三級程序存儲器鎖定·128*8位內(nèi)部RAM·32可編程I/O線 ·兩個16位定時器/計數(shù)器·5個中斷源·可編程串行通道·低功耗的閑置和掉電模式·片內(nèi)振蕩器和時鐘電路8051引腳如圖2-2所示。圖2-2 8051引腳圖電源及時鐘引腳·Vcc:電源接入引腳·Vss:接地引腳·XTAL1:晶體振蕩器接入引腳,在采用外部振蕩器時
14、,該引腳接地。·XTAL2:與XTAL2同為晶體振蕩器接入引腳,不同的是當(dāng)采用外部振蕩器時,該引腳作為外部振蕩信號的接入引腳??刂凭€引腳·RST/VPD:復(fù)位信號輸入引腳/備用電源輸入引腳·/ALE:編程脈沖輸入引腳/地址鎖存允許信號輸出引腳·/VPP:內(nèi)外存儲器選擇引腳/片內(nèi)EPROM編程電壓輸入引腳·:外部程序存儲器選通信號輸出引腳并行I/O引腳·P0口:一般I/O口引腳或數(shù)據(jù)/低位地址總線復(fù)用引腳·P1口:一般I/O口引腳·P2口:一般I/O口引腳或高位地址總線引腳·P3口:一般I/O口引腳或第二功
15、能引腳2.2.2差壓傳感器MPX10DP差壓傳感器在本設(shè)計中起到了對信號進(jìn)行采集的作用。它將水箱液位中的壓力信息在器件內(nèi)部利用某種特定的規(guī)律轉(zhuǎn)為電壓信號,便于信號的測量與處理。本設(shè)計中采用的MPX10DP傳感器是雙端口差壓無補償硅壓阻式傳感器3。與傳統(tǒng)的硅壓阻式傳感器不同的地方在于:硅壓阻式傳感器采用惠斯登電橋,容易引起測量誤差,不好進(jìn)行調(diào)整;而MPX10DP采用的不是電橋結(jié)構(gòu),是一個獨立的X型電阻元件,可以很好地克服傳統(tǒng)硅壓阻式傳感器的缺點,并且線性度好,能夠很好的應(yīng)用到系統(tǒng)中10。MPX10DP在25時的工作參數(shù)如表2-1所示。表2-1 MPX10DP工作參數(shù)表特點符號最小值典型值最大值單
16、位差壓范圍POP0-10Kpa電源電壓Vs-3.06.0Vdc電源電流Io-6.0-mAdc滿量程輸出VFss203550mV零位輸出Voff02035mV靈敏度V/P-3.5-mV/Kpa線性度-1.0-1.0%VFss壓力遲滯-0.1-%VFss溫度遲滯-0.5-%VFss輸入阻抗Zin400-550輸出阻抗Zout750-1250響應(yīng)時間tR-1.0-Ms2.2.3A/D轉(zhuǎn)換芯片ADC0804A/D轉(zhuǎn)換芯片的主要任務(wù)是進(jìn)行模數(shù)轉(zhuǎn)換,就是把模擬信號轉(zhuǎn)換成為數(shù)字信號。其中,A/D轉(zhuǎn)換芯片主要有積分型、逐次逼近型、并行比較型/串并行型、-調(diào)制型、電容陣列逐次比較型及壓頻變換型4。該系統(tǒng)中選用逐
17、次逼近型的ADC0804芯片。ADC0804引腳如圖2-3所示。圖2-3 ADC0804引腳圖ADC0804的分辨率為8位, 總誤差為±1LSB,轉(zhuǎn)換時間100s , 單一電源5VDC, 基準(zhǔn)電壓5V或2.5V,也可接可調(diào)模擬電壓。·:片選信號。低電平有效,高電平時芯片不工作。·:外部讀數(shù)據(jù)控制信號。此信號低電平時ADC0804把轉(zhuǎn)換完成的數(shù)據(jù)加載到DB口。·:外部寫數(shù)據(jù)控制信號。此信號的上升沿可以啟動ADC0804的A/D轉(zhuǎn)換過程。·CLK IN:時鐘輸入引腳。ADC0804使用RC振蕩器作為A/D時鐘,CLK IN是振動 的輸入端。
18、3;轉(zhuǎn)換結(jié)束輸出信號。ADC0804完成一次A/D轉(zhuǎn)換后,此引腳輸出一個低脈沖。對單片機可以稱為中斷觸發(fā)信號。·Vin(+):輸入信號電壓的正極。·Vin(-):輸入信號電壓的負(fù)極??梢赃B接到電源地。·AGND:模擬電源的地線。·Vref/2:參考電源輸入端。參考電源取輸入信號電壓的二分之一。例如輸入信號電壓是0V5V時,參考電源取2.5V;輸入信號電壓是0V4V時,參考電源取2.0V。·DGND:數(shù)字電源的地線。·DB7DB0:數(shù)字信號輸出口,連接單片機的數(shù)據(jù)總線。·CLK R:時鐘輸入端。·VCC:5V電源引腳
19、。2.3信號檢測與放大電路設(shè)計本設(shè)計中所用的MPX10DP差壓傳感器的輸出為微弱的電壓或電流信號,輸出的電壓信號是毫伏級的。顯然這樣的信號不能直接被單片機接收,必須經(jīng)過放大電路進(jìn)行信號放大,然后再經(jīng)過A/D轉(zhuǎn)換才能輸入到單片機中。在設(shè)計信號放大電路時,首先要考慮到的一個問題就是壓力傳感器存在零位輸出,即在液位為零時,傳感器輸出電壓一般不為零,而為一個電壓信號。為了得到準(zhǔn)確的液位值,必須對信號進(jìn)行處理。為了消除這部分的影響,可以采用軟件調(diào)零和硬件調(diào)零兩種方法。本設(shè)計采用的是硬件調(diào)零,在電路設(shè)計上采用高輸入電阻的差分比例運算放大電路。如圖2-4所示。由表2-1可知,對于MPX10DP型傳感器,其靈
20、敏度為3.5mv/kpa,再根據(jù)P=gh(是水的密度1.0×103/m3 ,g是重力加速度9.8N/kg ,h 是液位高度,單位是米)計算可知,被測水箱液位每增加1cm傳感器的輸出電壓增加0.35mv。而ADC0804是八位A/D轉(zhuǎn)換器,即每輸入約19.6mv(5v/255)模擬量,轉(zhuǎn)換后數(shù)字量加1(十進(jìn)制)。所以要使被測水箱液位每增加1cm,通過A/D轉(zhuǎn)換數(shù)字量增加1,就需要使用放大電路實現(xiàn)信號放大。如圖2-4中所示的用兩級電路實現(xiàn)差分比例運算。MPX10DP圖2-4 信號檢測與放大電路在圖2-4中,第一級為同相比例電路,其前部分為調(diào)零電路5,該部分的電壓輸出做為第一級電路的同相輸
21、入端輸入,經(jīng)放大器OPA1輸出電壓為U01 =(1+R5/R4) UI1。第二級電路為差分電路,利用疊加原理,輸出電壓為U0=(-R7/R6)U01+(1+R7/R6)UI2,當(dāng)R4=R7,R5=R6時,輸出電壓為U0=(1+R7/R6)(UI2-UI1) (其中 UI1 和UI2 分別為兩級放大器的同相輸入端輸入,UI2為傳感器所采集的電壓信號)。從電路的組成可以看出,無論對于UI2還是UI1均可認(rèn)為輸入電阻為無窮大,本次設(shè)計取R3=R5=R6=R8=10K,R4=R7=550K,此電路的放大倍數(shù)為:R7/R6=550/10=55。根據(jù)性能指標(biāo),知道MPX10DP型壓力傳感器的零位輸出典型值
22、為20mV,最大值是35mV.用兩個電阻和一個滑動變阻器對+5V電壓進(jìn)行分壓,以得到20mV35mV電壓,作為零位輸出補償,接入端UI1電壓范圍為:5R2/(R0+R1+R2)< UI1 <5(R1+R2)/(R0+R1+R2),據(jù)該計算式就可以得到期望的補償電壓值。必須說明一點,R0和R2應(yīng)該選擇合適的阻值,使得滑動端滑動時所得電壓在20mV35mV范圍內(nèi)變化,通過計算取R2=15,R1=35,R0=4950,便于調(diào)零操作。2.4A/D轉(zhuǎn)換電路微型計算機處理的數(shù)據(jù)只能是數(shù)字量,所以數(shù)據(jù)在進(jìn)入計算機之前,必須經(jīng)過A/D轉(zhuǎn)換器把模擬量轉(zhuǎn)換成數(shù)字量6。本設(shè)計中的A/D轉(zhuǎn)換電路如圖2-5
23、所示。圖2-5 A/D轉(zhuǎn)換電路把8051的P0口作為雙向的通用I/O口與ADC0804的數(shù)字信號輸出口的DB口相連,此時單片機中的P0口用作接口電路的數(shù)據(jù)總線。這一系列連線的目的是把經(jīng)過A/D轉(zhuǎn)換的數(shù)據(jù)輸入到單片機中,并且存放到累加器中。ADC0804的片選信號/CS與8051的P2.0口相連,有地址選中的作用。在CS處于低電平時,ADC0804芯片工作。ADC0804的外部讀控制信號/RD與8051的/RD連接。這里單片機中的/RD引腳作為8051中P3.7口的第二功能使用:片外數(shù)據(jù)存儲器“讀”選通控制信號。當(dāng)CS=0,RD=0時,讀出A/D轉(zhuǎn)換結(jié)果。ADC0804的外部寫數(shù)據(jù)控制信號/WR
24、與8051的/WR相連接。這里單片機的/WR引腳功能與/RD類似,應(yīng)用了單片機中P3口的第二引腳功能。這里P3.6口作為片外數(shù)據(jù)存儲器“寫”選通控制信號。即當(dāng)CS=0,WR=0時,啟動A/D轉(zhuǎn)換。ADC0804的轉(zhuǎn)換結(jié)束輸出信號/INTR與8051中的外部中斷/INT0連接。在ADC0804進(jìn)行完一次A/D轉(zhuǎn)換時,INTR就會輸出一個低電平信號到8051的INT0即外部中斷0引腳,INT0隨即對單片機提出中斷申請。對ADC0804本身來說,兩個時鐘信號CLK R與CLK IN之間利用串聯(lián)電容與電阻的手段構(gòu)成RC振蕩電路,作為A/D轉(zhuǎn)換進(jìn)行的時鐘信號。另外,數(shù)字電源與模擬電源的接地線分別接地。V
25、in(+)與Vin(-)作為輸入信號的正極連接到放大電路的輸出信號端,負(fù)極接地。2.5顯示電路的設(shè)計這部分設(shè)計主要完成的功能是通過數(shù)碼管顯示當(dāng)前檢測值,本設(shè)計采用共陽極七段數(shù)碼管作為顯示器件。圖2-6顯示電路 8051的P1.0P1.7口作為通用的8位雙向I/O端口通過與74LS273中D1D8口的分別連接向74LS273中輸入數(shù)據(jù),再由74LS273中的Q1Q8與各顯示器的數(shù)據(jù)總線連接,從而使得數(shù)據(jù)送進(jìn)顯示器。這些數(shù)據(jù)是單片機通過對ADC0804進(jìn)行外部讀指令得出初步液位信息,再經(jīng)由單片機內(nèi)部對數(shù)據(jù)進(jìn)行處理與控制得到的。單片機的P3.0口和P3.1口分別與兩個PNP三極管相連,在分別連接到數(shù)
26、碼管的位選通端。這樣,就可以通過單片機對P3.0和P3.1口的控制來實現(xiàn)對數(shù)碼管現(xiàn)實與關(guān)閉的選擇。例如,在P3.0輸出低電平時,T1截止,數(shù)碼管DPY1不顯示數(shù)據(jù);在P3.0輸出高電平時,T1導(dǎo)通,電源電壓加到數(shù)碼管DYP1上,DYP1則對數(shù)據(jù)進(jìn)行相應(yīng)的顯示。 2.6單片機外圍電路的設(shè)計要使單片機正常工作,只有其與主要硬件的連接電路是遠(yuǎn)遠(yuǎn)不夠的,還要有外圍電路的設(shè)計。在本系統(tǒng)中單片機的外圍電路有:復(fù)位電路、時鐘電路還有穩(wěn)壓電源電路。2.6.1單片機的復(fù)位電路不論是哪個系列的單片機,在實際應(yīng)用的過程中都要考慮到復(fù)位電路的設(shè)計。一般的復(fù)位電路有兩種:上電復(fù)位電路和上電和按鍵都有效的復(fù)位4。在本設(shè)計
27、中,采用上電和按鍵都有效的復(fù)位電路。電路原理如圖2-7所示。在上電的瞬間,RST獲得高電平信號,電容C開始進(jìn)行充電。在電容進(jìn)行充電的過程中,RST的高電平信號逐漸降低,最終恢復(fù)到低電平狀態(tài)。只要電容的充電過程時間超過兩個機器周期,即對單片機進(jìn)行復(fù)位工作;或者再按下復(fù)位鍵K的瞬間,RST隨即獲得高電平,到松開K,RST恢復(fù)低電平,亦可以實現(xiàn)對單片機的復(fù)位操作7。RST8051圖2-7 單片機的復(fù)位電路 2.6.2單片機的時鐘電路單片機的時鐘電路有內(nèi)部自震蕩電路和外部時鐘電路兩種。內(nèi)部的自振蕩電路是根據(jù)8051單片機內(nèi)部反相放大器與石英晶體和兩個電容構(gòu)成的,XTAL1和XTAL2分別作為放大器的輸
28、入端與輸出端,電容起到了快速起振和穩(wěn)定頻率的作用,如圖2-8(a)所示。外部時鐘電路是將外部的時鐘脈沖與XTAL1相連,XTAL2懸空,如圖2-8(b)所示。在本設(shè)計中,采用外接石英晶體的方法,所用晶振頻率為12MHz,所選擇電容為30pF7。XTAL28051XTAL1GND外部時鐘信號懸空空XTAL28051XTAL1GND (a) (b)圖2-8 單片機的時鐘電路2.7+5V穩(wěn)壓電源的設(shè)計在本設(shè)計中,為了使+5V電源電壓輸出穩(wěn)定,采用由變壓器、橋式整流和壓器三部分構(gòu)成的穩(wěn)壓電路。其中穩(wěn)壓器使用了78M05三端穩(wěn)壓器,使220V交流電轉(zhuǎn)換成系統(tǒng)所需要的電壓。利用變壓器的降壓功能將220V交
29、流電壓降為8V左右的交流電壓,以方便為橋式整流電路提供電源。這樣,經(jīng)過整流電路的交流電就被轉(zhuǎn)化為了脈動直流電8。這時脈動直流電壓通過濾波電路,使其變?yōu)榱似交敵龅闹绷麟妷骸榱耸闺妷悍€(wěn)定的輸出,進(jìn)而增加了穩(wěn)壓措施,即78M05穩(wěn)壓器。原理電路如圖2-9所示。圖2-9 穩(wěn)壓電源電路設(shè)計 3系統(tǒng)軟件設(shè)計3.1軟件功能概述在完成了對系統(tǒng)硬件的設(shè)計后,就要求有一個功能完善并且穩(wěn)定的軟件來指導(dǎo)協(xié)調(diào)硬件的內(nèi)部操作,對硬件起到指導(dǎo)作用,使硬件系統(tǒng)的作用發(fā)揮到最大化,同時還要考慮到未來硬件設(shè)計的更新升級等。系統(tǒng)軟件有監(jiān)控和執(zhí)行的功能。在本設(shè)計中,系統(tǒng)軟件設(shè)計主要分為主程序設(shè)計、延時程序設(shè)計、外部中斷程序設(shè)計和
30、顯示程序設(shè)計等9。主程序完成各器件的初始化,并且調(diào)用各個相應(yīng)的子程序模塊設(shè)計;延時程序空使得單片機每隔一段時間對A/D轉(zhuǎn)換采樣一次并進(jìn)行處理;顯示程序即為把采集程序模塊存儲的數(shù)據(jù)送到相應(yīng)數(shù)碼管進(jìn)行顯示。3.2主程序設(shè)計主程序首先要完成初始化工作,另外還要對信號進(jìn)行采集、處理以及顯示。流程圖如圖3-1所示。初始化程序程序的初始化工作就是對硬件各個芯片的初始狀態(tài)進(jìn)行規(guī)定,由硬件電路的設(shè)計要求等進(jìn)行系統(tǒng)的分配及定義。在本設(shè)計中,首先是對各寄存器進(jìn)行清零工作,R2用于保存液位高度的十位數(shù)字,R3用于保存液位高度的個位數(shù)字。因為本設(shè)計采用動態(tài)顯示,就要進(jìn)行動態(tài)掃描,利用軟件進(jìn)行延時,十位和個位的顯示都分
31、別延時1ms,通過給寄存器R0和R1賦初值,進(jìn)行記數(shù)減1,從而保證定時1秒后,重新啟動A/D轉(zhuǎn)換。本設(shè)計中的初始化程序定義如下。MOV R2,#00H ;寄存器R2和R3清零,用于存放液位十位及個位MOV R3,#00HMOV R0,#0AH ;R0裝入計數(shù)值MOV R1,#32H ;R1裝入計數(shù)值 SETB IT0 ;選擇邊沿觸發(fā)方式SETB EX0 ;允許外部中斷SETB EA ;開放總中斷主程序部分本設(shè)計擬采用1S的時間間隔進(jìn)行重復(fù)采樣工作以及A/D轉(zhuǎn)換工作。當(dāng)=0,=0時,ADC0804開始進(jìn)行A/D轉(zhuǎn)換, 啟動轉(zhuǎn)換地址為FEH。當(dāng)轉(zhuǎn)換結(jié)束時,端變成低電平,隨之8051的端變成低電平,
32、向單片機提出中斷申請。中斷得到響應(yīng)后,便進(jìn)行存儲器讀操作,讀出A/D轉(zhuǎn)換結(jié)果,然后進(jìn)入顯示子程序,分時顯示當(dāng)前液位值的十位及個位數(shù)字11。設(shè)計程序如下所示。MAIN:MOV R2,#00HMOV R3,#00H ;寄存器R2及R3清零MOV R0,#0AH ;R0裝入計數(shù)值MOV R1,#32H ;R1裝入計數(shù)值SETB IT0 ;選擇邊沿觸發(fā)方式SETB EX0 ;允許外部中斷SETB EA ;開放總中斷MOV DPTR,#0FEH ;建立A/D轉(zhuǎn)換器地址指針MOV P0,#0FFH ;向P0口寫1MOVX DPTR,A ;啟動A/D轉(zhuǎn)換Cpu開中斷取下一次采樣值重啟A/D轉(zhuǎn)換Cpu開中斷啟
33、動A/D轉(zhuǎn)換數(shù)據(jù)處理初始化置中斷觸發(fā)方式允許外部中斷0定時完成了嗎?顯示液位值YN圖3-1 主程序流程圖 3.3延時程序設(shè)計延時程序主要是利用空執(zhí)行來占用CPU的處理時間,使每隔1s讀取一次液位信息,進(jìn)行A/D轉(zhuǎn)換,送入單片機處理并且送入數(shù)碼管中進(jìn)行顯示。利用延時程序不僅可以監(jiān)控系統(tǒng)中軟件和硬件的協(xié)調(diào)以及正常的工作,并且因為液位的變化較為緩慢,基本可以實現(xiàn)對液位的即時測量。延時程序設(shè)計如下9。DELAY: ;延時1ms子程序MOV R7,#20DE1: MOV R6,#50DE2: DJNZ R6,DE2DJNZ R7,DE1RET3.4顯示程序設(shè)計顯示子程序主要完成對水箱液位值的最終顯示。本
34、系統(tǒng)采用七段LED數(shù)碼管顯示,程序設(shè)計先對十位數(shù)進(jìn)行顯示,經(jīng)過1ms的延時后個位顯示,再經(jīng)1ms的延時返回,流程圖如圖3-2所示。而對數(shù)碼管位選信號的控制是通過查表法實現(xiàn)的。用指令MOVC A,A+DPTR,由P1口輸出段碼。為保證數(shù)碼管顯示時間及使數(shù)碼管能夠充分點亮,每一位輸出顯示后要有一定的延時,通過調(diào)用延時子程序來實現(xiàn)。同時實現(xiàn)判斷定時1秒是否到(即R0和R1是否都減至0),1秒到時則跳轉(zhuǎn)至DONE子程序,重裝初值,為下一次采樣值的顯示做準(zhǔn)備,否則跳轉(zhuǎn)至DISPLAY,繼續(xù)顯示液位值。顯示程序的設(shè)計如下。DISPLAY: SETB P3.0 ;位選碼為液位高度的十位數(shù)字MOV DPTR,
35、#TAB ;指向換碼表首址MOV A,R2 MOVC A,A+DPTR ;取出顯示碼MOV P1,A ;從P1口輸出顯示碼LCALL DELAY ;調(diào)用延時程序,延時1msSETB P3.1 ;位選碼為液位高度的個位數(shù)字MOV DPTR,#TAB ;指向換碼表首址MOV A,R3MOVC A,A+DPTR ;取出顯示碼 MOV P1,A ;從P1口輸出顯示碼LCALL DELAY ;延時1msDJNZ R0,DISPLAY ;判斷R0是否減至0,未減至0則跳轉(zhuǎn)至DISPLAYDJNZ R1,DONE ;判斷R1是否減至0,未減至0則跳轉(zhuǎn)至DONE LJMP DISPLAY 都顯示完了嗎?延時1
36、ms返回顯示碼送P1口取出顯示數(shù)據(jù)求顯示碼顯示區(qū)地址TAB表首地址給DPTR顯示子程序 NY 圖3-2 顯示流程圖3.5中斷程序設(shè)計當(dāng)轉(zhuǎn)換結(jié)束后,ADC0804的引腳由高電平變?yōu)榈碗娖剑?051單片機的端與ADC0804的端相連,隨之8051的端變成低電平,向CPU提出中斷申請,執(zhí)行中斷服務(wù)子程序。CPU總中斷關(guān)閉,壓棧保存現(xiàn)場數(shù)據(jù)。讀取A/D轉(zhuǎn)換結(jié)果,通過指令 MOVX A,DPTR實現(xiàn)。處理數(shù)據(jù)得出液位高度的十位及個位數(shù)字并分別保存到寄存器R2和R3中?;謴?fù)現(xiàn)場,開放CPU總中斷,中斷子程序返回。具體程序如下。PUSH PSWPUSH ACCMOVX A,DPTRATOD:MOV B,#0
37、AHDIV ABMOV R2,A ;保存當(dāng)前液位的十位數(shù)字MOV R3,B ;保存當(dāng)前液位的個位數(shù)字POP ACCPOP PSW ;恢復(fù)現(xiàn)場RETI ;中斷返回中斷服務(wù)子程序保護(hù)現(xiàn)場讀A/D轉(zhuǎn)換結(jié)果恢復(fù)現(xiàn)場返回保存液位值圖3-3 外部中斷0子程序4結(jié)論 本設(shè)計完成了單片機控制的水箱液位檢測裝置。本裝置的硬件電路是由信號采集、信號處理、模數(shù)轉(zhuǎn)換、數(shù)據(jù)處理、數(shù)據(jù)顯示五個部分組成的。利用差壓傳感器MPX10DP采集水箱液位的壓力信號,在傳感器內(nèi)部轉(zhuǎn)化成為微弱的電壓信號后經(jīng)過信號調(diào)零、放大送入8位逐次逼近型模數(shù)轉(zhuǎn)換模塊ADC0804中進(jìn)行信號轉(zhuǎn)換,后送入單片機進(jìn)行信號處理,經(jīng)由數(shù)碼管顯示出當(dāng)前液位值。
38、該裝置開發(fā)簡單,便于維護(hù),價格低廉。在現(xiàn)實生活中,當(dāng)對液位的精度要求不是很高時,可以應(yīng)用此檢測裝置。單片機控制的水箱液位檢測裝置是一個實踐性很強的課題,要使系統(tǒng)產(chǎn)品化,能夠經(jīng)受實際應(yīng)用中的嚴(yán)格考驗,還要進(jìn)行很多細(xì)致的工作。該系統(tǒng)在設(shè)計上存在一些問題,如顯示精度相對較低。對于檢測精度要求較高的場合,可以通過增加顯示位和選擇更高轉(zhuǎn)換位數(shù)的A/D轉(zhuǎn)換器的方法加以改進(jìn)。在軟件調(diào)零設(shè)計中,MPX10DP壓力傳感器的滿量程輸出和靈敏度均采用典型值進(jìn)行計算處理,若其值有偏差都會對整個裝置的檢測精度產(chǎn)生影響,帶來檢測誤差。另外,該裝置只實現(xiàn)了液位檢測及顯示功能,未設(shè)置越限報警裝置,對于液位過低或過高的情況不能實現(xiàn)及時報警及對液位進(jìn)行控制調(diào)整,因此該裝置功能較單一。由于水平有限,設(shè)計的比較粗糙,硬件設(shè)計和軟件設(shè)計方面都還有待于完善。參考文獻(xiàn)1李華MCS-51系列單片機實用接口技術(shù)北京:航空航天大學(xué)出版社,1993:781012 潘新民,王燕芳微型計算機控制技術(shù)M北京:電子工業(yè)出版社,2003:47933 王家楨,王俊杰傳感器與變送器M北京:清華大學(xué)出版社,1996:671154 王永山,楊宏五,楊嬋娟等微型計算機原理與應(yīng)用M西安:西安電子科技大學(xué)出版社,1999:1681815 童詩白,華成英模擬電子技術(shù)基礎(chǔ)M高等教育出版社,2001:3103306 何立民單片機應(yīng)用技術(shù)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年代理合同簽署注意事項
- 2025年商業(yè)合作形象授權(quán)代理服務(wù)協(xié)議
- 二零二五版商業(yè)地產(chǎn)買賣合同附帶抵押權(quán)登記0023篇
- 2025年高校與企業(yè)聯(lián)合培養(yǎng)協(xié)議教授合作協(xié)議9篇
- 二零二五年度出口合同模板(含出口貨物倉儲與物流服務(wù))4篇
- 2025年度裝配式建筑構(gòu)件生產(chǎn)與施工合同范本4篇
- 2025版水電安裝工程新能源并網(wǎng)服務(wù)合同集錦3篇
- 二零二五版零擔(dān)運輸合同物流數(shù)據(jù)安全保護(hù)合同4篇
- 二零二五版路演車輛租賃與后勤保障合同4篇
- 二零二五年度家族財產(chǎn)管理及子女成長支持協(xié)議
- (一模)臨汾市2025年高考考前適應(yīng)性訓(xùn)練考試(一)語文試卷(含答案)
- 2024-2025學(xué)年滬科版數(shù)學(xué)七年級上冊期末綜合測試卷(一)(含答案)
- 2023年廣東省公務(wù)員錄用考試《行測》真題及答案解析
- 2024年公證遺產(chǎn)繼承分配協(xié)議書模板
- 燃?xì)饨?jīng)營安全重大隱患判定標(biāo)準(zhǔn)課件
- 深圳小學(xué)英語單詞表(中英文)
- 護(hù)理質(zhì)量反饋內(nèi)容
- 抖音搜索用戶分析報告
- 鉆孔灌注樁技術(shù)規(guī)范
- 2023-2024學(xué)年北師大版必修二unit 5 humans and nature lesson 3 Race to the pole 教學(xué)設(shè)計
- 供貨進(jìn)度計劃
評論
0/150
提交評論