基于单片机的病床呼叫系统设计研究

摘要:随着无线技术的快速发展,无线应用技术已经运用到人们生产生活中的多个领域,运用无线技术来设计病床呼叫系统能够实现无线信号的远距离传输,减少材料耗费,使医患之间的沟通更加便捷,该系统运用单片机作为控制部件对系统的工作进行控制,具有一定的抗干扰能力,稳定性强,实现了多路无线病床的呼叫。本文对基于单片机的病床呼叫系统进行具体设计研究。
关键词:单片机;病床呼叫系统;设计研究

0 引言

随着我国人口老龄化急速加剧,越来越多的人注重身体健康,人们的健康意识也在促进医疗健康行业的蓬勃发展。病床呼叫系统是者与医护人员之间比较简便的沟通渠道,为患者自身、家属、以及医护人员的治疗均提供了诸多便利,病床呼叫系统已经成为现代医学发展的必要设备之一。传统的病床呼叫系统采用有线传输的方式,占用空间大、所需材料多,而且有不易移动的缺陷,所以针对传统的有线病房呼叫系统需要进一步优化与升级。本文所设计的基于AT89C51 单片机的病床呼叫系统主要由遥控端与主控端组成,遥控端主要进行信号的发射,而主控端负责对信号进行处理,并且经过液晶屏显示,同时通过蜂鸣器进行报警。本次无线病床呼叫系统的设计便于安装和使用,实现了医患之间沟通的便捷与灵活性。

1 智能病床呼叫系统发展概况

在应用层面上来讲,呼叫系统已经进入到商业化运营阶段,许多呼叫中心的服务模式也在逐渐由单纯的客户服务向混合服务转变,这是呼叫市场需求的结果也是呼叫技术发展的结果。在信息时代背景下,医院管理也在逐渐向信息化、智能化的方向发展,病房呼叫系统能够实现医院病房的智能 化管理,完成呼叫、报警、信息存储、信息显示等功能。目前,市场上有有线型和无线型病床呼叫系统,很显然,无线病床呼叫系统更能顺应时代发展的需求,但是无线电波会对其他医疗器械造成干扰,所以这种呼叫系统还需进一步优化与完善。

2 基于单片机的病床呼叫系统设计任务

本次设计的总体任务为:首先对程序进行编写,完成病床号以及呼叫灯的程序控制。其次要能够显示在某段时间内对应病床的呼叫次数。最后,在医护人员接收到呼叫之后,要将呼叫响应按钮按停,同时对病人相应病床的呼叫次数清零。

3 基于单片的病床呼叫系统整体设计

■ 3.1 设计思路

本次设计运用 AT89C51 单片机,该单片机的运用能够满足该系统的设计需求。由病床的呼叫按钮来对相应的 LED灯进行控制,病床按一次,蜂鸣器就会响一次,医护人员在接到呼叫指令之后,灭掉相应的 LED 等,执行医护服务工作。系统整体架构如图 1 所示。        

■ 3.2 系统硬件设计

3.2.1 外围电路设计

复位电路:在振荡器运行的过程中,有两个机器周期(24个振荡周期)以上的高电平出现在此引脚时,将使单片机复位,只要这个脚保持高电平,51 芯片便循环复位。复位后P0-P3 口均置 1 引脚表现为高电平,程序计数器和特殊功能寄存器 SFR 全部清零。当复位脚由高电平变为低电平时,芯片为 ROM 的 00H 处开始运行程序,复位电路如图 2 所示。
时钟电路:时钟是程序的基础,AT89C51 核片内由一 个反相放大器构成振荡器,由它产生时钟,时钟可以由内外部两种方式产生。本次设计采用内部方式,在 XTAL1 和 XTAL2 端外接石英晶体作为定时元件,内部反向放大器自激振荡,产生时钟。时钟发生器对振荡脉冲二分频,电容采用 30pF 电容。内部时钟电路如图 3 所示。

3.2.2 系统结构设计

硬件结构主要由信号发射模块、信号接收模块、声音报警模块、液晶显示模块以及答应按键模块共同组成。当无线发射模块接收到信号之后,会经过单片机对信号进行处理,将病床呼叫信息传送到液晶显示模块与声音报警模块,显示出呼叫的病房与床号,医护人员按下答应键之后,单片机会将处理信息反映给液晶显示模块,显示信息已经收到。
(1)信号发射模块
信号发射模块选用一个 4 路非锁存输出的接收模块和编码芯片为 PT2262 并配有电池的遥控器组成,其工作频率为 315MHz,应用距离为 50-100 米,能够与单片机进行对接,当发射端的编码与接收端的编码相一致时,便完成一次呼叫。
(2)信号接收模块
该模块由接收头和解码芯片 PT2272 组成,将输出口通过 I/O 接口与 AT89C51 单片机的引脚相连接。在没有进行呼叫按键按下时,信号端的电压为 0,当有按键信号输出时,输出端电压会变为 4.98V, 并且高电平也会变为低电平,触发外部中断 0 进入中断处理程序。
(3)液晶显示模块
液晶显示模块主要通过 LED 指示灯来实现,每个床位都安装相应的指示灯,当有病人呼叫时,相应的指示灯亮起。指示灯通过发光的二极管实现,分别接在单片机的相应引脚上,每个指示灯都会串联一个电阻,起到限流的作用,防止电流过大对二极管造成损坏。
(4)声音报警模块
声音报警模块采用蜂鸣报警器,当病房有人呼叫时,蜂鸣器开启,利用定时器中断控制报警十秒,通过三极管作为开关电路对单片机进行保护,当三极管基极为低电平时,发射极截止,当三极管基极为高电平时,发射极导通。

■ 3.3 系统软件环境介绍

基于 AT89C51 单片机的病房控制系统,以 Keil_c 为软件编程环境,通过 proteus 软件进行电路仿真设计环境。Keil_c 软件是一款集编程和仿真于一体的软件,支持汇编、C 语言以及二者的混合编程。另外在 Windows 操作系统上还会运用 Protues ISIS 软件,该软件主要进行电路分析与实物仿真,能够对模拟器件与集成电路进行仿真与分析,满足单片机仿真系统的标准,支持大量的存储器和外围芯片,功能非常强大。程序在运行过程中,进入软件主界面,通过工具栏对命令进行选择,在 Pick Devices 左侧窗口中选择所需元件的关键字,放置元件并调整方向和位置,然后进行参数设置,最后进行连线。

■ 3.4 系统主程序设计流程

本文所设计单片机病床呼系统主程序的实现是将所接收到的信息转换成字符显示在液晶显示屏上,完成对液晶显示器的初始化,在有人进行按键呼叫的情况下,指示灯亮起并进行声音报警,提醒医护人员注意,系统主程序流程如图 4 所示。

该系统主程序如下:
void main()
{
time()_init;// 初始化定时器
init_1602;//lcd1602 初始化
while(1)
{
Key();// 独立按键程序
Key_qx();// 取消按键程序
If(ley_can<10)
Key_with();
If(flag_300ms=1)
{
Flag_300ms=0;
If(br_geshu>0)
beep= ~ beep;// 蜂鸣报警器
else
beep=1// 取消报警
}}}

■ 3.5 外部中断服务子程序设计

本文选用中断扫描方式,只有在外部中断时才对键盘进行扫描,这种扫描方式工作效率较高,其实时性强,在有按键按下的时候会对相应的按键进行扫描。在正在进行的中断过程不会被同级的中断请求所打断,当 CPU 同时接收到几个中断时,首先会相应优先级别最高的中断请求。外部中断服务流程图如图 5 所示。
当有呼叫按键按下时,则给出相应的标志变量赋值 1,点亮相应的指示灯,开启蜂鸣器,由于数码管显示程序时动态的循环程序,在外部中断子程序中会进入到循环状态,所以必须在中断程序给出相应的标志变量赋值,最终实现数码管显示处理。如果按下的是大硬件,则观察标志变量是否为1,如果是 1 就灭掉相应的指示灯,给标志变量赋值 0。如果不是 1,就说明相应的床位没有呼叫。

4 系统调试与结论

系统调试是系统开发必不可少的一个步骤,病床呼叫控制系统的调试包括软硬件的调试、Proteus 仿真、程序的烧录、现场安装调试。在系统设计完成之后,首先要对系统软硬件进行调试,如果出现问题需要及时进行改进。在对界面进行调试时,需要运用 Proteus 软件,通过数据线与电源进行连接,打开开关键,待初始化完成之后,对某一个呼叫按键进行测试,当对应的 LED 指示灯亮并且蜂鸣器发出报警,证明该程序准确无误,能够反映该设计的可行性。

5 结束语

基于单片机的病床呼叫系统设计是传送病床信息的重要手段,通过病床呼叫系统可以将病人的请求快速的传递给医生或护士。病床呼叫技术在医疗监测上的运用意义重大,能够造福广大人民群众,为国家医疗事业的发展提供动力。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/846243.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

决定短视频打开率的要素:成都鼎茂宏升文化传媒公司

​ 在当下这个短视频盛行的时代&#xff0c;无论是个人创作者还是企业品牌&#xff0c;都希望通过短视频平台获得更多的曝光和关注。然而&#xff0c;如何让自己的短视频在众多内容中脱颖而出&#xff0c;吸引用户的点击和观看&#xff0c;成为了摆在我们面前的重要问题。成都…

nginx隐藏版本号、错误信息页面隐藏nginx软件、修改 HTTP 头信息中的connection 字段,防止回显具体版本号、curl命令

目录 安装之后隐藏 配置文件 源代码配置安装之前隐藏 修改nginx.h文件中的 13、14行 修改 HTTP 头信息中的connection 字段&#xff0c;防止回显具体版本号 配置文件49行 错误页面程序返回版本号、nginx隐藏 配置文件36行 ​编辑 安装nginx 相关选项说明 curl命令测试…

更新详情 | Flutter 3.22 与 Dart 3.4

作者 / Michael Thomsen 过去几个月&#xff0c;Dart & Flutter 部门可谓忙碌非凡&#xff0c;但我们很高兴地宣布&#xff0c;Flutter 3.22 和 Dart 3.4 已经在今年的 Google I/O 大会上精彩亮相&#xff01; Google I/Ohttps://io.google/2024/intl/zh/ 我们始终致力于提…

记一次mysql索引优化

生产日志告警出现一条慢 sql 告警, 通过 sql 监控平台拿到 这条sql 语句是 : SELECTid,report_id,report_detail_id,item_code,report_type,photo FROM**** 表 WHEREdel_flag 0 AND (report_type 1 AND report_detail_id IN ( 1742 )) 之后用 explain 分析这条 sql 的命中…

FPGA新起点V1开发板(九)——流水灯

