畢業(yè)設(shè)計(jì)-無(wú)人監(jiān)守點(diǎn)滴自動(dòng)監(jiān)控系統(tǒng)的設(shè)計(jì)_第1頁(yè)
畢業(yè)設(shè)計(jì)-無(wú)人監(jiān)守點(diǎn)滴自動(dòng)監(jiān)控系統(tǒng)的設(shè)計(jì)_第2頁(yè)
畢業(yè)設(shè)計(jì)-無(wú)人監(jiān)守點(diǎn)滴自動(dòng)監(jiān)控系統(tǒng)的設(shè)計(jì)_第3頁(yè)
畢業(yè)設(shè)計(jì)-無(wú)人監(jiān)守點(diǎn)滴自動(dòng)監(jiān)控系統(tǒng)的設(shè)計(jì)_第4頁(yè)
畢業(yè)設(shè)計(jì)-無(wú)人監(jiān)守點(diǎn)滴自動(dòng)監(jiān)控系統(tǒng)的設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩26頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、河南科技學(xué)院2014屆本科畢業(yè)論文(設(shè)計(jì))論文(設(shè)計(jì))題目:無(wú)人監(jiān)守點(diǎn)滴自動(dòng)監(jiān)控系統(tǒng)的設(shè)計(jì)學(xué)生姓名: 所在學(xué)院:機(jī)電學(xué)院 所學(xué)專(zhuān)業(yè):電氣工程及其自動(dòng)化導(dǎo)師姓名:完成時(shí)間:2014年5月18日無(wú)人監(jiān)守點(diǎn)滴自動(dòng)監(jiān)控系統(tǒng)的設(shè)計(jì)摘要靜脈輸液是常用的醫(yī)療手段之一,傳統(tǒng)輸液過(guò)程中存在著輸液容易異常,需要人工監(jiān)護(hù)等弊端。因此,本文設(shè)計(jì)了無(wú)人監(jiān)守點(diǎn)滴自動(dòng)監(jiān)控系統(tǒng)以解決此問(wèn)題。系統(tǒng)以AT89S53單片機(jī)為下位機(jī)核心,上位機(jī)和CAN總線組成有線監(jiān)控系統(tǒng),實(shí)現(xiàn)主機(jī)對(duì)從機(jī)的控制。從機(jī)通過(guò)外圍電路檢測(cè)儲(chǔ)液瓶中液面高度和液體點(diǎn)滴速度,并通過(guò)控制步進(jìn)電機(jī)實(shí)現(xiàn)對(duì)輸液速度的控制。當(dāng)輸液結(jié)束或輸液速度發(fā)生異常時(shí),發(fā)光二極管和蜂鳴

2、器進(jìn)行報(bào)警,并將報(bào)警信號(hào)通過(guò)串行口傳送至主站。 關(guān)鍵詞:無(wú)人監(jiān)守,自動(dòng)監(jiān)控,單片機(jī),CAN總線DESIGN OF AUTOMATIC MONITORING SYSTEM FOR UNATTENDED DRIPSAbstractIntravenous infusion is one of the commonly means used in medical, there is some abnormalities in tradition infusion and require manual monitoring and other defects. Therefore, we designe

3、d the unmanned automatic drip guard monitoring system to solve this problem. This system based on AT89S53 MCU as the core of the next crew, consisting of PC and CAN bus cable monitoring system, from the control of the host machine. From the machine through the external circuit to detect liquid level

4、 reservoir bottle and liquid drop, and achieve control of the infusion rate by controlling the stepper motor. When the end of the infusion or infusion rate abnormal, LEDs and buzzer alarm, and the alarm signal is sent via the serial port to the main station.Key Words: Unmanned, Automatic Monitor, MC

5、U, CAN bus目錄1 緒論11.1 研究背景及意義11.2 國(guó)內(nèi)外發(fā)展和研究現(xiàn)狀12 系統(tǒng)總體方案22.1 系統(tǒng)設(shè)計(jì)方案22.1.1 控制系統(tǒng)方案22.1.2 點(diǎn)滴檢測(cè)方案32.1.3 液位監(jiān)測(cè)方案32.1.4 滴速控制方案32.1.5 電機(jī)選擇方案32.1.6 主從通信方案42.2 系統(tǒng)硬件結(jié)構(gòu)43 系統(tǒng)從站硬件設(shè)計(jì)53.1 從站硬件系統(tǒng)框圖53.2 從站系統(tǒng)各單元設(shè)計(jì)53.2.1 點(diǎn)滴信號(hào)檢測(cè)單元53.2.2 點(diǎn)滴信號(hào)整形單元73.2.3 液位檢測(cè)單元73.2.4 鍵盤(pán)控制電路83.2.5 聲光報(bào)警單元93.2.6 電源電路單元103.3 通信電路單元113.3.1 CAN總線適配芯

6、片連接電路113.3.2 通信接口電路124 系統(tǒng)軟件設(shè)計(jì)124.1 從站軟件系統(tǒng)總體設(shè)計(jì)124.2 從站各模塊軟件設(shè)計(jì)134.2.1 主控模塊134.2.2 鍵盤(pán)控制模塊144.2.3 點(diǎn)滴速度監(jiān)測(cè)模塊174.2.4 電機(jī)控制模塊194.2.5 報(bào)警模塊204.2.6 主從通信模塊215 結(jié)束語(yǔ)22致謝24參考文獻(xiàn)251緒論1.1 研究背景及意義隨著微電子技術(shù)和信息技術(shù)的快速發(fā)展和應(yīng)用,醫(yī)療設(shè)備領(lǐng)域正在發(fā)生著一場(chǎng)悄無(wú)聲息的信息化革命。尤其是近幾年來(lái),現(xiàn)代科技的高度發(fā)展更是為液體點(diǎn)滴自動(dòng)監(jiān)控提供了堅(jiān)實(shí)可靠的技術(shù)基礎(chǔ)。我國(guó)是世界上人口最多的國(guó)家,隨著近些年來(lái)各個(gè)領(lǐng)域的高度發(fā)展加上環(huán)境的惡化,各種

7、疾病日益增多,醫(yī)療消費(fèi)的人群也與日俱增。雖然對(duì)醫(yī)療的改革和創(chuàng)新政府每年都投入巨額財(cái)政支持,但取得的效果還是微乎其微,與西方發(fā)達(dá)國(guó)家的技術(shù)還有一定得差距。目前,我國(guó)醫(yī)療設(shè)備的市場(chǎng)份額在全球所占的份額依然很小。根據(jù)國(guó)家經(jīng)貿(mào)委的要求,我國(guó)要在2050年左右成為世界醫(yī)療器械制造強(qiáng)國(guó)。由此可見(jiàn),我國(guó)醫(yī)療技術(shù)的改革與創(chuàng)新具有巨大的前景。靜脈輸液在各個(gè)醫(yī)院的醫(yī)療工作中被廣泛應(yīng)用,據(jù)統(tǒng)計(jì)住院輸液率為70%80%1,它不僅是一種重要的給藥途徑,而且還是給患者補(bǔ)充體液、營(yíng)養(yǎng)的重要方法。點(diǎn)滴輸液是臨床中一種普遍使用的治療手段,長(zhǎng)期以來(lái)一直靠人工控制。在傳統(tǒng)輸液中2,易發(fā)生一些異常情況,如管路堵塞、滴速異常及輸液完畢

