77范文网 - 专业文章范例文档资料分享平台

单片机医院病房呼叫系统设计(2)

来源:网络收集 时间:2019-03-22 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

4、高优先级病房先呼叫:(蜂鸣器响)

低优先级病房后呼叫:(蜂鸣器响)

呼叫无效

5

5、当有两个病房同时呼叫时

1号3号病房同时呼叫显示1 号

三.软件设计

3.1 功能介绍

启动系统后,数码管显示0。当有一个病人呼叫时,数码管显示相应病房号,同时蜂鸣器响起;当有两个病人同时呼叫时,数码管显示优先级高的,同时蜂鸣器响起;当有一个病房呼叫后另一个病房呼叫,若后呼叫的病房优先级低,则数码管显示不变,若后呼叫的病房优先级高,则数码管显示后呼叫的,两种情况下蜂鸣器都会叫,只是在有别的病房呼叫时有一点变音。

6

3.2 程序流程图

程序流程图如下:

开始 工作

有一个病房呼叫

显示病房号并响铃

有病房再次呼叫 判断优先级

显示病房号并响铃

开始 判断优先级 有多个病房呼叫

7

3.3程序源代码:

#include

#define uchar unsigned char

sbit key4=P3^0;//定义按键位置 sbit key3=P3^1; sbit key2=P3^2; sbit key1=P3^3;

sbit reset=P3^4;//复位

sbit BEEP=P1^7;//定义蜂鸣器端口 uchar flag1,i;

void choice(); void clean(); void delay(); void de(); void ring();

void main() { while(1) { P3=0xff; reset=0; BEEP=0; flag1=0; choice(); delay(); clean(); } }

void choice()//确定病人

{ while(reset!=1&&flag==0) { if(key1==0) { de(); if(key1==0) {P0=0X86;flag=1;} } else if(key2==0) {

8

de(); if(key2==0&&key1!=0) {P0=0Xdb;flag=1;} } else if(key3==0) { de(); if(key3==0&&key1!=0&&key2!=0) {P0=0Xcf; flag=1;} } else if(key4==0) { de(); if(key4==0&&key1!=0&&key2!=0&&key3!=0) {P0=0Xe6; flag=1;} } } }

void clean() //RESET 为高的时候复位 { if(reset==1) { BEEP=0; P0=0x3f; } }

void delay() //RESET为低的时候延时 { while(!reset) { ring(); } }

void ring() { for(i=0;reset==0;i++)//喇叭发声的时间循环

9

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库单片机医院病房呼叫系统设计(2)在线全文阅读。

单片机医院病房呼叫系统设计(2).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/535416.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: