资源描述:
《基于51单片机的售水服务程序》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、/**************************************************//*售水机程服务程序功能:1,每一秒出0.1L水,水价为每升0.5元,通过定时器计算时间,算出水量和总价,2,通过按键S6,S7控制。按下S7,继电器接通,开始出水,并计算水量,通过数码管显示出单价和水量按下S6,继电器断开,停止出水,显示出单价和总价*//*************************************************/#include#defineuc
2、harunsignedchar#defineuintunsignedintuintcount,key;//中断计数floattiji,danjia,zhongjia,stop;sbitS6=P3^6;//控制按键sbitS7=P3^7;sbitled1=P1^6;//指示灯,低电平点亮sbitjdq=P1^7;//继电器控制口sbitFM=P2^3;//警告sbitduan=P2^6;//数码管段选sbitwei=P2^7;//位选端ucharcodeshuma[]={0x3f,0x06,0x5b,0x4f,
3、0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};//数码管编码/******************************************//*us级延时函数*//******************************************/voiddelay_us(uintus){while(us--);}/**************************************************//*数码
4、管显示第一部分:DS1段控制为P0口,位控制为p0************************************************/voiddisplay_dis1(floatnum){uintge,shi,fen;uintnum2;num2=num*10;shi=num2/100;ge=num2%100/10;fen=num2%100%10;P0=0xff;wei=1;wei=0;//去除余晖;P0=shuma[shi];duan=1;duan=0;P0=0xfe;wei=1;wei=0;P
5、0=0xff;wei=1;wei=0;P0=shuma[ge]
6、0x80;duan=1;duan=0;P0=0xfd;wei=1;wei=0;P0=0xff;wei=1;wei=0;P0=shuma[fen];duan=1;duan=0;P0=0xfb;wei=1;wei=0;}/**************************************************//*数码管显示第二部分:DS2段控制为P0口,位控制为p0*//*********************************
7、****************/voiddisplay_dis2(floatnum){uintge,shi,fen;uintnum2;num2=num*10;shi=num2/100;ge=num2%100/10;fen=num2%100%10;P0=0xff;wei=1;wei=0;//去除余晖;P0=shuma[shi];duan=1;duan=0;P0=0xf7;wei=1;wei=0;P0=0xff;wei=1;wei=0;P0=shuma[ge]
8、0x80;duan=1;duan=0;P0=0xe
9、f;wei=1;wei=0;P0=0xff;wei=1;wei=0;P0=shuma[fen];duan=1;duan=0;P0=0xdf;wei=1;wei=0;}/**************************************************//*键盘扫描控制部分*//*************************************************/uintkey1(){uintkaisi=0,tingzi=0;if(S7==0)//出水控制{delay_us(2)
10、;if(S7==0)key=1;while(S7!=1);//松手检测,如果松手了结果就会count=0xfo;}if(S6==0)//停水控制{delay_us(2);if(S6==0){key=0;}while(S6!=1);//松手检测,如果松手了结果就会count=0xfo;}return(key);}/********************************************