8、無(wú)提示等情況。如果這些異常情況不能被及時(shí)發(fā)現(xiàn),就會(huì)給病人造成傷害,嚴(yán)重的甚至還會(huì)造成醫(yī)療事故。因此,設(shè)計(jì)一款無(wú)人監(jiān)守輸液監(jiān)控系統(tǒng)的醫(yī)療設(shè)備對(duì)提升我國(guó)醫(yī)療質(zhì)量有著十分的重要幫助。針對(duì)上述情況,設(shè)計(jì)了一套無(wú)人堅(jiān)守自動(dòng)監(jiān)控的醫(yī)療輸液系統(tǒng),通過(guò)CAN(Controller Area Network)總線與上位機(jī)(主站)進(jìn)行通信,利用8位低功耗、高性能AT89S53單片機(jī)作為下位機(jī)(從站)控制芯片,來(lái)實(shí)現(xiàn)醫(yī)護(hù)人員對(duì)病房病人輸液過(guò)程的無(wú)人監(jiān)控。1.2 國(guó)內(nèi)外發(fā)展和研究現(xiàn)狀為了提高輸液過(guò)程的安全性和降低輸液過(guò)程中醫(yī)護(hù)人員的工作強(qiáng)度,國(guó)內(nèi)外都對(duì)輸液過(guò)程的智能監(jiān)控進(jìn)行了研究和試驗(yàn)。點(diǎn)滴輸液監(jiān)控設(shè)備的發(fā)展主要經(jīng)歷

9、了下面幾個(gè)階段:(1)機(jī)械式該方法出現(xiàn)的比較早,利用輸液瓶中液位的下降會(huì)導(dǎo)致其重量下降的原理,用彈簧秤對(duì)其液位進(jìn)行檢測(cè)。由于輸液瓶重量的不同,實(shí)際情況比較復(fù)雜,此方法可靠性較差,操作使用不方便,適用性較差。(2)電容式當(dāng)輸液瓶中的藥液液位變化,引起電容長(zhǎng)度變化對(duì)藥液液位進(jìn)行監(jiān)測(cè)。此類(lèi)監(jiān)控設(shè)備的可靠性、實(shí)用性都相對(duì)較高,但是由于輸液瓶形狀大小沒(méi)有統(tǒng)一的標(biāo)準(zhǔn),因以輸液監(jiān)控設(shè)備需要多種設(shè)計(jì)規(guī)格,在使用中不放便,不能投入實(shí)際使用。(3)電極式將正負(fù)兩個(gè)電極插入輸液器的莫菲氏管中,當(dāng)液體點(diǎn)滴下落時(shí)就會(huì)產(chǎn)生中斷信號(hào),由此監(jiān)測(cè)點(diǎn)滴的速度。這類(lèi)設(shè)備性能可靠、設(shè)計(jì)簡(jiǎn)單,但是在點(diǎn)滴降落過(guò)程中會(huì)與電極發(fā)生接觸,可能

10、會(huì)造成一些醫(yī)療衛(wèi)生等方面的問(wèn)題。(4)光電式光電式是近年來(lái)較流行的點(diǎn)滴監(jiān)控方式。它是利用藥液吸收和散射的方式減弱通過(guò)液體中紅外光的強(qiáng)度來(lái)進(jìn)行測(cè)量。在莫菲氏管的兩側(cè)分別安裝發(fā)射端和接收端,當(dāng)液體點(diǎn)滴經(jīng)過(guò)二者之間時(shí),傳感器感受到光線強(qiáng)弱的變化,將光信號(hào)轉(zhuǎn)換成電信號(hào),并由下一級(jí)處理單元進(jìn)行轉(zhuǎn)換處理,由此監(jiān)視輸液過(guò)程由于光電傳感器和藥液不接觸,而且與液體、輸液器材無(wú)關(guān),使輸液監(jiān)控設(shè)備的性能有很大提高,具有易用、高效和適用性強(qiáng)的優(yōu)點(diǎn)3。除此之外,還有諸多液體點(diǎn)滴監(jiān)控方式,由于成本或性能上的差異,不能在日常中使用,例如感應(yīng)式、光纖式、超聲波式等。此外,單機(jī)模式的點(diǎn)滴監(jiān)控設(shè)備在發(fā)展中逐漸吸收了網(wǎng)絡(luò)化的思想,

11、基本形成了以RS-232或RS-485總線的有線和基于無(wú)線通信技術(shù)的兩種監(jiān)控網(wǎng)絡(luò)。前者對(duì)系統(tǒng)化控制和管理方面的不完善,在實(shí)際應(yīng)用中,往往要重新來(lái)布線,容易收到外接環(huán)境的影響和干擾。而后者則增加了成本,且輻射會(huì)對(duì)人身體產(chǎn)生危害,還會(huì)有些法律上的問(wèn)題。2系統(tǒng)總體方案2.1 系統(tǒng)設(shè)計(jì)方案系統(tǒng)由多個(gè)模塊組成,在方案選擇上要比較選擇,因此下文詳細(xì)介紹每個(gè)模塊的具體方案。2.1.1 控制系統(tǒng)方案在無(wú)人監(jiān)控系統(tǒng)中微處理器作為核心,對(duì)整個(gè)系統(tǒng)的影響較大,因此在選擇上尤為重要。方案一:此方案是傳統(tǒng)的兩位模擬控制方案,具有電路簡(jiǎn)單、易于實(shí)現(xiàn)等優(yōu)點(diǎn)。不過(guò)模擬控制很難做高精度,并且遠(yuǎn)程通信、鍵盤(pán)設(shè)定和滴速控制的功能不

