ImageVerifierCode 换一换
格式:DOCX , 页数:22 ,大小:679.81KB ,
资源ID:8198291      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/8198291.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于单片机的医院病房呼叫系统课程设计报告书.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于单片机的医院病房呼叫系统课程设计报告书.docx

1、基于单片机的医院病房呼叫系统课程设计报告书智能仪表课程设计课程设计 课题名称 医院病房呼叫系统 姓名学号 所在班级 指导教师 扬州大学能源与动力工程学院二一年九月总 目 录第一部分:任务书第二部分:课程设计报告第三部分:附录第 一 部 分任务书智能仪表课程设计任务书一、课题名称 医院病房呼叫系统设计。二、设计内容及设计要求利用单片机和总线通信实现医院病房的呼叫,具有下面的功能:1. 在病人病床处设置按钮开关,每个病床的开关分为紧急按钮和正常按钮两部分,按钮启动时,按钮旁的指示灯亮,提示病人按钮已按下,其中绿色代表正常呼叫,红色代表紧急呼叫。2. 护士一边,当病人按下按钮时,警报灯亮,并伴随蜂鸣

2、,显示板上病人对应位置的灯亮,其中一般呼叫绿灯亮,紧急呼叫红灯亮,亮灯时伴有闪烁。3. 护士接到呼叫后,到病房并关闭呼叫4. 由于病床数量众多,一方面单片机接口有限,另一方面线路过多不符合实际,所以选用总线通信方式,考虑到传输距离和速度RS-485串口通信更具优势。三、时间安排第一周:星期一星期二:布置任务,熟悉资料,确定仪表的功能要求、性能指标。熟悉实验板原理图和印刷板图。星期三星期五:进行仪表的方案选择,确定主要芯片、工作方式、输入输出信号的接口方式、键盘和显示方式、以及通信方式。进行硬件设计和元器件选择,画出硬件原理图。第二周:星期一星期五:根据硬件原理图,焊接硬件电路;测试硬件电路的功

3、能;软件设计,包括软件需求说明、软件结构框图、主要软件功能模块的流程图;编写程序。第三周:星期一星期三:调试程序,联调软件和硬件。星期四星期五:写课程设计报告。四、应交成果应交成果包括: 纸质课程设计报告和电子文档; 硬件原理图的Protel文件,程序; 可以演示的硬件和软件成果。五、课程报告内容课程设计报告应包括下列部分: 课程设计任务书 仪表的功能要求、性能指标要求。 方案选择:提出多种方案,进行方案比较,说明选定方案的理由,描述硬件和软件的功能分工。 硬件设计:包括硬件结构框图、原理图及其各个主要环节的工作原理说明,元器件选择的计算方法或者理由,利用提供的实验板焊接元器件。 软件设计:首

4、先提出软件的功能需求,然后进行软件的结构设计,再画出主要功能模块的软件框图。 程序编写和调试。 设计小结。报告中硬件原理于用Protel画出,软件框图和程序流程图用Visio画出。第 二 部 分课程设计报告第一章 技术指标.81. 1课题及要求.81. 2 功能描述.8第二章 整体方案设计.82.1 整体方案结构方框图.82.2 整体方案原理.9第三章 单元电路设计.93.1 主控制电路设计.93.2 护士值班室报警电路设计.113.3 单片机复位电路.123.4 RS-485通信电路.133.5 整体电路.133.6 整机原件清单.16第四章 测试与调整.174.1 主控制电路的测试与调整.

5、174.2 护士值班室报警电路的测试与调整.174.3主控软件框图.174.4接收软件框图.194.5 整体电路测试.19第五章 设计小结.205.1 设计任务完成情况.205.2 问题及改进.205.3心得体会.20第一章 技术指标1.1 课题及要求一个病房有两个床位,每个病人都有两个按钮(紧急呼叫,一般呼叫)来呼叫护士,护士站接收信息,去病房服务并解除呼叫。1. 2 功能描述1. 在病人病床处设置按钮开关,每个病床的开关分为紧急按钮和正常按钮两部分,按钮启动时,按钮旁的指示灯亮,提示病人按钮已按下,其中绿色代表正常呼叫,红色代表紧急呼叫。病人按下开关后不能再关闭呼叫,只有等护士来以后,才能

6、由护士取消2. 护士一边,当病人按下按钮时,警报灯亮,并伴随蜂鸣,显示板上病人对应位置的灯亮,其中一般呼叫绿灯亮,紧急呼叫红灯亮,亮灯时伴有闪烁。3. 护士接到呼叫后,到病房并关闭呼叫4. 由于病床数量众多,一方面单片机接口有限,另一方面线路过多不符合实际,所以选用总线通信方式,考虑到传输距离和速度RS-485串口通信更具优势。第二章 整体方案设计2.1 整体方案结构方框图2.2 整体方案原理1. 病房内设有发送主机,当病人有需求时按呼叫按钮,主机一端口接收到一个高电平时,相应的指示灯亮。同样,当病人遇到紧急情况时,按亮紧急指示灯。2. 发送主机不断地向接收主机以总线的方式发送信息,使接收端主

