欢迎来到天天文库
浏览记录
ID:44079295
大小:412.07 KB
页数:13页
时间:2019-10-18
《单片机自动水位控制》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、图一主流程图按键扫描手动模式自动模式/按键设置加键上水停止键停止I—通过确孑按键完成图二按键流程图LCOIGOZSet:H:3.2L:2.2SJSU:i.eDU:r??£EhdodaaMbiiEBEKKEKSLCD1602■:text>t.R设羞按健SetC310uF10k10k£衣按健DownAutoManModeO10kR910k10kR1110k#include#include#include2、dio.h>//#include#defineucharunsignedchar#defineuintunsignedintsbitlcdrs=P2A6;//1602数据/命令选择端(H/L)sbitlcdrw=P2A5;//1602读/写选择端(H/L)sbitlcden=P2A7;//1602使能端sbitCs0832=P2A0;sbitClkO832=P2Al;sbitDiO832=P2A2;sbitDo0832=P2A2;//0832各控制脚sbitbeep=P3A4;sbit3、led_sxbj=P3A5;〃上卜报警指示sbitled_xxbj=P3A6;〃卜限报警指示sbitdianji=P3A7;〃电机上水sbitkey_sz=PlAO;//设置按键sbitkey_qr=PlAl;//确认按键sbitkeyJia=PlA2;//按键加按键sbitkeyJian=PlA3;//按键减按键sbitkey_ss=PlA4;//上水按键sbitkey_tz=PlA5;//停止切换ucharcodetablel[]="Set:H:L:ucharcodetable2[]=nSJSW:DW4、:mbitKeyModePress^eyModelnPress^eyUpPress^eyDownPress^eyAutoManModePress,AutoMode,ManMode^ddWateoHeater;charShuiWei[5];charSetUp[5];charSetDown[5];floatWaterLevel;floatadc_val,chuli;intbjz;floatUp,Down;//水位上限、下限设定值标识bitszflagl,szflag2,qrflag;bitflag,flagl5、6,flagl7;ucharsw,gw,xsw;ucharsznum,qrnum;ucharModeKeynum,s2num;voiddisplay(void);voidwrite_data(uchardat);voidshezhi(void);voidReadKey(void);voidManModeContrl(void);voidExecuteMenu(void);厂延时函数*/voiddelay(uintz)uintx,y;for(x=z;x>0;x--)for(y=110;y>0;y~);}〃温6、度延吋voiddelay2(uinttemp)uintij;for(i=0;i7、elay(5);lcden=0;}/*lcd写数据*/voidwrite_data(uchardat){lcdrs=l;〃数据Icden=0;PO=dat;//送数据delay(5);lcden=l;//en高脉冲delay(5);Icden=0;}voidwrite_sfm(ucharadd,uchardate){gw=date;//xsw=date*10%10;write_com(0x80+add);write_data(0x30+gw);//write_data(0x30+xsw);}voidwri8、te_nyr(ucharadd,uchardate)gw=date*10/10;xsw=date*10%10;write_com(0x80+add);write_data(0x30+gw);write_data(0x30+xsw);}/*lcd初始化*/voidinit(){ucharnum;lcdrw=0;write_com(0x38);//显示设置指令write_com(0x0c);//开显示、不显示光标write_com
2、dio.h>//#include#defineucharunsignedchar#defineuintunsignedintsbitlcdrs=P2A6;//1602数据/命令选择端(H/L)sbitlcdrw=P2A5;//1602读/写选择端(H/L)sbitlcden=P2A7;//1602使能端sbitCs0832=P2A0;sbitClkO832=P2Al;sbitDiO832=P2A2;sbitDo0832=P2A2;//0832各控制脚sbitbeep=P3A4;sbit
3、led_sxbj=P3A5;〃上卜报警指示sbitled_xxbj=P3A6;〃卜限报警指示sbitdianji=P3A7;〃电机上水sbitkey_sz=PlAO;//设置按键sbitkey_qr=PlAl;//确认按键sbitkeyJia=PlA2;//按键加按键sbitkeyJian=PlA3;//按键减按键sbitkey_ss=PlA4;//上水按键sbitkey_tz=PlA5;//停止切换ucharcodetablel[]="Set:H:L:ucharcodetable2[]=nSJSW:DW
4、:mbitKeyModePress^eyModelnPress^eyUpPress^eyDownPress^eyAutoManModePress,AutoMode,ManMode^ddWateoHeater;charShuiWei[5];charSetUp[5];charSetDown[5];floatWaterLevel;floatadc_val,chuli;intbjz;floatUp,Down;//水位上限、下限设定值标识bitszflagl,szflag2,qrflag;bitflag,flagl
5、6,flagl7;ucharsw,gw,xsw;ucharsznum,qrnum;ucharModeKeynum,s2num;voiddisplay(void);voidwrite_data(uchardat);voidshezhi(void);voidReadKey(void);voidManModeContrl(void);voidExecuteMenu(void);厂延时函数*/voiddelay(uintz)uintx,y;for(x=z;x>0;x--)for(y=110;y>0;y~);}〃温
6、度延吋voiddelay2(uinttemp)uintij;for(i=0;i7、elay(5);lcden=0;}/*lcd写数据*/voidwrite_data(uchardat){lcdrs=l;〃数据Icden=0;PO=dat;//送数据delay(5);lcden=l;//en高脉冲delay(5);Icden=0;}voidwrite_sfm(ucharadd,uchardate){gw=date;//xsw=date*10%10;write_com(0x80+add);write_data(0x30+gw);//write_data(0x30+xsw);}voidwri8、te_nyr(ucharadd,uchardate)gw=date*10/10;xsw=date*10%10;write_com(0x80+add);write_data(0x30+gw);write_data(0x30+xsw);}/*lcd初始化*/voidinit(){ucharnum;lcdrw=0;write_com(0x38);//显示设置指令write_com(0x0c);//开显示、不显示光标write_com
7、elay(5);lcden=0;}/*lcd写数据*/voidwrite_data(uchardat){lcdrs=l;〃数据Icden=0;PO=dat;//送数据delay(5);lcden=l;//en高脉冲delay(5);Icden=0;}voidwrite_sfm(ucharadd,uchardate){gw=date;//xsw=date*10%10;write_com(0x80+add);write_data(0x30+gw);//write_data(0x30+xsw);}voidwri
8、te_nyr(ucharadd,uchardate)gw=date*10/10;xsw=date*10%10;write_com(0x80+add);write_data(0x30+gw);write_data(0x30+xsw);}/*lcd初始化*/voidinit(){ucharnum;lcdrw=0;write_com(0x38);//显示设置指令write_com(0x0c);//开显示、不显示光标write_com
此文档下载收益归作者所有