单片机
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 页