7、机端口表现出电平的高低变化点亮相应的指示灯,采用延时程序使指示灯闪烁,当有指示灯亮时,接收主机原定的稳定状态打破,使蜂鸣器鸣叫。3. 医护站接到呼叫信息,前往相应的病房内,按取消按钮(取消按钮由发送主机定义,并且只有该取消按钮能取消指示灯的闪烁),解除呼叫。主机用51单片机代替,按钮、指示灯和蜂鸣器用单片机的I/O口控制。第3章 单元电路设计3.1主控制电路设计开关部分S1、S2为1号病床的两个按钮,分别控制呼叫和紧急两种指示灯;S3、S4为2号病床的两个按钮,分别控制呼叫和紧急两种指示灯;S5取消1号病床指示灯,S6取消2号病床指示灯。LED显示部分LED灯L1、L2、L3、L4分别对应开关

8、S1、S2、S3、S4。3.2 护士值班室报警电路设计接收端LED及蜂鸣器电路 L1、L2分别对应病床1的呼叫和紧急呼叫指示;L3、L4分别对应病床2的呼叫和紧急呼叫,每当有灯亮时蜂鸣器鸣叫。3.3 单片机复位电路3.4 RS-485通信电路3.5 整体电路发送端接收端3.6 整机原件清单电阻:5k 15个 10k 4个 1k 2个 500 5个 120 2个电容:30p 4个 10 2个 0.1 8个 LED:8个晶振:12MHz 1个电铃:1个按键开关:8个51单片机:2个MAX485:2个 MAX232:2个三极管:9个第四章 测试与调整4.1 主控制电路的测试与调整开始的设计是用按键开

9、关,病人按一次按键,对应的LED灯亮,第二次按,对应的LED灭。由于中断口有限,我们采用了查询方式,一开始会出现按键按下去没有反应的情况,经检查,是由于查询方式本身存在的弊端,不能像中断一样迅速反应按键的变化。查询方式下检测按键,只有当程序进行到此步骤时才检测,而中断是在任何情况下有按键中断就进行。仔细考虑后,我们增加了循环程序的延时时间,使一个循环的时间差不多是人一次按键的时间。更改后勉强能达到效果。指导老师检查后,按照医院管理中的实际要求,给我们提出了改进意见:由于病人在紧急情况下可能会不停的按按钮,不经意间会将灯给按灭,所以关灯按钮应该另设,由护士关灭。按照这样的要求,查询方式也能够实现

10、,而且很稳定。4.2 护士值班室报警电路的测试与调整发送端电路调试完成后,将其与接收端相连,接收端没有任何反应,检查线路无误。将程序在自己的单片机盒子上模拟没有错误。这样一来,程序和电路都无误?本次的课程设计陷入僵局。三天后,在一次线路测试中,发现了通信接线的错误,原来我一直把单片机的P3.6口当成了P3.7口。更正后,终于能够通信了,结果很理想,没有错误。4.3主控软件框图4.4接收软件框图4.5 整体电路测试当通信接线错误的问题解决后,整体的调试也进行的非常的顺利,测试结果与预期的结果完全一致。具体结果:发送端有病人的按键按下时对应的灯亮,并且信息被传送到接收端,接收端对应的灯也点亮闪烁并

11、伴随蜂鸣;当发送端的取消按钮按下时,对应的指示灯灭,接收端对应的指示灯也熄灭,蜂鸣停止。第五章 设计小结5.1 设计任务完成情况 任务的完成比预期晚了,原本是计划三个星期完成,结果却拖到了第四个星期。完成后的实验成果,模拟了医院病房呼叫系统,由于材料有限,我们模拟的是双机通信。实物部分已经满足要求。另外硬件图,程序都已完成,实验报告即将完成。5.2 问题及改进我们用按键开关来实现指示灯的点亮和关闭,但是并没有用中断,由于中断口数量有限,所以我们选用了一般的I/O口。这样一来,编程就会有很多麻烦,最终没有得出满意的效果。老师指导后,我们把开灯和关灯分成两个键,这样一来不但避免了病人的误操作,也降

12、低了程序的难度。课程设计中途,我们遇到了硬件的问题,检查了一遍又一遍还是不果,就在我们快要放弃的时候,一不小心把错误检查出来了是接线的错误,起初我们还以为原来的接线方式是完全正确的,已经将接线问题排除在外了,所以试验中确实不可以想当然。5.3心得体会经过漫长的暑假,开学一来就是课程设计。第一天就把题目给我们,紧接着就是查资料。说实话,当时我还没有一点头绪或是还没进入状态,最主要的是连实验要求都要我们自己来定,也就是说整个实验给我们的就是一个题目“医院病房呼叫系统”。在搜索资料的过程中,我看到了好多传统的或是高级的医院病房呼叫机器,还有许多其他学校的设计报告,根据这些,我们初步确定了本课题的实验