12、易于實(shí)現(xiàn)。方案二:此方案采用單片機(jī)AT89S53作為從站來(lái)實(shí)現(xiàn)復(fù)雜的運(yùn)算及控制。AT89S53單片機(jī)具有低功耗,高性能且高性?xún)r(jià)比等特點(diǎn)。對(duì)于鍵盤(pán)設(shè)定、滴速控制、液位監(jiān)測(cè)等功能和主、從站之間的通信能夠能完美實(shí)現(xiàn)。因此,本設(shè)計(jì)選用方案二。2.1.2 點(diǎn)滴檢測(cè)方案方案一:可見(jiàn)光發(fā)光二極管與光敏三極管傳感器。光線的亮度變化對(duì)此類(lèi)傳感器的干擾很大,造成液滴判斷的不準(zhǔn)確。所以不宜采取此方案。方案二:不調(diào)制紅外對(duì)射傳感器。這類(lèi)傳感器是直流供電,元件的額定值必須低于工作電流,對(duì)外部抗干擾能力較差。因此,也不宜采取。方案三:脈沖調(diào)制紅外對(duì)射傳感器。紅外對(duì)射傳感器的平均電流決定其對(duì)打工作電流,即使占空比調(diào)制信號(hào)較

13、小也可以獲得較大的電流。這可以大幅度提高信噪比,提高系統(tǒng)的抗干擾能力。綜上,本設(shè)計(jì)采取方案三。2.1.3 液位監(jiān)測(cè)方案方案一:拉力傳感器。利用液面高度和拉力二者的線性關(guān)系這一原理進(jìn)行測(cè)量。在實(shí)際中由于拉力傳感器價(jià)格較高,因此在設(shè)計(jì)中很少使用。方案二:超聲波。這一方案的原理是超聲波在不同的介質(zhì)中傳播速度不同。把每一次的測(cè)量結(jié)果與標(biāo)定達(dá)到警戒液位得回波時(shí)間比較,既可得知是否達(dá)到警戒液位。這種方法存在盲區(qū),當(dāng)液體波動(dòng)時(shí)會(huì)產(chǎn)生誤差,且不方便安裝。方案三:光電傳感器。此方法是利用光的折射或反射原理,通過(guò)接受管接收到的光的強(qiáng)弱判斷是否達(dá)到警戒液位以此來(lái)實(shí)現(xiàn)檢測(cè)功能。在安裝上,把光電傳感器置于輸液瓶外壁上即

14、可,非常方便。對(duì)于上述三種方案,方案一成本較高,方案二精確度不夠。所以,本設(shè)計(jì)選擇方案三。2.1.4 滴速控制方案方案一:滑動(dòng)軟管夾的滑輪控制滴速。此方案在控制中由于移動(dòng)阻力和距離難計(jì)算且很多非線性控制量的影響,采用電機(jī)調(diào)節(jié)軟管夾不容易實(shí)現(xiàn)。方案二:電機(jī)和滑輪系統(tǒng)控制輸液瓶高度,實(shí)現(xiàn)對(duì)滴速的控制。本方案調(diào)節(jié)液體高度方便,由于輸液瓶高度和流速之間存在非線性關(guān)系,沒(méi)有公式可應(yīng)用,因此采樣點(diǎn)必須足夠多,這也保證了精確性。比較方案一和方案二,本設(shè)計(jì)取用方案二。2.1.5 電機(jī)選擇方案方案一:直流電機(jī)。這類(lèi)電機(jī)掉電后慣性大、制動(dòng)時(shí)間較長(zhǎng)、轉(zhuǎn)矩小、無(wú)抱死功能,且閉環(huán)算法復(fù)雜。方案二:伺服電機(jī)。這類(lèi)電機(jī)具有

15、機(jī)械性能好、起動(dòng)轉(zhuǎn)矩大、抱死功能等諸多優(yōu)點(diǎn),不過(guò)由于其高昂的價(jià)格,因此不予采用。方案三:步進(jìn)電機(jī)。這類(lèi)電機(jī)較之直流電機(jī)轉(zhuǎn)矩大,較之伺服電機(jī)價(jià)格低且測(cè)量的精確度較高。故綜合三種方案,本設(shè)計(jì)采用方案三。2.1.6 主從通信方案方案一:藍(lán)牙技術(shù)。藍(lán)牙技術(shù)存在傳輸距離短、傳輸速度慢、功耗大、技術(shù)復(fù)雜,而且價(jià)格不菲。方案二:紅外技術(shù)。紅外技術(shù)利用紅外線的方式進(jìn)行數(shù)據(jù)傳遞。在傳輸中具有速度快,但傳輸距離短,只能直線傳輸且易受干擾。方案三:Zigbee技術(shù)。Zigbee技術(shù)一種低速短距離傳輸?shù)臒o(wú)線網(wǎng)絡(luò)協(xié)議,其成本比較高,穿透性不好。方案四:CAN總線。CAN總線是異步串行通信中總線的一種,全稱(chēng)“Contro

16、ller Area Network”即控制器局域網(wǎng),是國(guó)際上應(yīng)用最廣泛的現(xiàn)場(chǎng)總線之一。具有傳輸速度快、傳輸距離遠(yuǎn)、總線利用率高、通信失敗率低、節(jié)點(diǎn)錯(cuò)誤系統(tǒng)無(wú)影響、抗干擾能力強(qiáng)、網(wǎng)絡(luò)調(diào)試容易、后期維護(hù)成本低等寶貴特點(diǎn)。根據(jù)AT89S53的4種不同工作方式,分析上述四種方案,最終選定上位機(jī)與下位機(jī)之間采取基于CAN總線的有線異步傳輸通信方式,既方案四。2.2 系統(tǒng)硬件結(jié)構(gòu)根據(jù)系統(tǒng)設(shè)計(jì)方案,整體系統(tǒng)結(jié)構(gòu)如圖1所示。主站CAN總線從站1CAN接口從站NAT89S53單片機(jī)單片機(jī)外圍電路步進(jìn)電機(jī)及驅(qū)動(dòng)液位檢測(cè)點(diǎn)滴檢測(cè)單元聲光報(bào)警單元通信電路單元圖1系統(tǒng)結(jié)構(gòu)框圖根據(jù)系統(tǒng)需求分析,本硬件系統(tǒng)主要是主站,基于

17、AT89S53單片機(jī)各個(gè)從站,主、從站之間的數(shù)據(jù)通信總線等三大部分構(gòu)成的。按系統(tǒng)設(shè)計(jì)方案,系統(tǒng)電路主要包含從站電路、外圍電路及通信電路三個(gè)電路單元:(1)從站電路單元該電路單元主要是負(fù)責(zé)輸液信號(hào)采集和輸液監(jiān)控的任務(wù),包含以下四個(gè)電路單元:點(diǎn)滴信號(hào)檢測(cè)單元;液位檢測(cè)單元;鍵盤(pán)控制單元;聲光報(bào)警單元。(2)外圍電路單元該電路單元主要是對(duì)從站采集的輸液信號(hào)進(jìn)行處理,即把從站采取的信號(hào)進(jìn)行整形以便單片機(jī)處理,該電路單元還包括對(duì)從站系統(tǒng)的供電部分,供電系統(tǒng)采取單電源供電。主要有:點(diǎn)滴信號(hào)整形單元;電源電路單元。(3)通信電路單元該電路單元是通過(guò)CAN總線將下位機(jī)(從站)采集的各模塊數(shù)據(jù)信息傳送至由PC機(jī)

18、構(gòu)筑上位機(jī),上位機(jī)可以通過(guò)開(kāi)發(fā)的監(jiān)控軟件實(shí)現(xiàn)對(duì)各從站的輸液情況實(shí)時(shí)監(jiān)控。該電路包含兩個(gè)內(nèi)容:CAN總線適配芯片連接電路;通信接口電路。3系統(tǒng)從站硬件設(shè)計(jì)3.1 從站硬件系統(tǒng)框圖根據(jù)從站系統(tǒng)所要實(shí)現(xiàn)的功能,為從站系統(tǒng)設(shè)計(jì)出硬件系統(tǒng)框圖4,如圖2所示:AT89S53鍵盤(pán)控制電路單元點(diǎn)滴信號(hào)檢測(cè)單元液體檢測(cè)單元單元通信電路單元報(bào)警電路單元電源電路單元點(diǎn)滴信號(hào)整形單元圖2從站硬件系統(tǒng)框圖3.2 從站系統(tǒng)各單元設(shè)計(jì)有上面的框圖可以知道,從站系統(tǒng)所包含的子模塊較多,因此下面進(jìn)行逐一介紹。3.2.1 點(diǎn)滴信號(hào)檢測(cè)單元此單元模塊是通過(guò)固定在輸液瓶外側(cè)的紅外傳感器來(lái)檢測(cè)是否有點(diǎn)滴滴下,電路圖如圖3所示。圖3點(diǎn)滴

19、信號(hào)檢測(cè)電路紅外傳感器是有發(fā)射管和受光管二者構(gòu)成,其主要功能是實(shí)現(xiàn)光和電之間的轉(zhuǎn)換。紅外系統(tǒng)具有尺寸小、重量輕、易于安裝等優(yōu)點(diǎn),且紅外光波長(zhǎng)長(zhǎng)與可見(jiàn)光,受后者的影響較小,因此選用紅外傳感器來(lái)檢測(cè)液體點(diǎn)滴滴速。增強(qiáng)信噪比以減少環(huán)境光源的干擾,并采用脈沖調(diào)制的方式。發(fā)射、接受的簡(jiǎn)化原理電路如圖4所示。 圖4脈沖產(chǎn)生電路74HC14是具有施密特功能的六反相器,圖5是74HC14所構(gòu)成的多諧振蕩電路。施密特觸發(fā)器具有上限閾值電壓V2、下限閾值V1的特性,且受芯片電源VDD的限制。多諧振蕩器電路產(chǎn)生信號(hào)的周期頻率滿(mǎn)足f=1/RClnV2(VDDV1)/V1(VDDV2),令lnV2(VDDV1)/V1(

20、VDDV2)為k,則f=1/kRC,即T=kRC。對(duì)于74HC14而言,當(dāng)VDD=5V時(shí),下限閩值電壓V1=1.4V,上限閩值電壓V2= 3.6V,所以有k=1.89??紤]到脈寬可調(diào)的狀況進(jìn)而可以得出1.89(R1/R2+R2)C=T ,T表示方形脈沖的一個(gè)周期大小,(R1/R2):(R1/R2+R2)=1:5。圖5多諧振蕩電路3.2.2 點(diǎn)滴信號(hào)整形單元 在實(shí)際操作中,當(dāng)點(diǎn)滴落下時(shí),接收到的信號(hào)會(huì)產(chǎn)生相距很近的雙脈沖,這極大的干擾了計(jì)數(shù)。為了消除這種干擾,減小虛假信息的影響,提高采樣的可靠性,用軟件濾波的方式濾去兩個(gè)脈沖中的一個(gè),這樣就確保了計(jì)數(shù)的精確性。圖6是信號(hào)整形原理電路圖,同過(guò)原理圖

21、,可以對(duì)整形有簡(jiǎn)單的了解。圖6點(diǎn)滴信號(hào)整形電路3.2.3 液位檢測(cè)單元按照醫(yī)用衛(wèi)生標(biāo)準(zhǔn),吊瓶中應(yīng)盡可能避免異物進(jìn)入,所以在紅外有損探測(cè)和無(wú)損探測(cè)中我們選擇后者。液位檢測(cè)電路是利用安裝在輸液瓶頸部的紅外對(duì)射管對(duì)瓶?jī)?nèi)無(wú)液空間與有液空間光的折射差異來(lái)判斷輸液是否結(jié)束。光電轉(zhuǎn)換原理類(lèi)似以滴速檢測(cè),但紅外接收管輸出的電信號(hào)是電平信號(hào),而不是脈沖信號(hào)。電平信號(hào)經(jīng)放大后輸入到比較器與門(mén)限電路比較,輸出后送至單片機(jī)外部中斷接口INT1。因考慮到儲(chǔ)液瓶壁較厚,可利用紅外無(wú)損探測(cè)方式,增大紅外發(fā)射功率來(lái)加強(qiáng)接收信號(hào)以保證對(duì)液位進(jìn)行精確檢測(cè),儲(chǔ)液瓶有液空間和無(wú)液空間信號(hào)差異電壓比較差可以達(dá)到40mV左右,說(shuō)明該電路

22、在液位下降到紅外對(duì)射管以下時(shí)系統(tǒng)即能發(fā)出警越限報(bào)。該電路接收到的信號(hào)只需對(duì)其放大不需濾波處理,所以本電路結(jié)構(gòu)單間,安裝簡(jiǎn)易。其系統(tǒng)框圖及電路圖如下圖7和圖8所示。放大比較紅外發(fā)射門(mén)限信號(hào)紅外接收輸液瓶至單片機(jī) 圖7液位檢測(cè)框圖 圖8液位檢測(cè)電路3.2.4 鍵盤(pán)控制電路本設(shè)計(jì)中所采用的鍵盤(pán)為非編碼機(jī)械觸點(diǎn)式按鍵開(kāi)關(guān),其主要功能是把機(jī)械上的通斷轉(zhuǎn)換成為電氣上的邏輯關(guān)系。觸點(diǎn)式開(kāi)關(guān)按鍵在最常見(jiàn),且壽命長(zhǎng)。非編碼鍵盤(pán)只簡(jiǎn)單地提供行和列的矩陣,其它工作均由軟件完成,因此既經(jīng)濟(jì)又實(shí)用。在機(jī)械鍵盤(pán)按鍵按下或釋放時(shí),由于機(jī)械彈性作用的影響,通常伴隨一定時(shí)間的觸點(diǎn)機(jī)械抖動(dòng),然后才穩(wěn)定下來(lái)。其抖動(dòng)過(guò)程如圖9所示,

23、抖動(dòng)時(shí)間的長(zhǎng)短與開(kāi)關(guān)的機(jī)械特性有關(guān),一般為5l0ms。按鍵抖動(dòng)會(huì)導(dǎo)致錯(cuò)誤判斷按鍵通或斷的狀態(tài),這種情況是絕對(duì)不允許出現(xiàn)的。所以在設(shè)計(jì)中必須采取去抖動(dòng)措施,由于按鍵數(shù)較多,故采用軟件去抖。軟件去抖采取的措施是:在檢測(cè)到有按鍵按下時(shí),執(zhí)行一個(gè)l0ms左右的延時(shí)程序后,再確認(rèn)該鍵電平是否仍保持閉合狀態(tài)電平,若仍保持閉合狀態(tài)電平,則確認(rèn)該鍵處于閉合狀態(tài);同理,在檢測(cè)到該鍵釋放后,也應(yīng)采用相同的步驟進(jìn)行確認(rèn),從而可消除抖動(dòng)的影響。一個(gè)完善的鍵盤(pán)控制程序應(yīng)具備以下功能:(1)檢測(cè)有無(wú)按鍵按下,并采取硬件或軟件措施,消除鍵盤(pán)按鍵機(jī)械觸點(diǎn)抖動(dòng)的影響。(2)有可靠的邏輯處理辦法。每次只處理一個(gè)按鍵,其間對(duì)任何按

24、鍵的操作對(duì)系統(tǒng)不產(chǎn)生影響,且無(wú)論一次按鍵時(shí)間有多長(zhǎng),系統(tǒng)僅執(zhí)行一次按鍵功能程序。(3)準(zhǔn)確輸出按鍵值(或鍵號(hào)),以滿(mǎn)足跳轉(zhuǎn)指令要求。圖9按鍵抖動(dòng)過(guò)程由于本系統(tǒng)按鍵數(shù)較多,故采用44行、列結(jié)構(gòu)的16位矩陣鍵盤(pán),如圖10所示。矩陣式鍵盤(pán)中,行、列線分別連接到按鍵開(kāi)關(guān)的兩端,行線通過(guò)上拉電阻接到+5V上。當(dāng)無(wú)鍵按下時(shí),行線處于高電平狀態(tài);當(dāng)有鍵按下時(shí),行、列線將導(dǎo)通,此時(shí),行線電平將由與此行線相連的列線電平?jīng)Q定。這是識(shí)別按鍵是否按下的關(guān)鍵。然而,矩陣鍵盤(pán)中的行線、列線和多個(gè)鍵相連,各按鍵按下與否均影響該鍵所在行線和列線的電平,各按鍵間將相互影響,因此,必須將行線、列線信號(hào)配合起來(lái)作適當(dāng)處理,才能確定

25、閉合鍵的位置。圖10矩陣鍵盤(pán)電路3.2.5 聲光報(bào)警單元本設(shè)計(jì)采用蜂鳴器與發(fā)光二極管實(shí)現(xiàn)聲光報(bào)警。當(dāng)傳感器檢測(cè)到液位低于預(yù)設(shè)值或傳感器檢測(cè)不到有液滴下落時(shí),從站單片機(jī)控制蜂鳴器和報(bào)警燈工作,在發(fā)出聲光報(bào)警的同時(shí)向主站發(fā)出報(bào)警信息。在實(shí)際應(yīng)用中,如果設(shè)定的滴速過(guò)高,輸液瓶上升到支架頂部時(shí),仍達(dá)不到設(shè)定的滴速,輸液瓶繼續(xù)上升有可能會(huì)拉倒支架,造成危險(xiǎn)。所以在支架的頂部安裝一個(gè)紅外探測(cè)器,如檢測(cè)到輸液瓶上升到支架頂部,則發(fā)出信號(hào),通知單片機(jī)控制電機(jī)停轉(zhuǎn),同時(shí)發(fā)出聲光報(bào)警并向主站發(fā)送報(bào)警信號(hào)。下圖11為聲光報(bào)警電路。 圖11聲光報(bào)警電路3.2.6 電源電路單元任何電氣設(shè)備的使用都離不開(kāi)供電系統(tǒng),在整個(gè)

26、單片機(jī)系統(tǒng)設(shè)計(jì)中,電源的設(shè)計(jì)是必須要考慮的。電源的設(shè)計(jì)取決于系統(tǒng)所要求的供電方式,如是采用單電源方案,還是多電源方案,系統(tǒng)的功耗有無(wú)特殊規(guī)定等等。本系統(tǒng)所選用的單片機(jī)是AT89S53,其標(biāo)準(zhǔn)工作電壓為+5V,且發(fā)光二極管和光敏三極管以及通訊所用的CAN總線適配器等電路的工作電壓都是+5V,因此在本設(shè)計(jì)中采用單電源方案。單電源方案的優(yōu)點(diǎn)是系統(tǒng)簡(jiǎn)單、工作可靠。此外還涉及到對(duì)步進(jìn)電機(jī)的控制,步進(jìn)電機(jī)及驅(qū)動(dòng)電路由L297和L298N組成,L297的工作電壓為+5V ,L298N除邏輯電路工作電壓+5V外,因此還需加入一個(gè)較高的電源電壓來(lái)增強(qiáng)電機(jī)的驅(qū)動(dòng)能力。根據(jù)L298N的相關(guān)資料,這個(gè)電源電壓的范圍在

27、+2.5V+46V之間,考慮到用電安全及設(shè)計(jì)方便等因素,將其設(shè)定在+15V。因此我們的目標(biāo)是設(shè)計(jì)出一個(gè)能夠提供+5V與+15V的電源,其電路如圖12所示。圖12電源電路由上圖可以知,此電源電路可以將220V的交流市電轉(zhuǎn)換為+5V和+15V直流電輸出。從原理上看,首先將通過(guò)變壓器的220V交流市電轉(zhuǎn)換為24V交流電,然后經(jīng)過(guò)二極管橋式整流電路和濾波電容C3對(duì)其進(jìn)行整流,獲得略低于24V的直流電輸出,經(jīng)過(guò)C4濾除紋波電壓后進(jìn)入集成穩(wěn)壓源L7815產(chǎn)生+15V直流電壓供L298N使用,同時(shí)此電壓又作為MC7805的輸入電壓,通過(guò)MC7805產(chǎn)生+5V電壓供系統(tǒng)邏輯電路和各模塊使用。這種做法的好處是只

28、使用一個(gè)變壓器,降低了成本的同時(shí)還減小了+5V直流電源的紋波電壓。3.3 通信電路單元本系統(tǒng)所采用的是CAN總線作為通信總線,以下就對(duì)CAN總線的適配芯片以及通信接口連接做簡(jiǎn)要介紹。3.3.1 CAN總線適配芯片連接電路系統(tǒng)主控制器MPC2510CAN收發(fā)器CAN收發(fā)器CAN收發(fā)器CAN收發(fā)器CAN收發(fā)器MPC2510MPC2510MPC2510MPC2510節(jié)點(diǎn)控制器節(jié)點(diǎn)控制器節(jié)點(diǎn)控制器節(jié)點(diǎn)控制器圖13 CAN總線通信原理圖以CAN總線作為通信系統(tǒng)的典型實(shí)現(xiàn)方法如圖13所示。由系統(tǒng)框圖中的CAN接口部分可以得知,CAN接口由兩個(gè)部分組成:CAN控制器和CAN收發(fā)器。其中前者主要用于實(shí)現(xiàn)物理信

29、令子層和數(shù)據(jù)鏈路層,而后者則是CAN控制器與物理傳輸媒體之間連接的子層接口。在本設(shè)計(jì)中,采用MCP2510作為CAN控制器,CAN收發(fā)器采用TJA1050。MCP2510是Microchip Technology Inc.(美國(guó)微芯科技有限公司)生產(chǎn)的一款控制器局域網(wǎng)絡(luò)協(xié)議控制器,完全支持CAN總線V 2.0A /B技術(shù)規(guī)范。該器件支持CAN1.2 、CAN2.0A、主動(dòng)和被動(dòng)CAN2.0B等版本的協(xié)議,能夠發(fā)送和接收標(biāo)準(zhǔn)和擴(kuò)展報(bào)文。同時(shí)它還具備驗(yàn)收過(guò)濾以及報(bào)文管理功能。該器件包含三個(gè)發(fā)送緩沖器和兩個(gè)接收緩沖器,減少了單片機(jī)的管理負(fù)擔(dān)。TJA1050是控制器區(qū)域網(wǎng)絡(luò)協(xié)議控制器和物理總線之間的接

30、口,是一種標(biāo)準(zhǔn)的高速CAN收發(fā)器。TJA1050可以為總線提供差動(dòng)發(fā)送性能,為CAN控制器提供差動(dòng)接收性能,是PCA82C250和PCA82C251高速CAN收發(fā)器的后繼產(chǎn)品。3.3.2 通信接口電路通信接口電路即適配芯片連接電路其連接方法如圖14所示:圖14通信接口電路適配芯片各引腳連接情況如下:(1)CAN收發(fā)器TJA1050引腳連接情況:CANL為低電平CAN總線,CANH為高電平CAN總線,TXD為發(fā)送數(shù)據(jù)輸入引腳,RXD為接收數(shù)據(jù)輸入引腳。(2)CAN協(xié)議控制器MCP2510各引腳的連接情況:TX0RS為通用數(shù)字輸入或發(fā)送緩沖器(TXB0)請(qǐng)求發(fā)送引腳,TX1BF為接收緩沖器,RXB

