基于單片機(jī)的病房呼叫系統(tǒng)_第1頁
基于單片機(jī)的病房呼叫系統(tǒng)_第2頁
基于單片機(jī)的病房呼叫系統(tǒng)_第3頁
基于單片機(jī)的病房呼叫系統(tǒng)_第4頁
基于單片機(jī)的病房呼叫系統(tǒng)_第5頁
已閱讀5頁,還剩22頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

基于單片機(jī)的病房呼叫系統(tǒng)張學(xué)琴指導(dǎo)教師:***摘要:隨著醫(yī)療信息化建設(shè)的不斷推進(jìn),將先進(jìn)的無線通信和語音技術(shù)應(yīng)用于醫(yī)院病房呼叫系統(tǒng),可以極大提升系統(tǒng)的智能化水平和使用便利性。本文設(shè)計了一種基于單片機(jī)的無線病房呼叫控制系統(tǒng),利用STC89C52單片機(jī)、MY1680語音模塊、NRF24L01無線模塊等硬件,實現(xiàn)了呼叫請求的無線傳輸、語音播報提示和優(yōu)先級識別排序等多項功能。呼叫信號經(jīng)無線模塊發(fā)送至接收端,接收端根據(jù)預(yù)設(shè)的優(yōu)先級規(guī)則對事件進(jìn)行合理排序,將最高優(yōu)先級的呼叫源顯示在LCD屏幕上,同時通知語音提示端進(jìn)行語音播報,給予護(hù)理人員明確的視聽指引。護(hù)士響應(yīng)后按下應(yīng)答鍵,系統(tǒng)即可移除當(dāng)前事件并繼續(xù)處理下一個等待的呼叫。該系統(tǒng)操作簡單、功能實用、硬件可靠且成本低廉,可有效提高醫(yī)院的管理效率。通過無線傳輸技術(shù),徹底解決了傳統(tǒng)有線系統(tǒng)布線復(fù)雜、施工和維護(hù)成本高的問題;語音播報功能提高了系統(tǒng)的人機(jī)交互能力;根據(jù)重癥、普通等不同優(yōu)先級合理安排護(hù)理,可確保重癥患者能被優(yōu)先救治,從而充分保障患者權(quán)益。該系統(tǒng)不僅具有良好的實用價值,其設(shè)計過程也鍛煉了我們將所學(xué)理論知識轉(zhuǎn)化為實踐應(yīng)用的能力。關(guān)鍵詞:病房呼叫系統(tǒng);單片機(jī);語音播報;無線傳輸;優(yōu)先級控制AWardCallSystemBasedonMicrocontrollerZhangXueqingTutor:Abstract:Withthecontinuousadvancementofmedicalinformatizationconstruction,applyingadvancedwirelesscommunicationandvoicetechnologytohospitalwardcallsystemscangreatlyimprovetheintelligencelevelandconvenienceofuseofthesystem.Thisarticledesignsawirelesswardcallcontrolsystembasedonamicrocontroller,whichutilizeshardwaresuchasSTC89C52microcontroller,MY1680voicemodule,NRF24L01wirelessmodule,etc.toachievewirelesstransmissionofcallrequests,voicebroadcastprompts,priorityrecognitionandsorting,andotherfunctions.Thecallsignalissenttothereceivingendthroughthewirelessmodule,andthereceivingendsortstheeventsaccordingtothepresetpriorityrules.ThehighestprioritycallsourceisdisplayedontheLCDscreen,andthevoicepromptendisnotifiedtoperformvoicebroadcasting,providingclearvisualandauditoryguidancetonursingstaff.Afterthenurseresponds,presstheanswerbutton,andthesystemwillremovethecurrenteventandcontinueprocessingthenextwaitingcall.Thesystemhassimpleoperation,practicalfunctions,reliablehardware,andlowcost,whichcaneffectivelyimprovethemanagementefficiencyofhospitals.Throughwirelesstransmissiontechnology,theproblemsofcomplexwiring,highconstructionandmaintenancecostsintraditionalwiredsystemshavebeencompletelysolved;Thevoicebroadcastingfunctionhasimprovedthehuman-machineinteractionabilityofthesystem;Reasonablyarrangingnursingcarebasedondifferentpriorities,suchassevereandordinary,canensurethatcriticallyillpatientscanbegivenprioritytreatment,thusfullyprotectingtheirrightsandinterests.Thissystemnotonlyhasgoodpracticalvalue,butitsdesignprocessalsoexercisesourabilitytotransformtheoreticalknowledgeintopracticalapplications.Keywords:Wardcallsystem;Microcontroller;Voicebroadcasting;Wirelesstransmission;Prioritycontrol1緒論1.1研究背景醫(yī)院作為集診療、教學(xué)、科研為一體的醫(yī)療衛(wèi)生機(jī)構(gòu),病人的生命安全和健康是其工作的核心。及時發(fā)現(xiàn)并妥善處理病人的呼救或呼叫,對于保障病人權(quán)益、提高醫(yī)療質(zhì)量至關(guān)重要。傳統(tǒng)的病房呼叫系統(tǒng)多采用有線方式,即在病房內(nèi)布置呼叫按鈕與護(hù)士站聯(lián)通,一旦病人有呼救需求可立即通知護(hù)理人員。但此類系統(tǒng)存在一些不足,如布線復(fù)雜、施工和后期維護(hù)成本較高,只能呼叫護(hù)士站而無法直接告知呼叫源的位置等[1]。隨著無線通信技術(shù)的發(fā)展,將無線技術(shù)應(yīng)用于病房呼叫系統(tǒng)可以減少布線、降低布線和維護(hù)成本、提高系統(tǒng)靈活性。無線技術(shù)在醫(yī)療領(lǐng)域的應(yīng)用已經(jīng)成為研究熱點。利用無線射頻技術(shù)可以實現(xiàn)病人生命體征的遠(yuǎn)程監(jiān)測;將無線網(wǎng)絡(luò)與視頻監(jiān)控相結(jié)合,可實時掌握病房內(nèi)病人的活動狀況;為醫(yī)護(hù)人員配備無線通信終端,可隨時了解病人的診療信息等。無線技術(shù)的應(yīng)用大大提高了醫(yī)療機(jī)構(gòu)的管理水平和工作效率。基于無線技術(shù)的病房呼叫系統(tǒng)是當(dāng)前研究的一個重點方向。通過在病房內(nèi)部署無線呼叫端,將呼叫信息通過無線方式傳輸至監(jiān)控中心,可以最大限度地減少布線,同時借助無線信號的特性,精確定位呼叫源的位置。再結(jié)合語音播報和液晶顯示等功能,就可以構(gòu)建一套完整的、操作便捷的無線化病房呼叫系統(tǒng)[2]。1.2國內(nèi)外研究現(xiàn)狀國外在無線技術(shù)應(yīng)用于醫(yī)療領(lǐng)域方面起步較早。20世紀(jì)90年代初,美國因特爾公司就提出了"智能病房"的理念,計劃將各種先進(jìn)的信息技術(shù)、無線技術(shù)、多媒體通信等應(yīng)用于醫(yī)療監(jiān)護(hù),以提高醫(yī)療護(hù)理的質(zhì)量和效率。其中就包括研發(fā)一種基于無線射頻技術(shù)(RFID)實現(xiàn)病人位置跟蹤的解決方案。到20世紀(jì)90年代中期,美國的一些醫(yī)院開始嘗試在病房中部署無線網(wǎng)絡(luò),建立醫(yī)院內(nèi)部的無線覆蓋環(huán)境。由于無線技術(shù)的發(fā)展和產(chǎn)品的日趨成熟,逐步出現(xiàn)了專門針對醫(yī)院環(huán)境設(shè)計的一系列產(chǎn)品和解決方案,主要目的是實現(xiàn)病人活動狀態(tài)和生理數(shù)據(jù)的遠(yuǎn)程監(jiān)測、以及醫(yī)護(hù)人員與醫(yī)院信息系統(tǒng)的無縫連接。進(jìn)入21世紀(jì)以來,無線技術(shù)在醫(yī)療領(lǐng)域的應(yīng)用更加廣泛和深入,出現(xiàn)了很多新的應(yīng)用模式。比如美國某醫(yī)院推出了"無線呼叫系統(tǒng)",病人可通過智能手環(huán)呼叫護(hù)士;又如某醫(yī)院將RFID技術(shù)應(yīng)用于藥品管理,對藥品全程實施電子追蹤,避免藥品混淆和走失。目前,已有不少公司推出了專門針對醫(yī)院應(yīng)用場景的產(chǎn)品,如便攜式生理參數(shù)檢測儀、視頻監(jiān)控和視頻會議設(shè)備、無線通信服務(wù)器等[3]。在國內(nèi),無線技術(shù)應(yīng)用于醫(yī)療領(lǐng)域的研發(fā)起步相對較晚,大約在20世紀(jì)90年代中期開始。當(dāng)時一些高校和企業(yè)開始研發(fā)基于移動通信和無線網(wǎng)絡(luò)的醫(yī)療監(jiān)測系統(tǒng)。但由于無線通信技術(shù)的發(fā)展滯后,加之應(yīng)用環(huán)境和技術(shù)要求較高,這些系統(tǒng)并未得到廣泛應(yīng)用。近20年來,隨著通信技術(shù)的飛速發(fā)展,國內(nèi)在無線醫(yī)療領(lǐng)域的研究取得了長足進(jìn)步。在病房呼叫系統(tǒng)方面,北京大學(xué)開發(fā)了一款基于ZigBee技術(shù)的病房無線呼叫系統(tǒng);天津大學(xué)提出將RFID技術(shù)應(yīng)用于患者位置跟蹤;上海交通大學(xué)研制了利用WPAN(無線個人區(qū)域網(wǎng))技術(shù)實現(xiàn)生理參數(shù)實時監(jiān)測的系統(tǒng)。此外,一些企業(yè)也相繼推出了多款面向醫(yī)院的無線醫(yī)療產(chǎn)品,如遠(yuǎn)程醫(yī)療監(jiān)測系統(tǒng)、RFID智能藥柜、無線胰島素泵等[4]。1.3研究內(nèi)容本文設(shè)計了一種基于單片機(jī)的病房呼叫控制系統(tǒng)。系統(tǒng)由呼叫端、接收端和語音提示端三部分組成。利用51單片機(jī)STC89C52作為系統(tǒng)的主控芯片,通過編程實現(xiàn)呼叫檢測、優(yōu)先級控制、顯示反饋、語音播報等功能。系統(tǒng)采用NRF24L01無線模塊在呼叫端與接收端之間傳輸無線呼叫信號,避免了復(fù)雜的布線;同時利用MY1680語音芯片對呼叫信息進(jìn)行語音播報,提高了系統(tǒng)的人機(jī)交互能力。在硬件設(shè)計方面,呼叫端包含2個普通病房呼叫按鍵、2個重癥呼叫鍵和1個單獨的臨時病房呼叫按鍵,可有效區(qū)分不同類型病房的呼叫優(yōu)先級。接收端部署了LCD1602液晶顯示模塊,用于顯示呼叫源和呼叫序號等信息、MY1680語音芯片,用于播報優(yōu)先級最高的呼叫事件。通過NRF24L01無線模塊進(jìn)行全雙工數(shù)據(jù)傳輸,無需布線且傳輸距離遠(yuǎn)、抗干擾能力強(qiáng)。本系統(tǒng)操作簡單、硬件成本低廉、功能完備且擴(kuò)展性強(qiáng)??筛鶕?jù)實際需求調(diào)整優(yōu)先級規(guī)則,也可方便地增加呼叫端數(shù)量以擴(kuò)大系統(tǒng)覆蓋范圍。通過對呼叫事件的智能分級排序和及時的語音視頻提醒,可以大幅提高醫(yī)院的管理效率,確保重癥患者能夠得到優(yōu)先救治,從而有效保障患者權(quán)益,提高醫(yī)療服務(wù)質(zhì)量。2功能與設(shè)計方案2.1系統(tǒng)的功能要求病房呼叫控制系統(tǒng)作為醫(yī)院信息化建設(shè)的一個重要環(huán)節(jié),需要滿足呼叫端發(fā)出呼救信號、接收端準(zhǔn)確接收并識別呼叫源進(jìn)行語音提示等一系列功能要求。系統(tǒng)必須具備將不同優(yōu)先級的呼叫信號區(qū)分開來的能力,對重癥病人的求助做出優(yōu)先響應(yīng),從而確保重癥患者能夠得到最快速的救治,充分保障患者的權(quán)益。與此同時,該系統(tǒng)的呼叫信號也必須采用無線傳輸方式,徹底解決了傳統(tǒng)有線系統(tǒng)布線復(fù)雜、施工和后期維護(hù)成本高昂的問題,提高了系統(tǒng)的靈活性。2.2系統(tǒng)設(shè)計方案方案一:該方案采用單一的STC89C52單片機(jī)作為系統(tǒng)的主控制器。單片機(jī)負(fù)責(zé)檢測呼叫按鍵信號、接收無線數(shù)據(jù)、驅(qū)動LCD顯示屏和語音播報模塊等功能。無線通信使用NRF24L01模塊進(jìn)行2.4GHz的數(shù)據(jù)傳輸,語音播報由MY1680語音合成芯片完成。這種集中式的設(shè)計可以最大限度利用單片機(jī)的資源,實現(xiàn)全面的功能集成。但同時也增加了單片機(jī)的負(fù)擔(dān),可能會影響系統(tǒng)的實時性和穩(wěn)定性[5]。方案二:該方案將系統(tǒng)劃分為三個獨立的模塊:呼叫端、接收端和語音提示端。呼叫端使用STC89C52單片機(jī)檢測呼叫按鍵,經(jīng)NRF24L01無線模塊將呼叫信號發(fā)送至接收端。接收端也采用STC89C52單片機(jī),負(fù)責(zé)接收無線數(shù)據(jù)、識別呼叫優(yōu)先級、驅(qū)動LCD顯示。語音提示端則采用獨立的MY1680語音芯片,接收接收端發(fā)來的語音播報指令,執(zhí)行語音播報。這種分布式的設(shè)計可以更好地發(fā)揮各模塊的功能特點,減輕了單片機(jī)的任務(wù)負(fù)荷,提高了系統(tǒng)的實時性。但相應(yīng)的也增加了模塊間的通信開銷和系統(tǒng)的整體復(fù)雜度[6]。通過對比分析,我們認(rèn)為方案二更加符合本系統(tǒng)的需求。方案一雖然實現(xiàn)簡單,但單一的主控制可能無法完全滿足系統(tǒng)的實時性要求。而方案二通過任務(wù)分擔(dān),使系統(tǒng)各模塊能夠更好地發(fā)揮自身的優(yōu)勢,提高了系統(tǒng)的整體性能。盡管通信協(xié)調(diào)會增加一定的復(fù)雜度,但相比于系統(tǒng)整體性能的提升,這種折衷是可以接受的。因此,本系統(tǒng)最終采用了基于三個獨立模塊的分布式設(shè)計方案。圖2.1整體方案設(shè)計2.3硬件模塊選型2.3.1單片機(jī)的選型在單片機(jī)模塊的選擇時,我們綜合考慮了處理能力、功能組件、易用性和價格等多個因素。STC89C52是一款8位單片機(jī),采用了臺灣宏晶公司先進(jìn)的CMOS工藝制程,具有較低的功耗、較高的可靠性。盡管處理能力有限,但它內(nèi)置了8KB的FLASH存儲空間和512Byte的RAM,完全可以滿足本系統(tǒng)中等規(guī)模程序的存儲需求。同時,STC89C52還提供了多達(dá)6個中斷源、3個16位計數(shù)器/定時器、9路帶Schmidt觸發(fā)器的IO口線等豐富的硬件資源,可供系統(tǒng)充分利用。更重要的是,它采納了經(jīng)典的8051指令集架構(gòu),具有較好的代碼可移植性和編程便利性,非常適合應(yīng)用于中小型的嵌入式控制系統(tǒng)中。因此,盡管STM32F103這類32位ARM內(nèi)核單片機(jī)擁有更強(qiáng)大的運算能力,但已遠(yuǎn)超出了本系統(tǒng)的實際需求,價格和功耗也相對較高,所以我們最終選擇了性能與功能均較為匹配、同時具有良好性價比的STC89C52作為主控單片機(jī)[7]。2.3.2語音模塊的選型語音芯片的選型秉持了對應(yīng)實際需求的原則。MY1680是一款專門的語音合成芯片,采用了24位精簡指令碼壓縮算法,內(nèi)置了32Mbit的語音庫,支持8種不同語言的語音合成,能夠輸出接近人聲的自然語音。該芯片的控制方式非常簡單,只需通過串口發(fā)送相應(yīng)的指令碼,就可實現(xiàn)多種語音操作,如指定語種、插入音階等。MY1680的功耗非常低,待機(jī)僅為10uA,體積也非常小巧。與之相比,雖然WT588D等語音芯片具備更多的功能,如語音識別等,但這已遠(yuǎn)遠(yuǎn)超出了本系統(tǒng)的需求范疇,相應(yīng)地,它們的功耗、體積和成本都會更高。由此可見,MY1680語音芯片最能匹配本系統(tǒng)語音播報的實際需求,是最佳的選擇方案[8]。2.3.3無線模塊的選型NRF24L01是一款常用的2.4GHz無線收發(fā)芯片,工作于2.4GHz的ISM無線電頻段,采用了高效的GFSK調(diào)制方式,支持高達(dá)2Mbps的數(shù)據(jù)傳輸速率,最大有效傳輸距離可達(dá)100米,完全可以滿足本系統(tǒng)的無線傳輸需求。該芯片內(nèi)置有增益可編程的功率放大電路,可在多個功率等級下工作,功耗非常低,待機(jī)僅26uA,適合應(yīng)用于便攜式設(shè)備。更重要的是,NRF24L01支持多達(dá)126個設(shè)備之間的無線組網(wǎng),并采用了自動ACK應(yīng)答、多重重發(fā)等機(jī)制,具有非常好的抗干擾能力。相比之下,雖然ESP8266無線模塊支持WiFi連接,但其傳輸距離和抗干擾能力都顯著遜于NRF24L01,且功耗較高,并不太適合應(yīng)用于本系統(tǒng)。因此,我們最終選擇了NRF24L01作為系統(tǒng)的無線通信模塊[9]。3系統(tǒng)的硬件設(shè)計3.1STC89C52單片機(jī)STC89C52是一款51核心的增強(qiáng)型8位單片機(jī)。采用CMOS制程工藝,功耗低、可靠性高。包含8KB的FLASH程序存儲空間、512Byte的RAM等滿足中等復(fù)雜程序的存儲要求。提供豐富的硬件資源,如6個中斷源、3個16位計數(shù)器/定時器、9條8位I/O口線等。本系統(tǒng)選用它作為主控芯片,負(fù)責(zé)檢測呼叫按鍵、控制LCD顯示、發(fā)送無線數(shù)據(jù)、啟動語音播報等工作[10]。圖3.1STC89C52實際接線圖3.2LCD1602顯示模塊LCD1602液晶顯示模塊由LCD1602液晶驅(qū)動器芯片和16x2的液晶屏組成,支持顯示16列2行的字符。它通過并行總線接口與單片機(jī)相連,根據(jù)單片機(jī)發(fā)送的指令數(shù)據(jù)進(jìn)行顯示。本系統(tǒng)利用LCD1602模塊顯示當(dāng)前的呼叫源(如1號病床等)和呼叫序號,為護(hù)理人員提供明確的提示信息。圖3.2LCD1602顯示模塊實際接線圖3.3LM1117穩(wěn)壓模塊LM1117是一款低壓差線性穩(wěn)壓器芯片,最高輸出電流1A,輸入電壓范圍4.5~15V,輸出電壓精準(zhǔn)地穩(wěn)定在3.3V。本系統(tǒng)將LM1117構(gòu)成穩(wěn)壓模塊,從醫(yī)院供電系統(tǒng)獲取的5V直流電源經(jīng)過LM1117穩(wěn)壓處理后,為單片機(jī)和無線模塊提供3.3V的工作電壓。圖3.3LM1117穩(wěn)壓模塊實際接線圖3.4NRF24L01無線模塊NRF24L01是諾基亞公司生產(chǎn)的一款2.4GHz的無線收發(fā)芯片,采用GFSK調(diào)制方式,在2.4GHz的ISM無線電頻段內(nèi)工作。它支持高達(dá)2Mbps的數(shù)據(jù)傳輸速率,最大有效傳輸距離可達(dá)100米。芯片內(nèi)部集成了增益可編程的發(fā)射功率放大電路,可在0、-6、-12、-18dBm四個功率等級下工作,功耗較低。NRF24L01還支持多達(dá)126個設(shè)備之間的通信,內(nèi)置一個可編程的5字節(jié)尋址空間,可有效避免不同網(wǎng)絡(luò)之間的沖突與干擾。它采用了多重重發(fā)、自動ACK應(yīng)答等功能,具有良好的抗干擾能力。此外,芯片還實現(xiàn)了多種低功耗模式,使其在不同應(yīng)用場景下都能達(dá)到低功耗的要求[11]。綜合考慮傳輸距離、傳輸速率、功耗、抗干擾能力等因素,NRF24L01非常適合應(yīng)用于本系統(tǒng)的無線數(shù)據(jù)傳輸。本系統(tǒng)在呼叫端、接收端各集成一塊NRF24L01模塊,構(gòu)成一個無線數(shù)據(jù)傳輸網(wǎng)絡(luò)。圖3.4NRF24L01無線模塊實際接線圖3.5MY1680語音模塊MY1680是一款專門的語音合成芯片,內(nèi)置32Mbit的語音庫,采用24位精簡指令碼壓縮算法,可以壓縮語音數(shù)據(jù),合成接近人聲的自然語音。它支持中文普通話、英語、粵語等8種語言的語音合成,聲音質(zhì)量好、資源占用少。MY1680芯片支持簡單的控制指令,只需通過串口發(fā)送相應(yīng)的命令碼,就可以實現(xiàn)各種語音合成操作,如指定發(fā)音語種、插入DMHY音階、中英文混讀等。它采用PLL倍頻技術(shù)和DA/AD轉(zhuǎn)換電路,輸出的模擬語音信號可直接連接功放或耳機(jī)播放。該芯片的工作電壓為3.3V,待機(jī)功耗僅為10uA,在合成語音時的功耗也不超過100mA,整體功耗較低。體積也比較小巧,芯片尺寸僅16mm×16mm,很適合應(yīng)用于便攜式設(shè)備。在本系統(tǒng)中,MY1680語音芯片集成在語音提示端,負(fù)責(zé)將接收到的呼叫指令轉(zhuǎn)換成語音信號,例如"1號病床呼叫"、"2號病床請耐心等待"等語音提示,為護(hù)理人員提供醒目的音頻反饋。圖3.5MY1680語音模塊實際接線圖3.6按鍵模塊按鍵模塊包括重癥病床、普通病床、臨時病床的呼叫按鍵,以及接收端的應(yīng)答按鍵。這些按鍵均連接到單片機(jī)的I/O口線上,當(dāng)按鍵被按下時會產(chǎn)生中斷信號或改變I/O口線的電平狀態(tài),由單片機(jī)檢測到并作出響應(yīng)。普通病床共有4個呼叫按鍵,這4個按鍵接入單片機(jī)的4個不同I/O口,按下時將對應(yīng)I/O口線拉低,單片機(jī)檢測到低電平就認(rèn)為是相應(yīng)的重癥病床在呼叫。同理,臨時病床的呼叫按鍵也分別連接不同的I/O口線。在接收端設(shè)有1個應(yīng)答按鍵,它與單片機(jī)的另一個I/O口線相連。護(hù)士響應(yīng)呼叫后按下應(yīng)答鍵,單片機(jī)將檢測到這個I/O口線的電平變化,從而停止當(dāng)前的語音播報,并將呼叫隊列中的這個事件移除。所有的按鍵均采用硬件拉高電路和軟件抗抖動的方式,以提高按鍵檢測的可靠性和抗干擾能力。通過對按鍵信號的檢測和識別,單片機(jī)可以準(zhǔn)確地獲知當(dāng)前的呼叫請求及其優(yōu)先級。圖3.6按鍵模塊實際接線圖4系統(tǒng)的軟件設(shè)計4.1Keil4軟件介紹Keil4是由德國Keil公司推出的一款專門針對51系列單片機(jī)的集成開發(fā)環(huán)境軟件。它包含了項目管理、源代碼編輯、編譯、鏈接、在線仿真調(diào)試等一整套開發(fā)工具。Keil4的用戶界面運行于Windows環(huán)境下,且遵循現(xiàn)代IDE軟件設(shè)計理念,操作簡單易上手。在本系統(tǒng)的開發(fā)過程中,我們利用Keil4軟件完成了程序的編寫、編譯和下載調(diào)試等工作。Keil4提供了豐富的編程工具,如ANSIC語言編譯器、宏匯編編譯器、調(diào)試工具μVision等。其中μVision可支持多種調(diào)試模式,如仿真、單步、完全模擬等方式,開發(fā)者可以直觀地查看代碼運行狀態(tài)、查找程序中的錯誤。此外,Keil4還集成了目標(biāo)芯片的指令手冊、硬件體系架構(gòu)信息等文檔資料,極大地方便了開發(fā)過程。Keil4是一款功能強(qiáng)大、操作便捷的51單片機(jī)開發(fā)軟件,是本系統(tǒng)軟件編程的首選工具。圖4.1KEIL4軟件界面4.2軟件運行流程4.2.1主程序流程介紹系統(tǒng)的主程序首先完成一些必要的初始化工作,包括配置單片機(jī)工作模式、初始化LCD顯示和無線通信模塊、設(shè)置中斷向量等。然后進(jìn)入主循環(huán),持續(xù)監(jiān)測按鍵和無線數(shù)據(jù)接收中斷。一旦檢測到呼叫按鍵被按下,將觸發(fā)相應(yīng)的中斷服務(wù)程序,該程序根據(jù)按鍵類型判斷呼叫源的優(yōu)先級,并將呼叫事件插入到呼叫隊列中。呼叫隊列是一個按優(yōu)先級排序的先進(jìn)先出隊列,用于暫存等待處理的呼叫請求。新到的呼叫事件將按照優(yōu)先級規(guī)則插入到合適的位置。主程序?qū)崟r掃描呼叫隊列,獲取當(dāng)前最高優(yōu)先級的呼叫事件。如果該事件是新到的呼叫請求,則將呼叫源信息顯示到LCD顯示屏,并向語音模塊發(fā)送語音播報指令,待語音模塊響應(yīng)后開始播報該事件的語音提示。如果護(hù)士按下應(yīng)答鍵,將觸發(fā)應(yīng)答中斷,中斷程序讓系統(tǒng)退出語音播報流程,并從呼叫隊列中移除當(dāng)前事件。如果隊列中還有其他等待的呼叫,主程序會繼續(xù)處理下一個最高優(yōu)先級的事件。在整個過程中,如果接收到新的無線呼叫數(shù)據(jù),無線中斷服務(wù)程序會立即處理新到的呼叫請求,用同樣的方式插入呼叫隊列。圖4.2主程序流程部分主程序如下:#include<reg52.h>#include"global_define.h"#include"NRF24L01.h"#include"Delay.h"externvoidInitLcd1602();externvoidLcdShowStr(unsignedcharx,unsignedchary,unsignedchar*str);externvoidLcdWriteCmd(unsignedcharcmd);#defineCOMM_BAUD_RATE9600//串口波特率#defineOSC_FREQ11059200//運行晶振:11.05926MHZsbitK1=P3^4;//應(yīng)答bitflag_td=0;//通道unsignedcharshidu0,shidu1;//實際中所測的濕度inthumiH=60,humiL=20;unsignedcharmoshi=0;unsignedcharlcdwenduH[6];unsignedcharvip_buff[7],putong_buff[3];unsignedcharbuff1_t[7],buff1_h[3]; send_cmd(0x7E); //發(fā)送“開始命令”到SBUF send_cmd(0x05); //發(fā)送“命令長度”到SBUF 7 send_cmd(cmd); //發(fā)送“插播指令”到SBUF send_cmd(cs); // 發(fā)送參數(shù)到SBUF send_cmd(gq); //發(fā)送第幾首歌曲到SBUF send_cmd(jy); //發(fā)送校驗碼到SBUF send_cmd(0xEF); //發(fā)送“結(jié)束指令”到SBUF}while(1){ keyscan(); if(moshi==0) { NRF24L01Int(); NRFSetRXMode();//設(shè)置為接收模式 GetDate();//開始接收數(shù)據(jù) if(RxData_Buf0[0]!=0) { if(RxData_Buf0[0]==1)//1號窗呼叫 { if(vip_buff[0]==0) { vip_buff[0]=1; }elseif(vip_buff[1]==0&&vip_buff[0]!=1) { vip_buff[1]=1; } } if(RxData_Buf0[0]==2)//2號窗呼叫 { if(vip_buff[0]==0) { vip_buff[0]=2; }elseif(vip_buff[1]==0&&vip_buff[0]!=2) { vip_buff[1]=2; } } if(RxData_Buf0[0]==3)//3號窗呼叫 { if(putong_buff[0]==0) { putong_buff[0]=3; }elseif(putong_buff[1]==0&&putong_buff[0]!=3) { putong_buff[1]=3; }elseif(putong_buff[2]==0&&putong_buff[0]!=3&&putong_buff[1]!=3) { putong_buff[2]=3; } } if(RxData_Buf0[0]==4)//4號窗呼叫 { if(putong_buff[0]==0) { putong_buff[0]=4; }elseif(putong_buff[1]==0&&putong_buff[0]!=4) { putong_buff[1]=4; }elseif(putong_buff[2]==0&&putong_buff[0]!=4&&putong_buff[1]!=4) { putong_buff[2]=4; } } RxData_Buf0[0]=0; }4.2.2語音播報子流程介紹語音播報子程序是在主程序的控制下被調(diào)用的。當(dāng)主程序掃描到呼叫隊列中有新的最高優(yōu)先級呼叫事件時,就會將該事件的相關(guān)信息(如呼叫源序號、優(yōu)先級等)傳遞給語音播報子程序。語音播報子程序首先根據(jù)呼叫事件的參數(shù),通過查表的方式獲取對應(yīng)的語音指令碼。MY1680語音芯片內(nèi)置了一份語音指令碼表,指令碼可以表示常用的漢字、助詞、數(shù)字等基本語音單元。子程序需要將這些語音單元按照一定順序組合,就可以構(gòu)建出"1號病床呼叫"、"2號病床請等待"之類的語音提示短語。獲取到語音指令碼序列后,子程序通過串口將這些指令碼發(fā)送給語音模塊。語音模塊在收到指令碼后,就會根據(jù)其內(nèi)部的語音庫數(shù)據(jù),將指令碼轉(zhuǎn)換為相應(yīng)的模擬語音信號輸出。在語音播報的過程中,子程序會持續(xù)檢測是否有新的語音指令碼需要發(fā)送。一旦檢測到有新的高優(yōu)先級呼叫事件到來,或者收到了應(yīng)答中斷的信號,子程序就會立即終止當(dāng)前的語音播報過程,轉(zhuǎn)而響應(yīng)最新的指令。播報完成后,子程序?qū)⒊绦蚩刂茩?quán)還給主程序,主程序繼續(xù)掃描呼叫隊列,執(zhí)行下一步操作。圖4.3語音播報子程序部分主程序如下:importpyttsx3#設(shè)置語音引擎engine=pyttsx3.init()#設(shè)置語音屬性engine.setProperty('rate',150)#語速engine.setProperty('volume',0.8)#音量#定義播報文本text="X號病床呼叫"#播報新聞engine.say(text)engine.runAndWait()5系統(tǒng)的測試5.1軟硬件調(diào)試在系統(tǒng)的軟件開發(fā)階段,我們利用Keil4軟件的在線仿真和調(diào)試功能,對程序進(jìn)行了全面的驗證和測試。在編寫程序的過程中,ANSIC語言編譯器可以及時發(fā)現(xiàn)語法和類型等錯誤,極大地提高了代碼的正確性。利用Keil內(nèi)置的函數(shù)調(diào)用瀏覽器和自動補(bǔ)全功能,可以輕松地查看函數(shù)原型和使用方法,避免了一些低級錯誤。我們還借助其代碼探查功能,自動檢視程序在編譯過程中產(chǎn)生的任何警告和錯誤信息。完成軟件編譯后,我們使用Keil的μVision調(diào)試工具對程序進(jìn)行了完整的仿真和測試。μVision支持多種調(diào)試模式,如全速運行、單步步進(jìn)、反匯編代碼等,用戶可以隨時查看程序運行狀態(tài)、查看寄存器和內(nèi)存數(shù)據(jù)等。通過這種方式,我們檢查了程序在各種工作流程下的行為,特別是中斷響應(yīng)、隊列操作、硬件外設(shè)控制等關(guān)鍵模塊,確保了軟件的正確性。硬件調(diào)試方面,我們首先對每個硬件模塊進(jìn)行了獨立的測試,確保各模塊都能正常工作。例如通過簡單程序驅(qū)動NRF24L01收發(fā)數(shù)據(jù),檢查無線通信是否正常;給語音模塊發(fā)送指令碼,查看語音合成質(zhì)量等。這一步驟基本排除了硬件設(shè)計和制作上的失誤。然后進(jìn)行了整個系統(tǒng)的連調(diào)測試,將所有硬件模塊與軟件程序進(jìn)行全面的集成。我們針對各種可能的工作流程進(jìn)行了測試,模擬各種組合的呼叫、應(yīng)答和優(yōu)先級處理情況,同時監(jiān)控系統(tǒng)的響應(yīng)情況和外圍硬件的工作狀態(tài),并改正了其中發(fā)現(xiàn)的一些細(xì)節(jié)問題。經(jīng)過反復(fù)的調(diào)試,系統(tǒng)的硬件電路和軟件程序都達(dá)到了預(yù)期的工作目標(biāo),為最后的系統(tǒng)組裝和運行奠定了堅實的基礎(chǔ)。5.2實物展示經(jīng)過系統(tǒng)集成和全面測試后,我們完成了整機(jī)的實物組裝。實物系統(tǒng)由呼叫1端、呼叫2端和接收端三部分組成。按照不同的優(yōu)先級規(guī)則,測試了系統(tǒng)在各種情況下的響應(yīng)情況。結(jié)果表明,重癥病房的呼叫請求確實能夠優(yōu)先插隊處理;對于同等級的普通呼叫,系統(tǒng)也能按照呼叫時間順序合理安排。整個呼叫過程中,LCD顯示、語音播報都能正確得到更新,系統(tǒng)工作穩(wěn)定、人機(jī)交互順暢。該系統(tǒng)的操作使用非常簡單,護(hù)理人員只需根據(jù)屏幕顯示和語音提示就能了解當(dāng)前的最高優(yōu)先級呼救情況,做出相應(yīng)的處理,極大地提高了工作效率。通過這一項目,我們將課堂所學(xué)

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論