文章目录 一、模块框图二、代码编写三、注意点四、总结 一、模块框图 二、代码编写 endmodule下面需要敲出一个回车代码拼接是大括号 led < {led[2:0],led[3]}注意二进制和十进制 module flow_led(input sys_clk50,input rst_n,output reg [3:0] le…

Java开发分析工具:JProfiler 14 for Mac/win 激活版下载

JProfiler是一款功能强大的Java应用程序性能分析工具&#xff0c;适用于Java开发人员和企业用户&#xff0c;可帮助他们识别和解决Java应用程序中的性能问题&#xff0c;提高应用程序的性能和稳定性。使用JProfiler&#xff0c;开发人员可以实时查看Java应用程序的性能数据&…

项目的各个阶段如何编写标准的Git commit消息

标准提交消息格式 一个标准的提交消息应包括三部分&#xff1a;标题&#xff08;summary&#xff09;、正文&#xff08;description&#xff09;和脚注&#xff08;footer&#xff09;。 1. 标题&#xff08;Summary&#xff09; 简洁明了&#xff0c;不超过50个字符。使用…

Redis数据类型(下篇)

5.Redis有序集合zset(sorted set) 本质就是在set的基础上&#xff0c;每个val值前面加了一个score分数值。 &#xff08;1&#xff09;向有序集合中添加多个&#xff08;或者一个&#xff09;元素和其对应的分数 127.0.0.1:6379> zadd zset1 100 a 90 b 80 c 70 d 60 e (…

【VMware虚拟机中ubuntu系列】—— 在虚拟机中使用本机摄像头的详细教程与常见问题分析及解决

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、虚拟机调用本机摄像头(1) 启动VMware USB 服务(2) 连接本机摄像头(3) 测试摄像头的连接 二、安装usb驱动二、运行usb_cam.launch时出现select timeout的报错…

vulhub中Nexus Repository Manager 3 未授权目录穿越漏洞(CVE-2024-4956)

Nexus Repository Manager 3 是一款软件仓库&#xff0c;可以用来存储和分发Maven、NuGET等软件源仓库。 其3.68.0及之前版本中&#xff0c;存在一处目录穿越漏洞。攻击者可以利用该漏洞读取服务器上任意文件。 环境启动后&#xff0c;访问http://your-ip:8081即可看到Nexus的…

web前端三大典型应用框架

以下是Web前端三大主流框架的作者、使用情况、典型客户。 框架名称 作者/主要开发者 使用情况 典型客户 Angular Google Angular是一个功能强大的前端框架&#xff0c;适用于开发大型和复杂的Web应用。它提供了一套完整的工具和生态系统&#xff0c;使得开发者可以高效地…

Java 虚拟机详解——Java虚拟机、垃圾回收、内存分配策略

文章目录 一、运行时数据区域程序计数器Java 虚拟机栈本地方法栈堆方法区运行时常量池直接内存 二、垃圾收集判断一个对象是否可被回收1. 引用计数算法2. 可达性分析算法3. 方法区的回收4. finalize() 引用类型1. 强引用2. 软引用3. 弱引用4. 虚引用 垃圾收集算法1. 标记 - 清除…

npm发布、更新、删除包

如何将自己开发的依赖包发布到npmjs上供别人使用&#xff1f;五个步骤搞定&#xff01; 实现步骤&#xff1a; 创建自己的工具包项目&#xff0c;进行开发。注册npmjs账号。执行npm login在控制台登录&#xff0c;填写用户信息。执行npm publish发布包。更新及删除。 步骤一…

MongoDB~俩大特点管道聚合和数据压缩(snappy)

场景 在MySQL中&#xff0c;通常会涉及多个表的一些操作&#xff0c;MongoDB也类似&#xff0c;有时需要将多个文档甚至是多个集合汇总到一起计算分析&#xff08;比如求和、取最大值&#xff09;并返回计算后的结果&#xff0c;这个过程被称为 聚合操作 。 根据官方文档介绍&…

c++【提高】简单背包问题

时间限制 : 1 秒 内存限制 : 128 MB 有一个背包能装的重量 maxw (正整数,0≤maxw≤20000),同时有 n 件物品(1≤n≤100),每件物品有一个重量 w_i(正整数)和一个价值 p_i(正整数)。要求从这 n 件物品中任取若干件装入背包内,使背包的物品价值最大。 输入 第 1 行:背包最…

【Python Cookbook】S01E05 一键多值的字典

目录 问题解决方案讨论 问题 如果希望能够将一个键&#xff08;key&#xff09;映射到多个值&#xff08;value&#xff09;上&#xff0c;那么应该如何创建这个字典&#xff1f;&#xff08;即所谓的一键多值字典 [multidict]&#xff09; 解决方案 字典是一种关联容器&…

keepalived监控nginx进程

目录 1、说明 2、上传脚本 3、修改keepalived.conf 3.1 定义监控脚本 3.2 在实例中加入启用监控 4、keepalived.conf配置示例 1、说明 keepalived本身只是监控自身的进程是否挂掉&#xff0c;如果机器并没有挂机&#xff0c;只是nginx挂了&#xff0c;那么keepalived是不…

虚拟化软件(VMWare、VB)异常最后解决手段

Version V0.0&#xff1a;20240601 Ini 前言 这里描述的是常规的解决办法还是无法解决的严重问题&#xff0c;比如”虚拟化软件(VMWare、VB)“启动”虚拟机“、和”CPU硬件加速“开启不了等问题。 一、安装了加速器、游戏平台、模拟器的电脑 解决办法&#xff1a; 把这些…

把AI引入到低代码领域

前言 引入AI到低代码开发平台&#xff0c;如驰骋低代码&#xff0c;能够带来显著的利益和价值&#xff0c;具体体现在以下几个方面&#xff1a; 1. 提升开发效率 自动化设计&#xff1a;AI可以帮助设计者自动规划菜单体系&#xff0c;减少手动设计的时间和错误。快速表单设计…

【MySQL】聊聊order by 是如何排序的

CREATE TABLE t (id int(11) NOT NULL,city varchar(16) NOT NULL,name varchar(16) NOT NULL,age int(11) NOT NULL,addr varchar(128) DEFAULT NULL,PRIMARY KEY (id),KEY city (city) ) ENGINEInnoDB;构建一个表结构&#xff0c;以及数据。 本篇主要来分析下order by是如何进…