31、1的通用數(shù)字輸出或中斷引腳TXCAN引腳與CAN總線的發(fā)送輸出引腳(TXD)連接,RXCAN引腳與CAN總線的接收輸入引腳(RXD)連接。TJA1050具有高速模式和靜音模式兩種工作模式,通過(guò)引腳“8”的得取來(lái)選擇模式。若引腳“8”接地則進(jìn)入高速模式;若引腳“8”沒(méi)有接地則進(jìn)入靜音模式;若引腳“8”不連接,則默認(rèn)高速模式。4 系統(tǒng)軟件設(shè)計(jì)系統(tǒng)軟件設(shè)計(jì)是基于單片機(jī)硬件進(jìn)行的。軟件設(shè)計(jì)是系統(tǒng)的主要組成部分,軟件的好壞將直接影響到系統(tǒng)的性能指標(biāo)。無(wú)人堅(jiān)守點(diǎn)滴自動(dòng)監(jiān)控系統(tǒng)的設(shè)計(jì)采用模塊化結(jié)構(gòu)的方式,模塊化編程是分別對(duì)各模塊程序進(jìn)行編寫(xiě)、編譯,最后通過(guò)主程序?qū)⒏髂F嗷フ{(diào)用的軟件設(shè)計(jì)方法。本系統(tǒng)包含從站

32、軟件設(shè)計(jì)和主站軟件設(shè)計(jì),主站程序主要是對(duì)從從站各程序模塊的協(xié)調(diào)管理。4.1 從站軟件系統(tǒng)總體設(shè)計(jì)從站軟件設(shè)計(jì)是對(duì)從站各模塊進(jìn)行嵌入式程序編譯,本系統(tǒng)中需要進(jìn)行程序編譯的模塊主要有:(1)主控模塊即初始化模塊;(2)鍵盤(pán)控制模塊;(3)點(diǎn)滴速控制模塊;(4)電機(jī)控制模塊;(5)報(bào)警模塊;(6)主從通信模塊。4.2 從站各模塊軟件設(shè)計(jì)從站系統(tǒng)程序由一個(gè)主控程序模塊和若干個(gè)子程序模塊組成,其中主控程序模塊為軟件系統(tǒng)的核心,其作用是管理協(xié)調(diào)各子模塊,使之按照總體設(shè)計(jì)流程工作。4.2.1 主控模塊主控模塊是從站軟件系統(tǒng)的核心,其主要負(fù)責(zé)調(diào)度各子模塊程序。工作時(shí),首先對(duì)串口部分和數(shù)據(jù)緩沖區(qū)進(jìn)行初始化,然后

33、調(diào)用各子模塊程序來(lái)協(xié)調(diào)各子模塊工作。系統(tǒng)初始化有兩方面的工作內(nèi)容:(1)串口初始化,即讓串口工作處方式“1”。通過(guò)定時(shí)器T1來(lái)設(shè)定波特率的溢出率值為1200bit/s,串口處于接收的狀態(tài)。此時(shí)把定時(shí)器T1的初始值設(shè)定為248(0E8),MUC外圍電路使用的晶振頻率為11.0592MHz。(2)外部中斷“0”的設(shè)置,串口數(shù)據(jù)通信通過(guò)中斷來(lái)進(jìn)行實(shí)現(xiàn)數(shù)據(jù)的發(fā)送與接收,所以初始化程序還需設(shè)定串口的中斷方式。在從站系統(tǒng)中,當(dāng)有液滴滴下時(shí),液滴檢測(cè)電路就會(huì)捕捉到一個(gè)電信號(hào),將捕捉的電信號(hào)送到A/D轉(zhuǎn)換電路中對(duì)其整形,最后產(chǎn)生一個(gè)數(shù)字脈沖信號(hào),將脈沖信號(hào)送至單片機(jī)內(nèi)部處理使之產(chǎn)生一個(gè)外部中斷“0”。系統(tǒng)進(jìn)行

34、中斷計(jì)數(shù)時(shí),必須開(kāi)啟外部中斷“0”和R4寄存器。同時(shí),還需將外部中斷“0”設(shè)置為電平觸發(fā)模式。串口初始化程序部分源碼如下:#include #include #include “tdp.h”#ifdef evalboard /采用硬件目標(biāo)板時(shí)需要使用以下外部函數(shù)extern void DNPUT(unsigned char aa, unsigned char bb);extern void DISPLY(unsigned char data *cc) ;static unsigned char data dg = 0, 0, 10, 0, 0, 10, 0, 0 ;#end ifvoid ma

35、in (void) unsigned i; for (i=0; i1000; i+); /延時(shí),等待系統(tǒng)上電穩(wěn)定timer0_initialize (); /定時(shí)器0初始化com_initialize (); /串行口初始化#ifdef evalboard /采用硬件目標(biāo)板時(shí)DINPUT (0X0A, 0X07); /需要對(duì)板上MAX7219初始化DNPUT (0X0B, 0X07);DINPUT (0X09, 0X0FF);DINPUT (0X0c, 0X01);DISPLY (dg); /板上LCD顯示00-00-00#end iftimer0_wait (TIMER0_TICKS_PER

36、_ SEC / 10);clock_init ();com _ puts (“TDP Vl.0rn”);while (1) const char *cmd;cmdb_init ();cmdb_prompt ();for (cmd=NULL; cmd=NULL; cmd=cmdb_ scan () clock _ update (); cmd_proc (cmd); 4.2.2 鍵盤(pán)控制模塊鍵盤(pán)掃描采用行列式矩陣接口,子程序采用中斷方式進(jìn)行行列掃描,以獲得鍵值輸入。由于鍵盤(pán)抖動(dòng)會(huì)對(duì)結(jié)果造成影響,因此必須消除。程序流程圖如圖15所示,鍵盤(pán)掃描程序和防抖子程序如下:(1)鍵盤(pán)掃描程序:byte ke

37、y_scan(void) byte ktrnp, key;key=0;key_ 4x4_line_output();key_ 4x4_ row_input();key_4x4_get_row(ktmp);while ( (ktrnp&0x0f)=0x0f) key_4x4_get_row(ktmp);delay_ms(10);key_4x4_get_row (ktmp);if ( (ktmp&0x0f)!=0x0f)key= (ktmp&0x0)key_4x4_row_okey_4x4_line_indelay_ms(10);key_4x4_get_linif (ktmp&0xf0)!whil

38、e( (ktmpkey_4x4_linkey_4x4_rokey+=(ktmfor (ktmp=0;if (key=kreturn(0xff)else return(0xff)else return(0xff);(2)防抖子程序:#include#includesbit P34=0xB4;sbit P35=0xB5;unsigned char get_char(void); /函數(shù)說(shuō)明void delay (void);main() unsigned char keybuf16, count; /鍵盤(pán)緩沖區(qū)和讀鍵計(jì)數(shù)變量SCON=0; /將串行口設(shè)置成工作方式0ES=0; /禁止串口中斷EA=

39、0;count=0;while(count=8) column=0;continue;else break:/下面語(yǔ)句分析被按下鍵所在行號(hào)并計(jì)算鍵序號(hào)if(P34=0) key _ code=column;else key _ code=8+column;return(key _ code);void delay (void) unsigned int i=10; /延時(shí)10mswhile(i-);開(kāi) 始參數(shù)初始化調(diào)用key_scan掃描函數(shù)是否為功能鍵?進(jìn)入中斷調(diào)用key_scan掃描函數(shù)調(diào)用防抖子程序退出中斷N結(jié)束?YYN圖15鍵盤(pán)掃描流程圖4.2.3 點(diǎn)滴速度監(jiān)測(cè)模塊中斷計(jì)數(shù)中斷計(jì)數(shù)點(diǎn)滴

40、速度的測(cè)量是通過(guò)記錄單位時(shí)間內(nèi)點(diǎn)滴的下滴個(gè)數(shù),再計(jì)算單個(gè)點(diǎn)滴的速度。計(jì)算原理是:每出現(xiàn)一個(gè)點(diǎn)滴下滴就進(jìn)行一次中斷,在單位時(shí)間內(nèi)出現(xiàn)的中斷數(shù)即為點(diǎn)滴下滴個(gè)數(shù),如圖16所示。圖16速度計(jì)算原理系統(tǒng)用的定時(shí)器T0定時(shí)時(shí)間為200us。當(dāng)系統(tǒng)檢測(cè)到第一個(gè)脈沖信號(hào)時(shí),程序立即進(jìn)行中斷處理,讀出此時(shí)計(jì)數(shù)器存儲(chǔ)的內(nèi)容,然后清零,記脈沖信號(hào)的初始值為COUNT=0。當(dāng)定時(shí)器定時(shí)到達(dá)200us時(shí),程序中斷檢測(cè)輸入信號(hào)是否有脈沖信號(hào)到來(lái),把計(jì)數(shù)器加1為COUNT=1。由計(jì)數(shù)器COUNT=1檢測(cè)到的脈沖信號(hào)個(gè)數(shù)而設(shè)定計(jì)數(shù)器COUNT=1的存儲(chǔ)單元是10,通過(guò)循環(huán)存儲(chǔ)脈沖個(gè)數(shù)。在定時(shí)器COUNT =1中取5個(gè)相臨的脈

41、沖信號(hào)點(diǎn),設(shè)起始脈沖點(diǎn)對(duì)應(yīng)的計(jì)數(shù)器COUNT值是n1,最后一個(gè)脈沖點(diǎn)對(duì)應(yīng)的值是n2。從而計(jì)算出5個(gè)脈沖點(diǎn)所需時(shí)間為:t = (n2-n1) 200us,那么兩相臨脈沖信號(hào)時(shí)間間隔的平均值為T(mén)=t/5。由此可得到點(diǎn)滴速度:V=60s/T,即V=1500/(n2-n1) 5。根據(jù)上面的理論分析和計(jì)算,得到點(diǎn)滴速度測(cè)量流程圖,如圖17所示。N開(kāi)始定時(shí)200us設(shè)置計(jì)算器COUNT=0退出中斷COUNT加1設(shè)置計(jì)算器COUNT1=0定時(shí)結(jié)束?檢測(cè)到脈沖信號(hào)?COUNT加1NYY圖17點(diǎn)滴速度測(cè)量流程圖 點(diǎn)滴速度檢測(cè)程序如下:#include #include #define ulong unsigne

42、d longunsigned int T0_ ISR_ count=0; /定義T0中斷次數(shù)void T0_ISR (void) interrupt 1 TO_ISR_count+; /每次T0中斷時(shí),中斷次數(shù)加1TF0=0;void main (void) SCON=0x50; /串行口初始化TMOD |=0x20; /利用定時(shí)器Tl作為波特率發(fā)生器THl=0xFA; /晶振為11. 0592MHz時(shí)波特率為9600TRl = 1;TI = 1;PCON |=0x80;printf (“nPulse Width Example Programnn”); /輸出標(biāo)題信息ET0=1;EA=l;

43、/開(kāi)中斷TMOD=(TMOD&0xF0) | 0x09; /設(shè)置T0為16位定時(shí)器方式while (1) T0_ ISR_ count=0; TH0=0; TL0=0;TR0=1;printf (nStart a pulse. n); /輸出提示信息while (! INTO); /等待脈沖上升沿,開(kāi)始測(cè)量while (INTO); /等待脈沖下降沿,停止測(cè)量/以每個(gè)T0計(jì)數(shù)值為200 u s計(jì)算脈沖寬度并輸出printf (The width pulse is: %1d uSecn,(ulong)(TH08) | TL0 | (ulong)T0_ISR_count 16); 4.2.4 電機(jī)

44、控制模塊本系統(tǒng)采用了工業(yè)上較為流行的PID控制算法,實(shí)現(xiàn)了步進(jìn)電機(jī)的精確控制,其算法公式為:P=Pout(k)Pout(k1)=Kpe(k)e(k1)Kie(k)Kde(k)2e(k1)e(k1) ,Kp=5,Ki =5,Kd=2步進(jìn)電機(jī)的正、反轉(zhuǎn)靠正向、反向驅(qū)動(dòng)兩個(gè)函數(shù)來(lái)實(shí)現(xiàn),當(dāng)函數(shù)中變量direction=1時(shí),步進(jìn)電機(jī)正轉(zhuǎn);direction=0時(shí),步進(jìn)電機(jī)反轉(zhuǎn)。步進(jìn)電機(jī)正、反驅(qū)動(dòng)程序如下:void moto_one_step(byte direction, word pulse)if(direction)if(moto_state=moto_state _a)moto_ state=m

45、oto_state_da;else moto_state-;elseif(moto_state=moto_state_da)moto_state=moto_state_a;else moto_state+;PORTC=(PORTC&0xC3) | moto_tabmoto_ state;DelayMs(pulse);4.2.5 報(bào)警模塊開(kāi)始初始化調(diào)用外部函數(shù)滴速是否有異常?報(bào)警程序驅(qū)動(dòng)報(bào)警NY在輸液中時(shí)常有輸液過(guò)慢或過(guò)快等故障,此時(shí)報(bào)警系統(tǒng)發(fā)出報(bào)警。檢測(cè)輸液異常是通過(guò)4s定時(shí)中斷來(lái)實(shí)現(xiàn)的。分析滴速數(shù)據(jù),若滴速大于設(shè)定滴速,則輸液過(guò)快,單片機(jī)的P0.7端輸出高電平,并把單片機(jī)的P0.7腳置“1”

46、和P3.0腳置“0”,驅(qū)動(dòng)蜂鳴器和發(fā)光二極管發(fā)出聲光報(bào)警;反之,則輸液過(guò)緩。若在4s內(nèi)無(wú)點(diǎn)滴落下,則為輸液中斷或輸液結(jié)束,單片機(jī)的P0.7端輸出高電平,并把單片機(jī)的P0.7腳置“1”和P3.0腳置“0”,驅(qū)動(dòng)蜂鳴器和發(fā)光二極管也發(fā)出聲光報(bào)警。若輸液正常范圍內(nèi),單片機(jī)P0.7端輸出低電平,把單片機(jī)的P0.7腳置“0”,不發(fā)出聲光報(bào)警。報(bào)警程序流程圖如圖18所示。圖18報(bào)警程序流程圖報(bào)警程序如下:#include #include void delay_nus(unsigned int n)void delay_nms(unsigned int n);void main(void) /主函數(shù)uns

47、igned int i;unsigned char n;OSCCAL=0X9E; /系統(tǒng)時(shí)鐘校準(zhǔn)TCCRO=BIT (CS01); /T/C0時(shí)鐘8分頻TIMSK=BIT (TOIE0); /允許定時(shí)器T/C0溢出中斷SEI (); /開(kāi)中斷DDRD - =BIT(0)-BIT(7);DDRC&=BIT(5) ; /設(shè)置PC5為輸入口DDIZB - =BIT(1)-BIT(0) ; /定義B口的PB0, PB1為輸出口PORTB - =BIT(1) ; /PB1口輸出高電平,綠燈亮4.2.6 主從通信模塊對(duì)于主、從通信模塊的程序設(shè)計(jì),主要有三個(gè)部分內(nèi)容組成:1、串行通信接口的參數(shù)設(shè)置,如通信線

48、路上的邏輯狀態(tài)、波特率等的設(shè)置; 2、通信協(xié)議的約定,如通信的基本參數(shù),數(shù)據(jù)的傳輸格式以及數(shù)據(jù)流的控制方式等; 3、CAN總線節(jié)點(diǎn)的程序設(shè)計(jì),包括CAN節(jié)點(diǎn)初始化、報(bào)文發(fā)送、報(bào)文接收;根據(jù)以上設(shè)計(jì)內(nèi)容,本模塊可以應(yīng)用MSComm控件通過(guò)串行端口發(fā)送和接收數(shù)據(jù)來(lái)實(shí)現(xiàn)串行通信,其方法只需要對(duì)串口進(jìn)行簡(jiǎn)單配置,以下給出了實(shí)現(xiàn)串口通信的方案。與上位機(jī)通信程序流程圖,如圖19所示。MSComm控件的程序如下:串口初始化并打開(kāi)串口:m-Com. SetCommPort (2); /選擇COM2m-Com. SetInBufferSize(1024); /設(shè)置輸入緩沖區(qū)的大小m-Com. SetOutBuf

49、ferSize(512); /設(shè)置輸出緩沖區(qū)的大小if(!m-Com. GetPortOpen();m-Com. SetPortOpen (TRUE); /打開(kāi)串口m-Com. SetlnputMode(0); /設(shè)置輸入模式m-Com.SetSettings (9600, n, 8, 1 ); /設(shè)置數(shù)據(jù)傳輸速率等參數(shù)m-Com. SetRThreshold(1); /為1表示有一個(gè)字符引發(fā)一個(gè)事件發(fā)送數(shù)據(jù):m-Com. SetOutput(C0leVariant(outstring);/發(fā)送outstring字符串接收數(shù)據(jù):m-Com. SetInputLen(1); /每次讀取一個(gè)字符VAR

溫馨提示

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

評(píng)論

0/150

提交評(píng)論