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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4299|回復: 6
收起左側

單片機模擬空調溫度控制器,按鍵設定溫度和控制風力,流水燈模擬風力

  [復制鏈接]
ID:507257 發表于 2020-9-12 08:25 | 顯示全部樓層 |閱讀模式
空調溫度控制器,LCD1206顯示,按鍵設定溫度和控制風力,流水燈模擬風力,紅色LED指示燈代表加熱電機工作,藍色LED指示燈代表制冷電機工作。

仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
51hei圖片20200912081952.png
溫度高于設定溫度,降溫指示燈亮

51hei圖片20200912081938.png
溫度低于設定溫度,加熱指示燈亮

模塊化編程

模塊化編程


單片機源程序如下:
  1. /*用于QX—mini5學習板*/

  2. #include <reg52.h>
  3. #include "LCD1602.h"
  4. #include "DS18B20.h"
  5. //#include "uart.h"

  6. sbit jdq = P0^0;        //用蜂鳴器代替繼電器

  7. sbit key1=P3^5;                //設定溫度加
  8. sbit key2=P3^4;                //設定溫度減
  9. sbit key3=P3^3;                //設定風力加
  10. sbit key4=P3^2;                //設定風力減

  11. uint   num=260;                //設定溫度初始值
  12. uchar  num1=0;                //設定風力初始值

  13. uchar code table[]={0xff,0xfe,0xfc,0xf8,0xf0,0xe0,0xc0,0x80,0x00};//風級
  14. //
  15. //void uart_init(void)
  16. //{
  17. //        TMOD=0x20;                   //用定時器設置串口波特率
  18. //        TH1=0xfd;
  19. //        TL1=0xfd;
  20. //        TR1=1;
  21. //        REN=1;          //串口初始化
  22. //        SM0=0;
  23. //        SM1=1;
  24. //        EA=1;           //開啟總中斷
  25. //        ES=1;                        //開啟串口中斷
  26. //}

  27. void keyscan()                //設定溫度按鍵掃描函數
  28. {
  29.         if(key1==0)
  30.         {
  31.             delay(10);
  32.             if(key1==0)
  33.             {
  34.                    while(!key1);
  35.                num++;                      
  36.             }
  37.     }
  38.         if(key2==0)
  39.         {
  40.             delay(10);
  41.             if(key2==0)
  42.             {  
  43.                    while(!key2);
  44.                    num--;                  
  45.             }
  46.     }
  47. }  

  48. void keyscan1()             //設定風級按鍵掃描函數
  49. {
  50.         if(key3==0)
  51.         {
  52.             delay(10);
  53.             if(key3==0)
  54.             {
  55.                    while(!key3);
  56.                num1++;
  57.                    P1=table[num1];
  58.                    if(num1==9)
  59.                    {
  60.                      num1=0;
  61.                      P1=0xff;
  62.                    }                      
  63.             }
  64.     }
  65.         if(key4==0)
  66.         {
  67.             delay(10);
  68.             if(key4==0)
  69.             {  
  70.                    while(!key4);
  71.                    num1--;
  72.                    P1=table[num1];
  73.                    if(num1==255)
  74.                    num=0;                  
  75.             }
  76.     }
  77. }

  78. void main(void)                           //主函數
  79. {
  80.         uint temp;                                  
  81.     LCD_init( );                          //LCD初始化
  82. //        uart_init();               
  83.         string(0x80,"TE:");
  84.         string(0x80+0x40,"SE:");
  85.         string(0x80+0x0a,"WP:");
  86.        
  87.     while(1)
  88.     {
  89.                    tmpchange();                  //開始轉換溫度
  90.                
  91.                 temp = tmp();                  //讀取到溫度賦給temp

  92.                
  93.                 keyscan();                          //設置溫度
  94.                 keyscan1();                          //設置風級
  95.                 if(temp/10 > num/10)  //讀取溫度大于設定溫度
  96.                 {
  97.                         jdq = 0;                  //蜂鳴器報警(繼電器吸合)
  98.                 }
  99.                 if(temp/10 < num/10)  //讀取溫度小于設定溫度
  100.                 {
  101.                         jdq = 1;                  //蜂鳴器關閉(繼電器斷開)
  102.                 }
  103.                
  104.                 write_command(0x80+0x03);          //第一行第四位開始顯示
  105.                 write_data(0x30+temp/100);
  106.                 write_data(0x30+temp/10%10);
  107.                 write_data('.');
  108.                 write_data(0x30+temp%10);
  109.                 write_data(' ');
  110.                 write_data('C');

  111.                 write_command(0x80+0x43);         //第二行第四位開始顯示
  112.                 write_data(0x30+num/100);
  113.                 write_data(0x30+num/10%10);
  114.                 write_data('.');
  115.                 write_data(0x30+num%10);
  116.                 write_data(' ');
  117.                 write_data('C');               
  118.                
  119.                 write_command(0x80+0x0d);         //第一行第13位開始顯示
  120.                 write_data(0x30+num1%10);
  121. //                SBUF = temp;                          
  122.     }
  123. }
復制代碼

所有資料51hei提供下載:
空調溫度控制器.zip (166.8 KB, 下載次數: 117)

評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

回復

使用道具 舉報

ID:825816 發表于 2020-10-5 11:41 | 顯示全部樓層
加熱指示燈咋一直閃呀
回復

使用道具 舉報

ID:432653 發表于 2020-10-13 01:21 | 顯示全部樓層
里面啥都沒有
回復

使用道具 舉報

ID:328014 發表于 2020-10-13 01:26 | 顯示全部樓層

是的,就是一個仿真圖加上網頁上的程序
回復

使用道具 舉報

ID:507257 發表于 2020-11-13 15:07 | 顯示全部樓層
51hei團團 發表于 2020-10-13 01:26
是的,就是一個仿真圖加上網頁上的程序

模塊化的程序  網頁的是主函數的程序
回復

使用道具 舉報

ID:507257 發表于 2020-11-13 15:08 | 顯示全部樓層

模塊化編程 網頁上的是主函數程序

評分

參與人數 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

ID:250631 發表于 2021-1-6 18:05 | 顯示全部樓層
良心資源,很有參考學習價值,感謝樓主的無私分享。
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧美精品一区二区在线观看 | 欧美无乱码久久久免费午夜一区 | 国产免费又色又爽又黄在线观看 | 国产黄色大片网站 | 国产一区二区三区在线 | 亚洲第一在线 | 精品国产一区二区在线 | a级大片免费观看 | 国产美女精品 | 欧美国产一区二区 | 国产成人免费视频网站高清观看视频 | 国精产品一区一区三区免费完 | 久久久久久国产精品免费免费狐狸 | 综合五月婷 | 欧美久久精品一级c片 | 欧美1区2区 | 日韩1区| 欧美一级免费 | 黄色一级大片在线观看 | 午夜一区二区三区在线观看 | 中文字幕精品一区二区三区精品 | 久久免费精彩视频 | 亚洲狠狠| 国产一区欧美一区 | 国产高潮好爽受不了了夜夜做 | 成人在线一区二区三区 | 911网站大全在线观看 | 精品久久久久久久久久久 | 久久69精品久久久久久久电影好 | 亚洲精品久久久一区二区三区 | 国产一级片精品 | 国产成人综合网 | 亚洲视频免费观看 | 国产精品av久久久久久毛片 | 午夜天堂精品久久久久 | 精品二区| 精品国产一区二区国模嫣然 | 华人黄网站大全 | 日韩视频专区 | 欧美精品在线播放 | 国产情品 |