【正文】
通訊事件。OnComm 事件還可以檢查和處理通訊錯(cuò)誤。在編程過程中,就可以在OnComm事件處理函數(shù)中加入自己的處理代碼。這種方法的優(yōu)點(diǎn)是程序響應(yīng)及時(shí),可靠性高。每個(gè)MSComm控件對(duì)應(yīng)著一個(gè)串行端口。如果應(yīng)用程序需要訪問多個(gè)串行端口,必須使用多個(gè) MSComm 控件。 MSComm 控件的常用屬性 MSComm控件有很多重要的屬性,但首先必須熟悉幾個(gè)屬性。 CommPort 設(shè)置并返回通訊端口號(hào)。 Settings 以字符串的形式設(shè)置并返回波特率、奇偶校驗(yàn)、數(shù)據(jù)位、停止位。 PortOpen 設(shè)置并返回通訊端口的狀態(tài)。也可以打開和關(guān)閉端口。 Input 從接收緩沖區(qū)返回和刪除字符。 Output 向傳輸緩沖區(qū)寫一個(gè)字符串。上位機(jī)程序如下:Private Sub Command1_Click()If = lmj Then If = 310908020402 Then Unload Me End IfElseMsgBox 對(duì)不起,密碼錯(cuò)誤,請(qǐng)重新輸入End IfEnd SubPrivate Sub Command2_Click() = = End SubDim z_star As BooleanDim in_data(6) As ByteDim ovt As IntegerPrivate Sub Combo1_Click()On Error GoTo BLAKIf = True Then = False = + 1 = TrueElse = + 1 = TrueEnd IfExit SubBLAK:MsgBox 串口不存在或者被占用!, vbOKOnly, 提示信息End SubPrivate Sub Form_Load() = 0 = InputModeBinary = 9600,n,8,1 = 0 = 1End SubPrivate Sub dispose_data() 39。幀處理If in_data(2) = 1 ThenShape1(in_data(1) 1).BackColor = amp。HFF00amp。 39。綠色ElseShape1(in_data(1) 1).BackColor = amp。HFFamp。End IfEnd SubPrivate Sub MSComm1_OnComm()Select Case Case EvReceive 39。 收到 RThreshold ofxv: Dim hk As Variant hk = If hk(0) = amp。HFA Then 39。幀頭 z_star = True ovt = 0 End If If hk(0) = amp。HFB Then 39。幀尾 z_star = False in_data(ovt) = hk(0) Call dispose_data 39。收到完整的一幀后調(diào)用數(shù)據(jù)處理了程序 End If If z_star = True Then in_data(ovt) = hk(0) ovt = ovt + 1 End IfIf 0 Then GoTo xv End If End SelectEnd Sub 系統(tǒng)調(diào)試中出現(xiàn)的問題該系統(tǒng)系統(tǒng)的設(shè)計(jì)經(jīng)過方案論證、硬件電路設(shè)計(jì)、軟件設(shè)計(jì)和系統(tǒng)調(diào)試,實(shí)現(xiàn)了要求的功能。在設(shè)計(jì)過程中不可避免的遇到了各種各樣的問題,但是經(jīng)過老師的指導(dǎo),同學(xué)的幫助和自己的不斷努力,最終實(shí)現(xiàn)了系統(tǒng)功能。在對(duì)系統(tǒng)調(diào)試的過程中遇到了很多問題,以下面六個(gè)問題為例簡要說明一下:第一, 滴速的測(cè)量;第二, 蜂鳴器不能正常的發(fā)聲;第三, 繼電器不工作;第四, 滴速顯示不正常;第五, 液位多次或著不報(bào)警;第六, 接收機(jī)(總機(jī))一上電就報(bào)警;對(duì)于第一個(gè)問題,花費(fèi)了很長時(shí)間才解決,因?yàn)槠鸪鯖]想到用示波器測(cè)波形,一直用萬用表測(cè)量電壓。問題就在于當(dāng)液滴滴下時(shí),用萬用表測(cè)量的電壓根本不正確,也無法測(cè)量。得不出液滴滴下時(shí)的電壓就無法選擇比較器的參考電壓,也就不能轉(zhuǎn)化為電平信號(hào)。后來通過查資料,就想著用示波器測(cè)測(cè)波形試試。換用示波器后,得到了不錯(cuò)的波形,但是具體的電壓值卻無法得到。通過觀察多組波形,估摸算了一下電壓值,于是就得出了參考電壓,問題得到解決。第二個(gè)問題,蜂鳴器報(bào)警電路比較簡單,測(cè)試程序也很簡單,并且程序在Keil下進(jìn)行了調(diào)試,沒有問題,但是蜂鳴器卻不能正常工作,起初我懷疑是蜂鳴器有問題,但是經(jīng)測(cè)試是沒有問題,于是我就拿板子和原理圖比對(duì),原理圖上我連接的是個(gè)PNP的三極管但是我在板子上焊接的確是NPN型三極管所以無法正常工作,最終把三極管換掉后,問題得到了解決。第三個(gè)問題,程序與硬件電路都有問題。下面具體說明一下問題所在:程序中,控制繼電器線圈導(dǎo)通的時(shí)間過于短即繼電器還沒來得及反應(yīng),線圈就斷電了。解決的方法是將延時(shí)時(shí)間加長,即改為一秒以上;硬件電路中,起初用P1口通過控制NPN三極管的通斷來控制繼電器的吸合。后來發(fā)現(xiàn)繼電器不工作,但將控制口改為P0口,繼電器就工作了?,F(xiàn)在問題很明顯了—P1口沒有那么大的驅(qū)動(dòng)能力,于是加了個(gè)上拉電阻,問題就解決了。第四個(gè)問題,是軟件的問題。程序中實(shí)際的執(zhí)行效果并不像理論中分析的那樣,理論上數(shù)碼管應(yīng)該顯示正常的滴速,但是實(shí)際中它顯示的滴速高于實(shí)際滴速四五倍。這個(gè)問題,困擾著我很長時(shí)間,我百思不得其解。請(qǐng)教同學(xué),他們也不明白為何會(huì)出現(xiàn)這樣的結(jié)果。后來,我隨手在程序中加個(gè)延時(shí),數(shù)碼管就突然顯示正常了。雖然問題基本解決,但我仍弄不明白是何原因。第五個(gè)問題,也是軟件問題。原以為當(dāng)達(dá)到報(bào)警液位時(shí)就進(jìn)中斷,報(bào)警一次,但事實(shí)上不報(bào)警甚至多次報(bào)警。后來用示波器觀察接近報(bào)警液位的波形時(shí)發(fā)現(xiàn),由于輸液過程中有大量氣泡,導(dǎo)致液位電壓不穩(wěn)定,多次進(jìn)中斷。找到問題所在后,就在程序中改進(jìn),問題得到解決。第六個(gè)問題,只有當(dāng)收到液位的報(bào)警信號(hào)時(shí)接收機(jī)才會(huì)實(shí)現(xiàn)報(bào)警功能。但問題是當(dāng)沒有報(bào)警信號(hào)時(shí),只要一上電,接收機(jī)就報(bào)警。這個(gè)問題困擾了我好長時(shí)間,經(jīng)過調(diào)試發(fā)現(xiàn)一上電就會(huì)進(jìn)一次中斷,而我的程序巧好是第一次進(jìn)中斷就報(bào)警。但是為什么一上電就會(huì)進(jìn)一次中斷,我思考了好長時(shí)間,后來發(fā)現(xiàn)單片機(jī)上電后I/O是高電平,我在中斷管腳上接的硬件是低電平,剛好一上電就有一個(gè)下降沿觸發(fā)中斷。找到問題所在后,很快就解決了。5 結(jié)論與展望本文是以新一代51單片機(jī)AT89C52和STC89C52RC控制芯片為基礎(chǔ)、以無線傳輸方式來進(jìn)行通信,并設(shè)計(jì)相應(yīng)界面來顯示有效信息的一種設(shè)計(jì)系統(tǒng)。主要分為硬件設(shè)計(jì)、軟件設(shè)計(jì)兩大部分:硬件設(shè)計(jì)包括發(fā)送和接收兩塊電路板,發(fā)送板能實(shí)現(xiàn)顯示、滴速檢測(cè)、液位報(bào)警、無線發(fā)送等基本功能;接收板能通過無線接收數(shù)據(jù)并通過串口線把報(bào)警信號(hào)傳送到上位機(jī)。再利用虛擬軟件進(jìn)行界面設(shè)計(jì)和編程把有效數(shù)據(jù)顯示出來。本設(shè)計(jì)通過查閱資料,綜合考慮了各方面的因素,設(shè)計(jì)出該系統(tǒng),之后進(jìn)行了幾次修改、完善,做了大量實(shí)驗(yàn),達(dá)到預(yù)期效果。通過對(duì)輸液監(jiān)控系統(tǒng)的研究,我學(xué)到了很多知識(shí),很好的熟悉了軟、硬件設(shè)計(jì)方法,親自焊接調(diào)試、編程應(yīng)用,積累了不少經(jīng)驗(yàn)。由于作者在設(shè)計(jì)方面的經(jīng)驗(yàn)不足,在選擇芯片等方面還不能恰到好處,還需要不斷的學(xué)習(xí)和實(shí)踐。例如無線傳輸模塊可以選用nRF2401,這樣可以傳輸數(shù)據(jù),如液位,滴速等。本系統(tǒng)的上位機(jī)軟件涉及還不夠深入,如可以在界面上查詢滴速,顯示剩余液面,可以根據(jù)需要進(jìn)行擴(kuò)展,建立數(shù)據(jù)庫對(duì)患者信息有詳細(xì)的保存等,還需要不斷的研究。希望有關(guān)專家和老師提出寶貴的意見,但愿有機(jī)會(huì)能完善這方面的工作。致 謝四年的大學(xué)生涯即將結(jié)束,回顧過去有太多的難忘回憶。在論文完成之際,我衷心地感謝在這四年的學(xué)習(xí)和生活中培養(yǎng)過我、幫助過我以及在論文寫作期間給予指導(dǎo)和支持的所有老師和同學(xué)。本論文得以順利完成,首先要感謝我們的指導(dǎo)老師錢偉老師:感謝老師的指導(dǎo)和大力支持。恩德老師淵博的專業(yè)知識(shí)、嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度、精益求精的工作對(duì)我影響的深遠(yuǎn);感謝老師指導(dǎo)了我的設(shè)計(jì)的結(jié)構(gòu)、思路、同時(shí)提供了一些專業(yè)知識(shí)的幫助。其次要感謝幫助過我,曾給我鼓勵(lì)的同學(xué)們,這段時(shí)間我的成長與學(xué)習(xí)與你們也是密不可分的。最后感謝四年來授我們以漁的老師們,是你們的教導(dǎo)使得我們獲得了知識(shí),是你們的關(guān)愛與包容使我們?cè)谥匾拇髮W(xué)四年里積極健康的成長。在此,我想說一句:老師,您們辛苦了。我還要感謝我的母校——河南理工大學(xué),因?yàn)樵谶@里我度過了人生中最重要的四年,在這里我結(jié)識(shí)了一群志同道合的朋友,也是在這里我領(lǐng)略了不同老師的風(fēng)采。最后,向所有評(píng)閱本論文的各位專家和教授致以深深的謝意!參考文獻(xiàn)[1]醫(yī)藥資訊網(wǎng).國產(chǎn)醫(yī)療設(shè)備發(fā)展將扭轉(zhuǎn)依賴進(jìn)口局面2006.11.12/2007.01.01[2] Richard Swim.Deployment of an Enterprise Wireless Infusion Pump Management System[J],Biomedical Instrumentation and Technology,2008[3]蔣廷松.基于AT89C52的多功能輸液監(jiān)控系統(tǒng)的設(shè)計(jì).中文核心期刊《微計(jì)算機(jī)信息》(嵌入式與SOC).2008,129.130[4]周賢偉,覃伯平,徐福華.無線傳感器網(wǎng)絡(luò)與安全.北京:國防與出版社,2007[5]閻石.?dāng)?shù)字電子技術(shù)基礎(chǔ)教程.北京:清華大學(xué)出版社,2007[6]童詩白.模擬電子技術(shù)基礎(chǔ).北京:高等教育出版社,1988.5[7]陳海宴.51單片機(jī)原理及應(yīng)用:基于Keil C與Proteus.北京:北京航空航天大學(xué)出版社,2010[8]郭天祥.新概念51單片機(jī)C語言教程.北京:電子工業(yè)出版社,2009[9]余發(fā)山,王福忠等. :中國礦業(yè)大學(xué)出版社,[10]莊暉, Basic編程技巧典型案例解析,北京:中國電力出版社,[11]瞿彝.基于無線網(wǎng)絡(luò)的智能輸液控制系統(tǒng)的研制[碩士學(xué)位論文].南京:南京航空航天大學(xué),2010.3[12]單?。贏T89S52的輸液監(jiān)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[碩士學(xué)位論文].合肥:合肥工業(yè)大學(xué),2009[13]蔣廷松.基于AT89C52的多功能輸液監(jiān)控系統(tǒng)的設(shè)計(jì).中文核心期刊《微計(jì)算機(jī)信息》(嵌入式與SOC).2008,129.130[14]南建輝,熊鳴,王軍茹.單片機(jī)原理與應(yīng)用實(shí)例[M].北京:清華大學(xué)出版社,2003.[15]賈少青,李愛華,陳平.智能輸液監(jiān)控系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn).山東理工大學(xué)學(xué)報(bào),2007,6769[16]談世哲.Protel DXP 2004電路設(shè)計(jì)基礎(chǔ).北京:機(jī)械工業(yè)出版社,2010附 錄附錄1 原理圖附錄2 實(shí)物圖