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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

單片機水溫控制器設計(仿真圖+程序,參考資料)

  [復制鏈接]
跳轉到指定樓層
樓主
一升水在1kw電爐下加熱,要求水溫在一定范圍內可由人工設定,并能在環境溫度降低時自動調節,以保證設定的溫度基本不變。設計一個可以驅動1kW加熱負載的水溫控制器,具體要求如下
(1)能夠測量溫度,溫度用數字顯示。
(2)測量溫度范圍0~100℃,測量精度為0.5℃。
(3)能夠設置水溫控制溫度,設定范圍40~90℃,且連續可調。
(4)水溫控制精度≤ 2℃。
(5)當超過設定的溫度20℃時,產生聲、光報警。

仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)


單片機源程序如下:
  1. #include<reg52.h>
  2. #include<intrins.h>
  3. #include<wendu.h>

  4. #define uchar unsigned char
  5. #define uint unsigned int

  6. sbit key1=P3^0;
  7. sbit key2=P3^1;
  8. sbit key3=P3^2;
  9. sbit key4=P3^6;
  10. sbit led1=P3^7;
  11. sbit led=P3^3;
  12. sbit shenwen=P3^4;
  13. sbit baojing=P3^5;
  14.         
  15. uchar code tab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xbf,0xff,0xbf,0xc7,0x89};
  16. uchar code tab3[]={0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10,0x3f,0xff};

  17. uchar yi,er,san,si,san1;
  18. uint shangxian=90,xiaxian=40,flag=0,teding=20,ling=0,bai=100;

  19. void delay(int ma);
  20. void display1(uchar yi,uchar er,uchar san,uchar si);
  21. void display2(uchar yi,uchar er,uchar san1,uchar si);
  22. void keyscan();

  23. void main()
  24. {
  25.           float wendu=0;
  26.           int wenduzhen=0;

  27.           yi=11;er=11;san=11;si=11;
  28.           shenwen=1;//關閉繼電器
  29.                
  30.           while(1)
  31.                 {
  32.                   keyscan();

  33.                   if(flag==0)//溫度測試界面
  34.                   {
  35.                           wendu=temget();
  36.                                 
  37.                           if(wendu<xiaxian)//燒水
  38.                           {
  39.                                           shenwen=0;
  40.                           }
  41.                           else if(wendu>=xiaxian)
  42.                           {
  43.                                         shenwen=1;//燒水功能關閉
  44.                           }
  45.                            
  46.                           if(((wendu>=teding)&&(key4==0)))//報警開啟
  47.                           {
  48.                                         baojing=0;
  49.                                                                         
  50.                           }
  51.                            else if((wendu<teding))//報警關閉
  52.                           {
  53.                                  baojing=1;
  54.                            
  55.                           }

  56.                           if(((wendu>=teding)))//報警開啟
  57.                           {
  58.                                        
  59.                                         led1=1;                                                
  60.                           }
  61.                            else if((wendu<teding))//報警關閉
  62.                           {
  63.                                  
  64.                              led1=0;
  65.                           }

  66.                           wenduzhen=wendu*10;
  67.                       yi=wenduzhen/1000;
  68.                           er=wenduzhen%1000/100;
  69.                           san=wenduzhen%100/10;
  70.                           si=wenduzhen%10;         
  71.                           
  72.                           display1(yi,er,san,si);
  73.                   }
  74.                
  75.                   else         if(flag==1)//溫度下限設置界面
  76.                    {
  77.                            yi=13;er=12;
  78.                       san1=xiaxian%100/10;
  79.                       si=xiaxian%10;
  80.                                  
  81.                           display2(yi,er,san1,si);
  82.                   }

  83.                   else         if(flag==2)//溫度上限設置界面
  84.                    {
  85.                            yi=14;er=12;
  86.                       san1=shangxian%100/10;
  87.                       si=shangxian%10;
  88.                                  
  89.                           display2(yi,er,san1,si);
  90.                   }
  91.                  
  92.                   if((wendu>shangxian)||(wendu<xiaxian))//溫度超過上限低于下限led亮
  93.                   {
  94.                   led=0;         
  95.                   }
  96.                   else if((wendu>=xiaxian)&&(wendu<=shangxian))
  97.                   {
  98.                   led=1;
  99.                   }
  100.                   

  101.                 }
  102. }

  103. void keyscan()
  104. {
  105.         if(key1==0)//設置界面
  106.         {
  107.                 delay(5);
  108.                 if(key1==0)
  109.                 {
  110.                   flag++;
  111.                   if(flag>2)flag=0;
  112.                 }
  113.                 while(!key1);        
  114.         }

  115.           if(key2==0)//加數值
  116.         {
  117.                 delay(5);
  118.                 if(key2==0)
  119.                 {
  120.                           if(flag==1)
  121.                         {
  122.                                 xiaxian++;
  123.                                 if(xiaxian>=89)xiaxian=89;
  124.                         }
  125.                         else if(flag==2)
  126.                         {
  127.                                 shangxian++;
  128.                                 if(shangxian>=90)shangxian=90;
  129.                         }
  130.                 }
  131.                 while(!key2);        
  132.         }

  133.         if(key3==0)//減數值
  134.         {
  135.                 delay(5);
  136.                 if(key3==0)
  137.                 {
  138.                           if(flag==1)
  139.                         {
  140.                                 xiaxian--;
  141.                                 if(xiaxian<0)xiaxian=0;
  142.                         }
  143.                         else if(flag==2)
  144.                         {
  145.                                 shangxian--;
  146.                                 if(shangxian<1)xiaxian=1;
  147.                         }
  148.                 }
  149.                 while(!key3);        
  150.         }
  151.         
  152.         
  153. }

  154. void display1(uchar yi,uchar er,uchar san,uchar si)
  155. {
  156.                 P2=0X01;
  157.                 P0=tab[yi];
  158.                 delay(1);
  159.         
  160.                 P2=0X02;
  161.                 P0=tab[er];
  162.                 delay(1);

  163.                 P2=0X04;
  164.                 P0=tab3[san];
  165.                 delay(1);
  166.         
  167.                 P2=0X08;
  168.                 P0=tab[si];
  169.                 delay(1);
  170. }

  171. void display2(uchar yi,uchar er,uchar san1,uchar si)
  172. {
  173.                 P2=0X01;
  174.                 P0=tab[yi];
  175.                 delay(1);
  176.         
  177.                 P2=0X02;
  178.                 P0=tab[er];
  179.                 delay(1);

  180.                 P2=0X04;
  181.                 P0=tab[san1];
  182.                 delay(1);
  183.         
  184.                 P2=0X08;
  185.                 P0=tab[si];
  186.                 delay(1);
  187. }

  188. void delay(int ms)
  189. {
  190.                 int i,a;
  191.                 for(i=ms;i>0;i--)
  192.                   for(a=125;a>0;a--);
  193. }
復制代碼

所有資料51hei提供下載:
仿真圖.zip (86.27 KB, 下載次數: 140)
參考資料.7z (1.44 MB, 下載次數: 142)


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

使用道具 舉報

沙發
ID:502881 發表于 2020-3-25 13:50 | 只看該作者
很好,很喜歡,謝謝分享
回復

使用道具 舉報

板凳
ID:718463 發表于 2020-3-30 10:53 | 只看該作者
proteus8.9閃退 報錯  仿真不了
回復

使用道具 舉報

地板
ID:786077 發表于 2020-6-22 15:54 | 只看該作者
這個閘刀開關是干嘛的
回復

使用道具 舉報

5#
ID:786077 發表于 2020-6-22 15:54 | 只看該作者
這個閘刀開關是干嘛的
回復

使用道具 舉報

6#
ID:786077 發表于 2020-6-22 16:34 | 只看該作者
要怎么設定溫度,就上下限 如何確定啊
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产精品国产三级国产aⅴ中文 | 亚洲精品久久久久久一区二区 | 久久大陆 | 亚洲综合色站 | 国产精品不卡视频 | 欧美久久视频 | 久久精品亚洲精品国产欧美 | 一区二区三区小视频 | 国产精品久久久久久 | 久在线观看| h视频免费在线观看 | 国产一级在线观看 | 久久精品二区 | 91xh98hx 在线 国产 | 日韩欧美在线观看一区 | 青青久在线视频 | 国产成人在线视频播放 | 久草网免费 | 免费黄色成人 | 精品福利在线 | 91网在线观看 | 亚洲高清免费观看 | 免费成人国产 | 黄色av大片| 国产精品美女久久久久aⅴ国产馆 | 日韩高清在线观看 | 97成人精品 | 五月婷婷婷 | 91视频在线看 | 亚洲精品在线91 | 欧美精品三区 | 日韩三级在线观看 | 黑人精品欧美一区二区蜜桃 | 免费国产精品久久久久久 | 在线播放中文 | 国产精品久久久久一区二区三区 | a天堂在线| 黄色成人免费看 | 黄色一级片在线播放 | 中文字幕在线免费视频 | 中文字幕一区二区三区四区五区 |