《病床呼叫及输液监控系统毕业论文.doc》由会员分享,可在线阅读,更多相关《病床呼叫及输液监控系统毕业论文.doc(33页珍藏版)》请在三一办公上搜索。
1、浙江纺织服装职业技术学院毕业设计 题 目 病床呼叫及输液监控系统姓 名 彭吴杰学 号 0805020134专业班级 08机电分 院 轨道交通学院 指导教师 沈博侃2010年8月23日目录1设计任务书21.1设计任务书21.2基本要求21.3设计方案31.3.1显示模块31.3.2传感器模块31.3.3串口通信41.3.4报警模块41.3.5无线模块42硬件设计42.1 声光报警系统42.2 主机模块电路52.3 从机模块电路52.4 串口通信62.5光电传感器73、系统软件83.1主机程序流程83.2 从机程序流程84调试94.1硬件的调试94.2软件的调试 (见附录源程序)94.3硬软件总体
2、的调试95小结106参考文献106.附录116.1原理图116.2清单126.3源程序12病床呼叫及输液监控系统摘要:随着人性化管理的趋势,关于病床呼叫及输液监控系统的研发受人关注,本题设计的题目是病床呼叫及输液监控系统。 本设计产用三个模块,主机模块,从机模块和模拟模块。主机模块和其他模块用串口连接。主机模块用12864液晶显示病床号、点滴速度、时间 和温度并能循环显示。从机模块和模拟模块用4位一体共阳数码管显示病床号和点滴速度。当从机模块和模拟模块按下呼叫按钮式,主机模块就能检测到第一个按下键的病床号,并显示病床号及报警。利用水的散光原理用光电传感器检测点滴速度。运用串口通信。本方案可靠,
3、精度高,可满足对系统的各项要求。本设计采用8位单片机STC89C52,具有体积小、驱动能力高、集成度高、易扩展、可靠性高、功耗低、结构简单、中断处理能力强等特点,处理速度高等特点。关键词:单片机;光敏电阻;12864液晶;数码管;串口通信1设计任务书1.1设计任务书设计并制作一套用于医院的病床呼叫和输液监控系统,它由护士站主机、病床监控器等组成,而病床监控器同时具有呼叫和输液监控功能。1.2基本要求 (1)病床监控器具有站号任意输入设定和显示功能。(2)当按下监控器上的呼叫按扭时,主机能显示最先接收到的呼叫病床号,并发出声光报警提示。(3)主机能手动清除当前显示的病床号及报警信号。(4)主机能
4、接收并存储不少于10个呼叫的病床号,在手动清除当前显示后,能依先后顺序显示下一个病床号并发出声、光提示。(5)自制直流电源,各从站病床监控器直流电源由护士站主机供电。(6)在滴斗处检测点滴速度,并在病床监控器上实时显示点滴速度(滴/分),测量误差小于2%滴。(7)输液结束(滴速为零)时,从站和主站应在3秒内发出声光报警信号。(8)主站和从站间应尽量减少连接线数量,有线通信传输距离不小于30米。(9)主站能巡回显示各从站的编号及当前点滴速度,巡回时间3-10秒可由主站任意设定。1.3设计方案 主机、从机和模拟机均采用STC89C52单片机为控制核心,接口电路模块分别为:主机按键接口电路模块、从机
5、按键接口电路模块、主机液晶显示电路模块、从机、模拟机数码管显示电路模块、滴液检测电路模块、主机和从机串行通信电路模块及无线模块等。1.3.1显示模块方案一:用12864液晶显示,此模块电路简单,占用单片机端口少,显示内容丰富。方案二:用74HC573锁存器和8个共阳数码管,此模块占用单片机端口少,但是电路复杂显示内容单一。方案三:用8550PNP三极管和2个4位一体的共阳数码管。此模块占用单片机端口多,但是电路简单。由于本设计主机模块显示的内容较丰富所以采用方案一,从机模块和模拟模块显示的内容单一所以选择数码管显示,由于方案三电路简单,所以选用方案三。1.3.2传感器模块方案一: 红外探测法,
6、即利用红外线遇到透明液体反射性质的特点,红外探测器探测距离有限,一般最大不应超过3cm。红外接收管容易受到可见光的影响,从而改变其阻值,容易造成系统的误判。方案二: 光敏传感器检测法,即用光敏电阻组成光敏探测器。光敏电阻的阻值可以跟随周围环境光线的变化而变化。利用这一原理,当水滴通过光敏电阻后会让电阻前的光发生散射从而改变光线强度使光敏电阻阻值发生该改变,从而起到检测水滴的功能方案三: 用RPR220型光电对管。RPR220是一种一体化反射型光电探测器,其发射器是一个砷化镓红外发光二极管,而接收器是一个高灵敏度,硅平面光电三极管。RPR220采用DIP4封装,其具有如下特点:塑料透镜可以提高灵
7、敏度。内置可见光过滤器能减小离散光的影响。鉴于系统要求体积小,结构紧凑,综合选择,决定使用方案二。1.3.3串口通信方案一:用MAX232只需要单一 +5V电源供电 ,片载电荷泵具有升压、电压极性反转能力,能够产生+10V和-10V电压V+、V- ,功耗低,典型供电电流5mA ,内部集成2个RS-232C驱动器 ,内部集成两个RS-232C接收器,但是距离较短。方案二:用光电耦合器,在光电耦合器内部,由于发光管和受光器之间的耦合电容很小(2pF以内)所以共模输入电压通过极间耦合电容对输出电流的影响很小,因而共模抑制比很高。而且传送的距离较长。 鉴于系统要求距离不小于30米所以用光电耦合器。 1
8、.3.4报警模块产用无缘蜂鸣器和发光二极管,此设计体积小,机构紧凑,无缘蜂鸣器杂音较少,发光二极管亮度较高。1.3.5无线模块 无线模块采用珠海元井公司的VW-CCXX00A型号的无线发射模块,每个模块包含一对收发线路,分别与MAX232的TX与RX端相连,由于无线发射模块本身的限制,本次设计采用了9600bit/s的波特率。 2硬件设计2.1 声光报警系统 声光报警系统有蜂鸣器、8550PNP三极管、电阻、发光二极管组成,当按下监控器上的呼叫按扭时,P3.6口给它低电平时蜂鸣器开始报警,P3.7给它高低电平是发光二极管开始闪烁。声光报警模块电路如图2.1所示。图2.1声光报警系统电路2.2
9、主机模块电路 主机模块由12864液晶、单片机最小系统、键盘模块、声光报警系统组成。采用STC89C52单片机为控制核心,12864B液晶循环显示各从机的编号及当前点滴速度,具有站号任意输入设定和显示功能。能接收并存储不少于10个呼叫的病床号,当从机呼叫主机时抱紧并显示呼叫病床号。主机模块电路如图2.2所示。 图2.2主机模块电路 2.3 从机模块电路 从机模块由8550PNP三极管、四位一体共阳数码管、单片机最小系统、键盘模块、声光报警系统组成。采用STC89C52单片机为控制核心,1数码管显示病床号和点滴速度。当呼叫主机时开始报警。从机模块电路如图2.3所示。图2.3从机模块电路2.4 串
10、口通信 当采用有线电路进行串口多机通信时,由于题目要求传输距离大于30米,且为多机通信因此不能采用MAX232,本设计用光电耦合器作为串口通信器件,实践证明传输距离完全满足30米的要求。光电耦合选用6N137高速转换芯片,具体电路如图2.4所示。图2.4串口通信电路2.5光电传感器点滴速度用光电传感器来检测,由于光敏电阻的阻值随着光照强度会发生相应的改变,利用这一原理,当水滴通过光敏电阻后会让电阻前的光发生散射从而改变光线强度使光敏电阻阻值发生该改变,从而起到检测水滴的功能,光电传感器的电路如图2.5所示。图2.5光电传感器电路3、系统软件3.1主机程序流程开始发送从机地址接收从机信息,并判断
11、是否为报警信号保存信息并巡回显示报警,显示从机床号NY3.2 从机程序流程开始接收主机地址信号,并发送床号与点滴速度信息N判断点滴是否打完Y报警并发送报警信号给主机,等待手动消除报警信号 4调试 4.1硬件的调试(1)主机模块显示病床号和点滴速度,利用键盘能任意输入设定和显示功。能接收并存储10个呼叫的病床号。(2)从机模块显示病床号和点滴速度,利用键盘呼叫主机病报警。(3)光电传感器模块,检测点滴速度并将信号传给单片机,单片机控制主机和从机显示点滴速度。(4)测试结果表1 病床号输入与显示数据 表2 实际液滴点数与监控站液滴显示点数数据病床号输入病床号显示001001005005010010
12、013013主机液晶显示液滴点数秒表测试液滴实际点数主机与从机是否报警20滴/分钟22滴/分钟否35滴/分钟36滴/分钟否55滴/分钟58滴/分钟否0滴/3秒0滴/3秒是4.2软件的调试 (见附录源程序)4.3硬软件总体的调试(1)主机模块显示病床号和点滴速度,利用键盘能任意输入设定和显示功。可以循环显示病床号和点滴速度,当从机呼叫时立即显示呼叫号能接收并存储不少于10个呼叫的病床号。利用键盘取消报警并继续循环显示。主机能显示最先接收到的呼叫病床号,并发出声光报警提示。(2)从机模块显示病床号和点滴速度,利用键盘呼叫主机并报警。(3)光电传感器模块,检测点滴速度并将信号传给单片机,单片机控制主
13、机和从机显示点滴速度。(4)测试结果表3 护士站手动清除当前显示数据与报警数据表护士站显示病床号数据手动是否清除当前病床号护士站报警是否消除001是是005是是010是是表4 护士站存储病床号数据与手动清除当前显示数据表护士站显示存储病床号数据手动是否清除当前病床号是否消除当前的报警当前显示的病床号当前的报警001是是005005005是是010010010是是011011 011是是012012 012是是013013 013是是014014 014是是020020 020是是021021 021是是022022 5小结通过这几天的毕业设计,本小组基本完成了题目要求的大部分功能,并将无线传输
14、技术应用到了本次设计中,虽然我们的设计还不能做到完美,但是通过本次毕业设计,我们小组的2位同学还是学到了很多,自己经过一段时间的制作,在很多的地方还有改进的地方,比如在有线和无线切换时,还是有点误差,这一方面还有待改进。通过这次开发,我充分感受到了开发的艰辛,很多看起来简单的问题实际动手起来却不是那么回事,往往有这样或那样的错误,需要我一步一步地去解决,虽然在出现问题是感觉很头痛,特别是查找不出问题的原因时,然而更多的是实现功能后所享受到的喜悦。感谢我们知道老师通宵达旦的给我们制作过程给予指导,提出了宝贵的意见。6参考文献【1】谭浩强编著.C程序设计第二版M.北京:清华大学出版社,1999【2
15、】徐爱钧、彭秀华单片机高级语言 C51 应用程序设计.-北京:北京航空航天大学出版社 2006.1【3】薛均义、张彦斌. MCS-51 系列单片微型计算机及其应用.-西安:西安交通大学出版社 2005.1【4】楼然苗.51系列单片机设计实例.北京:北京航空航天大学出版社 2006【5】黄智伟.传感器应用设计实例制作.北京:电子工业出版社 2006.4【6】唐桃波、陈玉林. 基于AT89C51的智能无线安防报警器 J.电子设计应用 ,2003Sickbed calling and infusion monitoring systemAbstract: with the trend of the
16、humanized management, calling on beds and infusion monitoring system of r&d, design topic is sickbed numbeers call and infusion monitoring system.In this design, the main module with three modules, module and simulation modules from. Host module and other modules with serial links. Host 12864 LCD mo
17、dule in hospital, dropping speed, time and temperature and circulation. From the module and simulation module with four integrated digital pipe display of Yang, dropping speed and hospital. When the module and simulation module press call self-closing, host module can detect the first press the butt
18、on, and hospital beds, and alarm. With the principle of using water, astigmatism photoelectric sensor detection of dropping speed. Using serial communication.This scheme, high precision and reliability of the system can satisfy the requirements. This design USES 8 bits STC89C52 microcontroller, has
19、the advantages of small size, high capacity, and integration driven high, easy extension, high reliability, low power consumption, simple structure, interrupt handling ability, high processing speed.Keywords: SCM, Photoconductive resistance, 12864 LCD, Digital pipe, Serial communication6.附录6.1原理图6.2
20、清单元件名称型号数量用途单片机STC89C523控制核心晶振11.0592MHZ3晶振电路电容30pf6晶振电路电解电容10uf3晶振电路电阻10k3复位电路按键3复位键按键3病房数据传送按钮按键3病房报警按钮按键6病床编号设置按钮电源5v1电源供电L78050V5V稳压3电源电路4位一体数码管4从站显示液晶126841主站显示三极管855032从站显示电位器1031液晶显示蜂鸣器有源2报警电路三极管85502报警电路发光二极管2报警电路电阻560欧2报警电路光敏电阻2液滴检测稳压二极管3.3V1液滴检测发光二极管4液滴检测电位器1031液滴检测电阻2k1液滴检测LM324gk8481c71液
21、滴检测MAX2322串口通信电路电解电容0.1uf3串口通信电路电线30米串口通信电路6N1371串口通信电路6.3源程序 /主机程序#include#include#define uchar unsigned char #define uint unsigned intuchar flag,flag1,flag2,flag3,flag4,flag5,flag6,biao,wo,a,fan,num1,b,temp,shu,shu1,shu2,duo,hao,hao1,c,i4,i5,z,g,tt,tt1,shuzhi,yedi,i,qie,xs,cs,pan,huxian,q1,abc,abc
22、1;sbit SCLK=P10; /位定义1302芯片的接口,时钟输出端口定义在P1.0引脚sbit IO=P11; /位定义1302芯片的接口,数据输出端定义在P1.1引脚sbit RST=P12; /位定义1302芯片的接口,复位端口定义在P1.2引脚sbit RS=P20; /寄存器选择位,将RS位定义为P2.0引脚sbit RW=P21; /读写选择位,将RW位定义为P2.1引脚sbit E=P22; /使能信号位,将E位定义为P2.2引脚 sbit BF=P07; /忙碌标志位,将BF位定义为P0.7引脚sbit key=P14;sbit key1=P15;sbit key2=P16
23、;sbit d1=P13;sbit fmq=P36;uchar data table415;uchar data shuju3;uchar code table0= 星期 ;uchar code table=20 年 月 日;uchar code table1= : : ;uchar code table2=0123456789-;uchar code table3= 温度 . ;uchar code kaishi=欢迎使用医院病床-呼叫输液监控系统 程序初始化中 ;uchar code bing=病床 液滴;uchar code bing1=号;uchar code bing2=d/min;
24、uchar code hujiao=-病床有人呼叫-;uchar code baoj=-病床滴液异常-;uchar code bingc=病床;void delay(uint z)uchar a;while(z-)for(a=0;a115;a+);void beep()fmq=0;d1=0;delay(500);d1=1;fmq=1;delay(500);void jianpan()if(key=0)delay(20);if(key=0)shu=1;while(!key);if(key1=0)delay(20);if(key1=0)shu1=1;while(!key1);if(key2=0)d
25、elay(20);if(key2=0)shu2=1;while(!key2);void writelcd_com(uchar com) /向LCD写指令RS=0;RW=0;E=0;P0=com;delay(1);E=1;delay(1);E=0;void writelcd_date(uchar date) /向LCD写数据RS=1;RW=0;E=0;P0=date;delay(1);E=1;delay(1);E=0;void xy(uchar X,uchar Y)uchar pos;if(X=0)X=0x80;else if(X=1)X=0x90;else if(X=2)X=0x88;else
26、 if(X=3)X=0x98;pos=X+Y;writelcd_com(pos);void initlcd() /LCD初始化RW=0;E=0;writelcd_com(0x38);writelcd_com(0x0c);writelcd_com(0x06);writelcd_com(0x01); xy(0,0);while(kaishii!=0)writelcd_date(kaishii);i+;delay(10);i=0;delay(2000);writelcd_com(0x01);void display4(uchar date,uchar x,uchar y) /显示设置uchar ba
27、i,shi,ge;bai=date/100;shi=date%100/10;ge=date%10;xy(x,y);writelcd_date(0x30+bai);writelcd_date(0x30+shi);writelcd_date(0x30+ge);void main() delay(2);/* init */ P0=0xff; P1=0xff; P2=0xff; P3=0xff; PT0=1; /* =B9H CTC0 FIRST */ ET0=1; ET1=0; SCON=0x7e; TMOD=0x21; TH0=(65536-50000)/256;TL0=(65536-50000)
28、%256; TH1=0xf4; TL1=0xf4; /* smod=0 2400bps 8,n,1 f=12MHz TH0=0xee; TL0=0x02; */ TR0=0; TR1=1; IT1=1; / i=0; EX0=1; EX1=0; RI=0; TI=0; ES=1; EA=1; xs=3;initlcd();while(1) jianpan(); pan=shuju2;if(pan=0x41) /呼叫界面flag6=1;abc=1;abc1=0;pan=0;shuju2=0;qie=1;TR0=0;tt=0;biao=0; table4hao=shuju0;hao1=hao;ha
29、o+;if(hao=15)hao=0;if(hao=1) writelcd_com(0x01);xy(0,0);while(hujiaoi!=0)writelcd_date(hujiaoi);i+;delay(5);i=0;xy(2,0);while(bingci!=0)writelcd_date(bingci);i+;delay(5);i=0;xy(2,4);while(bing1i!=0)writelcd_date(bing1i);i+;delay(5);i=0;q1=shuju0;display4(q1,2,2); jianpan();/display4(a,2,0);/beep();i
30、f(pan=0x42) /报警界面flag6=1;abc=1;abc1=0;pan=0;shuju2=0;qie=1;TR0=0;tt=0;biao=0; table4hao=shuju0;hao1=hao;hao+;if(hao=15)hao=0;if(hao=1) writelcd_com(0x01);xy(0,0);while(baoji!=0)writelcd_date(baoji);i+;delay(5);i=0;xy(2,0);while(bingci!=0)writelcd_date(bingci);i+;delay(5);i=0;xy(2,4);while(bing1i!=0)
31、writelcd_date(bing1i);i+;delay(5);i=0;q1=shuju0;display4(q1,2,2);jianpan(); /display4(a,2,0);/beep();/g=shuju1;/*if(shu1=1) shu1=0;TR0=1;/wo=1; */if(qie=0) /巡回显示开启 TR0=1;abc1=1;abc=0;if(cs=0)xy(2,0);while(bingi!=0)writelcd_date(bingi);i+;delay(5);i=0;xy(3,2);while(bing1i!=0)writelcd_date(bing1i);i+;
32、delay(5);i=0;xy(3,5);while(bing2i!=0)writelcd_date(bing2i);i+;delay(5);i=0;jianpan();if(biao=1)/巡回显示cs=1;a=shuju0;display4(a,3,0);display4(yedi,3,3);if(tt=60+num1) tt=0;biao=1;cs=1; if(shuzhi=0) shuzhi+;ES=0;SBUF=(0x31);while(!TI); TI=0;ES=1; else shuzhi=0;ES=0;SBUF=(0x32);while(!TI); TI=0;ES=1;dela
33、y(1);if(abc1=1)if(shu1=1)/巡回显示时间调整shu1=0;xs+;num1=num1+20;if(num1=140)num1=0;if(xs10;i4+)i5=table4i4;if(i5=a)flag5=1;i4=11; */*if(z=1) if(flag5=0) table4hao=shuju0;hao1=hao;hao+;if(hao=15)hao=0;/flag5=1;/display(hao); */if(z=3)z=0;g=shuju1;yedi=g; /b=0x40&a;/b=2;/num=b;/从机程序 #include#define uchar unsigned char#define uint unsigned intuchar flag,flag1,flag2,a,num,shu,shu1,shu2,hao,hao1,bai,shi,ge,b,s,g,tt,a1,yedi,ji,gao,z,di3,miao;uint di1,di,yedi1;sbit key=P14;s