病房无线呼叫系统的设计毕业论文.docx
- 文档编号:10063210
- 上传时间:2023-02-08
- 格式:DOCX
- 页数:24
- 大小:246.38KB
病房无线呼叫系统的设计毕业论文.docx
《病房无线呼叫系统的设计毕业论文.docx》由会员分享,可在线阅读,更多相关《病房无线呼叫系统的设计毕业论文.docx(24页珍藏版)》请在冰豆网上搜索。
病房无线呼叫系统的设计毕业论文
毕业论文(设计)
题目:
病房无线呼叫系统的设计
英文:
Designofwirelesscallingsysteminward
病房无线呼叫系统的设计
摘要
本次病房无线呼叫系统设计是以AT89C51单片机作为关键核心控制模块,通过AT89C51单片机控制无线模块完成对模拟病房按键数据的传输任务。
本次病房无线呼叫系统的设计采用的是主机接收端和从机呼叫端分开设计,从机呼叫端和主机接收端通过NRF24L01无线模块进行模拟病房信号传输。
从机呼叫端包括模拟病房按键模块、NRF24L01无线模块以及单片机最小系统;主机接收端包括有单片机最小系统、NRF24L01无线模块和LCD1602液晶显示模块以及DS1302时钟电路模块。
从机呼叫端单片机需要对模拟病房按键进行实时检测,NRF24L01无线模块将检测到的模拟病床信号发送到主机接收端;主机接收端NRF24L01无线模块接收到从机呼叫端发送的无线信号后,主机接收端单片机对接收到的信号进行相关处理,并且蜂鸣器进行报警以及LCD1602显示呼叫病床号以提醒医护人员,医护人员也可以通过护士键取消报警信号。
关键词:
AT89C51单片机;NRF24L01无线收发模块;LCD1602液晶显示
Designofwirelesscallingsysteminward
ABSTRACT
ThedesignofthewardwirelesscallsystemisbasedonAT89C51singlechipmicrocomputerasthekeycontrolmodule.ThewirelessmoduleiscontrolledbyAT89C51singlechipmicrocomputertocompletethetransmissiontaskofkeydataofthesimulatedward.Thedesignofthewardwirelesscallsystemadoptstheseparatedesignofthehostreceivingterminalandtheslavecallingterminal.TheslavecallingterminalandthehostreceivingterminalcarryouttheanalogwardsignaltransmissionthroughnRF24L01wirelessmodule.Theslavecallendincludestheanalogwardkeymodule,nRF24L01wirelessmoduleandMCUminimumsystem;thehostreceiverincludestheMCUminimumsystem,nRF24L01wirelessmodule,LCD1602LCDmoduleandDS1302clockcircuitmodule.TheMCUoftheslavecallterminalneedstodetectthekeyoftheanalogwardinrealtime.ThenRF24L01wirelessmodulesendsthedetectedsignaloftheanalogsickbedtothereceivingterminalofthehost;afterthenRF24L01wirelessmoduleofthereceivingterminalofthehostreceivesthewirelesssignalsentbytheslavecallterminal,theMCUofthereceivingterminalofthehostcarriesoutrelevantprocessingonthereceivedsignal,andthebuzzeralarmsandLCD1602displaysCallthebednumbertoremindthemedicalstaff.Themedicalstaffcanalsocancelthealarmsignalthroughthenursekey.
Keyword:
AT89C51singlechipmicrocomputer;NRF24L01wirelesstransceivermodule;LCD1602
1绪论
1.1课题研究及应用前景
由于近几年电子科学技术的不断深入发展,以及应用范围不断向各行业进行延伸,使得在各种行业中不断蓬勃发展。
对于人类而言,科技不断发展目的就是为了促进人类生活越来越方便越来越便捷。
医院是一个人员流通密度较大的公共场所,人员流通密集、环境噪杂,如果没有便捷的呼叫服务系统,糟杂的环境不仅影响医疗服务,而且还影响病人治疗和静养。
所以医院非常需要一套有效便捷的呼叫系统,以方便医护人员和患者及其家属进行及时有效地沟通。
目前我国绝大多数县级医院以及乡镇医院还没有完善的呼叫系统,去年寒假我在我们县人民医院就发现没有有效快捷的呼叫方式,依旧依靠传统的人工呼叫方式,需要患者或者患者家属到护士台去寻找护士,非常的不方便。
同时我也上网查询过很多县级医院或者较落后的医院都没有便捷的呼叫系统,随着今年新冠肺炎疫情的突然爆发,使我觉得病房无线呼叫系统极为重要,所以我想结合所学的知识,设计一款具有无线传输功能的病房呼叫系统。
1.2设计任务主要要求
本次毕业设计以51单片机为核心控制模块,实现对病房无线呼叫系统的传输控制。
以一般病房为模型,假定病房有三位病人,三位病人可通过病床前的呼叫设备呼叫医生和护士,而在医生、护士值班室可以实时显示病人呼叫状况,并且可以根据病人呼叫情况进行反馈。
在呼叫过程中通过无线传输方式进行信息的有效传递,病人发出呼叫信号时,呼叫端能够有效的完成数据的发送,接收端能够有效接收数据并且进行相关处理,液晶显示能够显示相应呼叫编号,同时蜂鸣器工作提示护士或者医生前去进行处理,接收端增加护士键,可以关闭蜂鸣器。
2系统硬件设计
2.1单片机最小系统电路
STC89C51单片机是宏晶科技公司生产制造的一款拥有低功耗、高性能、结构简单的CMOS8位微型控制芯片,本次病房无线呼叫系统设计需要使用到两片STC89C51单片机,分别对呼叫端和接收端的相关数据进行处理[1]。
但是仅仅依靠单片机是无法完成信息处理工作,单片机需要结合其他电路才能对呼叫端和接收端的信息进行处理。
第一部分是电源模块。
本次病房无线呼叫系统设计的电源模块供电电压为5V,采用USB电源线对整个系统进行供电,这种供电方式较为方便,可以使用移动电源或者手机充电器作为整个系统的电源。
电源模块主要包含两个元件,分别是DC电源插头和双掷开关,电源模块主要作用就是为单片机最小系统、液晶显示电路、时钟电路、报警电路以及无线传输电路进行正常供电,以供应各模块能够正常运行工作。
51单片机有两个引脚需要连接电源模块,分别是接5V的40引脚Vcc和接地的第20引脚GND。
第二部分是时钟电路。
本次病房无线呼叫系统设计采用的是内部时钟电路,内部时钟电路原理图如图2.1所示。
STC89C51单片机的引脚18和引脚19需要外接晶振以及电容,与STC89C51单片机内部的反相放大器一起构成单片机所需要的主频时钟电路。
STC89C51单片机外接晶振频率决定着系统的工作频率,在本次毕业设计中选用的是12M石英晶振,两个电容选择的30pF。
图2.1内部时钟电路
第三部分就是复位电路。
STC89C51单片机在第九引脚上检测到两个机器周期以上的高电平信号,就会开始执行复位指令。
STC89C51单片机完成复位指令之后,它的CPU内部寄存器将会回归到初始状态,接收端单片机将会清除所有接收到的呼叫信息,回到初始接通电源时刻的状态。
STC89C51单片机有两种复位方式,这两种电路复位原理是一样,不同之处在于单片机接通电源时一定会自动进行上电复位,而对于按键复位来说,一般是在单片机处于正常工作的状态下,想要重启单片机执行程序时,这时可以通过按键复位进行单片机的复位工作。
图2.2复位电路
本次病房无线呼叫系统设计需要使用两片STC89C51单片机,分别需要对呼叫端和接收端的数据进行处理。
呼叫端单片机接通电源之后,LED闪烁一次表示呼叫端单片机进入到正常工作状态,单片机开始检测模拟病房按键信息;如果单片机检测到模拟病房按键数据时,单片机对检测到的数据进行处理;数据处理完成后会调用NRF24L01无线模块将数据发送到接收端,呼叫端单片机检测到NRF24L01数据发送完成后使LED进行闪烁一次。
接收端NRF24L01无线模块接收到的数据之后,把数据传送给接收端单片机进行处理;接收端单片机处理完成数据之后,单片机调用DS1302时钟模块和LCD1602显示模块,将接收到的数据进行实时显示和报警以提醒医护人员,同时DS1302时钟模块的时间也需要通过单片机进行设置。
STC89C51单片机最小系统电路图如图2.3所示。
图2.3STC89C51单片机最小系统
2.2无线传输电路
2.2.1NRF24L01的概述
想要完成病房无线呼叫系统的设计,首先最重要的就是它的无线传输电路,虽然单片机是核心控制模块,但是单片机的选择是比较容易的,因此无线传输电路的好坏就决定着本次毕业设计的成败。
在无线传输模块这方面我查阅了很多资料,包括蓝牙模块传输、WIFI模块传输、PT2262编码芯片/PT2272译码芯片、NRF24L01无线模块,通过它们之间进行相互比较,以及结合本次毕业设计的需求,最终我选择采用NRF24L01无线模块。
NRF24L01无线模块是一款性能优良的无线通信模块,它的工作频段一般是在2.4~2.5GHz国际通用ISM频段的范围内,拥有较高发射功率和通讯速率,它有六路数据通道可以进行数据传递,并且它的输出功率和频道选择以及相关协议全部都可以通过SPI进行设置,因此它在体积、功耗、应用成本以及芯片开发等方面都具有非常大的优势[2]。
它工作电压范围是-0.3V~3.6V,但是由于系统的供电电源电压是5V,因此需要添加两个二极管进行分压作用。
NRF24L01模块原理图如图2.4所示。
图2.4NRF24L01原理图
2.2.2NRF24L01的工作原理
NRF24L01无线模块是由多个电路集成的芯片,该无线模块总共包括八个引脚,其中第四引脚需要连接3.6V的电源,第五引脚需要连接电源地线;其余的六个引脚分别控制NRF24L01无线模块的各种功能,在各个模式下这六个引脚的相关功能以及它们状态信号如表2.1所示。
表2.1NRF24L01无线模块引脚功能
引脚名称
方向
发送模式
接收模式
待机模式
掉电模式
CE
输入
高电平>10us
高电平
低电平
—
CSN
输入
SPI片选使能,低电平有效
SCK
输入
SPI时钟
MOSI
输入
SPI串行输入
MISO
三态输出
SPI串行输出
IRQ
输出
中断,低电平有效
单片机最小系统和NRF24L01无线模块之间的数据传递主要依靠SPI,相关的寄存器指令同样也是通过SPI进行写入。
SPI数据传输主要通过四个引脚,各个引脚功能上表已经介绍了。
下面介绍NRF24L01无线模块SPI读写操作时序,SPI进行读写操作的时序图如图2.5所示,NRF24L01在时钟脉冲的作用下,低电平时MISO向单片机输出一位数据,而高电平时MOSI从单片机输入一位数据,对于C0~C7指的是SPI的指令,S0~S7是指状态寄存器位,Dn是指读写的数据[3]。
图2.5SPI读写操作时序
NRF24L01无线模块总共有六种工作模式,这六种模式的设置分别与配置寄存器以及CE引脚有关,单片机可以通过配置寄存器位PWR_UP控制NRF24L01无线模块掉电模式和上电模式;配置寄存器位PRIM_RX可以控制NRF24L01无线模块的发送模式和接收模式;CE引脚主要控制NRF24L01无线模块待机模式;相关模式的设置如表2.2所示。
呼叫端和接收端在进行通电之后,会对NRF24L01无线模块进行初始化,把CE的输入信号设置为低电平,NRF24L01无线模块进入待机模式I,此时呼叫端并没有数据需要进行发送;如果呼叫端单片机检测到模拟病房按键信号,呼叫端NRF24L01无线模块数据发送完成后暂时没有数据需要发送,此时呼叫端NRF24L01无线模块寄存器TX_FIFO中并没有数据需要进行发送并且CE引脚的输入信号还是高电平,那么NRF24L01无线模块将会进入到待机模式II的状态。
表2.2NRF24L01主要工作模式
模式
PWR_UP
PRIM_RX
CE
FIFO寄存器状态
接收模式
1
1
1
—
发送模式
1
0
1
数据在TX_FIFO寄存器中
发送模式
1
0
1→0
停留在发送模式,直至数据发送完
待机模式II
1
0
1
TX_FIFO为空
待机模式I
1
—
0
无数据传输
掉电模式
0
—
—
—
呼叫端单片机检测到模拟病房按键信号时,会将NRF24L01无线模块的工作模式设置为发送模式,将检测到的数据通过NRF24L01无线模块发送到接收端,NRF24L01无线模块在发送数据之前需要先进行相关功能的设置。
呼叫端单片机把NRF24L01无线模块设置为发送模式之前,单片机需要将检测到的数据写入到NRF24L01寄存器中,首先NRF24L01无线模块需要将发送地址(TxAddr)和发送地址宽度(TX_ADDR_WITDH)以及有效数据(TxDate)通过相关的指令写入到寄存器当中,发送地址宽度设置为5个字节,因为NRF24L01无线模块有六个数据通道,每个数据通道有40位可配置地址总共5个字节。
并且NRF24L01模块含有自动应答功能,接收端接收到呼叫端发送的数据后需要进行应答,因此需要将接受应答信号的地址写入到NRF24L01自动应答的EN_AA寄存器当中;而呼叫端NRF24L01无线模块需要接收接收端的应答信号,因此还需要对呼叫端NRF24L01无线模块的EN_RXADDR寄存器进行设置;如果呼叫端NRF24L01无线模块数据发送失败,呼叫端NRF24L01无线模块需要重新发送数据,因此需要对SETUP_RETR寄存器进行设置,在本次毕业设计中呼叫端NRF24L01设置的自动重发次数是10次以及每次自动重发的延时时间是250us+86us;最后需要对配置寄存器和CE引脚,经过一定延时后NRF24L01无线模块开始发送数据[4]。
接收端需要接收来自呼叫端的数据,首先需要将NRF24L01设置为接收模式,经过一定延时之后NRF24L01将会进入到接收模式,等待呼叫端发送数据。
接收端NRF24L01无线模块检测到由呼叫端发送过来的有效地址和CRC时,就会将接收到的数据写到在RX_ FIFO寄存器当中进行存储,同时将接收端NRF24L01无线模块的中断标志位RX_DR设置为高电平,使得IRQ的输入信号变成为低电平,向接收端单片机发送中断请求产生中断,接收端单片机开始读取NRF24L01寄存器当中的数据。
2.3液晶显示电路
2.3.1LCD1602液晶显示模块
LCD1602是一种字符型液晶显示屏,可以显示出两行字符。
在本次病房无线呼叫系统设计中,LCD1602第一行需要实时显示时间和呼叫人数以及最先的呼叫病床号,第二行需要显示呼叫病床的具体呼叫时间和呼叫状况。
LCD1602液晶显示模块通常包含有14个或者16个引脚,第四引脚(RS)与接收端单片机P1^4进行连接,控制单片机向液晶显示写数据和写命令功能,第五引脚(R/W)与单片机P1^5进行连接,控制单片机向液晶显示进行读写功能,第六引脚(E)与单片机P1^6进行连接,控制液晶显示使能功能,7~14引脚与单片机P0进行连接,进行数据的传递,LCD1602液晶显示模块引脚功能如表2.3所示[5]。
表2.3LCD1602液晶显示模块的引脚功能
引脚编号
相应名称
引脚功能
1
Vss
接地引脚
2
VDD
电源引脚
3
VO
液晶显示驱动电源,可接电位器
4
RS
数据和指令选择控制端,RS=0:
命令/状态;RS=1:
数据
5
R/W
读/写控制线,R/W=0:
写操作;R/W=1:
读操作
6
E
数据读写操作控制位
7~14
DB0~DB7
数据线
15
A
背光控制电源
16
K
背光控制接地
2.3.2LCD1602的显示原理
LCD1602液晶显示模块总有4种基本操作分别为:
写命令、写数据、读状态、读数据,相关的具体操作分别是由LCD1602模块的相关三个引脚(RS、R/W、E)的不同状态下的组合控制,如表2.4
表2.4LCD1602三个引脚状态相对应的操作
LCD控制端
LCD的基本操作说明
RS
RW
E
0
0
高
写命令:
用于初始化、清屏、光标定位
0
1
高脉冲
读状态:
当BF=1,不能进行其他操作;当BF=0,能进行其他操作
1
0
高
写数据:
写入要显示的内容
1
1
高脉冲
读数据
接收端单片机接通电源之后,首先需要对LCD1602进行相关设置。
LCD1602需要显示两行字符:
第一行需要对时间以及病房呼叫的人数进行显示,以方便医护人员了解病房的呼叫情况;第二行需要显示病房呼叫人数的呼叫时间和相关呼叫状况(呼叫医生或者护士),如果呼叫端没有病房呼叫或者医护人员通过护士键取消全部的呼叫信息,在这两种状况下LCD1602第二行将不会显示任何数据[12]。
并且接收端单片机可以对显示时间进行设定和修改,接收端包括有三个关于时间设置的按键,接收端单片机检测到时间设置按键按下时将会进入到时间设置功能,单片机开始清除LCD1602的显示数据,经过延时一段时间后LCD1602液晶显示将会在第一行显示出“Setatime”这个字符串,表示进入到时间设置功能,“Setatime”显示的位置是从第一行第三个字符开始显示,第二行从第四个字符开始显示将要进行设置时间,设置完成后可以通过设置按键退出时间设置功能。
2.4DS1302时钟电路
2.4.1DS1302的概述
DS1302时钟电路在本次病房无线呼叫系统设计当中主要功能是完成对时间进行实时计时工作,它的工作电压一般为2.5V~5.5V,可以直接采用系统电源进行供电。
同时DS1302时钟芯片还增加了主电源和后备电源双电源供电模式,在接收端单片机不工作的情况下可以通过后备电源进行不间断计时工作。
DS1302时钟芯片原理图如图2.6所示。
图2.6DS1302时钟芯片原理图
2.4.2DS1302的工作原理
该时钟芯片总共有8个引脚,其中第一引脚(Vcc2)为主电源引脚,与单片机系统电源连接,接收端接通电源后可以给DS1302时钟芯片进行供电;第八引脚(VCC1)为后备电源引脚,该引脚外接一个3.3V的纽扣电池作为后备电源,在接收端单片机不工作时继续给DS1302时钟芯片进行供电,以保证时钟信号在主电源断电时继续维持时钟芯片正常运行工作。
第二引脚(X1)和第三引脚(X2)分别是DS1302时钟芯片的振荡源引脚,需要外接一个32.768kHz晶振和两个30pF的电容,用以给时钟电路提供时钟周期。
第五引脚(RST)是时钟芯片复位/片选引脚;第六引脚(I/O)是输入/输出引脚;第七引脚(SCLK)为串行时钟引脚。
DS1302时钟芯片的读/写操作是通过I/O口串行通信进行的。
RST引脚可以控制数据的传送功能,接收端单片机想要对DS1302时钟芯片进行读写操作,RST引脚的输入信号必须是高电平。
DS1302时钟芯片每次进行读写操作时至少需要读写两个字节,第一个字节是读写操作的地址,第二个字节是读写操作的数据;由于DS1302时钟芯片每次只能完成一位数据的传送,因此需要循环操作8次才能够传送一个字节,传送的顺序为从低位到高位进行发送,反复如此将所需要传送的数据不断发送传给DS1302时钟芯片,DS1302读/写操作时序如图2.7所示[8]。
下面介绍前八位写入的控制字节,首先控制字节的bit0是控制DS1302时钟芯片读写操作功能,低电平时DS1302时钟芯片进行的是写操作功能,反之为高电平时芯片进行的是读操作功能;bit1~bit5是关于DS1302时钟芯片需要进行读写操作的寄存器地址;bit6的输入信号始终是低电平,因为在本次毕业设计当中接收端单片机只需要对DS1302时钟芯片的时间寄存器进行相关的读写操作;而bit7输入信号则是始终都是高电平,表示DS1302时钟芯片需要继续对后面的数据进行读写操作;控制位字节其实和DS1302的时间寄存器相关联[10]。
图2.7DS1302读/写操作时序图
DS1302时钟芯片有7个关于时间的寄存器,其相关时间寄存器的控制字节如表2.5所示。
接收端单片机可以通过这些时间寄存器来获取病房呼叫的实时时间,然后通过LCD1602液晶模块进行显示。
接收端单片机有三个按键可以进行时间设置,设置按键可以使单片机进入到时间设置的状态,加减两个按键可以调整时间。
当主程序检测到设置键按下时单片机开始进行时间设置,此时需要先对控制寄存器进行设置。
单片机想要将设置的时间写入到DS1302当中,首先需要把控制寄存器的写保护位功能打开,把第七位设置为低电平才能对其他寄存器进行写入。
设置完成后单片机会对加减按键进行检测,通过变量的值来进行选择设置时分秒,当变量等于1时开始设置小时,通过数组变量来储存时间,同时还需要判断设置的时间是否超过最大值,最后需要把设置的时间写入到DS1302当中,在写入的过程首先需要写入小时寄存器的地址。
分和秒的设置方式和时的设置类似,不再过多介绍。
最后说明下由于LCD1602的显示字符有限,本次毕业设计只设计了关于时分秒的设置,并没有对年月日进行设计,因此当控制时间设置的变量大于3时,则时间设置全部完成,同时退出时间设置功能并将该变量重置为0以方便下次进行时间设置。
表2.5DS1302的时间寄存器
写寄存器
读寄存器
Bit7
Bit6
Bit5
Bit4
Bit3
Bit2
Bit1
Bit0
80H
81H
CH
10秒
秒
82H
83H
10分
分
84H
85H
12/24
0
10
时
时
AM/PM
86H
87H
0
0
10日
日
88H
89H
0
0
0
10月
月
8AH
8BH
0
0
0
0
0
星期
8CH
8DH
10年
年
8EH
8FH
WP
0
0
0
0
0
0
0
2.5报警电路设计
本次病房无线呼叫系统设计的报警电路选择的是蜂鸣器报警电路。
当接收端接收到呼叫端发送的数据之后,蜂鸣器开始进行报警以提醒医护人员;直到医护人员按下护士键确认呼叫信息之后,接收端蜂鸣器停止报警工作[13]。
如果蜂鸣器处于报警的状况下,接收端单片机检测到时间设置按键按下时,将进入到时间设置的环节,同时
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 病房 无线 呼叫 系统 设计 毕业论文