1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64
| // // ---------------------------------------------------------------- // GND 电源地 // VCC 接5V或3.3v电源 // D0 P1^0(SCL) // D1 P1^1(SDA) // ----------------------------------------------------------------
//\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*/ #include "REG51.h" #include "oled.h" #include <DTH11.h> #define uchar unsigned char #define uint unsigned int uchar i;
uchar wendu [4]; uchar shidu [4];
int main(void) { OLED\_Init(); //初始化OLED OLED\_Clear() ;
while(1) { OLED\_Clear(); OLED\_ShowCHinese(18,0,0);//温 OLED\_ShowCHinese(36,0,1);//湿 OLED\_ShowCHinese(54,0,2);//度 OLED\_ShowCHinese(72,0,3);//监 OLED\_ShowCHinese(90,0,4);//测 OLED\_ShowCHinese(26,3,0); OLED\_ShowCHinese(44,3,2); OLED\_ShowCHinese(26,6,1); OLED\_ShowCHinese(44,6,2); OLED\_ShowChar(62,3,':',16);//显示ASCII字符 OLED\_ShowChar(62,6,':',16);//显示ASCII字符 DHT11\_delay\_ms(100); DHT11\_receive(); for(i=0;i<7;i++) { if(i<=2) { shidu[i]= rec_dat[i]; //读取湿度 } if(i>=4) { wendu[i-4] = rec_dat[i]; } OLED\_ShowString(70,3,wendu,16); OLED\_ShowCHinese(104,3,5); //显示℃符号 OLED\_ShowString(70,6,shidu,16); OLED\_ShowChar(104,6,'%',16); delay\_ms(1000); } } }
|