IAP15F2K61S2单片机 + DHT11 亲测可以实现功能,欢迎大家下载
单片机源程序如下:
代码:
- #include <REGX51.H>
- #include <init.c>
- #include <DHT11.c>
- unsigned int cp,adc,cp1;
- char kk,mm,temp,hum;
- void display()
- {
- unsigned char j;
- P0 = 0xff;
- switch(j)
- {
- case 0:display_mm(0x01,0xc0);break;
- case 1:display_mm(0x02,0xc0);break;
- case 2:display_mm(0x04,seg[hum/10]);break;
- case 3:display_mm(0x08,seg[hum%10]);break;
- case 4:display_mm(0x10,0xbf);break;
- case 5:display_mm(0x20,0xbf);break;
- case 6:display_mm(0x40,seg[temp/10]);break;
- case 7:display_mm(0x80,seg[temp%10]);break;
- }j++;if(j >= 8) j = 0;
- }
- void T0_isr()interrupt 1
- {
- TH0 = (65536-2000)/256;
- TL0 = (65536-2000)%256;
- cp++;
-
- display();
- }
- void T0_init()
- {
- TMOD = 0x01;
- TH0 = (65536-2000)/256;
- TL0 = (65536-2000)%256;
- EA = 1;
- ET0 = 1;
- TR0 = 1;
- }
- void main()
- {
- T0_init();
- ULN2003(0x00);
- led(0x00);
- Delay1s();
- while(1)
- {
- if(cp >= 1000) //读取数据时间不能小于1秒 时间 > 1s
- {
- cp = 0;
- kk = GetData();//读取数据
- }
- if(kk == 0) //数据读取成功
- {
- hum = dat_r[0];
- temp = dat_r[2];
- }
- }
- }
所有资料51hei提供下载: