资源描述:
《基于单片机的仿真智能病床呼叫系统程序》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、程序:病床智能呼叫系统功能:1、7个病床的7个呼叫按钮,控制响应的led灯点亮,同吋响应的次数累计;病床按一次,对应的蜂鸣器响一次。为防止被错误按下,按钮按下一定时间后才累计次数,累计次数最多累计9次2、7个病床对应的呼叫响应按钮控制响应的led灯灭,同时响应的次数累计清零作者:陈韬、杨路生、张瑞娇、马姗时间:20110701说明:在这个系统中,单片机的40个引脚基本全部用上了(当然有几个有特殊功能没有用上),可以说是在不用外部扩展的情况下51单片机的极限了1.病床呼叫按钮:P1.0〜P1.6口共7个引脚2护士呼叫响应按钮:P17,P27,P37,P23,P24,P25,P26共
2、7个引脚3.呼叫按钮响应红灯:P30,P31,P32,P33,P34,P35,P36共7个引脚4.病人呼叫次数统计::数据口P0.0〜P0.7:时序RS:P2.0,RW:P2.1,E:P2.0(液晶模块1602/LM016L他们的内部控制芯片都是HD44780)共11个引脚5.晶振:12MH乙AT89C52(12T)共2个引脚6.电源:VCC接地GND共2个引脚■上■上■上^3^•上•上•卜•上••丄•••上••上••上••上•£*f*7*彳・哼・[#include#includesbitP10=PlA0;sbitPll=PlAl;sbit
3、P12=PlA2;sbitP13=PlA3;sbitP14=PlA4;sbitP15=PlA5;sbitP16=PlA6;sbitP17=PlA7;sbitP20=P2A0;sbitP21=P2A1;sbitP22=P2人2;sbitP23=P2A3;sbitP24=P2A4;sbitP25=P2A5;sbitP26=P2A6;sbitP27=P2A7;sbitP30=P3A0sbitP31=P3A1;sbitP32=P3A2;sbitP33=P3A3;sbitP34=P3A4;sbitP35=P3A5;sbitP36=P3A6;sbitP37=P3A7;sbitRS=P2A0;
4、〃寄存器选择位,将RS位定义为P2.0引脚sbitRW=P2Al;〃读写选择位,将RW位定义为P2.1引脚sbitE=P2A2;〃使能信号位,将E位定义为P2.2引脚sbitBF=P0A7;〃忙碌标志位,,将BF位定义为P0.7引脚unsignedchartemp10,tempi1,lemp12,temp13,temp14,temp15,temp16;〃设置全局变量分别表示1~7床呼叫次数unsignedcharcodeTab[ll]={H0123456789”};unsignedcharcodestring1[]={Hl:n};unsignedcharcodestring2[]
5、={H2:n);unsignedcharcodestring3[]={"3:"};unsignedcharcodestring4[]=「4"};unsignedcharcodestring5[]={H5:n);unsignedcharcodestring6[]={H6:n};unsignedcharcodestring7[]={n7:H);以下程序为按键模块病人按键部分护士按键部分k1#kL#kL#kL#kL#^1#/rj・•卜rj・■卜rjw•卜rj・•卜*{w.卜•卜■卜•卜■卜rp■卜rj*■卜•卜■卜rp吃、•卜吃、rp齐、•卜吃、•卜吃、rp齐、•卜吃、•卜吃、•卜吃、
6、•卜吃、•卜吃、•卜•卜rj%rj*rj*rj*rj*rj^rj^rj^fvoidDelayus(unsignedcharm){while(m—!=0){_nop_();//Ius}病人呼叫1~7床位led亮,对应床位呼叫次数累计*!••土•上•上*!•*1**!••土*!••土*!•*1**!••土*!••土•土•土•土•丄■•丄*•丄*•丄■•丄*•丄■•丄■/^7^<7^<7^^7^7、=0,temp11=0,temp12=0,temp13=0,temp14=0,temp15=0,temp16=0;if(P10==0){P30=0;if(templ0<=9)〃小于9次就累计{templO++;}elseif(temp!0>=9){temp10=9;〃最高统计9次}}return(temp10);/•上•上•上•上•丄•■立■立ff彳.彳.彳.彳.彳.哼・哼・^T*/unsignedcharHujiaoled2(void)〃病人呼叫led2亮,呼叫次数累计{//u