【電氣設(shè)計(jì)自動(dòng)化論文】病床呼叫系統(tǒng)的設(shè)計(jì)
【電氣設(shè)計(jì)自動(dòng)化論文】病床呼叫系統(tǒng)的設(shè)計(jì),電氣設(shè)計(jì),自動(dòng)化,論文,病床,呼叫,呼喚,系統(tǒng),設(shè)計(jì)
本科生畢業(yè)論文(設(shè)計(jì))題目:病床呼叫系統(tǒng)的設(shè)計(jì)學(xué) 院 電子信息工程學(xué)院 學(xué)科門類 理 科 專 業(yè) 電氣工程及其自動(dòng)化 學(xué) 號(hào) 姓 名 指導(dǎo)教師 年 4 月 06 日2015 屆本科生畢業(yè)論文(設(shè)計(jì))1摘 要隨著科技的發(fā)展,社會(huì)的進(jìn)步,越來越多的設(shè)施都趨向于科技化。當(dāng)前,人類對健康的關(guān)注越來越多,醫(yī)療行業(yè)正快速膨脹,患者也希望能得到最佳的護(hù)理和服務(wù),傳統(tǒng)的繼電器控制門鈴式呼叫系統(tǒng),由于外觀粗糙、噪聲大、功能單一,在醫(yī)院達(dá)標(biāo)定級(jí)中已不能適應(yīng)現(xiàn)代醫(yī)院的要求系統(tǒng)是基于 51 系列的單片機(jī)設(shè)計(jì)的病床呼叫系統(tǒng)。該系統(tǒng)以 AT89C51 單片機(jī)為核心輔以獨(dú)立式按鍵、LCD 顯示電路和部分簡單模擬和數(shù)字電路組成的能夠?qū)崿F(xiàn)病人和醫(yī)護(hù)人員之間信息的傳遞。在該設(shè)計(jì)中每個(gè)病房都有一個(gè)按鍵,當(dāng)患者有需要時(shí),按下按鍵,此時(shí) 值班室的顯示屏可顯示此患者的床位號(hào),多人使用時(shí)可實(shí)現(xiàn)同時(shí)顯示,醫(yī)護(hù)人員按下“響應(yīng)”鍵取消當(dāng)前呼叫。此系統(tǒng)能夠?yàn)獒t(yī)院提供一個(gè)成本低、效率高、操作方便和易于安裝維護(hù)的快捷系統(tǒng)。關(guān)鍵詞:51 單片機(jī) 獨(dú)立式按鍵 LCD 顯示電路 呼叫系統(tǒng)2015 屆本科生畢業(yè)論文(設(shè)計(jì))2AbstractWith the development of science and technology, the progress of the society, more and more facilities are tend to science and technology。At present, more and more attention to health, human health care industry is rapidly expanding, patients also hope to get the best care and service. The traditional relay control doorbell call system, due to the rough appearance, big noise, single function, in a hospital in standard grading can not meet the requirements of a modern hospital.System calling system 51 series single-chip design based on the bed. The system to AT89C51 SCM as the core with independent keys, LCD display circuit and some simple analog and digital circuit can realize the transmission of information betweenpatients and medical staff. In the design of each unit has a key, when a patient needs, press the button, when the duty room display this patient beds, many people use can be realized when the shows at the same time, the medical care personnel press “response“ to cancel the call. This system can provide fast system is a low cost, high efficiency, convenient operation andeasy installation and maintenance for the hospital.Key Words: 51 series single-chip independent keys LCD display circuit calling system2015 屆本科生畢業(yè)論文(設(shè)計(jì))3目 錄摘 要 .1ABSTRACT.21.緒 論 41.1 課題設(shè)計(jì)的背景及意義 41.2 設(shè)計(jì)要求及預(yù)期目標(biāo) 41.3 設(shè)計(jì)可行性 51.4 設(shè)計(jì)方案及步驟 51.4.1 鍵盤采集方案選擇 .61.4.2 設(shè)計(jì)芯片的選擇 72.系統(tǒng)硬件設(shè)計(jì) .72.1 系統(tǒng)原理框圖 72.2 芯片簡介 82.3 硬件模塊設(shè)計(jì) .112.3.1 按鍵電路模塊 .112.3.2 液晶顯示模塊 .122.3.3 聲音報(bào)警模塊 .122.3.4 應(yīng)答電路 .133.系統(tǒng)軟件設(shè)計(jì) 133.1 主函數(shù)程序設(shè)計(jì) .143.2 中斷程序設(shè)計(jì) .153.3 顯示模塊設(shè)計(jì) .164. 系統(tǒng)的調(diào)試與結(jié)果 .184.1 調(diào)試界面顯示 .184.2 結(jié)果分析 .21結(jié)束語 21參考文獻(xiàn) 22致謝 23附錄 24附錄一:PROTEL 原理圖 .24附錄二:PCB 電路圖 .25附錄三:實(shí)物圖 .25附錄四:C 語言源程序 .262015 屆本科生畢業(yè)論文(設(shè)計(jì))41.緒 論1.1 課題設(shè)計(jì)的背景及意義信息時(shí)期醫(yī)院的管理多數(shù)都已經(jīng)從傳統(tǒng)落后的人工服務(wù)模式,向電子化、智能化、網(wǎng)絡(luò)化的科技管理模式方向迅速發(fā)展?!安〈埠艚邢到y(tǒng)”可實(shí)現(xiàn)對醫(yī)院病室病房的智能化把控,也可促成呼救、信息保存、顯示等等功能。病人住院的時(shí)候,會(huì)在任何可能出現(xiàn)問題的時(shí)間需要醫(yī)護(hù)人員去診斷或者護(hù)理。臨床的呼叫是傳送病人即時(shí)消息非常重要的措施,病人向值班醫(yī)師或護(hù)士提出緊急呼叫的時(shí)候,病床呼叫系統(tǒng)充當(dāng)工具的作用,若想要將患者的請求即時(shí)地傳送給醫(yī)護(hù)人員,并且被醫(yī)院監(jiān)控中心記下完整準(zhǔn)確的信息,同時(shí)也是提高醫(yī)院和病護(hù)的重要組成部分 [1]。本次設(shè)計(jì)是以 AT89C51 為中心的病人呼叫系統(tǒng),通過采集病區(qū)數(shù)據(jù)的信息,采用LCD1602 顯示屏顯示蜂鳴器并進(jìn)行報(bào)警的呼叫設(shè)計(jì)??梢月鋵?shí)醫(yī)院醫(yī)護(hù)人員和病人病房之間的呼叫聯(lián)系,有使用便捷、操作起來簡單等優(yōu)點(diǎn)。病床呼叫系統(tǒng)可以應(yīng)用于養(yǎng)老院、醫(yī)療機(jī)構(gòu)、醫(yī)院的病房等地方,也可以用來聯(lián)通醫(yī)護(hù)人員和病人,同時(shí)是提高醫(yī)院的醫(yī)療水平必需設(shè)備之一。病床的呼叫系統(tǒng)的好壞會(huì)直接影響到病員的生命財(cái)產(chǎn)安全,歷來受到各種大醫(yī)院的廣泛重視。它要求必須得簡便可行、準(zhǔn)確可靠、并且利于推廣。病床呼叫系統(tǒng)利于病人快速地呼叫護(hù)士,大大縮短了人工的呼叫時(shí)間?,F(xiàn)在病房呼叫系統(tǒng)正逐步地向高度智能化發(fā)展,它也可以和攝像機(jī)在一起使用,每當(dāng)病人按開關(guān),護(hù)士值班室的大屏幕上能夠即時(shí)地觀察了解病人的需要。并可以配對講機(jī)等通訊設(shè)備,能使病人快捷及時(shí)地與醫(yī)務(wù)人員進(jìn)行溝通交流。有了病床呼叫系統(tǒng),醫(yī)院對病人的護(hù)理工作變得愈加方便全面,不再煩惱于未能及時(shí)發(fā)現(xiàn)突發(fā)病況而一發(fā)不可收拾??偟膩碚f,51 系列單片機(jī)設(shè)計(jì)的病床呼叫系統(tǒng)能可靠、準(zhǔn)確、及時(shí)地促成病房呼叫管制,有良好的前景應(yīng)用 [2]。1.2 設(shè)計(jì)要求及預(yù)期目標(biāo)最近幾年來伴隨著人們生活水平的不斷提高,大家對醫(yī)療機(jī)構(gòu)水平的要求也在不斷地提高,尤其是在某些突發(fā)情況下病員請求值班醫(yī)護(hù)人員進(jìn)行及時(shí)的診斷或者護(hù)理,這一過程對提升醫(yī)院管理服務(wù)質(zhì)量就會(huì)顯得尤為重要,在這同時(shí)也會(huì)很大程度上提高醫(yī)院應(yīng)2015 屆本科生畢業(yè)論文(設(shè)計(jì))5對突然發(fā)升的事件的能力。所以,一種全新型的臨床呼叫儀器一躍成為最近幾年來的研究熱門之一。呼叫系統(tǒng)直接關(guān)系到病人的生命安全,受到各大醫(yī)院廣泛關(guān)注。它要求及時(shí),準(zhǔn)確,可靠,簡單可行,有利于促進(jìn)電力線載波通信技術(shù)的應(yīng)用,單片機(jī)多機(jī)通信和計(jì)算機(jī)監(jiān)控和管理技術(shù)設(shè)計(jì),振鈴,呼叫排隊(duì),的病床呼叫系統(tǒng)錄音等功能,滿足醫(yī)院管理和醫(yī)院護(hù)理。設(shè)計(jì)要求:以單芯片微型計(jì)算機(jī)監(jiān)控的設(shè)計(jì)為目標(biāo),設(shè)計(jì)一個(gè)(模擬)病床呼叫控制器??梢员O(jiān)視多個(gè)床,床做出及時(shí)的聲音報(bào)警和顯示病床數(shù)稱為準(zhǔn)確,使醫(yī)護(hù)人員可以及時(shí)、準(zhǔn)確地向醫(yī)院的患者,給予及時(shí)的救援和醫(yī)療。預(yù)期目標(biāo):病人按確認(rèn)鍵,通過單片機(jī)控制處理,護(hù)士值班室報(bào)警,同時(shí),1602 液晶會(huì)顯示相應(yīng)的床號(hào),當(dāng)護(hù)士按下停止響應(yīng)按鍵,液晶顯示器由定時(shí)器控制顯示”I know”。當(dāng)有多個(gè)病人呼叫時(shí)同時(shí)響應(yīng),對應(yīng)于每個(gè)床床數(shù)顯示,同時(shí)報(bào)警。通過對上述設(shè)計(jì)任務(wù)的分析,可以細(xì)分為以下幾個(gè)部分,最終的調(diào)試也是將以下部分為依據(jù):1 當(dāng)有病人按下按鍵時(shí),液晶顯示器上顯示病人的病房號(hào),病床號(hào);2 在護(hù)士按下清零鍵后,液晶顯示器上內(nèi)容恢復(fù)到初始狀態(tài);3 若在護(hù)士按下清零鍵前有多個(gè)病人按鍵,則液晶顯示器上將循環(huán)顯示各個(gè)病人的信息,直到護(hù)士按下清零鍵后,液晶顯示器上內(nèi)容恢復(fù)到初始狀態(tài)。1.3 設(shè)計(jì)可行性在醫(yī)院的正常運(yùn)行中,醫(yī)療設(shè)備起到一個(gè)重要的角色的作用,病房呼叫系統(tǒng)是其中的一個(gè)。作為每一個(gè)床的基本配置,它可以使病人打電話更方便,更簡化了醫(yī)務(wù)人員的工作。目前市場上有很多種不同的病房呼叫系統(tǒng)功能的不同,主要分為兩類:有線和無線。無線病房呼叫系統(tǒng)線路鋪設(shè)不存在問題,但可靠性差,和無線電波會(huì)干擾其他醫(yī)療設(shè)備。本設(shè)計(jì)的電纜類型,適合中小型醫(yī)院使用,具有成本低,操作簡單,安裝和維護(hù),而且具有穩(wěn)定可靠的特點(diǎn),不會(huì)受到其他醫(yī)療設(shè)備的干擾;但由接線較多,影響美觀,不宜大醫(yī)院。我們利用 AT89S51 芯片設(shè)計(jì)了一套簡單可行,系統(tǒng)性能穩(wěn)定,對該系統(tǒng)的測試完全可以滿足醫(yī)院的需要。1.4 設(shè)計(jì)方案及步驟根據(jù)設(shè)計(jì)要求,基于 C51 單片機(jī)為核心的病床呼叫系統(tǒng)有 6 個(gè)獨(dú)立按鍵,每個(gè)按鍵2015 屆本科生畢業(yè)論文(設(shè)計(jì))6對應(yīng)不同的床。在沒有病人呼叫時(shí)屏幕顯示初始化界面;當(dāng)病人床邊按下相應(yīng)的按鈕,產(chǎn)生一個(gè)中斷信號(hào)。單片機(jī)接收到中斷信號(hào)的中斷服務(wù)程序呼叫識(shí)別號(hào)碼后,顯示病床床位數(shù),通過 LCD1602 顯示床位號(hào),蜂鳴器報(bào)警信號(hào);通過閱讀屏幕上提示,護(hù)士可以快速準(zhǔn)確地了解到病人的需求,并作出相應(yīng)的準(zhǔn)備和處理,處理完成按“清除”按鈕,可以刪除通話記錄,等待下次呼叫,同時(shí)液晶屏幕上再次顯示“HAPPY EVERY DAY”。其結(jié)構(gòu)圖如下:鍵盤單片機(jī)液晶顯示蜂鳴器報(bào)警圖 1.1 病床呼叫系統(tǒng)結(jié)構(gòu)圖1.4.1 鍵盤采集方案選擇 鍵盤的工作方式應(yīng)該根據(jù)實(shí)際應(yīng)用系統(tǒng)中 CPU 的工作狀況而選定選取的規(guī)則是既能保 證 CPU 可以及時(shí)響應(yīng) 6 個(gè)按鍵操作而又不需要占用過多 CPU 工作的時(shí)間。通常來說鍵盤工作的方式有三種即編程掃描、定時(shí)掃描和中斷掃描。 1 編程掃描工作方式 編程掃描工作方式指的是利用 CPU 進(jìn)行完成其他工程的空閑時(shí)間調(diào)取鍵盤掃描子程序來檢測按鍵狀態(tài)反應(yīng)鍵盤輸入。執(zhí)行按鍵功能得程序時(shí) CPU 不會(huì)再享有按鍵輸入需求一直到 CPU 再次掃描鍵盤為終止。 2 定時(shí)掃描工作方式 定時(shí)掃描工作方式指的是每間隔一小段時(shí)間對按鍵掃描一次,它利用單片機(jī)的內(nèi)部定時(shí)器產(chǎn)生固定時(shí)間如 20ms 的定時(shí),定時(shí)時(shí)間到了產(chǎn)生定時(shí)器就會(huì)溢出中斷。CPU 在中斷服務(wù)程序中鍵盤進(jìn)行掃描并在有鍵按下時(shí)識(shí)別出該鍵并保存鍵號(hào)然后在中斷服務(wù)程序或主程序中執(zhí)行該鍵的功能程序2015 屆本科生畢業(yè)論文(設(shè)計(jì))73 中斷掃描工作方式 中斷掃描工作方式就是當(dāng)有按鍵被按下時(shí),電路產(chǎn)生中斷信號(hào),單片機(jī)收到中斷信號(hào)后就執(zhí)行對應(yīng)的中斷服務(wù)子程序響應(yīng)該按鍵,處理完后 CPU 又開始循環(huán)等待下一次按鍵按下。 當(dāng)采用兩個(gè)鍵盤掃描方式,無論是否有鍵按下 CPU 定時(shí)掃描鍵盤和單片機(jī)應(yīng)用系統(tǒng)往往需要工作不是鍵盤輸入。CPU 通常是空的,浪費(fèi)了很多時(shí)間掃描。CPU 不掃描鍵盤并按一個(gè)按鈕與相應(yīng)的電路產(chǎn)生一個(gè)中斷請求,該 CPU 響應(yīng)中斷執(zhí)行,鍵盤掃描子程序和確定按鍵號(hào) [3]。 所以本設(shè)計(jì)中利用中斷掃描工作方式采集鍵盤信息。 1.4.2 設(shè)計(jì)芯片的選擇 C51 單片機(jī): 單片機(jī)是一種集成電路芯片,是采用超大規(guī)模集成電路技術(shù)把具有數(shù)據(jù)處理能力的CPU、RAM、ROM、多路 I/O 口和中斷系統(tǒng)、定時(shí)器/計(jì)數(shù)器等功能集成到一塊芯片上的一個(gè)小系統(tǒng),通過編寫程序下載到單片機(jī)的程序存儲(chǔ)器以實(shí)現(xiàn)不同的功能 [4]。液晶顯示器 LCD1602: 相對于數(shù)碼管、LED 二極管點(diǎn)陣等,液晶顯示具有可以實(shí)現(xiàn)漢字的顯示,硬件電路連接比較簡單等優(yōu)點(diǎn)。2.系統(tǒng)硬件設(shè)計(jì)2.1 系統(tǒng)原理框圖根據(jù)病床呼叫系統(tǒng)要求初步繪制出系統(tǒng)原理框圖如圖 2-1 所示。按鍵電路 單片機(jī) 聲音報(bào)警應(yīng)答按鍵液晶顯示圖 2-1 系統(tǒng)原理框圖2.2 芯片簡介STC89C51 是一種低耗、高功能 CMOS8 位微型控制器,具有 8K 字節(jié) 存在于系統(tǒng),可以編程的 Flash 存儲(chǔ)器。在單個(gè)的芯片上,具有靈活的 8 位 CPU 和在系統(tǒng)可以編程Flash,使得以 STC89C51 為許多嵌入式控制系統(tǒng)提供高靈巧、高超有效解決問題的方案。2015 屆本科生畢業(yè)論文(設(shè)計(jì))8有以下幾個(gè)標(biāo)準(zhǔn)的功能: 8kFlash,512RAM, 32 位 I/O 口線,內(nèi)置 4KB EEPROM,三個(gè) 16 位 定時(shí)器/計(jì)數(shù)器,一個(gè) 6 向量 2 級(jí)中斷的結(jié)構(gòu)。除此之外 STC89X51 可降至 0Hz非動(dòng)態(tài)邏輯操控,支持兩種軟件可以選省電方式??臻e模式下,CPU 會(huì)停止工作,準(zhǔn)許RAM、計(jì)數(shù)器/定時(shí)器、中斷會(huì)繼續(xù)工作。在漏電受到保護(hù)下,RAM 中的內(nèi)容就會(huì)被保存,另外振蕩器被凍結(jié),單片機(jī)停止一切工作狀態(tài),一直會(huì)持續(xù)到下一個(gè)信號(hào)產(chǎn)生中斷或者硬件復(fù)位。最高運(yùn)作頻率 35Mhz,6T/12T 可選 [5]。圖 2-2 STC89C51 單片機(jī)引腳圖STC89C51 是機(jī)內(nèi)有 ROM/EPROM 單元的單片機(jī),所以,這類芯片組成的最小系統(tǒng)最為簡單﹑可靠。用 51 單片機(jī)組成最小應(yīng)用的系統(tǒng)時(shí),只需要將單片機(jī)外接上時(shí)鐘電路和復(fù)位電路就行,結(jié)構(gòu)如下圖 2-3 所示,由于受到集成度的限制下,最小應(yīng)用系統(tǒng)被迫只能用作一些較小型的控制單元。時(shí)鐘電路復(fù)位電路單片機(jī)I/O口2015 屆本科生畢業(yè)論文(設(shè)計(jì))9圖 2-3 單片機(jī)最小系統(tǒng)原理框圖(1) 時(shí)鐘電路STC89C51 單片機(jī)的時(shí)鐘信號(hào)一般會(huì)由兩種工作方式產(chǎn)生:一種是內(nèi)部時(shí)鐘工作方式,第二種是外部時(shí)鐘工作方式。內(nèi)部時(shí)鐘工作方式如下圖 2-4 所示。在 STC89C51 單片機(jī)內(nèi)部有一個(gè)晶振電路,只需把石英晶體(簡稱晶振)接在單片機(jī)的 XTAL1(18)和 XTAL2(19)引腳外面,就會(huì)自然構(gòu)成自激式振蕩器而且會(huì)在單片機(jī)的內(nèi)部產(chǎn)生時(shí)鐘脈沖信號(hào)。圖中電容 C1 和 C2 的作用就是用來穩(wěn)定頻率并且快速起振,電容在 5~30pF 之間,典型的值為30pF。晶振 CYS 振蕩的頻率范圍是在 1.2~12MHz 之間選擇,典型的值為 12MHz 和 6MHz。圖 2-4 STC89C51 內(nèi)部時(shí)鐘電路(2) 復(fù)位電路STC89C51 單片機(jī) RST 引腳在引入高電平時(shí),保持 2 個(gè)機(jī)器周期就會(huì)使單片機(jī)的內(nèi)部進(jìn)行復(fù)位操作。復(fù)位電路一般采用上電和按鈕復(fù)位方式。最單一的上電自動(dòng)復(fù)位電路中,上電自動(dòng)復(fù)位通過外部的復(fù)位電路電容充放電來實(shí)現(xiàn)。只要 Vcc 上升的時(shí)間不超過 1ms,就會(huì)實(shí)現(xiàn)自動(dòng)上電復(fù)位。除上電復(fù)位以外,有的時(shí)候還需要我們按鍵手動(dòng)去復(fù)位。本設(shè)計(jì)的就是按鍵手動(dòng)復(fù)位。按鍵手動(dòng)復(fù)位具有電平工作方式和脈沖工作方式兩種。其中的電平復(fù)位是通過 RST(9)端與電源 Vcc 接通實(shí)現(xiàn)的。按鍵手動(dòng)復(fù)位見圖 2-5。時(shí)鐘頻率用 11.0592MHZ 時(shí) C 取 10uF,R取 10kΩ。2015 屆本科生畢業(yè)論文(設(shè)計(jì))10圖 2-5 STC89C51 復(fù)位電路(3) STC89C51 中斷技術(shù)概述中斷技術(shù)主要用于實(shí)時(shí)監(jiān)測和控制要求,單片機(jī)的中斷源服務(wù)請求及時(shí)響應(yīng),并做出快速反應(yīng)、及時(shí)處理。這是由中斷系統(tǒng)芯片的實(shí)現(xiàn)。當(dāng)中斷請求發(fā)出中斷請求時(shí),如果中斷請求是允許的,單片機(jī)暫停當(dāng)前正在執(zhí)行的主程序,中斷服務(wù)程序,中斷服務(wù)請求。中斷服務(wù)程序處理完中斷服務(wù)請求,然后回到原來的地方暫停程序(斷點(diǎn)),繼續(xù)執(zhí)行被中斷的程序。圖 2-6 中斷響應(yīng)與處理。中斷響應(yīng)中斷中斷服務(wù)程序返回主程序主程序主程序圖 2-6 中斷響應(yīng)和處理過程如果單片機(jī)沒有中斷系統(tǒng),單片機(jī)的大量時(shí)間可能會(huì)浪費(fèi)在查詢是否有服務(wù)請求發(fā)生的定時(shí)查詢操作上。采用中斷技術(shù)完全消除了單片機(jī)在查詢方式中的等待現(xiàn)象,大大地提高了單片機(jī)的工作效率和實(shí)時(shí)性。2015 屆本科生畢業(yè)論文(設(shè)計(jì))112.3 硬件模塊設(shè)計(jì)由圖 2-1 系統(tǒng)原理框圖可知,整個(gè)系統(tǒng)分為五個(gè)模塊:按鍵電路模塊、液晶顯示模塊、聲音報(bào)警模塊、按鍵應(yīng)答模塊。下面將簡單的介紹各個(gè)模塊設(shè)計(jì)方案。2.3.1 按鍵電路模塊在單片機(jī)應(yīng)用系統(tǒng)中,通常一個(gè)人-機(jī)對話功能。它包含的狀態(tài)干預(yù),系統(tǒng)數(shù)據(jù)輸入應(yīng)用系統(tǒng)報(bào)告運(yùn)行狀態(tài)和運(yùn)行結(jié)果。鍵盤已經(jīng)成為一種必要的手段,人-機(jī)連接,你需要配置適當(dāng)?shù)逆I盤輸入裝置。鍵盤的工作原理,一個(gè)鍵盤,可以看作是一個(gè)常開開關(guān)電路各關(guān)鍵,當(dāng)功能的鍵或按下的鍵,當(dāng)你設(shè)置的數(shù)量,可以在一個(gè)封閉的狀態(tài)。對于一組鍵或鍵盤,通過用單片機(jī)實(shí)現(xiàn)的關(guān)鍵接口電路連接,為了方便單片機(jī)的開關(guān)狀態(tài)通知。和單片機(jī)用于查詢或中斷方式來檢查有沒有輸入鍵,該鍵被按下,并通過功能鍵轉(zhuǎn)移指令傳送到執(zhí)行此程序,然后返回到原始執(zhí)行狀態(tài)。獨(dú)立的關(guān)鍵是指直接使用 I/O 口線組成的單一關(guān)鍵電路。每個(gè)按鈕將出現(xiàn)在單獨(dú)的行上的 I / O 端口,我/每個(gè)工作狀態(tài)輸出端口線不會(huì)影響其它 I/O 口線的工作狀態(tài) [6]。2.3.2 液晶顯示模塊字符型液晶顯示模塊是一種專門用于顯示字母、數(shù)字、符號(hào)等點(diǎn)陣式 LCD,目前常用16*1,16*2,20*2 和 40*2 行等的模塊,一般 1602 字符型液晶顯示器實(shí)物如下圖:2015 屆本科生畢業(yè)論文(設(shè)計(jì))12圖 2-7 1602 實(shí)物圖2.3.3 聲音報(bào)警模塊該設(shè)計(jì)設(shè)有聲音報(bào)警模塊,當(dāng)出現(xiàn)病人呼叫醫(yī)務(wù)人員時(shí),蜂鳴器則會(huì)報(bào)警提示,一直持續(xù)到護(hù)士按下應(yīng)答按鍵,才會(huì)停止報(bào)警,控制引腳一般接在 P3.4 引腳上,同時(shí)利用三極管做開關(guān)電路起到保護(hù)單片機(jī)的作用,還可以放大電流,當(dāng)三極管的基極為高電平時(shí),發(fā)射極截止,為低電平時(shí),發(fā)射極導(dǎo)通 [7]。報(bào)警模塊如圖 2-8 所示。圖 2-8 聲音報(bào)警模塊2.3.4 應(yīng)答電路本設(shè)計(jì)中四個(gè)床位使用一個(gè)應(yīng)答按鈕,接在 P3.3 引腳上,當(dāng)有病人按下按鈕,報(bào)警開始時(shí),按下應(yīng)答按鈕,即可停止報(bào)警,應(yīng)答模塊圖如圖 2-14 所示S1V C CR 51 0 kP3 3Q185 50器器器VCCR41kP3 42015 屆本科生畢業(yè)論文(設(shè)計(jì))13圖 2-9 應(yīng)答電路3.系統(tǒng)軟件設(shè)計(jì)在單片機(jī)軟件開發(fā)過程中,編程要合理利用各種中斷機(jī)制。本系統(tǒng)拿控制算法來說,會(huì)有實(shí)時(shí)性的要求,任務(wù)復(fù)雜, 并且人機(jī)交互的操作還通常會(huì)進(jìn)行動(dòng)態(tài)地改變應(yīng)用程序運(yùn)行的模式,尤其是在人機(jī)界面又需要占用 CPU 的許多時(shí)間,與此同時(shí)而又不允許遺漏重要的數(shù)據(jù)。同時(shí)還需要隨時(shí)隨地的準(zhǔn)備向上位機(jī)去發(fā)送數(shù)據(jù)。因此,需要學(xué)會(huì)綜合地采用消息機(jī)制和狀態(tài)轉(zhuǎn)移的方法來統(tǒng)一解決好 CPU 的安排。在中斷服務(wù)的程序中,向主程序消息隊(duì)列中加入相應(yīng)的消息,來達(dá)成將中斷服務(wù)的程序中處理部分分開的目的。本系統(tǒng)有兩個(gè)重要中斷:上位機(jī)的中斷和鍵盤的中斷。中斷服務(wù)程序返回到主程序中后,主程序只會(huì)處理循環(huán)消息,并為消息處理的對象發(fā)送所需要的信息,當(dāng)收到主程序發(fā)送來的消息后,信息響應(yīng)函數(shù)得到控制權(quán),做好相應(yīng)處理后會(huì)將控制權(quán)還給主程序進(jìn)行繼續(xù)消息循環(huán)處理。用戶的請求僅僅是向信息隊(duì)列中添入相應(yīng)消息。主程序還要查詢信息隊(duì)列就是時(shí)間,根據(jù)時(shí)間的區(qū)別,調(diào)用相應(yīng)消息的處理函數(shù),在本系統(tǒng)中,時(shí)間會(huì)表現(xiàn)為一個(gè)變量,通過在給該變量賦不同值來反饋不同的消息。對于中斷觸發(fā)的信息,因?yàn)橄⒌奶幚砗瘮?shù)已經(jīng)結(jié)束了中斷的處理過程,故系統(tǒng)對消息的處理不會(huì)再像中斷的服務(wù)程序那般樣,在時(shí)間上會(huì)有十分嚴(yán)格的要求;于此同時(shí),在信息處理過程中,用戶仍然可以通過鍵中斷來與系統(tǒng)進(jìn)行溝通 [8]。3.1 主函數(shù)程序設(shè)計(jì)一個(gè)完整的程序中只有一個(gè) main 函數(shù),首先調(diào)用初始化函數(shù)進(jìn)行初始化,然后判斷并調(diào)用顯示子程序使液晶 1602 顯示、蜂鳴器鳴響報(bào)警。程序流程如圖 3-1 所示:開始液晶顯示歡迎語調(diào)用初始化子程序判斷是否有床位報(bào)警蜂鳴器報(bào)警液晶顯示床號(hào)應(yīng)答按鍵是否按下關(guān)閉報(bào)警器液晶顯示知曉結(jié)束是是否否圖 3-1 主程序流程圖3.2 中斷程序設(shè)計(jì)2015 屆本科生畢業(yè)論文(設(shè)計(jì))14矩陣鍵盤的中斷程序主要是對按鍵的掃描以實(shí)現(xiàn)對按鍵的鍵號(hào)識(shí)別,同時(shí)對鍵號(hào)對應(yīng)的病房,病床號(hào)以及按鍵的時(shí)間進(jìn)行存儲(chǔ)。主函數(shù)通過調(diào)用存儲(chǔ)的數(shù)據(jù)便可實(shí)現(xiàn)病房信息的循環(huán)顯示。 其設(shè)計(jì)流程圖如圖 4.2 所示。 需要說明的是,在此中斷程序中抖動(dòng)的識(shí)別可以通過延時(shí)一段時(shí)間后再對 D 及CLEAR 的高低電平進(jìn)行判斷來實(shí)現(xiàn),若延時(shí)后仍然有低電平則不是抖動(dòng)而是真的有按鍵按下。 矩陣鍵盤的中斷程序設(shè)計(jì)如下開始進(jìn)入中端數(shù)據(jù)腳狀態(tài)改變 將床號(hào)賦給變量定時(shí)器賦初值讀取床號(hào)并增加 1 送新行顯示數(shù)據(jù)消隱切換顯示數(shù)據(jù)結(jié)束發(fā)送新床號(hào)顯示數(shù)據(jù)圖 3-2 中斷程序3.3 顯示模塊設(shè)計(jì)顯示程序描述(1)按下鍵總數(shù)顯示子程序描述(圖 4.12 按鍵總數(shù)顯示程序流程圖)2015 屆本科生畢業(yè)論文(設(shè)計(jì))15把按鍵數(shù)存儲(chǔ)單總元(COUNTER)的值經(jīng)過 BCD 調(diào)整后十位和個(gè)位分別送(7AH)(7BH),調(diào)用顯示子程序顯示按鍵總數(shù)。循環(huán)顯示病床號(hào)子程序描述(圖 4.13 按鍵循環(huán)顯示子程序)首先需要判斷的是標(biāo)志位是否為 0,如果為 0,就表示對應(yīng)存儲(chǔ)單元里沒有值存入,則會(huì)再次檢測下一個(gè)存儲(chǔ)單元的標(biāo)志位是否為 0,直到檢測到為 1 為止.如果為 1,則會(huì)把值存入(BED_BOUNTER)中,緊接著進(jìn)行 BCD 調(diào)整為十進(jìn)制,把十位和個(gè)位分別送入(BEDCODE_1)和(BEDCODE_2 中,然后調(diào)用顯示子程序,循環(huán)顯示病床號(hào)。圖 3-3 顯示函數(shù)流程圖計(jì)算鍵值子程序初始化( C O U N T E R ) + 1I N T F L A G調(diào) B C D 調(diào)子程序調(diào)顯示子程序鍵標(biāo)志為 0 ?4 1 0 個(gè)單元掃描完 ?結(jié)束否是2015 屆本科生畢業(yè)論文(設(shè)計(jì))164.系統(tǒng)的調(diào)試與結(jié)果系統(tǒng)調(diào)試工作是系統(tǒng)開發(fā)過程中必不可少的一個(gè)過程,一個(gè)完整的控制系統(tǒng)調(diào)試包含控制系統(tǒng)的硬件聯(lián)調(diào)、軟件聯(lián)調(diào)、系統(tǒng)仿真、仿真燒錄和現(xiàn)場安裝調(diào)試等幾個(gè)環(huán)節(jié)。在系統(tǒng)設(shè)計(jì)組裝完成后,首先是進(jìn)行實(shí)驗(yàn)室條件下的系統(tǒng)硬件調(diào)試,調(diào)試成功后,有了硬件的保證,就容易發(fā)現(xiàn)軟件的漏洞,進(jìn)而促進(jìn)改進(jìn)和完善。所有的調(diào)試通過后,要進(jìn)行現(xiàn)場運(yùn)行并能持續(xù)一定的時(shí)間,待其中未發(fā)現(xiàn)故障后,方可驗(yàn)收合格,才算完成了整個(gè)系統(tǒng)的設(shè)計(jì)工作 [9]。4.1 調(diào)試界面顯示下面是我們通過 Proteus 軟件編程,使對應(yīng)的軟件仿真模塊變成可視化的控制界面:圖 4-1-1 系統(tǒng)初始化界面 圖 4-1-2 按下 4 鍵后界面圖 4-1-3 按下 1234 鍵后顯示界面 圖 4-1-4 按下確認(rèn)鍵后顯示界面實(shí)物圖片如下:初始化界面;2015 屆本科生畢業(yè)論文(設(shè)計(jì))17圖 4-1-5 初始化界面按下 4 鍵后界面圖 4-1-6 按下 4 鍵后界面2015 屆本科生畢業(yè)論文(設(shè)計(jì))18按下 1234 鍵后顯示界面圖 5-1-7 按下 1234 鍵后顯示界面按下確認(rèn)鍵后顯示界面圖 4-1-8 按下確認(rèn)鍵后顯示界面2015 屆本科生畢業(yè)論文(設(shè)計(jì))194.2 結(jié)果分析首先啟動(dòng)電源,顯示屏?xí)@示 Happy Every Day 字樣,在按下 4 號(hào)鍵時(shí),屏幕顯示病床(即 4 號(hào)病床呼叫);界面上部分表示有一個(gè)病床按下,在起始位置顯示;如果現(xiàn)在不按清零鍵,再按下 1,2,3 號(hào)鍵時(shí),按鍵號(hào)同時(shí)顯示,可以看出該系統(tǒng)具有多數(shù)字共存功能,以至于不會(huì)忽略之前按下的按鍵;圖 4.8 反映了控制電路的可行性,按確認(rèn)鍵后屏幕顯示 I know,醫(yī)護(hù)人員去病人房間。綜上所述,本系統(tǒng)實(shí)現(xiàn)了主要功能:顯示病床號(hào),亮報(bào)警提醒值班人員,若有多個(gè)病床同時(shí)呼叫,則同時(shí)顯示病床號(hào),確保性息不丟失,待值班人員處理呼叫信息。通過 PROTEUS 軟件仿真,能達(dá)到上述結(jié)論,滿足課題目目的,達(dá)到要求。結(jié)束語至此,本設(shè)計(jì)的主要內(nèi)容已經(jīng)完成。本章是在對前面完成的工作進(jìn)行總結(jié)的基礎(chǔ)上,提出今后進(jìn)一步工作的建議和設(shè)想。選擇這個(gè)課題之后,我明白要解決的難點(diǎn):病人都按開關(guān)時(shí),在數(shù)碼顯示器能循環(huán)顯示病床,這也就是考驗(yàn)我們對所學(xué)知識(shí)有比較透徹的了解和我們的耐心。接下來每天奔波在宿舍、餐廳三點(diǎn)一線的生活,雖然有點(diǎn)累,但很充實(shí),在這之中還去請教老師和同學(xué),他們耐心的教導(dǎo)讓我更加堅(jiān)定了對該課題的研究,另外還有很多老師的幫助。在設(shè)計(jì)的過程中遇到了很多問題,可以說得是困難重重,在遇到各種各樣問題的同時(shí),會(huì)發(fā)現(xiàn)了自己的不足之處,如對以前所學(xué)過的知識(shí)理解得不夠深刻,掌握得不夠牢固。比如說 Protel 軟件應(yīng)用的不夠熟練、Proteus 仿真知識(shí)及操作、對單片機(jī)匯編語言掌握得不好。不過通過這次設(shè)計(jì)之后,也學(xué)到了很多知識(shí),更重要的是一定把以前所學(xué)過的知識(shí)重新溫故,學(xué)好用好,學(xué)以致用。最后在百般努力下,這次設(shè)計(jì)終于完成了,在設(shè)計(jì)中遇到了很多編程問題,最后在老師的辛勤指導(dǎo)下,終于實(shí)現(xiàn)了設(shè)計(jì)的要求。這一次設(shè)計(jì)給我的總體感覺很好,因?yàn)槲覍W(xué)到了很多的東西。只要自己能夠找好的學(xué)習(xí)方法,在過程中不斷的努力。那么學(xué)到的東西肯定會(huì)有很多,我相信我是能夠做好的。2015 屆本科生畢業(yè)論文(設(shè)計(jì))20參考文獻(xiàn) [1] 王意崗.病房呼叫系統(tǒng)[J].建筑電氣,2004[2] 朱艷華,田行軍,李夏青.基于 PL3105 的病床呼叫系統(tǒng)設(shè)計(jì)[J].北京石油化工學(xué)院學(xué)報(bào),2009[3] 鄔春明,王艷茹.基于低壓線載波技術(shù)的病床呼叫系統(tǒng)[J].電子技術(shù)應(yīng)用,2005[4] 康華光《電子技術(shù)基礎(chǔ)》[M]. 北京:高等教育出版社, 2000[5]康華光《電子技術(shù)基礎(chǔ)(模擬部分)》[M]. 北京:高等教育出版社, 1999[6]胡漢才.《單片機(jī)原理及接口技術(shù)》[M]. 北京:清華大學(xué)出版社, 1995[7]王環(huán),張亞寧 《單片機(jī)程序設(shè)計(jì)實(shí)例》[M] 北京:清華大學(xué)出版社, 2003[8]李伯成《單片機(jī)及嵌入式系統(tǒng)》[M]. 北京:清華大學(xué)出版社, 2005[9]徐淑華等.《單片機(jī)微機(jī)原理及應(yīng)用》[M]. 哈爾濱工業(yè)大學(xué)出版社, 19942015 屆本科生畢業(yè)論文(設(shè)計(jì))21致 謝通過這一段時(shí)間不懈的努力,我的畢業(yè)設(shè)計(jì)《病床呼叫系統(tǒng)的設(shè)計(jì)》終于完成了,這象征著我大學(xué)生活的落幕。在大學(xué)階段,我在各個(gè)方面都受益匪淺,這里面不光有我自己的努力,與老師、同學(xué)們和朋友的支持、關(guān)心和鼓勵(lì)更是分不開的。在論文的創(chuàng)作過程中,我的導(dǎo)師傾注了大量的心血,感謝徐老師在我大學(xué)的最后畢業(yè)設(shè)計(jì)階段給我的教育,從開的定題,到后來資料的收集,再到寫作、改論文,到畢業(yè)答辯,是她給了我細(xì)心的指導(dǎo)與無私的幫助。為了指導(dǎo)大家的畢業(yè)論文,她占用了自己大部分的空余時(shí)間,她這種任勞任怨的精神令人佩服,在此我向她表示我個(gè)人真誠的感謝。同時(shí),也謝謝所有的任課老師以及所有同學(xué)在這四年來給我的幫助,有好的也有不好的,反正不管怎么樣,是他們是促使著我的成長,并且向他們學(xué)會(huì)了很多專業(yè)知識(shí),也學(xué)會(huì)了怎樣學(xué)習(xí),如何做人。正是他們,我才會(huì)在各個(gè)方面取得明顯的進(jìn)步,在此我向他們表達(dá)我衷心的謝意,并祝愿老師們培養(yǎng)許許多多的棟梁之才,桃李滿天下!寫畢業(yè)設(shè)計(jì)總結(jié)報(bào)告是一次再系統(tǒng)學(xué)習(xí)的過程,畢業(yè)設(shè)計(jì)答辯自述的完成,同樣也意味著新的學(xué)習(xí)生活的開始。我將銘記我曾是一名電子信息工程學(xué)院學(xué)子,在今后的工作中把電信學(xué)院的優(yōu)良傳統(tǒng)發(fā)揚(yáng)光大。在此,謹(jǐn)向所有幫助過我的老師、同學(xué)表示衷心的感謝和敬意!謝謝你們!2015 屆本科生畢業(yè)論文(設(shè)計(jì))22附 錄附錄一:Protel 原理圖2015 屆本科生畢業(yè)論文(設(shè)計(jì))23附錄二:PCB 電路圖2015 屆本科生畢業(yè)論文(設(shè)計(jì))24附錄三:實(shí)物圖2015 屆本科生畢業(yè)論文(設(shè)計(jì))25附錄四:C 語言源程序#include //頭文件#define uc unsigned char#define ui unsigned intsbit RS=P1^4;sbit RW=P1^5;sbit E=P1^6; //1602 引腳定義sbit D0=P1^0;sbit D1=P1^1;sbit D2=P1^2;sbit D3=P1^3; //接受引腳sbit bg_1602=P2^6; //1602 背光sbit key=P3^3; //應(yīng)答按鍵sbit Beep=P3^4; //蜂鳴器uc code tab0[]=“ 123456789#“;uc code tab1[]=“Calling!!!“;uc code tab2[]=“I Know!“;uc code tab3[]=“Happy Every Day!“;ucnum_D0=0,num_D1=0,num_D2=0,num_D3=0;//床號(hào)bit bdata fu_D0=0, fu_D1=0, fu_D2=0, fu_D3=0,flag;//初始床號(hào)void delay(ui x) //延時(shí)函數(shù){ui i,j;for(i=0;ix;i++)for(j=0;j121;j++);}void init() //初始化函數(shù){bg_1602=0; //開啟背光TMOD=0x01;TH0=0x4b;TL0=0xff;EA=1;ET0=1;TR0=1;D0=0;D1=0;D2=0;D3=0; //清零床號(hào)引腳}/******LCD1602******/void com_1602(uc com) //寫命令{RS=0;P0=com;delay(1);E=1;delay(1);E=0;RS=1;}void data_1602(uc date) //寫數(shù)據(jù){RS=1;P0=date;delay(1);E=1;delay(1);E=0;RS=0;}void dis_1602(uc word_num,uc hang,uc lie,uc tab_num,uc num)/**word_num:顯示字符個(gè)數(shù),hang,lie:顯示坐標(biāo),*******tab_num:顯示數(shù)組號(hào),num:從第幾字符開始顯示****/{uc n;for(n=0;nword_num;n++){com_1602(0x80+hang*0x40+lie);if(tab_num==0)data_1602(tab0[num+n]);else if(tab_num==1)2015 屆本科生畢業(yè)論文(設(shè)計(jì))26data_1602(tab1[num+n]);else if(tab_num==2)data_1602(tab2[num+n]);else if(tab_num==3)data_1602(tab3[num+n]);delay(5);lie++;}}void init_1602() //初始化 1602{RW=0; //寫命令com_1602(0x38);//設(shè)置 1602com_1602(0x0c);//設(shè)置顯示,光標(biāo)不閃爍com_1602(0x06);//不移動(dòng),指針加 1com_1602(0x01);//清屏}void know() //應(yīng)答函數(shù){if(D0!=fu_D0)num_D0=1;if(D1!=fu_D1)num_D1=2;if(D2!=fu_D2)num_D2=3;if(D3!=fu_D3)num_D3=4; //數(shù)據(jù)腳狀態(tài)改變,將床號(hào)賦給變量if(key==0) //檢測按鍵{delay(5);if(key==0){if((num_D0!=0)||(num_D1!=0)||(num_D2!=0)||(num_D3!=0))//如果有呼叫時(shí){bg_1602=1;//打開背光Beep=1;//關(guān)閉蜂鳴器flag=0;//標(biāo)志位清零num_D0=0;num_D1=0;num_D2=0;num_D3=0;fu_D0=D0;fu_D1=D1;fu_D2=D2;fu_D3=D3;//將床位清零,并記錄當(dāng)前引腳狀態(tài)com_1602(0x01);//清屏dis_1602(7,1,4,2,0);//顯示 I Know }else //如果沒有呼叫時(shí)bg_1602=0; //只點(diǎn)亮背光}while(!key); //按鍵釋放delay(2000);com_1602(0x01);//清屏}}void display() //顯示函數(shù){if((num_D0==0)//顯示 Happy else //有床位呼叫時(shí){if(flag==0){flag=1;com_1602(0x01);//清屏}if(num_D0==1){dis_1602(1,0,2,0,num_D0); //0123456789012345dis_1602(1,0,3,0,10);}if(num_D1==2){dis_1602(1,0,5,0,num_D1);dis_1602(1,0,6,0,10);}if(num_D2==3){dis_1602(1,0,8,0,num_D2);dis_1602(1,0,9,0,10);}if(num_D3==4){dis_1602(1,0,11,0,num_D3);dis_1602(1,0,12,0,10);}dis_1602(10,1,3,1,0); //在對應(yīng)床位顯示床位號(hào)}}void LED() //背光函數(shù){if((D0!=fu_D0)||(D1!=fu_D1)||(D2!=fu_D2)||(D3!=fu_D3)) //如果有呼叫bg_1602=1; //打開背光}2015 屆本科生畢業(yè)論文(設(shè)計(jì))27void main() //主函數(shù){init();init_1602();//初始化while(1) //死循環(huán){display();know();LED();}}void T0_time() interrupt 1 //定時(shí)器 T0{ui m,n;TH0=0x4b;TL0=0xff; //重新賦初值m++;if(m==10){m=0;if((num_D0!=0)||(num_D1!=0)||(num_D2!=0)||(num_D3!=0)) //如果有呼叫時(shí)開啟蜂鳴器Beep=~Beep;}if((bg_1602==1)if(n==300) //背光點(diǎn)亮?xí)r計(jì)時(shí) 15秒關(guān)閉背光{n=0;bg_1602=0;}}}
收藏