久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5896|回復(fù): 1
打印 上一主題 下一主題
收起左側(cè)

水塔自動(dòng)送水工程 帶單片機(jī)源碼 實(shí)物

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
固態(tài)繼電器需要接在 接觸器 上控制,否則水泵功率太大會(huì)燒壞繼電器。

電路板的實(shí)物圖:


單片機(jī)源程序源碼如下:
  1. #include<reg52.h>

  2. #define uint unsigned int
  3. #define uchar unsigned char


  4. sbit key3=P2^1;                                         //澆地(一直開)
  5. //sbit key3=P3^6;                                         //澆地(一直開)
  6. sbit key2=P3^7;                                               //自動(dòng)檢測,定時(shí)送水
  7. //sbit key2=P3^5;                                               //自動(dòng)檢測,定時(shí)送水
  8. sbit zd=P3^2;                                          //        外部中斷(水滿保護(hù))

  9. sbit jdq=P1^5;                                    //固態(tài)繼電器
  10. //sbit jdq=P1^0;                                    //固態(tài)繼電器


  11. sbit key1=P2^5;                                         //LED燈 開關(guān)
  12. //sbit key1=P3^1;                                         //LED燈 開關(guān)
  13. sbit hm=P0^5;                                         //蜂鳴器
  14. //sbit hm=P2^0;                                         //蜂鳴器
  15. sbit led=P0^7;                                         // LED燈
  16. //sbit led=P1^3;                                         // LED燈
  17. sbit ir=P3^3;                                         //遙控接收        (控制LED燈)


  18. uint num,numt0 ;                                                //全局變量

  19. /*****延時(shí)子函數(shù) *****/
  20. void delayms(uint xms)
  21. {
  22.         uint i,j;
  23.         for(i=xms;i>0;i--)
  24.                 for(j=110;j>0;j--);
  25. }


  26. void jias()
  27. {
  28.         if(num==6000)                                //設(shè)置澆菜后進(jìn)中斷  延時(shí)時(shí)間 5 分鐘,防止管道還沒接回水塔的水路(澆地、水塔二選一接)
  29.         {
  30.                 num=0;
  31.                 jdq=0;
  32.                 hm=1;
  33.                 delayms(200);
  34.                 hm=0;
  35.                 TR0=0;
  36.         }
  37.         if(numt0==3600)                                //設(shè)置延時(shí)時(shí)間 3 分鐘
  38.         {
  39.                 numt0=0;
  40.              jdq=0;
  41.                 hm=0;
  42.                 TR0=1;                                        //設(shè)置滿缸后延時(shí)5分鐘等待下一次
  43.                    TR1=0;
  44.         
  45.         }
  46. }



  47. void di()
  48. {
  49.         hm=1;
  50.         delayms(1000);
  51.         hm=0;
  52.         delayms(1000);
  53. }  

  54. /*****獨(dú)立按鍵檢測 *****/

  55. void keyscan()
  56. {
  57.          
  58.                  /***按鍵控制 電燈亮滅***/
  59.         if(key1==0)                                        //按鍵“1”按下
  60.         {                                                        //去抖延時(shí)
  61.                 delayms(10);                        //再次檢測按鍵“1” 按下
  62.                 if(key1==0)
  63.                 {        
  64.                                 led=~led;                          // LED燈亮滅 (每按一次取反)
  65.                                 while(!key1);                   //等待 開關(guān)松開               


  66.                 }
  67.                  
  68.         }

  69.            /***一直開繼電器(澆菜使用)***/

  70.                         if(key2==0)                          //檢測按鍵“2”
  71.                          {
  72.                                 delayms(10);
  73.                                 if(key2==0)
  74.                         {               
  75.                                         jdq=1;                         //        開繼電器
  76.                                    // delayms(100);                                  解決有時(shí)不閉合,轟鳴器響,中斷 1 工作,(這里加延時(shí)改善---造成繼電器不閉合,待分析原因)                        
  77.                                         di();
  78.                                         while(!key2);         //等待 開關(guān)松開
  79.                                         delayms(10);
  80.                                         while(!key2);         //等待 開關(guān)松開
  81.                                         jdq=0;                  //        關(guān)閉繼電器  
  82.                                         TR0=1;                                 //        啟動(dòng)定時(shí)器 0
  83.                                 }                        
  84.                         }                           

  85.                  
  86.                   
  87.     /***自動(dòng)檢測水位控制上水,開定時(shí)器到達(dá)時(shí)間,默認(rèn)水滿停電***/
  88.                            
  89.                                  
  90.                 if(TR0==0)
  91.                 {
  92.                         if(key3==0)                               //檢測按鍵“3”
  93.                          {
  94.                                 delayms(10);
  95.                                 if(key3==0)
  96.                                 {                        
  97.                                     jdq=1;                                //        開繼電器        
  98.                                         TR1=1;                                //        啟動(dòng)定時(shí)器 1        
  99.                                         hm=1;                                                                  
  100.             //        while(!key3);        這里如果檢測松手,如果沒抽水,key2開關(guān)一直沒松開,就一直等待松手,程序就死在這里
  101.                                 }
  102.                         }
  103.                 }               
  104.         
  105. }
  106. /***** 初始化函數(shù) ******/
  107. void init()
  108. {

  109.         TMOD=0x11;
  110.         TH0=(65536-45872)/256;
  111.         TL0=(65536-45872)%256;

  112.          TH1=(65536-45872)/256;
  113.         TL1=(65536-45872)%256;

  114.         EA=1;                                           //  開總中斷
  115.            EX0=1;                                           //  開外中斷 0
  116.         ET0=1;                                           //  開定時(shí)器 0
  117.         ET1=1;                                           //  開定時(shí)器 1
  118.                                                                                           
  119.         TR0=0;
  120.         TR1=0;
  121.         jdq=0;
  122.         hm=0;
  123.         led=0;                                                
  124. }



  125. void main()
  126. {
  127.         init();
  128.         while(1)
  129.         {
  130.         
  131.                 keyscan();
  132.                 jias();

  133.         }
  134. }


  135. /**** 檢測水漫過水箱 外部中斷子函數(shù) ****/
  136. void exter1() interrupt 0
  137. {
  138.         jdq=0;
  139.         TR0=0;
  140.         TR1=0;
  141.         while(zd==0)
  142.         {
  143.                 hm=1;
  144.                 delayms(1000);
  145.                 hm=0;
  146.                 delayms(90000);
  147.         }
  148. }

  149. ……………………

  150. …………限于本文篇幅 余下代碼請從51黑下載附件…………
