標題: 基于單片機的病房呼叫系統(tǒng) 課程設計(論文 Word格式 可編輯) [打印本頁]

作者: 51黑電子迷    時間: 2017-6-2 18:03
標題: 基于單片機的病房呼叫系統(tǒng) 課程設計(論文 Word格式 可編輯)
廣東工業(yè)大學華立學院
課 程 設 計(論文)


課程名稱            計算機控制系統(tǒng)
題目名稱       基于單片機的病房呼叫系統(tǒng)設計
學生學部(系)     機電與信息工程學部         
專業(yè)班級              14電氣2班              
學    號          511412030125            
學生姓名                肖*朗               
指導教師  王*赟




廣東工業(yè)大學華立學院

課程設計(論文)任務書
題目名稱
基于單片機的病房呼叫系統(tǒng)設計
學生學部(系)
機電與信息工程學部
專業(yè)班級
14電氣2班
姓    名
肖*朗
學   號
511*0125

  •          課程設計(論文)的內容

本次設計主要是設計一個單片機控制的病房呼叫系統(tǒng)。利用AT89C51結合現(xiàn)實電路,LED數(shù)碼管以及按鍵來設計。在設計時,應將軟硬件有機地結合起來,使得系統(tǒng)能夠正確的反應病人的呼叫并使服務臺能夠回應。

  • 課程設計(論文)的要求與數(shù)據(jù)
1.用單片機實現(xiàn);
2.設計一個可容64張床位的病房呼叫系統(tǒng)。
3.每個床位都有一個按鈕,患者需要 呼叫護士時,按下按鈕。
4. 護士值班室內的呼叫系統(tǒng)板上顯示該患者的病床號,并振鈴。
5.護士按下“響應”鍵時,取消當前呼叫。
三、課程設計(論文)應完成的工作

1. 完成硬件和軟件設計,繪出電路原理圖;

2. 完成課程設計報告的撰寫。



四、課程設計(論文)進程安排

序號
設計(論文)各階段內容
地點
起止日期
1
收集單片機等相關資料,確定設計方案
校內
2017年5月5日
2
進行硬件和軟件設計,繪出電路原理圖
校內
2017年5月5-15日
3
進行課程設計報告的撰寫
校內
2017年5月15、16日





















五、應收集的資料及主要參考文獻
    1.收集單片機及設計中所涉及的主要器件等方面的資料
    2.收集相關的軟件編程方面的資料



目錄

1、概述5

1.2設計要求              5

  1.2設計要求              5

  1.3功能簡介              5

2、系統(tǒng)總體方案及硬件設計5

2.1系統(tǒng)總體方案              5

2.2硬件設計              6

3軟件設計6

3.1程序設計簡要              6

3.2系統(tǒng)的工作流程              7

3.3軟件設計              8

4、Proteus軟件仿真8

5、設計體會8

附錄10

附錄A              10

附錄B              12

參考文獻13


1.概述
1.1 設計任務
本次設計主要是設計一個單片機控制的病房呼叫系統(tǒng)。利用AT89C51 結合顯示電路,LED數(shù)碼管以及按鍵來設計。在設計時,我們應將軟硬件有機地結合起來,使得系統(tǒng)能夠正確的反應病人的呼叫并使服務臺能夠回應。
1.2 設計要求
設計一個可容64張床位的病房呼叫系統(tǒng)。要求每個床位都有一個按鈕,當患者需要呼叫護士時,按下按鈕。此時護士值班室內的呼叫系統(tǒng)板上顯示該患者的床位號,并振鈴。當護士按下“響應”鍵時,取消當前呼叫。
1.3. 功能簡介:
臨床求助呼叫(監(jiān)護)是傳送臨床信息的重要手段,病房呼叫系統(tǒng)是病人請求值班醫(yī)生或護士進行診斷和護理的緊急呼叫工具,可將病人的請求快速傳送給值班醫(yī)生或護士,并在值班室的監(jiān)控中心電腦上留下準確完整的記錄,是提高醫(yī)院和病室護理水平的必備設備之一。呼叫系統(tǒng)的優(yōu)劣直接關系到病員的安危,歷來受到各大醫(yī)院的普遍重視。它要求及時、準確、可靠、簡便可行。為此,我們采用單片機AT89C51為系統(tǒng)核心,配以LED及鍵盤電路模塊和MPX2彩屏LCD電路模塊實現(xiàn)病人呼叫(監(jiān)護)系統(tǒng)的設計。
2. 系統(tǒng)總體方案及硬件設計
2.1系統(tǒng)總體方案
在本系統(tǒng)中,我們采用單片機AT89C51為核心的系統(tǒng)主要包括2個部分:數(shù)據(jù)采集和數(shù)據(jù)的輸出,數(shù)據(jù)的輸出用來進行呼叫,編碼使用單片機完成,數(shù)據(jù)采集負責接收分機發(fā)來的信號,并進行解碼、顯示該患者的床位號,并振鈴,主機上設有鍵盤取消當前呼叫
其實現(xiàn)結構框圖如圖1所示。
圖1 病人呼叫系統(tǒng)框圖
將由8×8鍵盤矩陣采集到的鍵值經過P0.P2輸入到單片機AT89C51中,通過簡單的點亮呼叫病號對應床號燈和病區(qū)內的警示燈,然后通過P1口把相關信息傳送到MPX2彩屏LCD顯示。同時報警警示燈閃爍、報警聲響起。醫(yī)療人員可以通過控制鍵盤操作,完成呼叫響應和信息查詢等監(jiān)護工作。
                      圖1
2.2 硬件設計
2.2.1單片機AT89C51的特點
隨著單片機功能集成化的發(fā)展,其應用領域也逐漸從傳統(tǒng)的控制擴展為控制處理、數(shù)據(jù)處理以及數(shù)字信號處理等領域,AT89C51具有低電壓、低功耗、性價比高、功能強、指令效率高等優(yōu)點[2]。AT89C51的主要特點,(1)集成度高,易于擴展;
(2)較強的中斷處理能力,支持異常中斷、事件中斷和軟件中斷三種類型的中斷;(3)高效的指令系統(tǒng)。程序編程指令特別嚴密,它有多種中斷系統(tǒng)和多種定時器系統(tǒng),可以根據(jù)需要具體選擇,靈活性很大。
2.2.2 MPX2彩屏LCD電路模塊
本系統(tǒng)采用的MPX2電路模塊是一款高畫質的低溫多晶硅TFT真彩LCD模塊,具有接口簡單、編程方便、易于擴展等良好性能。MPX2內置專用驅動和控制IC,以驅動IC自己集成顯示緩存。無需外部顯示緩存。 MPX2系列模塊實際上就是將MPX2的TFT-LCD顯示器連接在PCB電路板上,并加在PCB電路板上設計了總線緩沖、保護電路,以及背光限流電路,將顯示器不便于與開發(fā)板連接的軟PCB連接接口引出,并以DIP的雙排插針引出模塊以便于應用上的連接。為了方便應用上的擴展使用,MPX2系列模塊將顯示器主供電源和顯示器背光電源分開供電。
2.2.3 報警電路的設計
主機在接受到呼叫后,首先進行報警告知值班人員。報警電路可以用單片機P2.0輸出1 kHz和500 Hz的音頻信號經放大后驅動其揚聲器,做報警信號,要求1 kHz信號響100 ms,再500 Hz信號響200 ms,交替進行。這里使用音頻放大器LM386,他的工作電壓為4~ 12 V,輸出功率最大可達1 W,輸入阻抗為50 kHz。
2.2.4 鍵盤模塊電路設計
8×8鍵盤矩陣和64個LED警示燈模塊組成。在鍵盤掃描和LED驅動部分,使用了 LED 顯示電路原理圖如圖2所示。              
   圖2
3. 系統(tǒng)軟件的設計
3.1程序設計簡要
在設計程序之前,我們首先對單片機應用系統(tǒng)預完成的任務進行深入的分析,明確系統(tǒng)的設計任務功能要求和技術指標。其次,要對系統(tǒng)的硬件資源和工作環(huán)境進行分析。這是單片機應用系統(tǒng)程序設計的基礎和條件。經過任務分析,算法優(yōu)化后,就可以進行程序的總體構思,確定程序的結構和數(shù)據(jù)結構,并考慮資源的分配和參數(shù)的計算燈,然后根據(jù)程序運行的過程,勾畫出程序執(zhí)行的邏輯順序,用圖形符號將總體設計思路及程序流向繪制在平面圖上,從而使程序結構關系直觀明了,便于檢查和修改.模塊化程序設計方法具有明顯有點。把一個多功能復雜的程序劃分位若干個簡單,功能單一的程序模塊,有利于程序的設計和調試,有利于程序的優(yōu)化和分工,提高了程序的閱讀性和可靠性,使程序結構層次一目了然。
3.2系統(tǒng)的工作流程
如圖3所示。
3.3軟件設計
該系統(tǒng)軟件主要完成以AT89C51為核心的數(shù)據(jù)的采集、處理和有線傳輸。采用模塊化程序設計方法,將系統(tǒng)軟件的設計主要分為顯示模塊,輸入模塊,輸出模塊。單片機掃描發(fā)射鍵,如果掃描到有發(fā)射鍵按下,系統(tǒng)便掃描撥碼開關的狀態(tài)以確定地址碼,通過P0口和P2口開始地址碼傳送當服務臺接收到呼叫信號后,護士值班室內的呼叫系統(tǒng)板上顯示該患者的床位號,并振鈴。當護士按下“響應”鍵時,取消當前呼叫。
4. Proteus軟件仿真
我們利用KEILV805中文版對源程序進行編譯,編譯成功后,把編譯結果保存并生成.HEX文件,然后把.HEX加載到單片機上進行Proteus軟件仿真。看其是否能實現(xiàn)預想的功能。
Proteus仿真圖如圖4下,當按下27號床位時,顯示如下:
                  圖4
5. 設計體會
單片機在當今計算機領域應用十分廣泛,在自動控制領域更是非常重要。通過這次設計,我覺得自己對單片機的理解有了新的提高,也使自己綜合運用所學知識,發(fā)現(xiàn),提出,分析,解決實際問題的能力有很大進步。我知道單片機已經成為當今計算機應用中空前活躍的領域,在生活中可以說得是無處不在。因此作為二十一世紀的大學來說掌握單片機的開發(fā)技術是十分重要的。
想起這次單片機設計,至今我仍感慨頗多,在整整一個多星期的日子里,可以說是可以學到很多很多的的東西,同時不僅可以鞏固了以前所學過的知識,而且學到了很多在書本上所沒有學到過的知識。通過這次設計使我懂得了理論與實際相結合是很重要的,只有理論知識是遠遠不夠的,只有把所學的理論知識與實踐相結合起來,從理論中得出結論,才能真正為社會服務,從而提高自己的實際動手能力和獨立思考的能力。在設計的過程中遇到問題,可以說得是困難重重,這畢竟第一次做的,難免會遇到過各種各樣的問題,同時在設計的過程中發(fā)現(xiàn)了自己的不足之處,對以前所學過的知識理解得不夠深刻,掌握得不夠牢固,比如說對器件的不熟悉,對應用軟件操作的困難,對單片機匯編語言掌握得不好。通過這次設計之后,我對自己以前的知識有了很大提高。
設計順利完成了,在設計中遇到了很多編程問題,在同學和老師的細心幫助下,都得以解決。在此,對給過我?guī)椭乃型瑢W和各位指導老師表示忠心的感謝!
附錄
附錄A  源程序代碼

附錄B 系統(tǒng)原理圖
參考文獻
[1] 張培仁,張志堅,高修峰.十六位單片微處理器原理及應用.北京,清華大學出版社[M].2005: 46~49
[2] 田會方,吳興強.基于LabVIEW與凌陽SPCE061A實現(xiàn)串口數(shù)據(jù)采集[J].微計算機信息.2006:6:2.22~25
[3] 北京比高科技公司. BC7281B中文技術手冊. 2002(6)
[4] 北京銘正同創(chuàng)科技有限公司.MT22G06B彩屏LCD模組簡要介紹.2006(12)
[5] 張立才.基SPCE061A的多功能信號發(fā)生器設計實現(xiàn)[J].微計算機信息.2004:20:3.33~35




單片機在當今計算機領域應用十分廣泛,在自動控制領域更是非常重要。通過這次設計,我覺得自己對單片機的理解有了新的提高,也使自己綜合運用所學知識,發(fā)現(xiàn),提出,分析,解決實際問題的能力有很大進步。我知道單片機已經成為當今計算機應用中空前活躍的領域, 在生活中可以說得是無處不在。因此作為二十一世紀的大學來說掌握單片機的開發(fā)技術是十分重要的。
想起這次單片機設計,至今我仍感慨頗多,在整整一個多星期的日子里,可以說是可以學到很多很多的的東西,同時不僅可以鞏固了以前所學過的知識,而且學到了很多在書本上所沒有學到過的知識。通過這次設計使我懂得了理論與實際相結合是很重要的,只有理論知識是遠遠不夠的,只有把所學的理論知識與實踐相結合起來,從理論中得出結論,才能真正為社會服務,從而提高自己的實際動手能力和獨立思考的能力。在設計的過程中遇到問題,可以說得是困難重重,這畢竟第一次做的,難免會遇到過各種各樣的問題,同時在設計的過程中發(fā)現(xiàn)了自己的不足之處,對以前所學過的知識理解得不夠深刻,掌握得不夠牢固,比如說對器件的不熟悉,對應用軟件操作的困難,對單片機匯編語言掌握得不好。通過這次設計之后,我對自己以前的知識有了很大提高。


成績











  1. #include
  2. #define uchar unsigned char
  3. #define uint unsigned int
  4. sbit B1=P3^6;
  5. sbit B2=P3^7;
  6. sbit buzzer=P3^5;
  7. sbit clear=P3^4; 定義字符
  8. B1,B2,BUZZER,CLEAR
  9. uchar code distab[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
  10. uchar code keytab[8][8]={{1,2,3,4,5,6,7,8}, 定義鍵盤值
  11. {9,10,11,12,13,14,15,16}, {17,18,19,20,21,22,23,24}, {25,26,27,28,29,30,31,32}, {33,34,35,36,37,38,39,40}, {41,42,43,44,45,46,47,48}, {49,50,51,52,53,54,55,56}, {57,58,59,60,61,62,63,64}, };
  12. uchar bed_NO;
  13. uchar btime;
  14. uchar itime; 定義字符bed_NO,uchar btime,uchar itime void delay(uint x) 定義延遲程序塊
  15. { uint i,j;
  16. for(i=0;i{;;}
  17. }
  18. }
  19. void display(void)
  20. {
  21. uchar a10,a1;
  22. a10=bed_NO/10;
  23. a1=bed_NO%10;
  24. P1=distab[a10];
  25. B1=0;
  26. delay(10);
  27. B1=1;
  28. P1=distab[a1];
  29. B2=0;
  30. delay(10);
  31. B2=1;
  32. } 定義顯示管塊
  33. void key(void) 掃描鍵盤值
  34. {
  35. uchar hang,lie; P0=0x00;P2=0xff; delay(1); if(P2!=0xff) { delay(5); 延遲(5)后查詢行列值 if(P2!=0xff) { switch(P2&0xff) 掃描列值 { case 0xfe:lie=0;break; case 0xfd:lie=1;break; case 0xfb:lie=2;break; case 0xf7:lie=3;break; case 0xef:lie=4;break; case 0xdf:lie=5;break; case 0xbf:lie=6;break; case 0x7f:lie=7;break; }
  36. P2=0x00;P0=0xff;
  37. switch(P0&0xff) 掃描行值 {
  38. case 0xfe:hang=0;break; case 0xfd:hang=1;break; case 0xfb:hang=2;break; case 0xf7:hang=3;break; case 0xef:hang=4;break; case 0xdf:hang=5;break; case 0xbf:hang=6;break; case 0x7f:hang=7;break; }
  39. P2=0xff;P0=0x00;
  40. while(P2!=0xff);
  41. bed_NO=keytab[hang][lie];TR0=1; }
  42. else
  43. bed_NO=0;
  44. }
  45. }
  46. void time_init(void) 計數(shù)器的初始化
  47. {行列值賦值給bed_NO
  48. TH0=(65536-8333)/256; 裝入初值 TL0=(65536-8333)%256;
  49. EA=1;
  50. ET0=1;
  51. }
  52. void time(void) interrupt 1 using 1 {
  53. TH0=(65536-8333)/256;
  54. TL0=(65536-8333)%256;
  55. itime++;
  56. if(itime>=100)
  57. {
  58. itime=0;
  59. btime++;
  60. if(btime>6){TR0=0;btime=0;} buzzer=!buzzer;
  61. }
  62. }
  63. void main(void)
  64. {
  65. time_init(); 定義中斷塊
  66. } { } key(); display(); if(TR0==0){buzzer=1;} if(clear==0) 服務臺取消呼叫

  67. …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼

完整論文下載(word格式 可編輯):
http://www.torrancerestoration.com/bbs/dpj-86638-1.html



作者: 980624020    時間: 2018-10-25 15:06

謝謝分享,支持一波
作者: qingxi    時間: 2019-1-12 16:02
有沒有開發(fā)板實例啊
作者: 2180eue    時間: 2019-5-3 14:14
沒有仿真圖嗎?




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1