医院呼叫系统资料

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

从机程序代码
❖ #define uchar unsigned char
❖ #define uint unsigned int
❖ #include <reg51.h>
❖ sbit P20=P2^0;
❖ sbit P21=P2^1;
❖ sbit P22=P2^2;
❖ sbit P23=P2^3;
❖ sbit P24=P2^4;
❖ sbit P25=P2^5;

break;

case 0x4F:
led_show(temp);

baojing();

b reak;

case 0x66:
led_show(temp);

baojing();

break;

default:
break;

}
❖}
❖}
//收到病床一呼叫信号 //收到病床二呼叫信号 //收到病床三呼叫信号 //收到病床四呼叫信号
❖ SCON=0x50;
//串口工作在方式1,异步模式

主机程序代码

PCON=0x00; //波特率翻倍

TMOD=0x20; //定时器1工作在方式2

TH1 =0xfa; //波特率9600,晶振为22.1184MHz

TL1 =0xfa; //自动重装在赋值

TR1 = 1; //启动定时器,产生波特率
系统功能分析
❖ 工作原理:系统主机以89C51为控制中心,通过串 口接受从机发来的呼叫信息,通过运算处理送译 码电路数码显示及报警求助,同时存储呼叫信息, 可以实行复位记录清零,删除记录,上翻和下翻 查找呼叫记录信息。
❖ 系统组成:基于单片机的医院病床呼叫系统设计 通常应该包括主机和从机、主机包括报警电路、 译码显示电路、复位、查找操作电路等基本单元, 而且从机包括呼叫电路,向主机和PC机发送呼叫 信息电路。
本文主要介绍了基于单片机的医院病床呼叫系统设 计,是一种利用单总线技术和单片机间串行通信技术设 计的可靠报警系统,他不但能够有效传送呼叫信息,而且 能通过数码显示求助病床号和通过蜂鸣器声音求助医护 人员,还可以存储记录呼叫信息、以备查询,同时可以 扩展到与计算机联机管理,并且仿真效果理想,达到预 想目标,实现了临床呼叫的功能。
Company
LOGO 基于单片机的医院病床呼叫 系统设计
导 师: 答辩人: 专 业:电子信息工程
课题摘要
近些年来,一种新型临床呼叫仪器的研制成为研究热 点之一。
临床求助呼叫是传送临床信息的重要手段,而病房呼 叫系统可将病人的请求快速传送给值班医生或护士,并 在值班室的监控中心主机上留下准确完整的记录,是提 高医院和病室护理水平的必备设备之一。
❖ void delay_ms(unsigned int n) //延时nMS的程序
❖{

unsigned char j;

while(n--)

for(j=0;j<230;j++);//230是实验测试所得!
❖}
❖ unsigned char uart_getc()
❖{

while(!RI);

RI = 0;

if (RI)

{

temp = SBUF;

RI = 0;

store_1=temp;

store_sign=1;

switch (temp)

{

case 0x06:
led_show(temp);

baojing();

break;

case 0x5B:
led_show(temp);

baojing();
系统总体设计方案
一、主机系统框图:
系统总体设计方案
二、从机系统框图:
系统硬件电路设计(主机)
系统硬件电路设计(从机 )
系统软件设计
一、主机软件流程图:
系统软件设计
一、从机软件流程图:
主机程序代码
❖ #define uchar unsigned char
❖ #define uint unsigned int

RI = 0; //接收标志位清零

TI = 1; //发送标志位清零

ES = 1; //中断允许

EA = 1; //总中断允许

k=0;

பைடு நூலகம்
led_show(0x3f);

store_sign=0;
❖ while(1)

{ if(store_sign==1)

{ if(k==9) {k=0;}

return SBUF;
❖}
❖ void baojing() ❖{ ❖ uint i,j;
//报警程序
主机程序代码
❖ for(j=0;j<12;j++)

{

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

{

P22=1;

delay_ms(1.2);

P22=0;

delay_ms(1.2);

}

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

store[++k]=store_1;

store_sign=0;

}

if(P23==0) {store[k]=0x3f; led_show(store[k]);delay_ms(25);}

//复位操作

if(P24==0) { if(k==0){k=10;} led_show(store[--k]); delay_ms(25);}

//上翻操作

if(P25==0) {if(k==9){k=0;} led_show(store[++k]); delay_ms(25);}

//下翻操作

}
❖}

主机程序代码
❖ void serial_int(void) interrupt 4 //串口接收中断服务程序
❖ { unsigned char temp;

{

P22=1;

delay_ms(2);

P22=0;

delay_ms(2);

}

}
❖}
❖ void led_show(uchar a) //数码显示程序 ❖{ ❖ P0=~a; ❖ delay_ms(1); ❖}
❖ void main()
❖ { uchar store[10]={0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f};
❖ #include <reg51.h>
❖ sbit P22=P2^2;
❖ sbit P23=P2^3;
❖ sbit P24=P2^4;
❖ sbit P25=P2^5;
❖ sbit P26=P2^6;
❖ sbit P27=P2^7;
❖ uchar k;
❖ uchar store_1,store_sign;
相关文档
最新文档