资源简介
stc12单片机驱动DHT11温湿度传感器 工作晶振12M
代码片段和文件信息
#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程序
相关资源
- STC12C2052AD的参考例程
- 用于jz2440的dht11驱动
- 基于Zigbee协议栈的DHT11串口实验
- DHT11 温湿度传感器1602显示 可用程序
- ZY刷单版
- 基于STC12C5 A60S2的矿用多参数传感器硬
- 51单片机DHT11程序
- 贴片STC12C5A60S2的原理图和PCB库
- Arduino DHT11
- dht11头文件
- 基于stc15f2k61s2的dht11+oled实时监测的单
- Arduino DHT11温湿度传感器库文件
- STC12C5A60S2 实现双串口应用及红外解析
- STC12C5A60S2自带ADC采集电压信号+DS18B2
- ALIENTEK MiniSTM32 DHT11 温湿度传感器模块
- 基于STC89C52RC和STC12C5A60S2单片机的DHT
- 湿度传感器DHT11在CPLD下的verilog代码
- 基于51单片机的DHT11温湿度测量报警系
- STC89C51单片机温湿度DHT11检测仪环境检
- STM32F103C8T6+DHT11+SGP30+CH340
- 基于51单片机和DHT11的温湿度检测设计
- STC12C5A60S2的原理图库和PCB库
- STC12C5A60S2-LQFP48 AD原理图库
- ESP8266_NONOS_SDK-3.0MQTT - aliyun.rar
- 基于树莓派的无线远程温湿度数字显
- STC12C5A60S2封装库
- DHT11 STC89C52 温湿度传感器
- 51单片机DHT11数码管显示程序
- STC12C5A60S2单片机各个模块程序代码
- CC2530驱动DHT11自己整理编写简单易懂
评论
共有 条评论