资源简介
stc12单片机驱动DHT11温湿度传感器 工作晶振12M
![](http://www.nz998.com/pic/41984.jpg)
代码片段和文件信息
#include
#include
#define uint unsigned int
#define uchar unsigned char
sbit io=P1^0;//DHT11数据端
uchar data_byte;
uchar HHHLTHTL;
void delay(uchar z) //10ms
{
uchar xy;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
void mdelay()
{
delay(255);
delay(255);
delay(255);
delay(255);
delay(255);
delay(255);
delay(255);
delay(255);
delay(255);
delay(255);
delay(255);
delay(255);
delay(255);
delay(255);
delay(255);
}
void delay1() //延时10us
{
char i;
for(i=0;i<6;i++)
{
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
}
}
void start()//开始信号
{
io=1;
delay1();
io=0;
delay(250);
delay(250);//>18ms
io=1;
delay1();//20-40us
delay1();
delay1();
}
uchar receive_byte()
{
uchar itempcount;
for(i=0;i<8;i++)
{
count=2;
while((!io)&&count++)//等待50us低电平结束
temp=0;
delay1();delay1();delay1();delay1();
if(io==1)
temp=1;
count=2;
while((io)&&count++);
if(count==1)
break;
data_byte<<=1;
data_byte|=temp;
}
return data_byte;
}
void receive()
{
uchar T_HT_LH_HH_Lchecknum_check;
uchar count;
start();//开始信号
if(!io)//读取DHT11响应信号
{
count=2;
while((!io)&&count++);//DHT11高电平80us是否结束
count=2;
while((io)&&count++);
H_H=receive_byte();
H_L=receive_byte();
T_H=receive_byte();
T_L=receive_byte();
check=receive_byte();
io=0;//拉低延时50us
delay1();delay1();delay1();delay1();delay1();
io=1;
num_check=H_H+H_L+T_H+T_L;
if(num_check=check)
{
HH=H_H;
HL=H_L;
TH=T_H;
TL=T_L;
check=num_check;
}
}
}
void main()
{
SCON=0x50;
BRT=0xfd; //11.0592下波特率为4800 fosc/12/32/(256-brt)
AUXR|=0x11;
while(1)
{
receive();
SBUF=HH/10+0x30;
while(!TI);
TI=0;
SBUF=HH%10+0x30;
while(!TI);
TI=0;
SBUF=‘ ‘;
while(!TI);
TI=0;
SBUF=TH/10+0x30;
while(!TI);
TI=0;
SBUF=TH%10+0x30;
while(!TI);
TI=0;
SBUF=‘ ‘;
while(!TI);
TI=0;
mdelay();
mdelay();
mdelay();
mdelay();
mdelay();
}
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2012-04-21 15:59 DHT11\
文件 7727 2012-04-21 14:04 DHT11\dht11
文件 2211 2012-04-21 14:04 DHT11\dht11.c
文件 1142 2012-04-21 14:04 DHT11\dht11.hex
文件 6561 2012-04-21 14:04 DHT11\dht11.LST
文件 10198 2012-04-21 14:04 DHT11\dht11.M51
文件 8665 2012-04-21 14:04 DHT11\dht11.OBJ
文件 1114 2012-04-21 15:59 DHT11\dht11.Opt
文件 170 2012-04-21 15:59 DHT11\dht11.plg
文件 2006 2012-04-21 01:56 DHT11\dht11.Uv2
文件 1112 2012-04-21 14:08 DHT11\dht11_Opt.Bak
文件 0 2012-04-21 00:22 DHT11\dht11_Uv2.Bak
- 上一篇:ADUC831实用资料
- 下一篇:STC单片机读取AT24C02程序
相关资源
- STC12C5A60S2 CH4521 驱动数码管 显示
- STC12C系列单片机函数库
- STM32+DHT11+OLED+RTC+MQ2+NRF24L01+串口12
- proteus仿真、keil4、DHT11、LCD1602
- DHT11 21 22库文件
- 基于zigbee温湿度传输及控制带wifiAPP查
- stm32之传感器DHT11.zip
- DS18B20温度+DHT11湿度+LCD1602
- DHT11温湿度传感器项目代码.rar
- STM32F103C8T6+DHT11+SGP30+CH340+ADC
- STM32F103C8T6+DHT11+OLED
- 基于STM32的DHT11的温湿度采集GSM报警系
- cc2530-contiki读取DHT11并发送数据例程
- STM32温湿度传感器DHT11代码,通过串口
- 基于proteus 的 STM32 采集DHT11 仿真 +
- DTH11温湿度显示在IIC_OLED上,好用,自
- STM32F103C8T6-DHT11温湿度传感器.rar
- 基于FPGA的DHT11的温湿度数据采集
- SampleApp_dht11.zip
- STM32-UCOSIII实战-----RTC+DHT11+按键+LCD显示
- 基于STC89C52的温湿度检测
- DHT11温湿度传感器例程
- 数字温湿度传感器DHT11详解及例程利用
- STM32DHT11程序
- 里程表 STM32+霍尔传感器+EEPROM+LCD+DHT
- stm32f103+dht11温湿度传感器例程
- DHT11.rar
- stc12c5a60s2 例程开发包
- 完整工程串口12、DHT11、BH1750、mh-z14
- 温湿度传感器DHT11资料+程序
评论
共有 条评论