• 大小: 920KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-17
  • 语言: 其他
  • 标签: 1602显示  串口  

资源简介

经验证通过可用 89C52单片机读取 DHT11温湿度传感器数据 通过1602液晶显示 并通过串口发送数据

资源截图

代码片段和文件信息

//硬件连接: P2.0口为通讯口连接DHT1	  (结果:反应有点慢,小数部分为0,可能是原件问题)
#include 
//#include  
#define uchar unsigned char
#define uint unsigned int
typedef unsigned char  U8;       /* defined for unsigned 8-bits integer variable    无符号8位整型变量  */
typedef signed   char  S8;       /* defined for signed 8-bits integer variable    有符号8位整型变量  */
typedef unsigned int   U16;      /* defined for unsigned 16-bits integer variable    无符号16位整型变量 */
sbit  P2_0  = P1^6 ;
sbit  P2_1  = P2^1 ;
sbit rs=P1^0;
sbit rw=P1^1;
sbit en=P1^2;
//----------------定义区--------------------//
U8  U8FLAG;
U8  U8countU8temp;
U8  U8T_data_HU8T_data_LU8RH_data_HU8RH_data_LU8checkdata;
U8  U8T_data_H_tempU8T_data_L_tempU8RH_data_H_tempU8RH_data_L_tempU8checkdata_temp;
U8  U8comdata;    
uchar display[5] =   {0x000x000x000x000x00};
uchar display0[5] =   {0x000x000x000x000x00};
uchar display1[5] =   {0x000x000x000x000x00};
uchar display2[5] =   {0x000x000x000x000x00};
uchar table0[]={“Tem:“};
uchar table1[]={“Hty:“};
U8  outdata[5];  //定义发送的字节数    
U8  indata[5];
U8  count count_r=0;
U8  str[5]={“RS232“};
//延时函数
void Delay(U16 j)
{   
 U8 i;
 for(;j>0;j--)
 {  
  for(i=0;i<27;i++); 
 }
}  

void  Delay_10us(void)
{
 U8 i;
 i--;
 i--;
 i--;
 i--;
 i--;
 i--;
}

void delayms(uint ms){    
uint ij;
for(i=ms;i>0;i--)
for(j=110;j>0;j--);
}
void wcom(uchar com){  //写指令
   rw=0;
   rs=0;
   P0=com;
   delayms(5);
   en=1;
   delayms(5);
   en=0;
   }

void wdat(uchar dat){ //写数据
rw=0;
rs=1;
P0=dat;
delayms(5);
en=1;
delayms(5);
en=0;
}

void init(){   //初始化
uchar num;
wcom(0x38);     //初始化1206
wcom(0x0c);
wcom(0x06);
wcom(0x01);
wcom(0x80); //设置显示位置
for(num=0;num<4;num++)
{
wdat(table0[num]);
delayms(5);
}
wcom(0x80+0x40); //设置显示位置
for(num=0;num<4;num++)
{
wdat(table1[num]);
delayms(5);
}
    
}

void COM(void)   //串行总线  ,接收每字节数据
{

 U8 i;
 for(i=0;i<8;i++)    
 {
 
  U8FLAG=2;
  //----------------------
  P2_1=0 ;  //T
  P2_1=1 ;  //T
  //---------------------- 
  
  while((!P2_0)&&U8FLAG++);
  Delay_10us();
  Delay_10us();
  U8temp=0;
  if(P2_0)U8temp=1;
  U8FLAG=2;
  while((P2_0)&&U8FLAG++);
  
  //----------------------
  P2_1=0 ;  //T
  P2_1=1 ;  //T
  //----------------------
  //超时则跳出for循环    
  if(U8FLAG==1)break;
  //判断数据位是0还是1  
  
  // 如果高电平高过预定0高电平值则数据位为 1 
  
  U8comdata<<=1;
  U8comdata|=U8temp;        //0
 }//rof

}

 //--------------------------------
 //-----湿度读取子程序 ------------
 //--------------------------------
 //----以下变量均为全局变量--------
 //----温度高8位== U8T_data_H------
 //----温度低8位== U8T_data_L------
 //----湿度高8位== U8RH_data_H-----
 //----湿度低8位== U8RH_data_L-----
 //----校验 8位 == U8checkdata-----
 //----调用相关子程序

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件     397310  2008-08-12 17:21  DHT11+1602显示+串口\DHT11资料\DHT11湿温度传感器使用范例.pdf

     文件     406016  2010-08-29 17:45  DHT11+1602显示+串口\DHT11资料\DHT11说明书0313.doc

     文件     468948  2008-08-12 17:21  DHT11+1602显示+串口\DHT11资料\DHT11说明书200808修订版.pdf

     文件      13880  2012-04-21 17:15  DHT11+1602显示+串口\程序\dht

     文件       6809  2012-04-21 17:15  DHT11+1602显示+串口\程序\dht.c

     文件       3067  2012-04-21 17:15  DHT11+1602显示+串口\程序\dht.hex

     文件         54  2012-04-21 17:15  DHT11+1602显示+串口\程序\dht.lnp

     文件      14718  2012-04-21 17:15  DHT11+1602显示+串口\程序\dht.LST

     文件      18544  2012-04-21 17:15  DHT11+1602显示+串口\程序\dht.M51

     文件      15850  2012-04-21 17:15  DHT11+1602显示+串口\程序\dht.OBJ

     文件       1208  2012-04-21 17:17  DHT11+1602显示+串口\程序\dht.Opt

     文件        366  2012-04-21 17:17  DHT11+1602显示+串口\程序\dht.plg

     文件       2041  2012-04-12 19:14  DHT11+1602显示+串口\程序\dht.Uv2

    .......      1200  2012-04-16 16:21  DHT11+1602显示+串口\程序\dht_Opt.Bak

     文件       2041  2012-04-07 16:54  DHT11+1602显示+串口\程序\dht_Uv2.Bak

     文件       6376  2005-03-22 15:22  DHT11+1602显示+串口\程序\STARTUP.A51

     文件      14048  2012-04-21 17:15  DHT11+1602显示+串口\程序\STARTUP.LST

     文件        749  2012-04-21 17:15  DHT11+1602显示+串口\程序\STARTUP.OBJ

     目录          0  2012-04-21 17:12  DHT11+1602显示+串口\DHT11资料

     目录          0  2012-04-21 17:17  DHT11+1602显示+串口\程序

     目录          0  2012-04-21 17:12  DHT11+1602显示+串口

----------- ---------  ---------- -----  ----

              1373225                    21


评论

共有 条评论