基于51单片机的无线病房呼叫助手的设计.docx

上传人:b****3 文档编号:3209167 上传时间:2022-11-20 格式:DOCX 页数:15 大小:747.52KB
下载 相关 举报
基于51单片机的无线病房呼叫助手的设计.docx_第1页
第1页 / 共15页
基于51单片机的无线病房呼叫助手的设计.docx_第2页
第2页 / 共15页
基于51单片机的无线病房呼叫助手的设计.docx_第3页
第3页 / 共15页
基于51单片机的无线病房呼叫助手的设计.docx_第4页
第4页 / 共15页
基于51单片机的无线病房呼叫助手的设计.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

基于51单片机的无线病房呼叫助手的设计.docx

《基于51单片机的无线病房呼叫助手的设计.docx》由会员分享,可在线阅读,更多相关《基于51单片机的无线病房呼叫助手的设计.docx(15页珍藏版)》请在冰豆网上搜索。

基于51单片机的无线病房呼叫助手的设计.docx

基于51单片机的无线病房呼叫助手的设计

基于51单片机的无线病房呼叫助手的设计

基于51单片机的无线病房呼叫助手的设计

 

一、研究背景

许多医院里,为了能及时为患者服务,每张病床的床头都有一个按钮,需要时病人按下床头的按钮,护理站即通过声光报警的方式显示哪一个床位的病人在呼叫,这就是所谓的病房呼叫系统。

病房呼叫系统可以用有线连接的方式实现,缺点是布线复杂,维修麻烦。

而病房无线呼叫系统则具有安装方便,无需布线等优点,其应用也越来越广。

它有以下几个明显的特点:

(1)应用编译码器专用集成电路及单片机进行控制操作,可以实现多点的无线呼叫。

(2)呼叫者按动按钮后,系统在显示呼叫者病床号的同时电路发出报警。

(3)如果有多处呼叫同时进行,先呼叫的信号优先锁存显示,保证系统能够有续的进行。

(4)无线呼叫更方便需要看护的病人进行小范围的活动,可以随时请求帮助。

二、硬件设计

1、设计框图

本研究设计多路无线病房呼叫器,包括发射机(从机)部分和接收主机部分。

从机框图如图1所示。

图1从机框图

病房中每个床位都设置一个不同编号的按钮,该按钮通过PT2262地址编码,然后经过发射电路进行发射。

在发射部分,系统利用拨码开关或跳线来控制地址位和数据位(二进制)信息的设置,再通过编码电路进行编码和并串转换把地址位和数据位信息变换成一串脉冲信号,最后由无线发射电路发射出去。

如图2所示为接收显示主机工作原理框图。

从天线中接收到的信号会直接进入解码电路,解码电路会先把接收到信号中的地址位与本地的地址位进行比较,如果地址位比较正确,就会把接收到数据信息传送给由单片机,单片机电路则会根据接收到的数据进行一系列动作:

把数据在液晶屏上显示出来并触发音乐报警电路。

如果在地址位的比较中出现误差,解码电路不会送出任何信息,单片机电路也不会有任何响应。

 

图2接收显示主机框图

2、315MHz射频发送与接收模块

考虑到射频电路收发的稳定性,本设计使用射频收发模块实现,其中发送模块电路原理如图3所示,模块外型如图4所示。

 

图3发送模块电路图图4发送模块外形图

DF数据发射模块的工作频率为315M,采用声表谐振器SAW稳频,频率稳定度极高,当环境温度在-25~+85度之间变化时,频飘仅为3ppm/度。

特别适合多发一收无线遥控及数据传输系统。

声表谐振器的频率稳定度仅次于晶体,而一般的LC振荡器频率稳定度及一致性较差,即使采用高品质微调电容,温差变化及振动也很难保证已调好的频点不会发生偏移。

DF发射模块未设编码集成电路,而增加了一只数据调制三极管Q1,这种结构使得它可以方便地和其它固定编码电路、滚动码电路及单片机接口,而不必考虑编码电路的工作电压和输出幅度信号值的大小。

比如用PT2262等编码集成电路配接时,直接将它们的数据输出端第17脚接至DF数据模块的输入端即可。

接收模块使用315MHz超再生式接收模块,其电路原理如图5所示,外型如图6所示。

图5超再生式接收电路原理图

 DF接收模块的工作电压为5伏,静态电流4毫安,它为超再生接收电路,接收灵敏度为-105dbm,接收天线最好为25~30厘米的导线,最好能竖立起来。

接收模块本身不带解码集成电路,因此接收电路仅是一种组件,只有应用在具体电路中进行二次开发才能发挥应有的作用,这种设计有很多优点,它可以和各种解码电路或者单片机配合,设计电路灵活方便。

其优点在于:

(1)天线输入端有选频电路,而不依赖1/4波长天线的选频作用,控制距离较近时可以剪短甚至去掉外接天线。

(2)输出端的波形相对比较干净,干扰信号为短暂的针状脉冲,所以抗干扰能力较强。

(3)DF模块自身辐射极小,加上电路模块背面网状接地铜箔的屏蔽作用,可以减少自身振荡的泄漏和外界干扰信号的侵入。

(4)采用带骨架的铜芯电感将频率调整到315M后封固,这与采用可调电容调整接收频率的电路相比,温度、湿度稳定性及抗机械振动性能都有极大改善。

可调电容调整精度较低,只有3/4圈的调整范围,而可调电感可以做到多圈调整。

可调电容调整完毕后无法封固,因为无论导体还是绝缘体,各种介质的靠近或侵入都会使电容的容量发生变化,进而影响接收频率。