復(fù)制代碼

所有資料51hei提供下載:
自動(dòng)送水.2.rar (36.95 KB, 下載次數(shù): 48)


評分

參與人數(shù) 1黑幣 +100 收起 理由
admin + 100 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:96682 發(fā)表于 2017-6-9 23:54 | 只看該作者
LZ,古董級接觸器和電線很多年沒見到了,沒個(gè)完整的電路圖人家不好入手啊!
回復(fù)

使用道具 舉報(bào)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 在线播放一区二区三区 | 中文字幕一区二区三区乱码在线 | 欧美涩涩网 | 在线视频91 | av手机在线看| 国产精品美女视频 | 日日夜夜精品视频 | 一区二区三区精品视频 | 国产欧美精品一区二区色综合朱莉 | 欧美精品一区二区三区四区五区 | 久久综合九九 | 日本不卡免费新一二三区 | 青青伊人久久 | 中文字幕亚洲精品 | 国产一区二区三区免费 | 国产一区二区av | 手机三级电影 | 99热在线免费 | 欧美 日韩 国产 一区 | 狠狠狠 | 成人免费大片黄在线播放 | 香蕉久久久 | 91亚洲国产成人久久精品网站 | 国产成人综合在线 | 国产清纯白嫩初高生视频在线观看 | 欧美一区中文字幕 | 国产精品www | 国产一级片网站 | 国产一级片 | 免费视频一区 | 日韩欧美中文字幕在线观看 | 日韩第一区| 免费成人在线网 | 亚洲精品一区二三区不卡 | www精品| 成人一区二区三区在线观看 | 欧美二三区 | 亚洲成人毛片 | 国产一区二区三区四区 | 狠狠干天天干 | 国产精品久久久久久238 |