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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4327|回復: 1
打印 上一主題 下一主題
收起左側

單片機數碼管顯示的水位控制系統程序設計

[復制鏈接]
跳轉到指定樓層
樓主
用的proteus和keil


單片機源程序如下:
  1. #include<reg52.h>
  2. #include <intrins.h>
  3. /*****************宏定義******************/
  4. #define uint unsigned int
  5. #define uchar unsigned char
  6. #define u8 unsigned char
  7. /***********位操作端口定義**************/

  8. sbit speak=P0^4;          //   蜂鳴器
  9. sbit JK2=P1^6;                 //          水位繼電器

  10. sbit led3=P0^2;          //3/4水位指示燈
  11. sbit led2=P0^1;          //1/2水位指示燈
  12. sbit led1=P0^0;         //1/4水位指示燈

  13. sbit SW041=P1^0; //1/4水位
  14. sbit SW021=P1^1; //1/2水位
  15. sbit SW043=P1^2; //3/4水位
  16. sbit SW01=P1^3; //滿水位
  17. uchar bianma[]={0xc0,0xf6,0xa1,0xa4,0x96};
  18. /********************************************************************
  19. * 名稱 : delay_1ms()
  20. * 功能 : 延時1ms函數
  21. * 輸入 : q
  22. * 輸出 : 無
  23. ***********************************************************************/
  24. void delay_ms(uint q)
  25. {
  26.         uint i,j;
  27.         for(i=0;i<q;i++)
  28.                 for(j=0;j<110;j++);
  29. }


  30. /***********************************************************************************************************
  31. 按鍵檢測相關函數
  32. ***********************************************************************************************************/
  33. //按鍵
  34. sbit Key1=P1^4;                                 
  35. sbit Key2=P1^5;                                 

  36. #define KEY_SET                 1       
  37. #define KEY_ADD                        2       


  38. //========================================================================
  39. // 函數: u8 Key_Scan()
  40. // 應用: temp=u8 Key_Scan();
  41. // 描述: 按鍵掃描并返回按下的鍵值
  42. // 參數: NONE
  43. // 返回: 按下的鍵值
  44. // 版本: VER1.0
  45. // 日期: 2015-05-29
  46. // 備注: 該函數帶松手檢測,按下鍵返回一次鍵值后返回0,直至第二次按鍵按下
  47. //========================================================================
  48. u8 Key_Scan()
  49. {         
  50.         static u8 key_up=1;//按鍵按松開標志
  51.         if(key_up&&(Key1==0||Key2==0))
  52.         {
  53.                 delay_ms(10);//去抖動
  54.                 key_up=0;
  55.                 if(Key1==0)                        return 1;
  56.                 else if(Key2==0)return 2;
  57.         }
  58.         else if(Key1==1&&Key2==1)
  59.                 key_up=1;             
  60.         return 0;// 無按鍵按下
  61. }


  62. uchar Mode=0;                                                                 //

  63. /**********主函數******************/
  64. void main()
  65. {       
  66.         u8 j=0;
  67.         u8 key;
  68.         u8 sd=0;
  69.         while(1)
  70.         {
  71.                 key=Key_Scan();                                        //按鍵掃描
  72.                 if(key==KEY_SET)
  73.                 {
  74.                         sd=1;
  75.                 }
  76.                 if(key==KEY_ADD)
  77.                 {
  78.                         sd=0;
  79.                 }
  80.                 if(Mode)
  81.                 {
  82.                         if(sd==1)
  83.                                 JK2=0;
  84.                         if(sd==0)
  85.                                 JK2=1;
  86.                 }
  87.          
  88.          if((SW01==1)&&(SW043==1)&&(SW021==1)&&(SW041==1))        //0水位 指示 啟動水泵加水
  89.          {
  90.                 led1=0;
  91.                 led2=1;
  92.                 led3=1;
  93.                 JK2=0;
  94.                 j++;
  95.                 if(j<100)
  96.                 {
  97.                         speak=1;
  98.                 }
  99.                 else if(j<200)
  100.                 {
  101.                         speak=0;
  102.                 }                                                        //
  103.                 else j=0;
  104.                 Mode=0;//禁止手動澆水
  105.                 P2=bianma[0];
  106.                 delay_ms(3);
  107.         }
  108.        
  109.         if((SW01==1)&&(SW043==1)&&(SW021==1)&&(SW041==0))        //1/4水位指示
  110.          {
  111.                 led1=1;
  112.                 speak=1;
  113.                 led2=0;
  114.                 led3=1;
  115.                 Mode=1;//允許手動澆水
  116.                        
  117.                 P2=bianma[1];
  118.         }
  119.         if((SW01==1)&&(SW043==1)&&(SW021==0)&&(SW041==0))  //1/2水位指示
  120.          {
  121.                 led1=1;
  122.                 speak=1;
  123.                 led2=0;
  124.                 led3=1;
  125.                 Mode=1;//允許手動澆水
  126.                 P2=bianma[2];
  127.         }
  128.         if((SW01==1)&&(SW043==0)&&(SW021==0)&&(SW041==0))        //3/4水位指示
  129.          {
  130.                 led1=1;
  131.                 speak=1;
  132.                 led2=0;
  133.                 led3=1;
  134.                 Mode=1;//允許手動澆水
  135.                 P2=bianma[3];
  136.         }
  137.         if((SW01==0)&&(SW043==0)&&(SW021==0)&&(SW041==0))        //如果水滿了 指示燈指示 停止加水
  138.          {
  139.                 led1=1;
  140.                 speak=1;
  141.                 led2=1;
  142.                 led3=0;
  143.                 Mode=0;//禁止手動澆水
  144.                 JK2=1;
  145.                 P2=bianma[4];
  146.         }
  147.         }                         

  148. }
復制代碼


所有資料51hei提供下載:
基于51的水位控制系統.rar (106.7 KB, 下載次數: 73)

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

使用道具 舉報

沙發
ID:822775 發表于 2021-10-14 12:14 | 只看該作者
這個自動澆水是什么鬼,沒看懂
回復

使用道具 舉報

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

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 日韩国产在线 | 国产成人免费视频网站高清观看视频 | 国产人久久人人人人爽 | 久久久一区二区 | 91成人精品视频 | 日韩在线三级 | 精品久久国产 | 亚洲高清免费观看 | 一区二区国产精品 | 黄色毛片网站在线观看 | 国产精品污www一区二区三区 | 日韩二| 国产精品美女久久久久久免费 | av香蕉| 久久久久久免费免费 | 欧美日韩综合视频 | 日本三级电影在线观看视频 | 国产成人精品一区二区三区四区 | 国产一区二区三区视频在线观看 | 精品久久久久久久人人人人传媒 | 激情五月婷婷综合 | 久久婷婷国产麻豆91 | 欧美色综合一区二区三区 | 国产三区精品 | 久久久精品一区二区三区 | 欧美性一区二区三区 | 日韩欧美中文字幕在线观看 | 精品久久久久久 | 伦理二区 | 人碰人操 | 国产欧美视频一区二区 | 国产精品入口麻豆www | www.久久久久久久久久久久 | 91麻豆精品国产91久久久更新资源速度超快 | 日本亚洲一区二区 | 婷婷开心激情综合五月天 | 午夜免费福利电影 | 一区二区在线观看免费视频 | 久操福利| 一区二区三区久久 | 午夜无码国产理论在线 |