另外未经封固的可调电容在受到振动时定片和动片之间发生位移;温度变化时热胀冷缩会使定片和动片间距离改变;湿度变化因介质变化改变容量;长期工作在潮湿环境中还会因定片和动片的氧化改变容量,这些都会严重影响接收频率的稳定性,而采用可调电感就可解决这些问题,因为电感可以在调整完毕后进行封固,绝缘体封固剂不会使电感量发生变化。

3、PT2262\2272编解码电路

数据编码采用编码芯片PT2262实现,解码采用PT2272芯片。

PT2262是台湾普城公司生产的一种CMOS工艺制造的低功耗低价位的通用编解码电路,芯片内部带有振荡器、系统内部包含载波振荡、定时器、地址解码器、编码脉冲发生器和控制逻辑电路,外围电路简单,使用方便,其管脚如图7所示,内部逻辑如图8所示。

图7PT2262芯片引脚图8PT2262内部逻辑

PT2272解码器是对应的8位解码接收器,管脚排列如图9所示。

当PT2262发出的编码与PT2272预置的编码相同时,它的17脚就会输出高电平。

第14脚为输入端,第15脚、第16脚是振荡器,外接电阻值为几百千欧即可。

图9PT2272芯片引脚

4、电路原理图

(1)发射电路

图10发射电路图

发射电路由3V纽扣电池供电。

只有当发射按键K1按下时系统才会接通电源,因此功耗极低。

发射机地址A0—A7预置为全0,而数据线D0—D3通过跳线设定。

不同的数据D0—D3对应不同的发射机编号。

(2)接收电路

接收电路如图11所示。

通过超再生式接收模块接收的信号送入PT2272解码电路。

当PT2272的地址引脚A0—A7和信号中的地址相同时,VT端输出高电平,同时接收信号中的数据被送入数据引脚D0—D3上。

图11接收电路图

(3)单片机电路

本设计选用宏晶公司高性能单片机STC89C52,该芯片为52内核8位单片机,兼容Intel等52内核单片机,支持ISP下载,适用于常用检测控制电路。

由STC89C52组成的单片机系统原理图如图12所示。

图中P1.0—P1.3得到接收电路的数据D0—D3信号,P1.6接VT信号。

当VT有效,即有呼叫时,单片机从P1.0—P1.3引脚读出发射子机编号,再触发报警和显示电路。

图12单片机电路图

(4)显示电路

显示部分采用SMC1602液晶屏进行数据显示,其主要技术参数为:

表1液晶屏技术指标

接口信号说明如表2所示。

表2液晶屏接口信号说明

与单片机接口电路如图13所示。

图13LCD与单片机接口电路

(4)音乐报警电路

音乐报警电路采用16首曲目的门铃芯片TQ33A,该芯片内置音频驱动电路,可以直接连接扬声器播放音乐。

图14音乐报警电路

(5)供电及程序下载电路

本设计采用USB接口供电,电源电压5V。

同时,USB接口通过内含PL2303芯片的转换电路对单片机进行程序编写。

其电路原理如图15所示。

图15供电及程序下载电路

三、软件编程

1、软件流程图

本设计接收模块单片机软件主程序流程图如图16所示。

图16单片机主程序流程图

2、主程序

下面介绍main.c主程序编写,其他程序略。

(1)头文件和一些宏定义

#include

#include"1602.h"

typedefunsignedcharU8;/*definedforunsigned8-bitsintegervariable无符号8位整型*/

typedefsignedcharS8;/*definedforsigned8-bitsintegervariable有符号8位整型*/

typedefunsignedintU16;/*definedforunsigned16-bitsintegervariable无符号16位整型*/

typedefsignedintS16;/*definedforsigned16-bitsintegervariable有符号16位整型*/

typedefunsignedlongU32;/*definedforunsigned32-bitsintegervariable无符号32位整型*/

typedefsignedlongS32;/*definedforsigned32-bitsintegervariable有符号32位整型*/

typedeffloatF32;/*singleprecisionfloatingpointvariable(32bits)单精度浮点数*/

typedefdoubleF64;/*doubleprecisionfloatingpointvariable(64bits)双精度浮点数*/

(2)常量、变量定义和函数声明

//定义无线接收信号

sbitFlagIn=P1^6;

sbitBell=P3^6;

//定义标识

volatilebitFlagCall=0;//有呼叫信号

volatilebitFlagKeyPress=0;//有键按下

//函数声明

voidData_Init();

voidTimer0_Init();

voidPort_Init();

voidADC_Init();

ucharGetADVal();

voidKeyProcess(uint);

//------------------定义变量--------------------//

U16temp;

U16Counter;

U8din;

U8TotalCall,CallNumOld;

U8CallNum[16]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};

U8index=0;

//------------------函数声明--------------------//

voidData_Init();

voidTimer0_Init();

voidINT0_Init(void);

voidTimer0_ISR(void);

voidmain();

(3)各子程序

//数据初始化

voidData_Init()

{

P1=0xff;

Counter=0;

din=0;

FlagIn=1;

Bell=0;

TotalCall=0;

index=0;

}

//定时器0初始化

voidTimer0_Init()

{

ET0=1;//允许定时器0中断

TMOD=1;//定时器工作方式选择

TL0=0x06;

TH0=0xf8;//定时器赋予初值

TR0=1;//启动定时器

}

//定时器0中断

voidTimer0_ISR(void)interrupt1using0

{

U8i;

TL0=0x06;

TH0=0xf8;//定时器赋予初值

Counter++;

//显示呼叫号

if(Counter>=500)

{

if(TotalCall>5)

{

for(i=0;i<5;i++)

{

L1602_char(1,i*3+1,CallNum[i+index]/10+

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 法律文书 > 调解书

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

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