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

QQ登錄

只需一步,快速開(kāi)始

帖子
查看: 3202|回復(fù): 2
收起左側(cè)

單片機(jī)檢測(cè)溫濕度

[復(fù)制鏈接]
ID:239345 發(fā)表于 2017-10-22 15:45 | 顯示全部樓層 |閱讀模式
芯片用到了STC12,顯示屏是16
  1. #include<STC12C5A60S2.h>
  2. #include <intrins.h>
  3. #include <Lcd_1602.h>
  4. #include <Time_Delay.h>
  5. #include"DHT11.h"

  6. sbit wd_key1=P3^4;
  7. sbit wd_key2=P3^5;
  8. sbit sd_key1=P3^6;
  9. sbit sd_key2=P3^7;

  10. sbit jr_jdq=P2^0;
  11. sbit js_jdq=P2^1;
  12. sbit fs_jdq=P2^2;
  13. void key_sm(void);

  14. extern float F16T,F16RH;   //全局變量聲明
  15. unsigned wd_num=20,sd_num=50,t;
  16. void main ()
  17. {
  18.   Init_Lcd();
  19.   LCD_write_str(0,1,"4561def135");         //液晶預(yù)顯示測(cè)試
  20.   LCD_value(0,0,34.345);
  21.   Delay_ms(200);

  22.   Init_Lcd();

  23.     TMOD=0X01;                                //設(shè)置定時(shí)器0為模式一,即16位計(jì)算模式
  24.         TH0=(65536-50000)/256;        //給計(jì)數(shù)寄存器賦值,
  25.         TL0=(65536-50000)%256;
  26.         EA=1;                //開(kāi)啟總中斷
  27.         ET0=1;                //開(kāi)啟定時(shí)器0中斷
  28.         TR0=1;                //啟動(dòng)定時(shí)器0
  29.     while(1)
  30.   {
  31.   
  32.   getDHT11();
  33.   key_sm();
  34.   LCD_write_str(0,0,"T=");
  35.   LCD_value(3,0,F16T);  LCD_write_str(7,0,"\"C");       //字符" 應(yīng)用轉(zhuǎn)義格式
  36.   LCD_write_str(10,0," ");LCD_value(11,0,wd_num);
  37.    LCD_write_str(0,1,"RH=");
  38.   LCD_value(4,1,F16RH);          LCD_write_str(8,1,"%");
  39.   LCD_write_str(10,1," ");LCD_value(11,1,sd_num);
  40.   Delay_ms(100);
  41.   if(t>20)
  42.   {       
  43.   if(F16T<wd_num)
  44.    {jr_jdq=0;}else jr_jdq=1;
  45.    if(F16RH<sd_num)       
  46.    {js_jdq=0;}else js_jdq=1;
  47.    if((F16T>wd_num)&(F16RH>sd_num))
  48.    {fs_jdq=0;} else fs_jdq=1;
  49.    t=0;
  50.   // Delay_ms(100);
  51.   }
  52.   }
  53.   }

  54. void key_sm(void)
  55. {
  56.    
  57.    if(wd_key1==0)
  58.    {
  59.    while(!wd_key1);
  60.    wd_num=wd_num+1;}
  61.    if(wd_key2==0)
  62.    {
  63.    while(!wd_key2);
  64.    wd_num=wd_num-1;}

  65.    if(sd_key1==0)
  66.    {
  67.    while(!sd_key1);
  68.    sd_num=sd_num+1;}
  69.    if(sd_key2==0)
  70.    {
  71.    while(!sd_key2);
  72.    sd_num=sd_num-1;}


  73. }
  74. //中斷函數(shù),關(guān)鍵字"interrupt" , 這是C語(yǔ)言的中斷函數(shù)表示法,1表時(shí)定地器0
  75. void timer() interrupt 1
  76. {
  77.    TH0=(65536-50000)/256;        //給計(jì)數(shù)寄存器賦值
  78.    TL0=(65536-50000)%256;
  79.    t++;
  80.    //key_sm();
  81.    
  82. }
復(fù)制代碼

02,溫濕度傳感器DHT11

DHT11溫濕度LCD1602.zip

43.48 KB, 下載次數(shù): 17, 下載積分: 黑幣 -5

回復(fù)

使用道具 舉報(bào)

ID:231936 發(fā)表于 2017-10-26 15:30 | 顯示全部樓層
給個(gè)電路圖
回復(fù)

使用道具 舉報(bào)

ID:379238 發(fā)表于 2018-8-11 15:00 | 顯示全部樓層
非常贊
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表