dth11温湿度传感器的单片机程序

发布者:BeaLaity0170最新更新时间:2015-07-09 来源: 51hei关键字:dth11  温湿度传感器  单片机 手机看文章 扫描二维码
随时随地手机看文章
#include
#define uint unsigned int
#define uchar unsigned char
typedef bit BOOL  ;
sbit io = P1^0 ;
sbit rs = P2^4 ;
sbit rw = P2^5 ;
sbit ep = P2^6 ;
uchar data_byte;
uchar RH,RL,TH,TL;
/
************************************************延时模块***************************************************/
void delay(uchar ms)
{       // 延时子程序
  uchar i ;
  while(ms--)
  {
    for(i = 0 ; i<250;i++) ;
  }
}
void delay1()//延时10us
{
 uchar i;
 i--;
 i--;
 i--;
 i--;
 i--;
 i--;
}
void longdelay(uchar s) //长延时
{
  while(s--)
  {
    delay(60) ;
  }
}
/
***********************************************LCD模块********************************************************/
BOOL lcd_bz()//测试LCD忙碌状态
{     
  BOOL result ;
  rs = 0 ;
  rw = 1 ;
  ep = 1 ;
  result = (BOOL)(P0 & 0x80) ;
  ep = 0 ;
  return result ;
}
void write_cmd(uchar cmd)// 写指令
{      
  while(lcd_bz()) ;
 rs = 0 ;
 rw = 0 ;
 ep = 0 ;
 P0 = cmd ;
 ep = 1 ;
 ep = 0 ; 
}
void write_addr(uchar addr)//写地址
{      
  write_cmd(addr|0x80) ;
}
void write_byte(uchar dat)//写字节
{     
  while(lcd_bz()) ;
   rs = 1 ;
   rw = 0 ;
   ep = 0 ;
   P0 = dat ;
   ep = 1 ;
   ep = 0 ;
}
void lcd_init()// 初始化
{      
  write_cmd(0x38) ;
  delay(1);
  write_cmd(0x08) ; 
  delay(1);
  write_cmd(0x01) ;
  delay(1);
  write_cmd(0x06) ;
  delay(1);
  write_cmd(0x0c) ;
  delay(1);
}
void display(uchar addr, uchar q)//在某一地址上显示一字节
{  
  delay(10) ;
  write_addr(addr) ;
     write_byte(q) ;
  longdelay(2) ;
 
}
/
************************************************ DHT11测试模块***********************************************/
void start()//开始信号
{
 io=1;
 delay1();
 io=0;
 delay(20);//>18ms
 io=1;
 delay1();//20-40us
 delay1();
 delay1();
 delay1();
 delay1();
}
uchar receive_byte()//接收一个字节
{
 uchar i,temp,count;
 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_H,T_L,R_H,R_L,check,num_check;
 uchar count;
 start();//开始信号
 io=1;
 if(!io)//读取DHT11响应信号
 {
 count=2;
 while((!io)&&count++);//DHT11高电平80us是否结束
 count=2;
 while((io)&&count++);
 R_H=receive_byte();
 R_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=R_H+R_L+T_H+T_L;
 if(num_check=check)
 {
  RH=R_H;
  RL=R_L;
  TH=T_H;
  TL=T_L;
  check=num_check;
 }
 }
}
/*******
*************************************************主函数****/
void main()
{
 lcd_init();
 delay(10);
 while(1)
 {
   receive();
   delay(100);
   display(0x00,'R') ;
   display(0x01,':');
   display(0x02,RH/10+0x30);
   display(0x03,RH%10+0x30);
   display(0x04,'%');
   display(0x40,'T') ;
   display(0x41,':');
   display(0x42,TH/10+0x30);
   display(0x43,TH%10+0x30);
   display(0x44,0xdf);
   display(0x45,0x43);
  
 }
}/**********************************************/
关键字:dth11  温湿度传感器  单片机 引用地址:dth11温湿度传感器的单片机程序

上一篇:单片机c语言之矩阵按键
下一篇:STC12C5A60S2的ADC+PWM功能

推荐阅读最新更新时间:2024-03-16 14:24

