资源简介

本系统采用51单片机和NRF2401实现无线数据传输通信和实时报警功能, 设计一套低成本通用型的病房呼叫系统。整个系统采用无线通信的方式, 降低了复杂的布线、安装检修和拆卸的难度, 并可监控多个病房且便于扩充升级。 本系统中,主机接收从机的呼叫命令,主机接收到从机呼叫命令后,主机发生声光报警,已经呼叫过的从机再次按下,当主机没有处理的时候,主机不再显示该从机的呼叫,主机处理完某一个病房呼叫信号后,可以通过按键取消相应的呼叫从机号,从机可以再次继续呼叫

资源截图

代码片段和文件信息


#include“delay.h“    //延时函数头文件
#include“lcd1602.h“    //LCD1602头文件
#include “nrf24l01.h“  //NRF24L01头文件

sbit BUZZER  = P1^1;  //蜂鸣器输出端口
sbit KEY   = P3^7;  //呼应按键

unsigned int cnt = 0;
sbit key1=P1^2;
sbit key2=P1^7;
sbit key3=P1^3;

sbit LED1=P2^0;
sbit LED2=P2^1;
sbit LED3=P2^2;
sbit LED4=P2^3;


uchar flag_01 = 0flag_02 = 0flag_03 = 0flag_04 = 0;

uchar first_flag = 0 sencond_flag=0third_flag=0fourth_flag=0;
uchar temp_flag = 0;

void delay_ms(uint ms)
{
uint ij;
for(i=ms;i>0;i--)
for(j=110;j>0;j--);
}

//uchar RX_LAST[4] = {0};
void LED_init()
{
P2=0xff;
}
void Alarm()
{
uint tt=10bb=50;
while(tt--)
{
bb=20;
BUZZER=~BUZZER;
while(bb--);
}
BUZZER=1;
}
void BEEP_A()
{
BUZZER=0;
delay_ms(200);
BUZZER=1;
}


