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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

基于單片機的溫濕度控制 main程序是否正確 求幫助

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:319018 發(fā)表于 2018-4-29 17:20 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
#include <reg52.h>
#include "dht11.h"
#include "1602.h"
#include "delay.h"
sbit SET=P1^0;
sbit INC=P1^1;
sbit DEC=P1^2;
sbit Buzzer = P2^0;
sbit KM_T = P3^7;
sbit KM_W = P3^5;
void keyset();
unsigned char TD=0;
unsigned int TH=30;
unsigned int TL=20;
unsigned int WL=25;
unsigned int WH=70;
extern unsigned char temp_value,humi_value;
extern        void disptem();
extern        void dispwet();
/*******????????**********/
void timerinit()
{
TMOD=0x01;
TH0=-(10000/256);
TL0=-(10000%256);
EA=1;
ET0=1;
}
/*****???0????,????10ms****/
timer0() interrupt 1
{
TD++;
if(TD>=100)
{ TH0=-(10000/256);
   TL0=-(10000%256);
   TR0=0;
   TD=0;
  }
   keyset();
   TH0=-(10000/256);
   TL0=-(10000%256);
}
/*****???????******/
void bell()
{
if((temp_value>TH)||(temp_value<TL))  
   {
   Buzzer = 0;
   Delayms(10);
   }
   else  Buzzer = 1;
if((humi_value>WH)||(humi_value<WL))
   {
   Buzzer = 0;
   Delayms(10);
   }
   else  Buzzer = 1;
}
void FM_W()
{
if(humi_value < WL)
KM_W = 0;
if(humi_value > WH)
KM_W = 1;
}
void FM_T()
{
if(temp_value <TL)
KM_T = 0;
if(temp_value >TH)
KM_T = 1;
}
/*********???***********/
void main()
{
  Buzzer = 1;
  KM_T   = 1;
  KM_W   = 1;
  LCD_Init();            //?????
  Delayms(10);           //???????
  Lcd_Userchar();             //???????
  LCD_Wstring(0,0,"Tem:");
  LCD_Wchar(6,0,0x01);  //????????
  LCD_Wchar(7,0,'C');
  LCD_Wstring(9,0,"H30");
  LCD_Wstring(13,0,"L20");
  LCD_Wstring(0,1,"Wet:");
  LCD_Wstring(6,1,"%R");
  LCD_Wstring(9,1,"H70");
  LCD_Wstring(13,1,"L25");
  timerinit();
  while(1)
  {
         Read_DHT11();
         disptem();
         dispwet();
         Delayms(500);
     TR0=1;
         bell();
         FM_W();
         FM_T();
  }
}
/*************??????***************/
void keyset()
{
   unsigned char setcount;
   if(SET==0)
          {
           Delayms(10);
           while(SET==0);
           setcount++;
          }
    switch(setcount)
        {  
         case 1:
            {
             char displaynum_1[8];
                 INC=1;
                 DEC=1;
                 if((INC==0)&(TH<50))
                {     
                 TH++;
                 while(INC==0);
                }
       else if((DEC==0)&(TH>TL))
           {  
                  TH--;
                  while(DEC==0);
           }
     sprintf(displaynum_1,"%2i",TH);
     LCD_Wstring(10,0,displaynum_1);
         LCD_Wcom(0x80+11);
         LCD_Wcom(0x0f);
         }break;
         case 2:
         {
          char displaynum_2[8];
          INC=1;
          DEC=1;
          if((INC==0)&(TL<TH))
              {
            if(INC==0)
                {
            TL++;
                while(INC==0);
                }
           }
          else if((DEC==0)&(TL>0))
          {
           if(DEC==0)
           TL--;
           while(DEC==0);
          }
        sprintf(displaynum_2,"%2i",TL);
    LCD_Wstring(14,0,displaynum_2);
    LCD_Wcom(0x80+15);
    LCD_Wcom(0x0f);
      }
   break;
   case 3:
   {
    char displaynum_3[8];
    INC=1;
        DEC=1;
        if((INC==0)&(WH<95))
              {
            WH++;
                while(INC==0);
           }
          else if((DEC==0)&(WH>WL))
          {
           WH--;
           while(DEC==0);
          }
        sprintf(displaynum_3,"%2i",WH);
    LCD_Wstring(10,1,displaynum_3);
        LCD_Wcom(0x80+0x40+11);
        LCD_Wcom(0x0f);
   }
        break;
case 4:
   {
    char displaynum_4[8];
    INC=1;
        DEC=1;
        if((INC==0)&(WL<WH))
              {
            WL++;
                while(INC==0);
           }
          else if((DEC==0)&(WL>0))
          {
           WL--;
           while(DEC==0);
          }
        sprintf(displaynum_4,"%2i",WL);
    LCD_Wstring(14,1,displaynum_4);
    LCD_Wcom(0x80+0x40+15);
        LCD_Wcom(0x0f);
   }
        break;  
   case 5:
   {
    setcount=0;
        LCD_Wcom(0x0c);
   }
   break;
   default :break;
   }
}

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

使用道具 舉報

沙發(fā)
ID:303383 發(fā)表于 2018-4-29 18:49 | 只看該作者
提示: 作者被禁止或刪除 內(nèi)容自動屏蔽
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 美国黄色毛片 | 免费国产视频在线观看 | 中文字幕av中文字幕 | 国产91精品久久久久久久网曝门 | 欧美日韩在线观看视频 | 精品视频成人 | 精品国产一区二区三区性色 | 日韩精品一区二区三区久久 | 国产欧美在线一区二区 | 国产精品视频免费看 | 黄色大片在线视频 | 男女久久久 | 中文字幕在线观看第一页 | 伊人色综合久久天天五月婷 | 久久国产精品精品国产色婷婷 | av电影手机在线看 | 亚洲成人精品在线观看 | 国产亚洲人成a在线v网站 | 日韩视频成人 | 97中文视频 | 国产精品国产三级国产aⅴ中文 | 精品久久久一区二区 | 国产精品视频免费看 | 成人黄色av网址 | 国产成人久久精品一区二区三区 | 久久91精品国产一区二区 | 国产精品久久久久免费 | 二区在线视频 | 人人人人干| 久久久精品综合 | 精品国产女人 | 国产精品亚洲精品日韩已方 | 久久久久黑人 | 国产伦一区二区三区视频 | 国产在线观看网站 | 久久精品亚洲精品国产欧美 | 亚洲三区视频 | 久久人人网 | 91成人精品视频 | 国产黄色一级片 | 亚洲精品乱码久久久久久9色 |