51单片机|8个按键控制8个LED灯实现8种功能
任务描述: S1:LED灯全亮; S2:D1、D3、D5、D7亮,然后D2、D4、D6、D8再亮; S3:D5、D6、D7、D8亮; S4:D1、D2、D3、D4亮; S5:D2、D4、D6、D8亮; S6:D1、D3、D5、D7亮; S7:D3、D4、D7、D8亮; S8:D1、D2、D5、D6亮。 硬件电路图: 程序: #include reg51.h void delay(unsigned char i); void main() { unsigned char ledctr; P3=0xff; while(1) { ledctr=P3; switch(ledctr) { case 0xff:P1
[单片机]
51单片机 带修改错误功能的计算器
utilities.h #ifndef UTILITIES_H_INCLUDED #define UTILITIES_H_INCLUDED typedef unsigned char uchar, BYTE, uint8; typedef unsigned int uint, WORD, uint16; typedef unsigned long ulong, DWORD, uint32; typedef char int8; typedef int int16; typedef long int32; typedef unsigned char * uchar_p; typedef
[单片机]
51单片机秒表C程序
本程序所用的原理图下载: 点这里 ,单片机芯片使用的stc89c52;电路找到相应部分即可.这是一整个单片机开发板的电路图其他的忽略. 本程序的keil工程下载: http://www.51hei.com/f/miaobiao.rar 以下是通过测试的源代码: /* *功能:用定时器0实现秒表,实现60秒定时,精确度为1毫秒 * 利用key1独立按键实现定时器的启动和停止, * 利用key2独立按键实现秒表的清零; *日期:2013-03-24 *作者:徐冉 *注意事项:若打开两个定时器时,必须使用两个定时器, * 否则两个定时器都不工作!!! **/ /**********stc89C52-RC 51hei单片机实验板
[单片机]
台媒:MCU报价开始雪崩
据台媒经济日报报道,半导体芯片砍单降价风暴扩大,先前价格相对硬挺、供不应求的微控制器(MCU)开始出现报价雪崩潮,尤以台厂锁定的消费型应用价格压力最大,大陆市场更传出全球前五大MCU厂产品价格腰斩的消息,新唐、盛群、松翰等业者后市承压。 MCU成为继驱动IC、部分电源管理IC与CIS图像传感器市况反转之后,又一面临砍单降价压力的关键芯片,透露半导体市场供不应求盛况快速退烧,原本狂缺的芯片在客户端重复下单后,近期受通膨、战争、升息等压力导致需求不如预期,开始大刀砍库存、降价出清。 去年全球大闹芯片荒,MCU也是当红炸子鸡,推升相关厂商营运同步改写新猷。台湾MCU龙头新唐去年获利暴增逾5.5倍,每股纯益7.27元;盛群获利逼近
[半导体设计/制造]
基于单片机高精度温度测量的补偿方法
长期以来,人们在测量温度时,大部分使用常规的测量方法测量。检测精度要求较高时,调理电路复杂、A/D的位数高,使设计的系统成本居高不,很难普及。随着电子技术的发展,出现了很多功能完备的低功耗、低电压大规模集成电路,为设计便携式高精度测温系统提供了硬件基础。本文介绍的高精度便携式测温仪,使用了非常适合作低功耗便携式测试设备美国TI公司的MSP430P325为控制器,用Pt500铂电阻完成温度检测,检测的温度通过液晶显示器显示。本测试仪的测温精度达到0。03℃。 硬件电路设计 MSP430P325单片机内部集成了可切换的精密恒流源。精密恒流源的电流大小由外部精密电阻确定,同时内部又集成了6个14位的A/D转换器和液晶控制器。这样的内
[单片机]
芯钛科技完成新一轮融资,推动高性能车规MCU产品量产
8月3日消息,近日,上海芯钛信息科技有限公司(简称“芯钛科技”)继战略轮之后完成新一轮融资,重庆渝富资本领投。截至目前,芯钛科技已完成共计5轮融资,已获包括上汽、广汽、方广资本、深圳投控东海、火山石资本、上海国策等资本加持。 据悉,芯钛科技正全面开启高性能车规MCU产品的量产之路,填补国产高性能车规级控制芯片领域空白,率先实现国产技术突破。 资料显示,芯钛科技专注于面向汽车行业提供完整的芯片应用解决方案,产品包括Mizar安全芯片系列、Alioth通用MCU系列、Phecda外围设备系列等,产品应用涵盖了底盘控制、车身电子、智能网联、辅助驾驶等各类汽车电子应用需求。其量产芯片产品已与国内外主流Tier1及整车厂广泛合作,累
[汽车电子]
芯钛科技完成新一轮融资,推动高性能车规<font color='red'>MCU</font>产品量产
RC500读卡单片机源程序
#define __MAIN_H #include main.h #undef __MAIN_H #include string.h #include stdio.h #include absacc.h #include intrins.h #include AT89S52.h #include RICReg.H #include m500a.H #include PICCCmdConst.h #include MfErrNo.h #define uchar unsigned char #define uint unsigned int //#define DataPort P0 // 并行数据接口 /
[单片机]
基于STM32单片机的电子称设计
摘要 电子秤是将检测与转换技术、计算机技术、信息处理、数字技术等技术综合一体的现代新型称重仪器。它与我们日常生活紧密结合息息相关。 电子称主要以单片机作为中心控制单元,通过称重传感器进行模数转换单元,在配以键盘、显示电路及强大软件来组成。电子称不但计量准确、快速方便,更重要的自动称重、数字显示,对人们生活的影响越来越大,广受欢迎。 本系统的设计主要从硬件电路设计,软件编程调试,实物焊接调试三部分进行详细阐述。硬件电路主要是基于单片机为核心的控制单元实现数据的处理,采用压力传感器对数据进行采集,电子秤专用24位AD转换芯片HX711对传感器采集到的模拟量进行AD转换,转换后的数据送到单片机进行处理显示,数据显示由LCD160
[单片机]
基于STM32<font color='red'>单片机</font>的电子称设计
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved