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

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

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

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

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
一升水在1kw電爐下加熱,要求水溫在一定范圍內(nèi)可由人工設(shè)定,并能在環(huán)境溫度降低時(shí)自動(dòng)調(diào)節(jié),以保證設(shè)定的溫度基本不變。設(shè)計(jì)一個(gè)可以驅(qū)動(dòng)1kW加熱負(fù)載的水溫控制器,具體要求如下
(1)能夠測(cè)量溫度,溫度用數(shù)字顯示。
(2)測(cè)量溫度范圍0~100℃,測(cè)量精度為0.5℃。
(3)能夠設(shè)置水溫控制溫度,設(shè)定范圍40~90℃,且連續(xù)可調(diào)。
(4)水溫控制精度≤ 2℃。
(5)當(dāng)超過設(shè)定的溫度20℃時(shí),產(chǎn)生聲、光報(bào)警。

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


單片機(jī)源程序如下:
  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;//關(guān)閉繼電器
  29.                
  30.           while(1)
  31.                 {
  32.                   keyscan();

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

  56.                           if(((wendu>=teding)))//報(bào)警開啟
  57.                           {
  58.                                        
  59.                                         led1=1;                                                
  60.                           }
  61.                            else if((wendu<teding))//報(bào)警關(guān)閉
  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)//溫度下限設(shè)置界面
  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)//溫度上限設(shè)置界面
  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)//設(shè)置界面
  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)//加數(shù)值
  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)//減數(shù)值
  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. }
復(fù)制代碼

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


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

使用道具 舉報(bào)

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

使用道具 舉報(bào)

板凳
ID:718463 發(fā)表于 2020-3-30 10:53 | 只看該作者
proteus8.9閃退 報(bào)錯(cuò)  仿真不了
回復(fù)

使用道具 舉報(bào)

地板
ID:786077 發(fā)表于 2020-6-22 15:54 | 只看該作者
這個(gè)閘刀開關(guān)是干嘛的
回復(fù)

使用道具 舉報(bào)

5#
ID:786077 發(fā)表于 2020-6-22 15:54 | 只看該作者
這個(gè)閘刀開關(guān)是干嘛的
回復(fù)

使用道具 舉報(bào)

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

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 亚洲一区视频在线 | 日本中文字幕日韩精品免费 | 日韩欧美亚洲一区 | 国产日韩欧美在线播放 | 国产精品视频久久久久久 | 欧美日韩国产一区二区三区 | 国产精品99久久久久久动医院 | 国产精品国产三级国产aⅴ入口 | 国产高潮好爽受不了了夜夜做 | 狠狠视频 | 一区二区三区国产 | 亚洲一区二区在线播放 | 草草视频在线免费观看 | 亚洲高清av在线 | 国产高清久久久 | 成人三区四区 | 神马影院一区二区三区 | 欧美精品成人一区二区三区四区 | 国产精品日韩欧美一区二区三区 | 国产成人精品a视频一区www | 天天躁日日躁狠狠的躁天龙影院 | 久久精品视频在线播放 | 国产一区二区三区在线视频 | 男人午夜视频 | 日韩精品免费一区 | 精品一二三区 | 国产精品精品视频一区二区三区 | 麻豆精品国产91久久久久久 | 偷拍自拍网址 | 国产精品免费一区二区三区四区 | 欧美 日韩 中文 | 久久国产高清 | 国产免费一区二区 | 美女在线一区二区 | 91精品国产综合久久久久久丝袜 | 黑人精品欧美一区二区蜜桃 | 成人综合视频在线 | 黄色av网站在线免费观看 | 久久精品欧美一区二区三区麻豆 | 久久久精品视频免费看 | 91精品久久久久久久久 |