基于单片机的无线病床呼叫系统.docx
《基于单片机的无线病床呼叫系统.docx》由会员分享,可在线阅读,更多相关《基于单片机的无线病床呼叫系统.docx(22页珍藏版)》请在冰豆网上搜索。
基于单片机的无线病床呼叫系统
基于单片机的无线病床呼叫系统
摘要
随着技术的发展,无线应用技术渗透到生活的每个领域,无线传输技术日益成熟。
本设计将无线传输技术应用于临床,是以单片机为核心、无线传输模块组成的无线病床呼叫系统。
STC89C51单片机为控制核心,无线发射模块发出信号,无线接收模块接收,经STC89C51处理后在显示屏显示输出,这样就可以实现患者与医护的远距离沟通。
本系统能实现100米内的信号发射与接收,也可绕过障碍物,其性能比较稳定、不仅占用空间小、而且使材料的成本减少、传输迅捷、距离远,能够满足临床的应用条件。
关键词:
单片机STC89C51,无线传输模块,病床无线呼叫
BasedonSCMwirelesssickbedcallsystem
ABSTRACT
Withthedevelopmentofscienceandtechnology,thewirelessapplicationtechnologyhaspenetratedintoeveryfieldoflife,wirelesstransmissiontechnologyisalsomoreandmoremature.Thisdesignisthewirelesstransmissiontechnologyisappliedtoclinicalresearchsubject,therealizationbasedonsinglechipmicrocomputerwirelesstransmissionmodulewirelessmulti-channelsickbedcallsystem.
ThispaperSTC89C51ascontrolcore,throughthewirelesstransmittingmodulelaunchtransmissionsignal,wirelessreceivingmodulereceivingsignals,theSTC89C51treatmentshowsthattheoutput,soastorealizethepatientandmedicalwirelessdistancecommunication.Thesickbedcallsystemcanrealize100mdistancelaunchreceiving,alsocanaroundobstructionstransmission,itsstableperformance,takeupthespaceislittle,uselittlematerial,transmissionspeedanddistance,andcansatisfytherequirementsofclinicalapplication
Keywords:
STC89C51wireless,transmitmodul,sickbedbeeper
第一章绪论
1.1课题设计的背景及意义
目前我国大多医院病床呼叫系统的传输方式是有线的,然而有线传输方式有如下缺点,占用空间较大,耗材多,一般情况下不易移动,所以当今需要对病床呼叫系统改革更新,然而近年来我国在无线领域有了巨大的进展,这为此系统提供了基本的技术支持。
但是一些简易无线发、收模块具有传输距离近,效率低,可靠性差的缺点,因此并不适合用于产品的设计。
本设计是基于单片机实现的无线病床呼叫系统,整体可分为显示模块、无线发射模块、无线接收模块、单片机控制模块、呼叫报警部分和复位应答部分。
本系统是无线信号的传输,单片机可对整个系统的运行进行调整,无线信号的远程传输,可实现材料的成本减少,安装过程更简单、使医患之间沟通更便捷,无线网络技术应用于临床,具有很强的实用性。
1.2设计要求及预期目标
设计要求:
设计出有一定抗干扰能力,且能够实现多路呼叫且互不产生干扰,稳定高效的运行系统。
其应用距离在100m范围以内,即可实现多路无线呼叫。
预期目标:
当病人按下键盘上的呼叫键时,无线发射模块发射无线电信号,无线接收模块接收无线电信号,通过单片机STC89C51处理后,无线发射模块将信号发射到护士值班室,蜂鸣器发出警报声,同时在1602液晶显示屏上显示按下呼叫的床位号,当护士按下应答键,蜂鸣器报警停止,液晶屏显示应答二字,蜂鸣器报警由定时器控制关闭。
若有多个病人同时呼叫,显示屏显示对应各床床位号,发出报警。
1.3设计可行性
有线呼叫器相对于无线呼叫器受到位置的制约达不到很好的医患沟通,此时无线呼叫系统就显示出其优越性,即可移动,又不受位置的制约,当今无线传输技术突飞猛进,技术日渐成熟,已经应用到生活、娱乐、学习和军工各个领域,这为无线病床呼叫系统提供了一定的技术支持。
在校期间也学习过相关方面的单片机课程,有基本的理论基础。
因此,本课题在可行性上是允许的,而且能够得到实现。
1.4设计方案及步骤
对于STC89C51单片机的无线病床呼叫系统,制定以下设计方案和步骤:
第一步,依据设计目的构想整个系统的原理图框架,学习和查阅设计中要用到的知识,无线发射模块和无线接收模块的原理,单片机C语言编程设计,Keil软件的使用,液晶1602液晶屏的显示,相关芯片引脚工作的原理图,Protel软件的使用等。
第二步,对无线信号发射模块、无线信号接收模块、1602液晶显示模块、声音呼叫模块等硬件模块进行设计,并在Protel软件中绘制相关原理图。
第三步,对主函数程序设计、液晶显示子程序设计、延时子程序设计、初始化程序设计、定时器中断服务子程序等系统软件进行设计。
第二章系统硬件设计
2.1系统原理框图
初步绘制出单片机的无线病床呼叫系统原理框图如图2-1所示。
图2-1系统原理框图
2.2单片机STC89C51芯片简介
STC89C51具有8K系统可编程Flash存储器,使得STC89C51为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。
功能包括:
Flash具有8K字节,RAM为512字节,I/O口线为32位,具有看门狗定时器,MAX810复位电路,4KBEEPROM,一个6向量2级中断结构,三个16位定时器/计数器,全双工串行口。
芯片可降至0Hz进行静态逻辑操作,支持2种软件模式。
空闲模式下,CPU停止工作,允许定时器/计数器、串口、RAM、中断继续工作。
断电保护方式,将RAM内容保存,振荡器暂时被冻结,直到下一个中断或硬件复位之前,单片机停止一切工作。
最高运作频率35Mhz,6T/12T可选。
它不仅是一种低功耗、而且还具有高性能的CMOS8位微控制器。
图2-2STC89C51单片机引脚图
STC89C51是美国公司最新推出的一种新型单片机。
由SRAM、UART、SPI、Flash存储器和PWM等模块组成。
(一)STC89C51主要参数:
(1)内置标准51内核,机器周期分为增强型和普通型增强型为6时钟,普通型为12时钟;
(2)工作频率范围:
0~40MHZ,同等于普通8051的频率0~80MHZ;
(3)外形封装:
40引脚PDIP、44引脚PLCC和PQFP。
(4)RAM:
512B;
(5)工作电压:
3.8~5.5V;
(6)3个16位的定时和计数器;
(7)1个异步通信口(UART);
(8)8个中断源;
(9)IAP(在应用可编程)\ISP(在系统可编程);
(10)通用I\O口:
32\36个;
(二)STC89C51引脚说明:
XTAL1:
内部时钟工作电路的输入以及反向振荡放大器输入。
XTAL2:
反向振荡器输出。
RST:
复位输入。
当振荡器复位时,RST引脚要保持两个机器周期的高电平时间。
P3:
P3是带有8个双向I/O带内部上拉电阻的管脚口,可接收输出4个TTL门电流。
P3口写入“1”时,其内部上拉为高电平,并用作输入。
P3口同时为编程和编程校验接收一些控制信号。
P2:
P2口为一个8位双向I/O口内部具备上拉电阻,P2口缓冲器可接收、输出4个TTL门电流,P2口被写“1”时,其上拉电阻被拉高,同时作为输入。
与此同时,P2口管脚因为被外部拉低,将输出电流。
P2口用于程序外部存储器或16位地址数据外部存储器进行存取时,P2作为输出地址的高八位。
在给管脚口写入“1”时,它利用内部上拉,对外部八位地址数据存储器进行读写,P2口输出其特殊功能寄存器的内容。
P2口也会像P0、P1那样在FLASH编程和校验的同时,接收高八位地址信号和控制信号。
P1:
P1口是一个8位双向I/O口可为内部提供上拉电阻,P1口缓冲器能接收4个TTL门电流。
P1口管脚写入1后,内部被上拉为高电位,可用作输入,P1口外部下拉为低电平,此时输出电流。
与P0类似,在进行FLASH编程和校验时,P1口可作为第八位地址接收。
P0:
P0口具有8位I/O漏级开路双向口,每个引脚可吸收8个TTL门电流。
P0可被用于外部数据程序存储器,可被定义为数据/地址的第八位。
P1口管脚第一次写1时,则被定义高阻输入。
在FIASH编程中,P0为原码输入口,当FIASH进行校验,P0就会输出原码,此时P0外部电压必须被拉高。
I/O口有读端口与读引脚两种输入口工作方式,读端口是把端口锁存器的内容读入到内部总线,经过某种运算后再写回到端口锁存器。
读端口时将外部的数据读入到内部总线。
ALE/PROG:
在FLASH编程期间,此引脚的作用是输入编程脉冲,当访问外部存储器时,地址锁存输出电平地址的低位字节。
正常情况下,ALE端周期性输出不变的正脉冲信号,振荡频率是此频率的6倍。
因此它可作为外部输出的脉冲或定时。
值得注意的是:
当其用作外部数据存储器时,将会忽视一个ALE脉冲。
若想阻拦ALE的输出可在SFR8EH地址位上置0。
此外,只有在执行MOVX和MOVC指令时ALE才起作用。
如果该引脚被略微拉高。
微处理器在外部执行ALE禁止状态,此时置位无效。
PSEN:
数据外部存储器的选通信号引脚。
在由外部存储器取指期间,每个两个机器周期PSEN才会有效。
但有时两次有效的PSEN信号不会出现,是因为此时正在访问外部数据存储器。
EA/VPP:
当EA为低电平,EA将锁定为RESET;当EA为高电平时,此是内部程序存储器。
VCC:
供电电压。
GND:
接地。
(三)STC89C51单片机最小系统:
单片机的最小系统是能使单片机始终处于正常运行状态的时钟、复位、电源等部件。
其中电源、时钟等是单片机能正常运行的必备条件,最小系统可以作为应用系统的核心,通过对其进行A/D扩展存储器扩展等,复杂的功能就可以被完成。
STC89C51片内具有ROM/EPROM,所以它构成的最小系统既简单又可靠。
结构如图2-3所示。
图2-3单片机最小系统原理框图
(1)时钟电路
STC89C51时钟信号有两种方式:
一是内部时钟方式,二是外部时钟方式。
内部时钟方式如图2-4所示。
在STC89C51中的XTAL1(18)和XTAL2(19)引脚外接石英晶体构成自激振荡器并在内部产生时钟脉冲。
晶振CYS振荡频率为1.2~12MHz,典型值为6MHz和12MHz。
图中C1和C2的作用是快速起振和稳定频率,典型值为30pF,电容值在5~30pF。
图2-4STC89C51内部时钟电路
(2)复位电路
当STC89C51的RST引脚引入高电平并保持2个机器周期时,单片机就执行复位操作。
复位电路通常采用上电自动复位和按钮复位两种方式。
外部复位电路的电容充放电可实现上电复位。
Vcc的上升时间不超过1ms,就可以实现上电自动复位。
除了上电自动复位外,还有手动复位。
本设计为手动复位采用电平方式,电平复位是通过RST(9)端与电源Vcc接通而实现的。
手动复位电路如图2-5。
图2-5STC89C51复位电路
(四)STC89C51中断技术概述
中断技术主要要求单片机能作出快速响应、及时处理中断请求源提出的服务请求。
这由片内的中断系统来实现。
中断源请求中断。
如果中断请求被允许暂时中止,单片机的主程序被执行时,进入中断服务程序来处理中断服务请求。
中断服务处理程序处理中断服务请求并返回到原来停止的程序,并继续执行中断主程序。
图2-6为整个中断响应和处理过程。
图2-6中断响应和处理过程
2.3硬件模块设计
2.3.1无线发射模块
PT2262是一种CMOS工艺制造通用编码电路,具有三态地址端管脚(悬空,接高电平,接低电平),PT2262最多可有6位(D0-D5)数据端管脚,设定的地址码和数据码从17脚串行输出,可用于无线遥控发射电路。
PT2262最多可有12位(A0-A11)任意组合可提供531441地址码。
PT2262管脚说明如表2-4
表2-4PT2262管脚说明
名称
管脚
说明
A0-A11
1-8,10-13
地址管脚,用于进行地址编码,可置为“0”、“1”、“悬空”。
D0-D5
7-8,10-13
数据输入端,有一个为“1”即有编码发出,内部下拉。
VCC
18
电源正端(+)
GND
9
电源负端(-)
TE
14
编码启动端,用于多数据的编码发射,低电平有效;
OSC1
16
振荡电阻输入端,与OSC2所接电阻决定振荡频率;
OSC2
15
振荡电阻振荡器输出端;
DOUT
17
编码输出端(正常时为低电平)
T10A发射模块(如表2-5)
表2-5T10A发射模块
技术指标
参数
工作电压
3V-12V
工作电流
≤25mA(12V);≤2mA(3V)
谐振方式
声表谐振(SAW)
调制方式
AM/ASK/OOK
工作频率
315MHz、433.92MHz可选
频率误差
±150kHz(max)
发射功率
25mW(315MHz,12V时)
图2-6所示为无线发射模块
图2-6无线发射模块图
发射模块由PT2262编码图,发射模块的四个按键分别代表四个不同的病床呼叫器,按下代表呼叫。
发射模块最多可以编6个数据码和6561个地址码,所以具有密码保证功能,使重复的几率大大下降。
其性能参数如下:
•电源电压:
DC3V~DC12V•静态电流:
≤0.02uA•发射频率:
315MHz
•发射电流:
5~50mA•发射距离:
50~800m•调制方式:
ASK
在一般情况下,采用4位数据码和8位地址码,这时编码芯片的第1~8脚分别为加密芯片PT2262和解码芯片PT2272地址的设定脚,并且有悬空、接正电源、接地三种状态。
只有发射端PT2262和接收端PT2272的地址编码完全相同,才能配对使用,3的8次方为6561,所以地址编码不重复度为6561组。
而且用户可以自己设置编码,设置地址码的原则是:
同一个系统地址码必须一致才可以进行通讯;不同的系统可以依靠不同的地址码加以区分。
2.3.2无线接收模块
接收头和解码芯片PT2272组成解码接收模块。
PT2272的14引脚(DIN)由接收头接收的信号进行输入,PT2272会对接收到的信号进行解码。
无线接收模块如图2-7所示。
图2-7无线接收模块图
地址码、数据码、同步码组成一个完整的PT2262编码信号,PT2272解码芯片接收到信号后,两次比较核对之后,VT脚输出高电平,同时数据脚输出高电平,若一直按住呼叫按键,编码芯片也会连续发射呼叫信号。
当呼叫器没有按下按键时,PT2262不通电,其17脚为低电平,315MHz的高频发射电路停止工作,按下呼叫按键时,PT2262得电工作,17引脚输出串行数据信号,17引脚为高电平,315MHz的高频发射电路发射高频信号。
由此可知,PT2262的17管脚输出的数字信号完全控制高频发射电路,从而对高频电路完成相当于调制度为100%的调幅。
PT2272管脚说明如表2-9
表2-8PT2272管脚说明
名称
管脚
说明
A0-A11
1-8,10-13
地址管脚,用于进行地址编码,可置为“0”,“1”,“f”(悬空),必须与2262一致,否则不解码
D0-D5
7-8,10-13
地址或数据管脚,当做为数据管脚时,只有在地址码与2262一致
一致,数据管脚才能输出与2262数据端对应的高电平,否则输出为低电平,锁存型只有在接收到下一数据才能转换
VCC
18
电源正端(+)
GND
9
电源负端(-)
DIN
14
数据信号输入端,来自接收模块输出端
OSC1
16
振荡电阻输入端,与OSC2所接电阻决定振荡频率;
OSC2
15
振荡电阻振荡器输出端;
VT
17
解码有效确认输出端(常低)解码有效变成高电平(瞬态)
不仅PT2262和PT2272的地址编码必须匹配,为了使接收距离更远,他们的振荡电阻也必须相互匹配,需要译码器振荡频率是编码器振荡频率的2.5~8倍。
在实际中,阻值越大振荡频率越慢,编码的宽度越大,发码一帧的时间越长,所以可根据实际情况进行适当的调节。
接收头和解码芯片PT2272组成解码接收模块。
接收头收到无线信号后,将信号输入到PT2272的14引脚(DIN),然后此信号将被PT2272进行解码。
2.3.3液晶显示模块
图2-101602实物图
1602LCD基本参数及引脚功能
1602LCD分为带背光和不带背光两种,基控制器大部分为HD44780,除了厚度不同之外,其他并无影响,两者尺寸差别如下图2-11所示:
图2-111602LCD尺寸图
1602LCD主要技术参数:
芯片工作电压:
4.5—5.5V
模块最佳工作电压:
5.0V
字符尺寸:
2.95×4.35(W×H)mm
工作电流:
2.0mA(5.0V)
显示容量:
16×2个字符
引脚功能说明
1602LCD各引脚接口说明如表2-12所示:
编号
符号
引脚说明
编号
符号
引脚说明
1
VSS
电源地
9
D2
数据
2
VDD
电源正极
10
D3
数据
3
VL
液晶显示偏压
11
D4
数据
4
RS
数据/命令选择
12
D5
数据
5
R/W
读/写选择
13
D6
数据
6
E
使能信号
14
D7
数据
7
D0
数据
15
BLA
背光源正极
8
D1
数据
16
BLK
背光源负极
表2-12:
引脚接口说明表
2.3.4声音报警模块
当按下呼叫按键时,蜂鸣器报警提示,直到按下应答键,蜂鸣器才会停止鸣叫,P3.4为控制引脚,三极管可当做开关电路保护单片机,同时还可以放大电流,当三极管基极为高电平时,发射极截止,为低电平时,发射极导通。
报警模块如图2-13所示。
图2-13声音报警模块
2.3.5应答电路
应答按钮接在P3.3引脚上,当病患按下按钮,报警开始,按下应答按钮,报警即可停止。
应答电路如图2-14所示
图2-14应答电路
第三章系统软件设计
3.1设计的软件环境简介
3.1.1KeilC51
KeilC51提供功能强大的集成开发调试工具和丰富的库函数,KeilC51生成的目标代码效率很高,大多数语句生成的汇编代码很紧凑。
KeilC51软件界面如图3-1-1:
图3-1-1Keil_c软件界面
3.1.2Protel99SE
Protel99SE的界面是一种标准的Windows界面,界面包括:
主菜单、标准工具栏、标题栏、状态栏、对象选择按钮、绘图工具栏、图形编辑窗口、预览窗口、对象选择器窗口、预览对象方位控制按钮、仿真进程控制按钮。
Protel99SE软件界面如图3-1-2。
图3-1-2Prtel99SE软件界面
3.2主函数程序设计
程序流程如图3-2所示。
图3-2主程序流程图
3.3初始化程序设计
液晶初始化显示、定时器中断系统组成初始化程序。
(一)、液晶初始化
在液晶屏使用之前,要对其显示模式进行设置,光标设置,然后进行清屏操作。
(二)、定时器中断系统初始化
STC89C51有两个定时/计数器,分别执行定时和计数两种工作模式,四种工作方式(方式0、方式1、方式2、方式3)。
特殊功能寄存器TMOD用于选择定时器/计数器T0、T1的工作方式和工作模式。
无论工作在计数器模式还是定时器模式,实质都是对脉冲信号进行计数,他们的区别只是计数的来源不同,定时器模式是对单片机的时钟振荡器信号经片内12分频后的内部脉冲信号计数,计数器模式是对加在T0(P3.4)和T1(P3.5)两个引脚的外部脉冲进行计数。
3、控制寄存器TMOD,其格式如图3-3所示。
图3-3寄存器TMOD的格式
M0、M1的4种工作方式,见表3-4。
表3-4M1、M0工作方式的选择
M1M0
工作方式
00
方式0,为13位定时器/计数器
01
方式1,为16位定时器/计数器
10
方式2,8位的常数自动重装的定时器/计数器
11
方式3,仅用于T0,此时T0分为两个8位计数器,T1停止计数
1、单片机的时钟周期、机器周期和指令周期。
(1)单片机时钟控制信号的基本时间单位是时钟周期。
若时钟晶体的震荡频率为
则时钟周期
=
,在本设计中,时钟晶体的频率为11.0592MHZ,所以此时钟周期为
M。
(2)CPU完成一个基本操作所需要的时间叫做机器周期。
此单片机每12个时钟周期为一个机器周期,即
=
。
(3)执行一条指令所需的时间叫做指令周期。
2、定时器/计数器控制寄存器TCON,可寻址位,其格式见表3-5。
表3-5特殊寄存器TCON的格式
D7
D6
D5
D4
D3
D2
D1
D0
TCON
TF1
TR1
TF0
TR0
IE1
IT1
IE0
IT0
位地址
8FH
__
8DH
__
8BH
8AH
89H
88H
①TR0:
定时器启动位。
TR0=0,定时器0关闭;TR0=1,定时器0开启.
②IT0:
选择外部中断0的触发方式,IT0=0,为电平触发方式;IT0=1,为跳沿触发方式。
4、单片机中断允许寄存器IE,可寻址位,其格式见表3-6。
表3-6中断允许寄存器IE的格式
D7
D6
D5
D4
D3
D2
D1
D0
IE
EA
__
__
ES
ET1
EX1
ET0
EX0
位地址
AFH
__
__
ACH
ANH
AAH
A9H
A8H
(1)EA:
中断总开关允许位。
EA=0,所有的中断请求被禁止;EA=1,所有的中断请求被允许。
(2)ES:
串行口中断允许位。
ES=0,串行口中断被禁止;ES=1,串行口中断被允许。
(3)ET0:
定时器/计数器T0的溢出中断允许位。
ET0=0时则T0溢出中断被禁止;若ET0=1,T0溢出中断被允许。
(4)EX0:
外部中断0中断允许位。
EX=0,外部中断0被禁止中断;ES=1,外部中断0允许中断。
STC89