病房呼叫系统浅谈 下载本文

内容发布更新时间 : 2024/11/16 15:54:15星期一 下面是文章的全部内容请认真阅读。

单片机

3.2.2程序流程图及源程序代码 1.程序流程图 如下:

开始 工作

有一个病房呼叫

有多个病房呼叫

判断优先级 第 11 页 共 15 页

单片机

显示病房号并响铃

有病房再次呼叫

判断优先级

显示病房号并响铃

2.程序代码

#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 flag,i;

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

void main()

开始 第 12 页 共 15 页

单片机

{

while(1) { P3=0xff; reset=0; BEEP=0; flag=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) {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; flag=0; } }

第 13 页 共 15 页

单片机

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

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

BEEP=!BEEP; if(key1==0||key2==0||key3==0)//第二次呼叫 { if( P0==0X86) P0=0X86; else if(P0==0Xdb&&key1==0) P0=0X86; else if(P0==0Xcf&&key1==0) P0=0X86; else if(P0==0Xcf&&key1==1&&key2==0) P0=0Xdb; else if(P0==0Xe6&&key1==0) P0=0X86; else if(P0==0Xe6&&key1==1&&key2==0) P0=0Xdb; else if(P0==0Xe6&&key1==1&&key2==1&&key3==0) P0=0Xcf; } } }

void de() { for(i=300;i>0;i--); }}

第四章总结

4.1结论

至此,此系统的详细设计及过程已经结束。 在设计的过程中遇到了很多问题,发现了自己的不足之处,有很多没有学习,如Proteus仿真知识及操作,还有单片机的C语言编程;有些软件掌握得不够牢固,通过此次学习,进一步加强了我的理解,同时提高了我独立自学的能力。

整个设计过程中,同学的帮助,以及校图书馆的资料给了我很大的帮助。此次设计让

第 14 页 共 15 页

单片机

我从中学到很多东西。虽然中间遇到很多困难,但都对于我是一次很好的锻炼。设计以后,才更加深刻感受到自己的学习只是理论部分,而且很多时候不能付诸实践。这次设计能够让我从实践中重新学习理论知识,对我今后的工作和学习有了很多提高。

但是由于本人水平有限,整个设计仍有很多不足之处,如程序不够完善、灵活,只能实现一次。完善后将会进一步提高设计的稳定性和普适性。

最后,在指导老师和同组同学的身上我学得到很多实用的知识,特别感谢指导老师给予的帮助,还用同学之间的资源共享。再次表示感谢!

4.2参考文献

1.何立民.《单片机初级教程-单片机基础》 北京航空航天大学出版社, 2.丁元杰.《单片微机原理及应用》 机械工业出版社,

3.何立民.《单片机应用技术选编》 航空航天大学出版社, 4.张培仁等.《MCS-51单片机原理与应用》 清华大学出版社, 5.王环,张亚宁 《单片机程序设计实例》 清华大学出版社, 6.治刚.《单片机应用技术与实训》 清华大学出版社, 7.胡汉才.《单片机原理及接口技术》 清华大学出版社,

8.张毅刚、彭喜源 《MCS—51单片机应用设计》 哈尔滨工业大学出版社

9.耿德根、宋建国、马潮、叶永建 《AVR高速嵌入式单片机原理与应用》北京航空航天大学出版社.

10.www.mculover.com 单片机爱好者. 11.www.atmel.com ATMEL主页 . 12.www.mcustudy.com 单片机学习网.

4.3致谢

这期间,在图书馆里找到很多有关书籍。然后开始了一系列的整体方案的设计,并投入选择器材和方案的制定。最后开始整体的实验,虽然其中经历很多的失败。在老师、同学的帮助下,我很快克服了困难。设计的系统虽不是那么完善,但也是从知识到实践的转换。我从中学到了怎样独立地思考发现问题、解决问题和进一步完善提高的能力。时光短暂,但给我留下很多深刻的印象,这是第一次独立自主的做设计。以前只注重理论的学习,却忽略了实践。

在此,谨向所有帮助我的老师、同学表示衷心的感谢和敬意!

第 15 页 共 15 页