标题: 单片机水塔水位控制系统proteus仿真 [打印本页]

作者: 51黑ff    时间: 2016-10-9 23:01
标题: 单片机水塔水位控制系统proteus仿真
单片机水塔水位控制的原理图:



单片机水塔水位控制仿真工程文件及所有完整程序等资料下载地址:
http://www.51hei.com/bbs/dpj-56304-1.html


单片机源程序:
  1. #include<reg51.h>
  2. //定义一个数组,使数码管显示的数字和数组元素的下标相等
  3. unsigned char code table[]={0x3f,0x06,0x5b,0x4f,0x66,
  4.                             0x6d,0x7d,0x07,0x7f,0x6f};
  5. sbit shuiman=P1^0;//水满
  6. sbit sw5=P1^1;//水位5
  7. sbit sw4=P1^2;//水位4
  8. sbit sw3=P1^3;//水位3
  9. sbit sw2=P1^4;//水位2
  10. sbit sw1=P1^5;//水位1
  11. sbit shougong=P1^6;//手工上水
  12. sbit dianji=P1^7;//电机控制位
  13. sbit state=P3^7;//电机工作指示
  14. /*延时程序*/
  15. void delay02s(void)
  16. {
  17.   unsigned char i,j,k;
  18.   for(i=100;i>0;i--)
  19.   for(j=100;j>0;j--)
  20.   for(k=248;k>0;k--);
  21. }
  22. main()
  23. {
  24.         P0=0;
  25.         while(1)
  26.                 {  /*************************传感器是设计的一次只能触发一个传感器单?****************************
  27.               //水满
  28.                         if(shuiman==0&&sw5==1&&sw4==1&&sw3==1&&sw2==1&&sw1==1)//当唯一的闭合一个传感器单元:水位6时发生
  29.                         {
  30.                                 dianji=1;//关电机
  31.                                 state=1;//电机工作指示灯熄灭
  32.             P0=table[6];//显示水位深度:6**** 已满
  33.                                 delay02s();//延时一段时间让数码管显示给人以提示:水已满
  34.                         }
  35.                                 //水位5
  36.                         if(shuiman==1&&sw5==0&&sw4==1&&sw3==1&&sw2==1&&sw1==1)//当唯一的闭合一个传感器单元:水位5时发生
  37.                         {
  38.                                 P0=table[5];//显示水位深度:5
  39.                         }
  40.                         //水位4
  41.                         if(shuiman==1&&sw5==1&&sw4==0&&sw3==1&&sw2==1&&sw1==1)//当唯一的闭合一个传感器单元:水位4时发生
  42.                         {
  43.                                 P0=table[4];//显示水位深度:4
  44.                         }
  45.                         //水位3
  46.                         if(shuiman==1&&sw5==1&&sw4==1&&sw3==0&&sw2==1&&sw1==1)//当唯一的闭合一个传感器单元:水位3时发生
  47.                         {
  48.                                   P0=table[3];//显示水位深度:5
  49.                         }
  50.                         //水位2
  51.               if(shuiman==1&&sw5==1&&sw4==1&&sw3==1&&sw2==0&&sw1==1)//当唯一的闭合一个传感器单元:水位2时发生
  52.                         {
  53.                                 P0=table[2];//显示水位深度:2
  54.                         }
  55.                         //水位低
  56.                         if(shuiman==1&&sw5==1&&sw4==1&&sw3==1&&sw2==1&&sw1==0)//当唯一的闭合一个传感器单元:水位1时发生
  57.                         {
  58.                                 dianji=0;//开电机
  59.                                 state=0;//电机工作指示灯打开
  60.                         P0=table[1];//显示水位深度:1
  61.                         }
  62.                         //手工上水
  63.                     if(shougong==0)//当按手工上水按钮时发生
  64.                         {  
  65.                       dianji=0;//开电机
  66.                                 state=0;//电机工作指示灯打开
  67.                                 P0=table[0];//显示0表示手工上水已有反应
  68.                                 delay02s();//延时一段时间让数码管显示给人以提示:已开始手工上水
  69.                         }
  70.                
  71.                 }
  72.          
  73. }
复制代码

作者: denminshen    时间: 2016-10-20 20:31
不错,谢谢分享!
作者: misrann    时间: 2017-6-17 18:27
在74显示错误
作者: misrann    时间: 2017-6-17 18:28
compiling Text1.c...
Text1.c(73): error C300: unterminated comment
TEXT1.C(73): error C141: syntax error near ''
Text1.c - 2 Error(s), 0 Warning(s).
作者: misrann    时间: 2017-6-17 18:30
compiling Text1.c... Text1.c(73): error C300: unterminated comment TEXT1.C(73): error C141: syntax error near '' Text1.c - 2 Error(s), 0 Warning(s).
作者: 琅仔    时间: 2017-6-22 23:57
谢谢分享
作者: 洋芋擦擦    时间: 2017-12-10 14:04
不错,谢谢分享
作者: 921009216    时间: 2018-7-4 21:08
谢谢分享
作者: 296078416    时间: 2018-11-30 15:46
绝世好贴
作者: 296078416    时间: 2018-12-6 09:46
绝世好贴!
作者: 命名成    时间: 2018-12-6 09:49
不错。666666666
作者: 192681190    时间: 2018-12-19 18:57
很好的学习资料
作者: yongxiangu    时间: 2018-12-19 19:22
感谢分享!
作者: 小溪    时间: 2019-4-22 19:23
标注了电路的功能,挺好
作者: qxl1997119    时间: 2019-5-6 09:52
谢谢大神
作者: 405342114    时间: 2019-6-10 16:26
非常好
作者: 19846    时间: 2020-5-17 21:51
有人会这个的程序框图嘛
作者: long2018    时间: 2021-8-6 10:40

很好的学习资料,感谢分享!

作者: long2018    时间: 2021-8-6 10:53
数码管是共阳管?还是共阴管?
作者: 247015164    时间: 2021-8-10 16:56
正在找这方面的资料,太好了




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1