13、要求。第二天开始画图,用protel软件画图,之前虽然用过,但是基本忘的差不多了,只有不断地学习和向同学请教。一开始我还有点疑惑,为什么程序还没写就开始画图,后来想想也对,画图就是确定输入,输出,确定了程序的整体走向。就这样,我们一边学习protel软件,一边在把图一点一点的拼起来。画完图之后要老师来检查,结果错误一大堆都是一些最基本的元器件连接问题:案件开关要上拉电阻和接地,LED要接三极管等。画图的这一周,各组的方案需要不断地完善,以顺应实际的需求。就这样我们的设计要求在审查中被改了又改,我们也渐渐的融入了真实系统的需求设计中。因为没有学过单片机C语言,所以一开始入手编程比较迷茫,但是借助

14、网上的程序,我把他们拼接起来并不断的调试和完善。在此之中慢慢理解了语句的含义,编程中发挥越来越自如。将程序存入单片机后,开始模拟,但按键开关总是不灵敏,再三考虑,其实是程序本身的问题,中断端口无论怎样都不可能用查询口来代替。正纠结于这个问题时,又发现了问题,接收端口无效,这可是大问题,于是重点又转移到了这边。第二天,我们开始检查问题,首先程序肯定没有问题,因为我在自己曾经买的单片机上模拟过,完全能实现。然后就是线路的问题,经过各个点的仔细检查,没有发现问题。设计进度由此而停滞不前。哪天老师检查完后,也没有说是什么原因,我在那里摆弄了半天,最终长吸一口气,准备放弃。那时候不知为什么把其中的一根线

15、换了个接口,竟然奇迹般的成功了。最后发现是通信总线的接线错误。这一下可给了我重重的一击,因为我之前一直认为这边的接线是准确无误的。后来完善要求的时候我们正好也解决了按键的问题。从开始到现在,所有的问题都解决了。总结起来,做课程设计之前一定要对自己的课题感兴趣,实践中要不断地学习完善自己,鼓励和相信自己,遇到问题要科学的解决,不要想当然。当真正做出成果的时候就会发现,其实也不难。第 三 部 分附录参考资料1张毅刚主编.单片机原理及应用(第一版).高教出版社.20032程德福 林君主编.智能仪器(第二版).机械工业出版社.20093杜宇人主编.现代电子测量技术(第一版).机械工业出版社.20094

16、侯殿有主编.单片机C语言程序设计.人民邮电出版社.2010实物图发送端接收端C程序发送端:#include#include#define uchar unsigned char#define uint unsigned intsbit a1=P10;sbit a2=P11;sbit a3=P12;sbit a4=P13;sbit a6=P16;sbit a5=P17;sbit b1=P00;sbit b2=P01;sbit b3=P02;sbit b4=P03;sbit fs=P37;void delay(unsigned int delaytime) /延时程序 unsigned int j

17、=0; for(;delaytime0;delaytime-) for(j=0;j125;j+) ; void main() int w=0,x=0,y=0,z=0; TMOD=0x20; /设置为定时器1方式2 TH1=0xfd; /装初值,波特率设为9600 TL1=0Xfd; EA=1; /开总中断 ES=1; /开串口中断 SCON=0x50; /串口控制寄存器设置,方式1、开串口接收。SM0=0;SM1=1;REN=1; PCON=0x80; TR1=1; /开启定时器1中断 P0=0xff; /P0口清零 while(1) if(!a1) /亮灯算法 delay(20); if(!

18、a1) w+=1; if(w!=0) b1=0; if(!a2) delay(20); if(!a2) x+=1; if(x!=0) b2=0; if(!a3) delay(20); if(!a3) y+=1; if(y!=0) b3=0; if(!a4) delay(20); if(!a4) z+=1; if(z!=0) b4=0; if(!a5) delay(20); if(!a5) w=0; x=0; b1=1; b2=1; if(!a6) delay(20); if(!a6) y=0; z=0; b3=1; b4=1; fs=1; SBUF=P0; /发送数据 delay(1000);

19、 接收端:#include#include#define uchar unsigned char#define uint unsigned intsbit beep=P04;sbit js=P37;void delay(unsigned int delaytime) /延时程序 unsigned int j=0; for(;delaytime0;delaytime-) for(j=0;j125;j+) ; void main() int a=0xff,i; TMOD=0x20; /设置为定时器1方式2 TH1=0xfd; /装初值,波特率设为9600 TL1=0xfd; EA=1; /开总中断 ES=1; /开串口中断 SCON=0x50; /串口控制寄存器设置,方式1、开串口接收。SM0=0;SM1=1;REN=1; PCON=0x80; TR1=1; /开启定时器1中断 P0=0xff; /P0口置1 while(1) js=0; if(RI) RI=0; a=SBUF; P0=a; if(a!=0xff) /蜂鸣器频响 for(i=0;i200;i+) beep=0; delay(5); beep=1; delay(5); delay(500); P0=0xff; delay(500);

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1