欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

基于AT89C51的溫濕度檢測系統設計與實現

[復制鏈接]
跳轉到指定樓層
樓主
ID:467963 發表于 2020-7-27 03:16 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
https://www.bilibili.com/video/BV1Wz411v7Ks
b站視頻演示

單片機源程序如下:
  1. #include "reg51.h"
  2. #include "lcd1602.h"
  3. #include "dht11.h"
  4. #include "delay.h"
  5. #include <stdlib.h>
  6. #include <stdio.h>
  7. #include <string.h>
  8. #include "keyscanner.h"
  9. sbit led1=P0^1;
  10. sbit led2=P0^2;
  11. unsigned char DHT[5];
  12. int RH,T,key_num;
  13. int set_T=25,set_RH=80;
  14. extern char  str_key[10];
  15. char str_RH[10],str_T[10],str_key_num[10];
  16. char str_RH_set[10],str_T_set[10];
  17. void GET_VAR(int num);
  18. void SET_VAR(int num);//num:0為濕度,num:1為溫度
  19. void display_all();
  20. void main()
  21. {
  22.         LCD_init();
  23.         DHT_Start();
  24.         delay_ms(1);
  25.         while(1)
  26.         {
  27.                 display_all();
  28.                 key_num=key_scan();
  29.                 if(key_num==12)
  30.                 {
  31.                         LCD_write_command(0x01);
  32.                         set_T=set_T+1;
  33.                         //SET_VAR(2);
  34.                        
  35.                 }
  36.                 else if(key_num==16)
  37.                 {
  38.                         LCD_write_command(0x01);
  39.                         set_T=set_T-1;
  40.                 }
  41.                 if(key_num==4)
  42.                 {
  43.                         LCD_write_command(0x01);
  44.                         set_RH=set_RH+1;
  45.                         //SET_VAR(2);
  46.                        
  47.                 }
  48.                 else if(key_num==8)
  49.                 {
  50.                         LCD_write_command(0x01);
  51.                         set_RH=set_RH-1;
  52.                 }
  53.                 if(set_T<T)
  54.                 {
  55.                         led1=0;
  56.                 }
  57.                 else
  58.                 {
  59.                         led1=1;
  60.                 }
  61.                 if(set_RH<RH)
  62.                 {
  63.                         led2=0;
  64.                 }
  65.                 else
  66.                 {
  67.                         led2=1;
  68.                 }
  69.         }
  70. }
  71. void GET_VAR(int num)//num:0為濕度,num:2為溫度
  72. {
  73.         DHT_Start();
  74.         DHT_ByteRead(DHT);
  75.         if(num==0)
  76.         {
  77.                 RH=DHT[0];//rh:濕度
  78.                 sprintf(str_RH,"RH:%d%%",RH);
  79.                 LCD_dsp_string(1,1,str_RH);//濕度
  80.         }
  81.         else if(num==2)
  82.         {
  83.                 DHT_Start();
  84.                 DHT_ByteRead(DHT);
  85.                 T=DHT[2];//T
  86.                 sprintf(str_T," T:%dC",T);
  87.                 LCD_dsp_string(7,1,str_T);//溫度
  88.         }
  89. }
  90. void SET_VAR(int num)//num:0為濕度,num:1為溫度
  91. {
  92.         if(num==0)
  93.         {
  94.                 sprintf(str_RH_set,"RH:%d%%",set_RH);
  95.                 LCD_dsp_string(1,2,str_RH_set);//濕度
  96.         }
  97.         else if(num==2)
  98.         {
  99.                 sprintf(str_T_set," T:%dC",set_T);
  100.                 LCD_dsp_string(7,2,str_T_set);//溫度
  101.         }
  102. }
  103. void display_all()
  104. {
  105.         GET_VAR(0);
  106.         GET_VAR(2);
  107.         SET_VAR(0);
  108.         SET_VAR(2);
  109. }
復制代碼

所有資料51hei提供下載:
基于AT89C51的溫濕度檢測系統設計與實現.zip (118.54 KB, 下載次數: 53)


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

使用道具 舉報

沙發
ID:974551 發表于 2022-5-29 15:51 | 只看該作者
為什么下載的hex文件可以正常仿真,但編譯keil工程后的hex文件不能呢,是keil版本的問題嗎
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表