當(dāng)前位置首頁(yè) > 辦公文檔 > 解決方案
搜柄,搜必應(yīng)! 快速導(dǎo)航 | 使用教程

基于單片機(jī)的病床呼叫系統(tǒng)設(shè)計(jì)

文檔格式:DOC| 38 頁(yè)|大小 230.10KB|積分 15|2020-04-06 發(fā)布|文檔ID:9529725
第1頁(yè)
第2頁(yè)
第3頁(yè)
下載文檔到電腦,查找使用更方便 還剩頁(yè)未讀,繼續(xù)閱讀>>
1 / 38
此文檔下載收益歸作者所有 下載文檔
  • 版權(quán)提示
  • 文本預(yù)覽
  • 常見問題
  • 基于單片機(jī)的病床呼叫系統(tǒng)設(shè)計(jì) 摘要 病房呼叫系統(tǒng)是傳送臨床信息的重要手段,可將病人的請(qǐng)求快速傳送給值班醫(yī)生或護(hù)士,它主要用于協(xié)助醫(yī)院病員在病床上方便地呼叫醫(yī)務(wù)人員,是提高醫(yī)院和病室護(hù)理水平的必備設(shè)備之一讓患者需要服務(wù)時(shí),只要按一下隨身攜帶的呼叫器,信息立馬就能傳至護(hù)工處.避免沒有看護(hù)人在時(shí),病人急需服務(wù)卻無法通知醫(yī)生的情況.它要求及時(shí)、準(zhǔn)確、可靠、簡(jiǎn)便可行 本設(shè)計(jì)的呼叫系統(tǒng)由按鍵檢測(cè),數(shù)據(jù)處理,信息顯示三部分組成由C51單片機(jī)作為主要控制器,利用液晶顯示器作為顯示部分,使用3X8矩陣開關(guān)分別模擬醫(yī)院病房與病床位數(shù)病人按下按鍵時(shí),C51立即獲取病人的病房號(hào)和病床號(hào),同時(shí)采集此時(shí)的時(shí)間并一起顯示在液晶顯示器上,當(dāng)護(hù)士看到顯示器上病人的信息,并按下清零鍵后,液晶顯示器恢復(fù)到初始狀態(tài)本系統(tǒng)對(duì)鍵盤的檢測(cè)采用中斷的方式,能夠提高系統(tǒng)的立即性和高效性當(dāng)同時(shí)有數(shù)個(gè)病床呼叫時(shí),本系統(tǒng)還可以循環(huán)呼叫記錄顯示關(guān)鍵詞:病房呼叫 單片機(jī) 中斷 液晶顯示 Design of hospital bed call system based on single chip microcomputer Summary Ward call system is an important means to transfer the clinical information, the patients request can be quickly transmitted to the doctor or nurse on duty, it is mainly used to assist the hospital easily call the medical staff in a hospital bed, is one of the necessary equipment to improve the level of nursing and hospital ward. Let the patient need service, just click the thecarry pager information can spread to the workers. Immediately without caregivers when patients needed services cannot tell the doctor. It requires timely, accurate and reliable, simple and feasible. The design of the call system by the key detection, data processing, information display three parts. C51 microcontroller as the main controller, the use of liquid crystal display as the display part, the use of 3X8 matrix switch to simulate the hospital ward and hospital beds. When the press button is pressed, the C51 immediately gets the patients ward number and the bed number, while the time is collected and displayed on the LCD monitor, when the nurse sees the patients information and press the reset button, the LCD screen is returned to its initial state. This system can improve the immediate and efficiency of the system by using the interrupt mode. When there are a number of hospital beds call, the system can also be a circular call records show. Key words: ward call, SCM, interrupt, liquid crystal display16 目錄前言 I第1章 緒論 3 1.1課題概述 3 1.2智能病床呼叫系統(tǒng)發(fā)展概況 3 1.3課題研究的目的和意義 3 1.4 設(shè)計(jì)任務(wù) 41.5 任務(wù)要求分析 4第2章 系統(tǒng)設(shè)計(jì)和方案選擇 52.1 設(shè)計(jì)思路 52.2 鍵盤采集方案選擇 52.3設(shè)計(jì)芯片的選擇 6第3章系統(tǒng)硬件電路設(shè)計(jì) 73.1單片機(jī)控制系統(tǒng)硬件設(shè)計(jì) 73.2液晶顯示的硬件設(shè)計(jì) 73.3掃描鍵盤的硬件設(shè)計(jì) 83.4時(shí)鐘芯片的硬件設(shè)計(jì) 93.4中斷電路設(shè)計(jì) 9第4章系統(tǒng)軟件設(shè)計(jì) 104.1主程序設(shè)計(jì) 104.2矩陣鍵盤的中斷程序的設(shè)計(jì) 114.3液晶LCD12864驅(qū)動(dòng)程序的設(shè)計(jì) 134.4實(shí)時(shí)時(shí)鐘DS1302驅(qū)動(dòng)程序的設(shè)計(jì) 14第5章仿真結(jié)果及分析 155.1 無病人呼救時(shí)的仿真結(jié)果 155.2 有病人呼救時(shí)的仿真結(jié)果 155.3 有多個(gè)病人呼救時(shí)的仿真結(jié)果 16結(jié)論 17謝辭 18參考文獻(xiàn) 1附錄1系統(tǒng)原理圖 2附錄2程序源代碼 3 第1章 緒論1.1課題概述 在這個(gè)瞬息萬(wàn)變,競(jìng)爭(zhēng)激烈的時(shí)代,選擇一個(gè)優(yōu)越的工具往往能提升企業(yè)在這個(gè)市場(chǎng)上的競(jìng)爭(zhēng)力。

    尤其醫(yī)院的競(jìng)爭(zhēng)越來越激烈,商業(yè)醫(yī)院的生存是第一位,提升檔次和服務(wù)質(zhì)量迫在眉睫,陪護(hù)問題一直是醫(yī)患矛盾的主體,也是長(zhǎng)期困擾衛(wèi)生系統(tǒng)服務(wù)質(zhì)量的大問題,使用病房呼叫系統(tǒng),方便病人更快找到醫(yī)生,以節(jié)約病人的寶貴時(shí)間 病房呼叫系統(tǒng)是一種應(yīng)用于醫(yī)院病房、養(yǎng)老院等地方,用來聯(lián)系溝通醫(yī)護(hù)人員和病員的專用呼叫系統(tǒng),是提高醫(yī)院護(hù)理水平的必備設(shè)備以前當(dāng)病人需要服務(wù)時(shí)就不得不親自到值班室去叫安裝該呼叫系統(tǒng)后,在病人與護(hù)士之間架起一座及時(shí)溝通的橋梁,可在減少護(hù)理人員的同時(shí),保證病人隨時(shí)能夠得到服務(wù),讓每個(gè)病人及時(shí)得到最佳護(hù)理 病房呼叫系統(tǒng)的優(yōu)劣直接關(guān)系到病員的安危,歷來受到各大醫(yī)院的普遍重視它要求及時(shí)、準(zhǔn)確可靠、簡(jiǎn)便可行、利于推廣利用單片機(jī)的通訊功能,設(shè)計(jì)出具有振鈴、顯示房號(hào)等功能的多功能病床呼叫系統(tǒng),滿足了醫(yī)院的病房管理和護(hù)理的要求 1.2智能病床呼叫系統(tǒng)發(fā)展概況 呼叫系統(tǒng)發(fā)展到今天,從應(yīng)用層面可以說已經(jīng)進(jìn)入到商業(yè)化運(yùn)營(yíng)階段國(guó)內(nèi)許多的呼叫中心其服務(wù)模式,已經(jīng)從單純的客戶服務(wù)向服務(wù)與經(jīng)營(yíng)的混合型模式轉(zhuǎn)變這首先是呼叫市場(chǎng)需求的結(jié)果,也是呼叫技術(shù)及管理發(fā)展的必然結(jié)果信息時(shí)代的醫(yī)院管理已經(jīng)從傳統(tǒng)的人管模式,向智能化,電子化,信息化,網(wǎng)絡(luò)化得高科技管理模式的方向迅速發(fā)展,“病房呼叫系統(tǒng)”可實(shí)現(xiàn)醫(yī)院病房的智能化管理,可實(shí)現(xiàn)呼叫,報(bào)警,信息儲(chǔ)存,顯示等功能。

    為醫(yī)院和患者都帶來方便 在中國(guó),約在30000個(gè)醫(yī)院中僅 30 %的醫(yī)院擁有自己的信息管理系統(tǒng);擁有前端電話接入系統(tǒng)的醫(yī)院就更少了目前市場(chǎng)上存在著許多種型號(hào)不一功能各異的醫(yī)院病房呼叫系統(tǒng),主要為兩大類:有線式和無線式傳統(tǒng)的有線式病房呼叫系統(tǒng)往往采用集中式結(jié)構(gòu),電源線、數(shù)據(jù)通信線、語(yǔ)音通信線分開傳輸,具有鋪設(shè)線路較多、成本高、安裝調(diào)試?yán)щy、實(shí)時(shí)性差、故障率較高等缺點(diǎn)無線式病房呼叫系統(tǒng)可靠性差,而且無線電波會(huì)干擾其它醫(yī)療儀器設(shè)備,目前大多數(shù)醫(yī)院不采用無線呼叫系統(tǒng) 1.3課題研究的目的和意義智能病床呼叫是傳送病床信息的重要手段,病床呼叫系統(tǒng)可將病人的請(qǐng)求快遞傳送給值班醫(yī)生和護(hù)士呼叫系統(tǒng)的優(yōu)劣直接關(guān)系到病人的安危,歷來受到各大醫(yī)院的普遍重視它要求及時(shí)、準(zhǔn)確、可靠、簡(jiǎn)便可行、利于推廣單片機(jī)多機(jī)通信和計(jì)算機(jī)監(jiān)控管理技術(shù)的具有呼叫、振鈴、顯示 等功能的病床呼叫系統(tǒng),基本滿足了醫(yī)院的病房護(hù)理要求1.4 設(shè)計(jì)任務(wù) 本病床呼叫系統(tǒng)中,使用3X8矩陣開關(guān)分別模擬醫(yī)院病房與病床位數(shù),當(dāng)某開關(guān)按下時(shí),系統(tǒng)顯示呼叫的病房與病床、呼叫的時(shí)間處理完畢可清除該呼叫顯示記錄當(dāng)同時(shí)有數(shù)個(gè)病床呼叫時(shí),本系統(tǒng)還可以循環(huán)呼叫記錄顯示。

    1.5 任務(wù)要求分析通過對(duì)上述設(shè)計(jì)任務(wù)的分析,可以將之細(xì)分為以下幾點(diǎn),最后的調(diào)試也將以下面各點(diǎn)為依據(jù)①當(dāng)有病人按下按鍵時(shí),液晶顯示器上顯示病人的病房號(hào),病床號(hào),以及按鍵時(shí)的時(shí)間②在護(hù)士按下清零鍵后,液晶顯示器上內(nèi)容恢復(fù)到初始狀態(tài)③若在護(hù)士按下清零鍵前有多個(gè)病人按鍵,則液晶顯示器上將循環(huán)顯示各個(gè)病人的信息,直到護(hù)士按下清零鍵后,液晶顯示器上內(nèi)容恢復(fù)到初始狀態(tài) 第2章 系統(tǒng)設(shè)計(jì)和方案選擇2.1 設(shè)計(jì)思路 根據(jù)設(shè)計(jì)要求,該病床呼叫系統(tǒng)利用C51單片機(jī)作為核心,外接3X8矩陣鍵盤,每一個(gè)鍵對(duì)應(yīng)著不同的床位在沒有病人呼叫時(shí),單片機(jī)循環(huán)等待按鍵按下;當(dāng)病人按下床頭對(duì)應(yīng)的按鍵,產(chǎn)生中斷信號(hào)單片機(jī)收到中斷信號(hào)后調(diào)用中斷服務(wù)程序識(shí)別出呼叫病床的病房號(hào)碼和床位號(hào)碼,同時(shí)記錄當(dāng)時(shí)系統(tǒng)的時(shí)間,將呼叫記錄通過LCD12864顯示出來,護(hù)士通過讀取屏幕上提示的呼叫信息即可快速的、正確的查出病人的床位,并做相應(yīng)的準(zhǔn)備以及時(shí)處理,處理完成后,按下清除按鈕,即可清除本次呼叫記錄,等待下次呼叫,同時(shí)液晶屏幕上再次顯示“一切正?!逼浣Y(jié)構(gòu)圖如下:?jiǎn)纹瑱C(jī)鍵盤液晶顯示實(shí)時(shí)時(shí)鐘芯片 圖2.1 病床呼叫系統(tǒng)結(jié)構(gòu)圖2.2 鍵盤采集方案選擇鍵盤的工作方式應(yīng)該根據(jù)實(shí)際應(yīng)用系統(tǒng)中CPU的工作狀況而定其選取的原則是既要保證CPU能及時(shí)響應(yīng)按鍵操作又不要過多占用CPU的工作時(shí)間。

    通常鍵盤的工作方式有三種即編程掃描、定時(shí)掃描和中斷掃描 1編程掃描方式 編程掃描方式是利用CPU完成其他工作的空余時(shí)間調(diào)用鍵盤掃描子程序來檢驗(yàn)按鍵態(tài)響應(yīng)鍵盤輸入執(zhí)行鍵功能程序時(shí)CPU不再享有鍵輸入要求直到CPU重新掃描鍵盤為止 2定時(shí)掃描方式 定時(shí)掃描方式就是每隔一段時(shí)間對(duì)鍵盤掃描一次她利用單片機(jī)內(nèi)部的定時(shí)器產(chǎn)生一定時(shí)間如20ms的定時(shí)定時(shí)時(shí)間到產(chǎn)生定時(shí)器溢出中斷CPU在中斷服務(wù)程序中鍵盤進(jìn)行掃描并在有鍵按下時(shí)識(shí)別出該鍵并保存鍵號(hào)然后在中斷服務(wù)程序或主程序中執(zhí)行該鍵的功能程序 3中斷掃描方式 中斷掃描方式就是當(dāng)按鍵有按下時(shí),產(chǎn)生中斷信號(hào),CPU收到中斷信號(hào)后就執(zhí)行相應(yīng)的中斷服務(wù)子程序響應(yīng)該按鍵,處理完后CPU又開始循環(huán)等待下一次按鍵按下 當(dāng)采用前兩種鍵盤描方式時(shí),無論是否有鍵按下CPU都要定時(shí)掃描鍵盤而單片機(jī)應(yīng)用系統(tǒng)工作時(shí)并非經(jīng)常需要鍵盤輸入因此CPU經(jīng)常處于空掃描狀態(tài),浪費(fèi)CPU大量時(shí)間CPU不掃描鍵盤而有鍵按下時(shí)通過相應(yīng)電路產(chǎn)生中斷請(qǐng)求,CPU響應(yīng)中斷,執(zhí)行鍵盤掃描子程序并識(shí)別鍵號(hào) 所以本設(shè)計(jì)中采用中斷掃描方式采集鍵盤信息2.3設(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)不同的功能。

    液晶顯示器LCD12864相對(duì)于數(shù)碼管、LED二極管點(diǎn)陣等,液晶顯示具有可以實(shí)現(xiàn)漢字的顯示,硬件電路連接比較簡(jiǎn)單等優(yōu)點(diǎn) 第3章系統(tǒng)硬件電路設(shè)計(jì)3.1單片機(jī)控制系統(tǒng)硬件設(shè)計(jì)單片機(jī)控制系統(tǒng)功能是:鍵盤數(shù)據(jù)采集并保留采集結(jié)果、控制液晶顯示設(shè)計(jì)要求的內(nèi)容、讀取實(shí)時(shí)時(shí)間,并作適當(dāng)?shù)臄?shù)據(jù)處理該控制系統(tǒng)中單片機(jī)AT89C51的P0,P1,P2及P3.0,P3.1接口作普通I/O使用,其中P0口作為L(zhǎng)CD12864的數(shù)據(jù)傳輸口,P2.0~P2.5口的作為其控制端口,P2.6、P2.7、P3.0以及P1口為鍵盤的行列口,P3.0作為清除按鍵的數(shù)據(jù)輸入口P3.2作為外部中斷信號(hào)輸入口P3部分口與時(shí)鐘芯片DS1302相連實(shí)現(xiàn)時(shí)間的通信具體電路圖顯示如圖3.1所示圖3.1 單片機(jī)控制系統(tǒng)電路圖3.2液晶顯示的硬件設(shè)計(jì)液晶顯示的功能包括:沒有病人呼叫時(shí),顯示“一切正?!?;當(dāng)有病人呼叫時(shí),顯示病人的具體位置和呼叫的時(shí)間、日期通用型LCD12864共有18個(gè)引腳,其中DB7~DB0是連接控制器的數(shù)據(jù)總線,其他的引腳中6根控制線,另外還有電源線,具體連接見圖3.2其中上拉電阻是由于P0口作普通口時(shí)內(nèi)部沒有上拉電阻。

    圖3.2液晶LCD12864電路圖3.3掃描鍵盤的硬件設(shè)計(jì)鍵盤輸入的功能:每個(gè)按鍵對(duì)應(yīng)著一張病床,由3X8矩陣鍵盤組成該矩陣鍵盤的總共需要11個(gè)接口,其中列分別與單片機(jī)P2.6、P2.7、P3.0口相接,行占用了整個(gè)P1口具體連接如圖3.3所示圖3.3 3X8矩陣鍵盤3.4時(shí)鐘芯片的硬件設(shè)計(jì)時(shí)鐘芯片DS1302有兩個(gè)電源引腳,VCC1和VCC2,其中VCC1是主電源,VCC2是備份電源當(dāng)VCC2>VCC1+0.2V時(shí),由VCC2向DS1302供電,當(dāng)VCC2

    在這一塊的完成上,我們采用的主要是各個(gè)子程序設(shè)計(jì),主函數(shù)只需要做簡(jiǎn)單的數(shù)據(jù)處理和各個(gè)子程序的調(diào)用,從而逐步完成題目的全部要求4.1主程序設(shè)計(jì)主程序主要是對(duì)各子程序,中斷服務(wù)子程序進(jìn)行初始化,并循環(huán)顯示病人信息其流程圖如圖4.1所示圖4.1主程序流程圖主程序設(shè)計(jì)如下:void main(){ uchar i; init_LCD(); init1302(); set_line(0); clear_display(); EA=1; EX0=1; INT0=1; P1=0x00; L1=L2=L3=1; while(1) for(i=0;i

    矩陣鍵盤的中斷程序設(shè)計(jì)如下:void int0( ) interrupt 0 using 0{ uchar i; EX0=0; delay(5); if((L1&L2&L3)!=1) { if(L1==0) room_num=1; else if(L2==0) room_num=2; else room_num=3; P1=0xff; L1=L2=L3=0; for(i=0;i<8;i++) if(P1==table[i]) { bed_num=i+1; break; } num[t][0]=room_num; num[t][1]=bed_num; time[t][0]=read_1302(0x81); time[t][1]=read_1302(0x83); time[t][2]=read_1302(0x85); time[t][3]=read_1302(0x87); time[t][4]=read_1302(0x89); time[t][5]=read_1302(0x8d); t++; P1=0x00; L1=L2=L3=1; if(CLEAR==0) clear_display(); } EX0=1;}圖4.2矩陣鍵盤的中斷程序流程圖4.3液晶LCD12864驅(qū)動(dòng)程序的設(shè)計(jì)編寫液晶LCD12864驅(qū)動(dòng)程序前首先要對(duì)系統(tǒng)中用到的漢字,數(shù)字以及特殊字符的數(shù)據(jù)組進(jìn)行設(shè)計(jì)。

    針對(duì)液晶驅(qū)動(dòng)程序主要考慮以下的編寫:1、void read_busy() 讀忙函數(shù)2、void write_LCD_command(uchar value) 寫指令函數(shù)3、void write_LCD_data(uchar value) 寫數(shù)據(jù)函數(shù)4、void set_page(uchar page) 設(shè)置頁(yè)5、void set_line(uchar startline) 設(shè)置起始行6、void set_column(uchar column) 設(shè)置起始列7、void setonoff(uchar onoff) 開、關(guān)顯示(0開,1關(guān))8、void selectscreen(uchar screen) 選屏函數(shù)(00全屏01左半屏10右半屏)9、void clearscreen(uchar screen) 清屏函數(shù)10、void init_LCD() 初始化函數(shù)11、void display(uchar ss,uchar page,uchar column,uchar p) 顯示漢字函數(shù)12、void display1(uchar ss,uchar page,uchar column,uchar p) 顯示字符上述函數(shù)的具體編寫參看附錄2。

    4.4實(shí)時(shí)時(shí)鐘DS1302驅(qū)動(dòng)程序的設(shè)計(jì)由于DS1302是SPI總線驅(qū)動(dòng)方式,它不僅要向寄存器寫入控制字,還需要讀取相應(yīng)的寄存器數(shù)據(jù),所以要想與其通信,首先得了解DS1302控制字,而且SPI總線進(jìn)行數(shù)據(jù)通行時(shí)只有兩條數(shù)據(jù)線,即SCLK和RST,通過不同時(shí)刻兩條總線的電瓶變化不同可以進(jìn)行不同的操作其驅(qū)動(dòng)函數(shù)包括:1、void write_byte1302(uchar dat) 寫一個(gè)字節(jié)2、uchar read_byte1302() 讀一個(gè)字節(jié)3、void write_1302(uchar add,uchar dat)寫數(shù)據(jù)4、uchar read_1302(uchar add) 讀數(shù)據(jù)5、void init1302() 初始化上述函數(shù)的具體編寫參看附錄2 第5章仿真結(jié)果及分析在protues和單片機(jī)編譯軟件keil C51中分別完成硬件電路設(shè)計(jì)和軟件系統(tǒng)的設(shè)計(jì)后,生成HEX文件載入單片機(jī)中開始逐步調(diào)試程序,經(jīng)過多次調(diào)試,系統(tǒng)能夠正常的運(yùn)行,并能夠正確的在液晶屏上顯示呼叫病床的病房號(hào)和床位號(hào)以及系統(tǒng)當(dāng)時(shí)的時(shí)間與日期5.1 無病人呼救時(shí)的仿真結(jié)果點(diǎn)擊“運(yùn)行”按鈕,系統(tǒng)開始運(yùn)行,并在液晶屏上顯示“一切正常”表示沒有病人求救,如圖5.1所示。

    圖5.1沒有呼叫時(shí)液晶顯示結(jié)果5.2 有病人呼救時(shí)的仿真結(jié)果當(dāng)某一房間的病人按下求救按鈕(如按下2-5鍵)時(shí)液晶屏提示值班人員的顯示,如圖5.2所示圖5.2號(hào)房間第5床的病人求救當(dāng)按下“清除”鍵后,在沒有病人求救的情況下,液晶屏幕會(huì)再次出現(xiàn)“一切正?!迸c運(yùn)行開始時(shí)的結(jié)果是一致的5.3 有多個(gè)病人呼救時(shí)的仿真結(jié)果當(dāng)有多個(gè)病人同時(shí)按鍵時(shí),液晶顯示屏上以一定的時(shí)間間隔循環(huán)顯示各個(gè)病人的病房,病床信息以及按鍵時(shí)間其仿真結(jié)果見圖5.3,圖5.4(這里假設(shè)只有兩個(gè)病人呼救) 圖5.3 2號(hào)房間第4床位的病人求救圖5.4 3號(hào)房間第3床位的病人求救當(dāng)按下“清除”鍵后,在沒有病人求救的情況下,液晶屏幕會(huì)再次出現(xiàn)“一切正常”與運(yùn)行開始時(shí)的結(jié)果是一致的 結(jié)論本設(shè)計(jì)是以AT89C51為核心的病人呼叫系統(tǒng),對(duì)該系統(tǒng)的硬件和軟件結(jié)構(gòu)進(jìn)行了相應(yīng)的描述通過對(duì)病區(qū)的數(shù)據(jù)采集實(shí)現(xiàn)醫(yī)院醫(yī)療人員值班室和病人房之間的通信聯(lián)系具有使用方便、操作簡(jiǎn)單等特點(diǎn)此次設(shè)計(jì)為有線呼叫系統(tǒng)雖存在布線復(fù)雜、維修不便、病房不能與值班室的語(yǔ)音對(duì)話等缺陷。

    但相對(duì)于無線呼叫系統(tǒng)而言它的可靠性能高而且不干擾其他醫(yī)療設(shè)備如果采用無線傳輸會(huì)節(jié)約布線和改造線路的資金為醫(yī)院節(jié)約成本并且及時(shí)、簡(jiǎn)便可行比目前的同類產(chǎn)品更能受到醫(yī)院及病人的認(rèn)可有更強(qiáng)的競(jìng)爭(zhēng)力能大量推廣在系統(tǒng)設(shè)計(jì)期間,尤其是程序的調(diào)試間段出現(xiàn)很多次差錯(cuò),主要包括LCD12864顯示和DS1302部分子程序的錯(cuò)誤,這主要是由于自己對(duì)LCD12864的顯示原理和對(duì)DS1302的子函數(shù)返回值不熟悉所導(dǎo)致在設(shè)計(jì)多病人呼叫循環(huán)顯示時(shí),我也遇到了許多難題為了將病人的鍵號(hào)和按鍵時(shí)間及時(shí)存儲(chǔ)下來,我在主程序外定義了兩個(gè)無符號(hào)整型的數(shù)組,并按24個(gè)病人的長(zhǎng)度進(jìn)行定義,結(jié)果導(dǎo)致數(shù)據(jù)段內(nèi)存不夠,不能編譯后來將數(shù)組改能無符號(hào)字符型,并將長(zhǎng)度降為10,這樣已經(jīng)可以滿足實(shí)際需要修改后程序才能順利編譯運(yùn)行通過本次設(shè)計(jì)不僅讓我對(duì)醫(yī)院病床呼叫系統(tǒng)有了進(jìn)一步的了解,也在熟悉芯片的同時(shí),加強(qiáng)了我在編程方面的技巧另外,在這次的設(shè)計(jì)過程中,我不斷地查閱資料并請(qǐng)將同學(xué),這讓我的自學(xué)能力也有了很大的提高 謝辭 計(jì)算機(jī)控制技術(shù)與應(yīng)用課程設(shè)計(jì)很快就結(jié)束了,經(jīng)過各位老師的悉心指導(dǎo)和精心教導(dǎo)及各位同學(xué)的幫助與支持下,順利的完成了本次課程設(shè)計(jì),并完成報(bào)告的編制。

    在本次課程設(shè)計(jì)過程中,我為能理解和應(yīng)用專業(yè)課學(xué)習(xí)成果而感悟頗深,同時(shí)我也深深的感受到了基礎(chǔ)知識(shí)的重要性在以后的學(xué)習(xí)生活中切不可急于求成而忽略了基礎(chǔ)的夯實(shí),對(duì)一門系統(tǒng)學(xué)科,應(yīng)該扎實(shí)的學(xué)習(xí)他的每一部分知識(shí),充分利用各種實(shí)踐環(huán)節(jié),切實(shí)做到理論聯(lián)系實(shí)踐,學(xué)以致用同樣,通過這次課程設(shè)計(jì)我也體會(huì)到我們學(xué)習(xí)上的不足課程設(shè)計(jì)的這段時(shí)間過得相當(dāng)充實(shí),在日后的學(xué)習(xí)與工作中,我仍將認(rèn)真鞏固對(duì)專業(yè)基礎(chǔ)知識(shí)的學(xué)習(xí),繼續(xù)扎實(shí)的學(xué)習(xí)自動(dòng)化專業(yè)知識(shí) 在此,感謝每一位老師給我們的悉心講解和指導(dǎo),是他們教會(huì)了我生存的方法,是他們給了我們獨(dú)立的力量,是他們讓我心懷夢(mèng)想,積極的面對(duì)未來的一切愿所有老師和同學(xué)工作順利,身體健康! 參考文獻(xiàn)[1]李群芳.單片微型計(jì)算機(jī)與接口技術(shù)[M].第3版.北京:電子工業(yè)出版社,2008[2]竇振中.基于單片機(jī)的嵌入式系統(tǒng)式工程設(shè)計(jì)[M].北京:中國(guó)電力出版社,2008[3]馮建華單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)與產(chǎn)品開發(fā)[M],北京:人民郵電出版社,2004[4]譚浩強(qiáng).C程序設(shè)計(jì)(第三版)[M].清華大學(xué)出版社,2008[5]王巧芝,鄭鋒,劉瑞國(guó),高學(xué)輝.51單片機(jī)開發(fā)應(yīng)用從入門到精通[M].中國(guó)鐵道出版社,2011[6]宋彩利, 孫友倉(cāng), 吳宏岐. 單片機(jī)原理與C51編程. 西安: 西安交通大學(xué)出版社, 2008[7]李華. MCS-51系列單片機(jī)實(shí)用接口技術(shù). 北京: 北京航空航天大學(xué)出版社, 2000[8]譚浩強(qiáng). C語(yǔ)言程序設(shè)計(jì). 北京: 清華大學(xué)出版社, 1991[9]陳學(xué)平, 蘭帆, 胡勇. Protel 2004電路設(shè)計(jì)與仿真. 北京: 清華大學(xué)出版社, 2007[10]張靖武, 周靈彬. 單片機(jī)系統(tǒng)的Proteus設(shè)計(jì)與仿真. 北京: 電子工業(yè)出版社, 2007[11] 劉國(guó)榮,梁景凱. 計(jì)算機(jī)控制技術(shù)與應(yīng)用第二版. 機(jī)械工業(yè)出版社,2008.1 附錄1系統(tǒng)原理圖 附錄2程序源代碼#include#include#define uint unsigned int#define uchar unsigned char#define LCD_databus P0uchar room_num,bed_num,n,y,r,s,f,m,t=0;uchar num[10][2],time[10][6];uchar code table[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};uchar keyscan();sbit RS=P2^4; //RS為0命令,為1數(shù)據(jù)sbit RW=P2^5; //RW為1寫,為0讀sbit EN=P2^2; //使能端sbit CS1=P2^0; //片選1低電平有效,控制左半屏sbit CS2=P2^1; //片選2低電平有效,控制右半屏sbit L1=P2^6;sbit L2=P2^7;sbit L3=P3^0;sbit IO=P3^7;sbit SCLK=P3^6;sbit RST=P3^5;sbit CLEAR=P3^1;sbit ACC0=ACC^0;sbit ACC7=ACC^7;uchar code ZK[]={ /*-- 文字: 病 --*//*-- 宋體12; 此字體下對(duì)應(yīng)的點(diǎn)陣為:寬x高=16x16 --*/0x10,0x60,0x00,0xFC,0x04,0x24,0x24,0x24,0x25,0xE6,0x24,0x24,0x24,0x24,0x04,0x00,0x84,0x42,0x31,0x0F,0x00,0xFF,0x11,0x09,0x05,0x03,0x05,0x59,0x81,0x7F,0x00,0x00,/*-- 文字: 床 --*//*-- 宋體12; 此字體下對(duì)應(yīng)的點(diǎn)陣為:寬x高=16x16 --*/0x00,0x00,0xFC,0x04,0x44,0x44,0x44,0x45,0xF6,0x44,0x44,0x44,0x44,0x44,0x04,0x00,0x40,0x30,0x0F,0x20,0x10,0x08,0x06,0x01,0xFF,0x01,0x06,0x08,0x10,0x20,0x20,0x00,/*-- 文字: 房 --*//*-- 宋體12; 此字體下對(duì)應(yīng)的點(diǎn)陣為:寬x高=16x16 --*/0x00,0x00,0xFC,0x24,0x24,0x24,0x25,0x66,0xA4,0x24,0x24,0x24,0x24,0x3C,0x00,0x00,0x40,0x30,0x0F,0x81,0x41,0x31,0x0F,0x09,0x09,0x09,0x49,0x89,0x79,0x01,0x00,0x00,/*-- 文字: 時(shí) --*//*-- 宋體12; 此字體下對(duì)應(yīng)的點(diǎn)陣為:寬x高=16x16 --*/0x00,0xFC,0x84,0x84,0x84,0xFC,0x00,0x10,0x10,0x10,0x10,0x10,0xFF,0x10,0x10,0x00,0x00,0x3F,0x10,0x10,0x10,0x3F,0x00,0x00,0x01,0x06,0x40,0x80,0x7F,0x00,0x00,0x00,/*-- 文字: 間 --*//*-- 宋體12; 此字體下對(duì)應(yīng)的點(diǎn)陣為:寬x高=16x16 --*/0x00,0xF8,0x01,0x06,0x00,0xF0,0x12,0x12,0x12,0xF2,0x02,0x02,0x02,0xFE,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x1F,0x11,0x11,0x11,0x1F,0x00,0x40,0x80,0x7F,0x00,0x00,/*-- 文字: 日 --*//*-- 宋體12; 此字體下對(duì)應(yīng)的點(diǎn)陣為:寬x高=16x16 --*/0x00,0x00,0x00,0xFE,0x82,0x82,0x82,0x82,0x82,0x82,0x82,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0xFF,0x00,0x00,0x00,0x00,/*-- 文字: 期 --*//*-- 宋體12; 此字體下對(duì)應(yīng)的點(diǎn)陣為:寬x高=16x16 --*/0x00,0x04,0xFF,0x24,0x24,0x24,0xFF,0x04,0x00,0xFE,0x22,0x22,0x22,0xFE,0x00,0x00,0x88,0x48,0x2F,0x09,0x09,0x19,0xAF,0x48,0x30,0x0F,0x02,0x42,0x82,0x7F,0x00,0x00,/*-- 文字: 號(hào) --*//*-- 宋體12; 此字體下對(duì)應(yīng)的點(diǎn)陣為:寬x高=16x16 --*/0x80,0x80,0x80,0xBE,0xA2,0xA2,0xA2,0xA2,0xA2,0xA2,0xA2,0xBE,0x80,0x80,0x80,0x00,0x00,0x00,0x00,0x06,0x05,0x04,0x04,0x04,0x44,0x84,0x44,0x3C,0x00,0x00,0x00,0x00,/*-- 文字: 一 --*//*-- 宋體12; 此字體下對(duì)應(yīng)的點(diǎn)陣為:寬x高=16x16 --*/0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*-- 文字: 切 --*//*-- 宋體12; 此字體下對(duì)應(yīng)的點(diǎn)陣為:寬x高=16x16 --*/0x40,0x40,0x40,0xFF,0x20,0x20,0x20,0x04,0x04,0xFC,0x04,0x04,0x04,0xFC,0x00,0x00,0x00,0x00,0x00,0x1F,0x08,0x84,0x42,0x20,0x18,0x07,0x40,0x80,0x40,0x3F,0x00,0x00,/*-- 文字: 正 --*//*-- 宋體12; 此字體下對(duì)應(yīng)的點(diǎn)陣為:寬x高=16x16 --*/0x00,0x02,0x02,0xC2,0x02,0x02,0x02,0xFE,0x82,0x82,0x82,0x82,0x82,0x02,0x00,0x00,0x40,0x40,0x40,0x7F,0x40,0x40,0x40,0x7F,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x00,/*-- 文字: 常 --*//*-- 宋體12; 此字體下對(duì)應(yīng)的點(diǎn)陣為:寬x高=16x16 --*/0x20,0x18,0x08,0xEA,0xAC,0xA8,0xA8,0xAF,0xA8,0xA8,0xAC,0xEA,0x08,0x28,0x18,0x00,0x00,0x00,0x3E,0x02,0x02,0x02,0x02,0xFF,0x02,0x02,0x12,0x22,0x1E,0x00,0x00,0x00,};uchar code SK[]={/*-- 文字: 0 --*//*-- 宋體12; 此字體下對(duì)應(yīng)的點(diǎn)陣為:寬x高=8x16 --*/0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00,0x00,0x0F,0x10,0x20,0x20,0x10,0x0F,0x00,/*-- 文字: 1 --*//*-- 宋體12; 此字體下對(duì)應(yīng)的點(diǎn)陣為:寬x高=8x16 --*/0x00,0x10,0x10,0xF8,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00,/*-- 文字: 2 --*//*-- 宋體12; 此字體下對(duì)應(yīng)的點(diǎn)陣為:寬x高=8x16 --*/0x00,0x70,0x08,0x08,0x08,0x88,0x70,0x00,0x00,0x30,0x28,0x24,0x22,0x21,0x30,0x00,/*-- 文字: 3 --*//*-- 宋體12; 此字體下對(duì)應(yīng)的點(diǎn)陣為:寬x高=8x16 --*/0x00,0x30,0x08,0x88,0x88,0x48,0x30,0x00,0x00,0x18,0x20,0x20,0x20,0x11,0x0E,0x00,/*-- 文字: 4 --*//*-- 宋體12; 此字體下對(duì)應(yīng)的點(diǎn)陣為:寬x高=8x16 --*/0x00,0x00,0xC0,0x20,0x10,0xF8,0x00,0x00,0x00,0x07,0x04,0x24,0x24,0x3F,0x24,0x00,/*-- 文字: 5 --*//*-- 宋體12; 此字體下對(duì)應(yīng)的點(diǎn)陣為:寬x高=8x16 --*/0x00,0xF8,0x08,0x88,0x88,0x08,0x08,0x00,0x00,0x19,0x21,0x20,0x20,0x11,0x0E,0x00,/*-- 文字: 6 --*//*-- 宋體12; 此字體下對(duì)應(yīng)的點(diǎn)陣為:寬x高=8x16 --*/0x00,0xE0,0x10,0x88,0x88,0x18,0x00,0x00,0x00,0x0F,0x11,0x20,0x20,0x11,0x0E,0x00,/*-- 文字: 7 --*//*-- 宋體12; 此字體下對(duì)應(yīng)的點(diǎn)陣為:寬x高=8x16 --*/0x00,0x38,0x08,0x08,0xC8,0x38,0x08,0x00,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x00,/*-- 文字: 8 --*//*-- 宋體12; 此字體下對(duì)應(yīng)的點(diǎn)陣為:寬x高=8x16 --*/0x00,0x70,0x88,0x08,0x08,0x88,0x70,0x00,0x00,0x1C,0x22,0x21,0x21,0x22,0x1C,0x00,/*-- 文字: 9 --*//*-- 宋體12; 此字體下對(duì)應(yīng)的點(diǎn)陣為:寬x高=8x16 --*/0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00,0x00,0x00,0x31,0x22,0x22,0x11,0x0F,0x00,/*-- 文字: : --*//*-- 宋體12; 此字體下對(duì)應(yīng)的點(diǎn)陣為:寬x高=8x16 --*/0x00,0x00,0x00,0xC0,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00,/*-- 時(shí)間號(hào): : --*//*-- 宋體12;此符號(hào)下對(duì)應(yīng)的點(diǎn)陣為: 寬x高=8x16 --*/0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x0C,0x0C,0x00,0x00,0x00,/*-- 文字: - --*//*-- 宋體12; 此字體下對(duì)應(yīng)的點(diǎn)陣為:寬x高=8x16 --*/0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,};void delay(uint i){ uint x,y; for(x=i;x>0;x--) for(y=110;y>0;y--);}void read_busy() //讀忙函數(shù),數(shù)據(jù)線最高位為DB7為1則busy{ P0=0x00;RS=0;RW=1;EN=1; while(P0&0x80);EN=0;}void write_LCD_command(uchar value){ read_busy(); RS=0;RW=0; LCD_databus=value; EN=1; _nop_(); _nop_(); EN=0;}void write_LCD_data(uchar value){ read_busy(); RS=1;RW=0; LCD_databus=value; EN=1; _nop_(); _nop_(); EN=0;}void set_page(uchar page){ page=page|0xb8; write_LCD_command(page);}void set_line(uchar startline){ startline=0xc0|startline; write_LCD_command(startline);}void set_column(uchar column){ column=column&0x3f; column=0x40|column; write_LCD_command(column);}void setonoff(uchar onoff){ onoff=0x3e|onoff; write_LCD_command(onoff);}void selectscreen(uchar screen){ switch(screen) { case 0: CS1=0;CS2=0;break; case 1:CS1=0;CS2=1; break; case 2:CS1=1;CS2=0;break; default:break; }}void clearscreen(uchar screen){ uchar i,j; selectscreen(screen); for(i=0;i<8;i++) { set_page(i); set_column(0); for(j=0;j<64;j++) { write_LCD_data(0x00); } }}void init_LCD(){ read_busy(); selectscreen(0); setonoff(0); selectscreen(0); setonoff(1); selectscreen(0); clearscreen(0); set_line(0);}void display(uchar ss,uchar page,uchar column,uchar p){ uint i; selectscreen(ss); set_page(page); set_column(column); for(i=0;i<16;i++) { write_LCD_data(ZK[i+p*32]); } set_page(page+1); set_column(column); for(i=0;i<16;i++) { write_LCD_data(ZK[i+16+p*32]); }}void display1(uchar ss,uchar page,uchar column,uchar p){ uint i; selectscreen(ss); set_page(page); set_column(column); for(i=0;i<8;i++) { write_LCD_data(SK[i+p*16]); } set_page(page+1); set_column(column); for(i=0;i<8;i++) { write_LCD_data(SK[i+8+p*16]); }}void write_byte1302(uchar dat){ uchar kk; ACC=dat; RST=1; for(kk=8;kk>0;kk--) { IO=ACC0; SCLK=0; SCLK=1; ACC=ACC>>1; }}uchar read_byte1302(){ uchar kk; RST=1; for(kk=8;kk>0;kk--) { ACC7=IO; SCLK=1; SCLK=0; ACC=ACC>>1; } return ACC;}void write_1302(uchar add,uchar dat){ RST=0;SCLK=0;RST=1; write_byte1302(add); write_byte1302(dat); SCLK=1;RST=0;}uchar read_1302(uchar add){ uchar temp; RST=0;SCLK=0;RST=1; write_byte1302(add); temp=read_byte1302(); SCLK=1;RST=0; return(temp/16*10+temp%16); //返回十進(jìn)制數(shù)據(jù)顯示}void init1302(){ RST=0; SCLK=0; write_1302(0x80,0x00);}void key_display(uchar aa){ m=time[aa][0]; f=time[aa][1]; s=time[aa][2]; r=time[aa][3]; y=time[aa][4]; n=time[aa][5]; RST=0; clearscreen(0); display(1,0,0*16,0); //病 display(1,0,1*16,2); //房 display1(1,0,2*16,11); // 冒號(hào) display1(2,0,0*16,num[aa][0]); //房號(hào) 數(shù) display(2,0,1*16,7); //號(hào) display(1,2,0*16,0); //病 display(1,2,1*16,1); //床 display1(1,2,2*16,11); //冒號(hào) display1(2,2,0*16,num[aa][1]); //床號(hào)數(shù) display(2,2,1*16,7); //號(hào) display(1,4,0*16,3); //時(shí) display(1,4,1*16,4); //間 display1(1,4,2*16,11); //冒號(hào) display1(2,4,24,10); display1(2,4,0,10); //時(shí)間符 display1(2,4,32,m/10); display1(2,4,40,m%10); display1(2,4,16,f%10); display1(2,4,8,f/10); display1(1,4,48,s/10); display1(1,4,56,s%10); //時(shí)分秒的顯示 display(1,6,0*16,5); display(1,6,1*16,6); display1(1,6,2*16,11); display1(1,6,40,2); display1(1,6,48,0); display1(1,6,56,n/10); display1(2,6,0,n%10); display1(2,6,16,y/10); display1(2,6,24,y%10); display1(2,6,40,r/10); display1(2,6,48,r%10); display1(2,6,32,12); display1(2,6,8,12);}void clear_display(){ t=0; clearscreen(0); display(1,2,2*16,8); display(1,2,3*16,9); display(2,2,0*16,10); display(2,2,1*16,11);}void main(){ uchar i; init_LCD();。

    點(diǎn)擊閱讀更多內(nèi)容
    賣家[上傳人]:gbs225777
    資質(zhì):實(shí)名認(rèn)證