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

標題: STC15W4K32S4單片機DHT11多功能數顯溫濕度計源碼 [打印本頁]

作者: lx123456    時間: 2018-3-23 21:21
標題: STC15W4K32S4單片機DHT11多功能數顯溫濕度計源碼
該設計采用的是LCD1602顯示,DHT11溫濕度傳感器采集環境中的溫濕度,同時采用DS1302時鐘模塊顯示當前日期和時間。

單片機源程序如下:
  1. #include "lcd1602.h"
  2. #include "dht11.h"
  3. #include "ds1302.h"

  4. unsigned char Table_LCD[]="0123456789";

  5. void IO_Init()
  6. {
  7.         /////////////////////////////////////////////////
  8.         //注意: STC15W4K32S4系列的芯片,上電后所有與PWM相關的IO口均為
  9.         //      高阻態,需將這些口設置為準雙向口或強推挽模式方可正常使用
  10.         //相關IO: P0.6/P0.7/P1.6/P1.7/P2.1/P2.2
  11.         //        P2.3/P2.7/P3.7/P4.2/P4.4/P4.5
  12.         /////////////////////////////////////////////////
  13.         P0M1 = 0;        P0M0 = 0;        //設置P0.0~P0.7為準雙向口
  14.         P1M1 = 0;        P1M0 = 0;        //設置P1.0~P1.7為準雙向口
  15.         P2M1 = 0;        P2M0 = 0;        //設置P2.0~P2.7為準雙向口
  16.         P3M1 = 0;        P3M0 = 0;        //設置P3.0~P3.7為準雙向口
  17.         P4M1 = 0;        P4M0 = 0;        //設置P4.0~P4.7為準雙向口
  18.         P5M1 = 0;        P5M0 = 0;        //設置P5.0~P5.7為準雙向口
  19. }

  20. void main()
  21. {
  22.         unsigned char val;
  23.         IO_Init();
  24.         LCD_Init();
  25.         init_ds1302();
  26.         while(1)
  27.         {
  28.                 GetDHT11_Data();
  29.                 val=(tempH+tempL+humyH+humyL)&0xff;
  30.                 if(val==CheckData)
  31.                 {
  32.                         //顯示濕度
  33.                         Write_ComLCD1602(0x80+13);
  34.                         Write_DatLCD1602(Table_LCD[humyH/10]);
  35.                         Write_ComLCD1602(0x80+14);
  36.                         Write_DatLCD1602(Table_LCD[humyH%10]);
  37.                         Write_ComLCD1602(0x80+15);
  38.                         Write_DatLCD1602('%');
  39.                        
  40.                         //顯示溫度
  41.                         Write_ComLCD1602(0x80+0x40+13);
  42.                         Write_DatLCD1602(Table_LCD[tempH/10]);
  43.                         Write_ComLCD1602(0x80+0x40+14);
  44.                         Write_DatLCD1602(Table_LCD[tempH%10]);
  45.                         Write_ComLCD1602(0x80+0x40+15);
  46.                         Write_DatLCD1602('C');
  47.                 }
  48.                 read_ds1302();
  49.                 //顯示年
  50.                 Write_ComLCD1602(0x80);
  51.                 Write_DatLCD1602('2');
  52.                 Write_ComLCD1602(0x81);
  53.                 Write_DatLCD1602('0');
  54.                 Write_ComLCD1602(0x82);
  55.                 Write_DatLCD1602(Table_LCD[time_shi[6]]);
  56.                 Write_ComLCD1602(0x83);
  57.                 Write_DatLCD1602(Table_LCD[time_ge[6]]);
  58.                
  59.                 Write_ComLCD1602(0x84);
  60.                 Write_DatLCD1602('/');
  61.                
  62.                 //顯示月
  63.                 Write_ComLCD1602(0x85);
  64.                 Write_DatLCD1602(Table_LCD[time_shi[4]]);
  65.                 Write_ComLCD1602(0x86);
  66.                 Write_DatLCD1602(Table_LCD[time_ge[4]]);
  67.                
  68.                 Write_ComLCD1602(0x87);
  69.                 Write_DatLCD1602('/');
  70.                
  71.                 //顯示日
  72.                 Write_ComLCD1602(0x88);
  73.                 Write_DatLCD1602(Table_LCD[time_shi[3]]);
  74.                 Write_ComLCD1602(0x89);
  75.                 Write_DatLCD1602(Table_LCD[time_ge[3]]);
  76.                
  77.                 //顯示星期
  78.                 Write_ComLCD1602(0x80+11);
  79.                 Write_DatLCD1602(Table_LCD[time_ge[5]]);
  80.                
  81.                 //顯示時
  82.                 Write_ComLCD1602(0x80+0x40);
  83.                 Write_DatLCD1602(Table_LCD[time_shi[2]]);
  84.                 Write_ComLCD1602(0x80+0x41);
  85.                 Write_DatLCD1602(Table_LCD[time_ge[2]]);
  86.                
  87.                 Write_ComLCD1602(0x80+0x42);
  88.                 Write_DatLCD1602(':');
  89.                
  90.                 //顯示分
  91.                 Write_ComLCD1602(0x80+0x43);
  92.                 Write_DatLCD1602(Table_LCD[time_shi[1]]);
  93.                 Write_ComLCD1602(0x80+0x44);
  94.                 Write_DatLCD1602(Table_LCD[time_ge[1]]);
  95.                
  96.                 Write_ComLCD1602(0x80+0x45);
  97.                 Write_DatLCD1602(':');
  98.                
  99.                 //顯示秒
  100.                 Write_ComLCD1602(0x80+0x46);
  101.                 Write_DatLCD1602(Table_LCD[time_shi[0]]);
  102.                 Write_ComLCD1602(0x80+0x47);
  103.                 Write_DatLCD1602(Table_LCD[time_ge[0]]);
  104.         }
  105. }
復制代碼

所有資料51hei提供下載:
多功能數顯溫濕度計.zip (48.31 KB, 下載次數: 172)



作者: wuxishun    時間: 2018-3-24 18:06
好資料,謝謝分享
作者: 秋水長天    時間: 2018-3-25 21:39
學習一下,挺好的
作者: 2389378677    時間: 2021-6-7 20:42
有原理圖嗎
作者: 探險家的15    時間: 2021-12-6 15:36
我使用oled12864單獨只顯示溫濕度,需要刪除那些程序?






歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 黄色av免费 | 国产精品久久久久久久久免费相片 | 狠狠色综合网站久久久久久久 | 国产精品a久久久久 | 伊人性伊人情综合网 | 成人一区在线观看 | 理论片免费在线观看 | 欧美日韩在线一区二区 | 国产一区二区三区不卡av | 一区二区三区四区不卡 | 天天操夜夜爽 | 亚洲免费观看视频 | 一区二区三区精品视频 | 亚洲免费一区二区 | 中文字幕乱码一区二区三区 | 亚洲精品电影在线观看 | 888久久久 | 日韩有码一区 | 日韩在线小视频 | 污免费网站 | 国产精品一区二区三区在线播放 | 久久国产免费看 | 日韩一级免费电影 | 亚洲一区免费 | 成人网在线观看 | 国产日韩精品视频 | 岛国毛片 | 少妇黄色 | 欧美中文字幕 | 日本在线精品视频 | av一级| 日韩久久网| 欧美一区二区三区在线看 | 久久一区精品 | 中文字幕在线一区二区三区 | 亚洲品质自拍视频 | 在线啊v | 成人国产免费观看 | 国产精品欧美一区二区三区不卡 | 久久精品色欧美aⅴ一区二区 | 欧美日韩一区在线 |