/************************************************
** 函数名称 : void main(void)
** 函数功能 : 主函数
** 输    入 : 无
** 输    出 : 无
** 说    明 :
************************************************/
void main(void)
{
uchar res = 0;

uchar flagNo1=0;
uchar RxBuf[12]={0};//接收缓存数组
uchar disp[16]={“Number:         “};//显示数组  
LCD_Init();//LCD初始化                    
WriteChar(1016“Sickbed Calling “);//第一行显示“Sickbed Calling ”
LED_init();
//无线模块检测
while(NRF24L01_Check())
{
Alarm();
Delay(200);
BUZZER=1;
Delay(200);
    }
init_NRF24L01();//无线模块初始化
cnt=1;
while(1)
{
res=nRF24L01_RxPacket(RxBuf);//接收从机数据
SetRX_Mode();//配置为接收模块
// //判断
// if(RxBuf[0]==0XFF || RxBuf[1]==0X00 || RxBuf[10]==0X00 || RxBuf[11]==0XFF)
// {
// switch(RxBuf[2])
// {
// case 0x01: flagNo1=1; disp[8]=‘1‘; Alarm(); break; //1号
// case 0x02: flagNo1=2; disp[10]=‘2‘; Alarm(); break;//2号
// case 0x03: flagNo1=3; disp[12]=‘3‘; Alarm(); break;//3号
// case 0x04: flagNo1=4; disp[14]=‘4‘; Alarm(); break;//4号
// }
// } 
// //呼应处理
// if(!KEY)
// {
// BUZZER=1;//关闭蜂鸣器
// disp[8]=‘ ‘;disp[10]=‘ ‘;disp[12]=‘ ‘;disp[14]=‘ ‘;//清空显示
// }
//if(!key1)
//{
// RxBuf[2]=1;
// while(!key1);
//}
//if(!key2)
//{
// RxBuf[2]=2;
// while(!key2);
//}
//if(!key3)
//{
// RxBuf[2]=3;
// while(!key3);
//}
//RxBuf[0]=0XFF;RxBuf[1]=0X00; RxBuf[10]=0X00;RxBuf[11]=0XFF;
/****************************************************************************************************************/
//判断
if((RxBuf[0]==0XFF || RxBuf[1]==0X00 || RxBuf[10]==0X00 || RxBuf[11]==0XFF)&&RxBuf[2]!=0)
{
//  if(cnt<5)
//   RX_LAST[cnt-1]=RxBuf[2];

if(cnt==1)
{
  switch(RxBuf[2])
{
case 0x01: flagNo1=1; flag_01=1;first_flag=1;disp[8]=‘1‘; Alarm();LED1=0; break; //1号
case 0x02: flagNo1=1; flag_02=1;first_flag=2;disp[8]=‘2‘; Alarm(); LED2=0;break;//2号
case 0x03: flagNo1=1; flag_03=1;first_flag=3;disp[8]=‘3‘; Alarm();LED3=0; break;//3号
case 0x04: flagNo1=1; flag_04=1;first_flag=4;disp[8]=‘4‘; Alarm();LED4=0; break;//4号
}
cnt++;
}
else if(cnt==2)
{
temp_flag=first_

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2018-10-20 10:32  源程序主机---OK\
     文件         489  2018-10-17 22:06  源程序主机---OK\delay.h
     文件        1783  2018-10-17 22:06  源程序主机---OK\lcd1602.h
     文件       23722  2018-10-20 09:42  源程序主机---OK\main.c
     文件       64771  2018-10-20 09:42  源程序主机---OK\main.LST
     文件       39067  2018-10-20 09:42  源程序主机---OK\main.OBJ
     文件        8125  2018-10-17 22:06  源程序主机---OK\nrf24l01.h
     文件       33252  2018-10-20 09:45  源程序主机---OK\医院无线呼叫系统主机
     文件        1056  2018-10-18 20:34  源程序主机---OK\医院无线呼叫系统主机.build_log.htm
     文件        8621  2018-10-20 09:45  源程序主机---OK\医院无线呼叫系统主机.hex
     文件          56  2018-10-20 09:45  源程序主机---OK\医院无线呼叫系统主机.lnp
     文件       39340  2018-10-20 09:45  源程序主机---OK\医院无线呼叫系统主机.M51
     文件        2118  2018-10-20 09:45  源程序主机---OK\医院无线呼叫系统主机.plg
     文件       57808  2018-10-20 09:50  源程序主机---OK\医院无线呼叫系统主机.uvopt
     文件       13252  2018-10-17 22:06  源程序主机---OK\医院无线呼叫系统主机.uvproj
     文件       57806  2018-10-19 21:16  源程序主机---OK\医院无线呼叫系统主机_uvopt.bak
     文件           0  2018-10-17 22:07  源程序主机---OK\医院无线呼叫系统主机_uvproj.bak
     文件       32768  2018-10-17 22:07  源程序主机---OK\医院无线呼叫系统主机程序流程图.doc
     目录           0  2018-10-20 10:32  源程序从机\
     文件         458  2018-10-17 22:05  源程序从机\delay.h
     文件        2073  2018-10-17 22:05  源程序从机\LCD1602.h
     文件        1933  2018-10-19 11:30  源程序从机\main.c
     文件        5613  2018-10-19 11:30  源程序从机\main.LST
     文件       13876  2018-10-19 11:30  源程序从机\main.OBJ
     文件        5667  2018-10-17 22:05  源程序从机\nrf24l01.h
     文件       12706  2018-10-19 20:20  源程序从机\医院无线呼叫系统从机
     文件        3442  2018-10-19 20:20  源程序从机\医院无线呼叫系统从机.hex
     文件          56  2018-10-19 20:20  源程序从机\医院无线呼叫系统从机.lnp
     文件       14479  2018-10-19 20:20  源程序从机\医院无线呼叫系统从机.M51
     文件         214  2018-10-19 21:11  源程序从机\医院无线呼叫系统从机.plg
     文件       86081  2018-10-18 22:58  源程序从机\医院无线呼叫系统从机.uvgui.Administrator
............此处省略5个文件信息

评论

共有 条评论