资源简介
uchar a[]="温湿度传感器";
uchar b[]="温度:";
uchar c[]="湿度:";
uchar d[]="0123456789";
typedef unsigned char U8;
typedef unsigned int U16;
U8 U8flag,k;
U8 U8temp;
U8 U8WD_H,U8WD_L,U8SD_H,U8SD_L,U8checkdata;
U8 U8WDH_temp,U8WDL_temp,U8SDH_temp,U8SDL_temp,U8checkdata_temp;
U8 U8comdata;
void delay_1ms(uint n)
{
uint i,j;
for(i=0;i<=n;i++)
for(j=0;j<110;j++);
}
void delay_10us()
{
U8 i;
i--;i--;i--;i--;i--;i--;
}
void write_com(uchar com)
{
rs=0;
rw=0;
en=0;
P2=com;
delay_1ms(1);
en=1;
delay_1ms(1);
en=0;
}
void write_data(uchar date)
{
rs=1;
rw=0;
en=0;
P2=date;
delay_1ms(1);
en=1;
delay_1ms(1);
en=0;
}
void pos(uchar x,uchar y)
{
uchar pos;
if(x==0)
x=0x80;
else if(x==1)
x=0x90;
else if(x==2)
x=0x88;
else if(x==3)
x=0x98;
pos=x+y;
write_com(pos);
}
void display(U8WD_H,U8WD_L,U8SD_H,U8SD_L)
{
U8 yi,er,san,si;
yi=U8WD_H/10;
er=U8WD_H;
san=U8SD_H/10;
si=U8SD_H;
pos(1,4);
write_data(d[yi]);
pos(1,5);
write_data(d[er]);
pos(2,4);
write_data(d[san]);
pos(2,5);
write_data(d[si]);
}
void com()
{
U8 i;
for(i=0;i<8;i++)
{
U8flag=2;
while((!SJK)&&U8flag++);
delay_10us();delay_10us();delay_10us();
U8temp=0;
if(SJK)U8temp=1;
U8flag=2;
while((SJK)&&U8flag++);
if(U8flag==1)break;
U8comdata<<=1;
U8comdata|=U8temp;
}
}
代码片段和文件信息
#include“reg52.h“
#include“intrins.h“
#define uchar unsigned char
#define uint unsigned int
sbit SJK=P3^2;
sbit rs=P0^5;
sbit rw=P0^6;
sbit en=P0^7;
sbit psb=P0^2;
uchar a[]=“温湿度传感器“;
uchar b[]=“温度:“;
uchar c[]=“湿度:“;
uchar d[]=“0123456789“;
typedef unsigned char U8;
typedef unsigned int U16;
U8 U8flagk;
U8 U8temp;
U8 U8WD_HU8WD_LU8SD_HU8SD_LU8checkdata;
U8 U8WDH_tempU8WDL_tempU8SDH_tempU8SDL_tempU8checkdata_temp;
U8 U8comdata;
void delay_1ms(uint n)
{
uint ij;
for(i=0;i<=n;i++)
for(j=0;j<110;j++);
}
void delay_10us()
{
U8 i;
i--;i--;i--;i--;i--;i--;
}
void write_com(uchar com)
{
rs=0;
rw=0;
en=0;
P2=com;
delay_1ms(1);
en=1;
delay_1ms(1);
en=0;
}
void write_data(uchar date)
{
rs=1;
rw=0;
en=0;
P2=date;
delay_1ms(1);
en=1;
delay_1ms(1);
en=0;
}
void pos(uchar xuchar y)
{
uchar pos;
if(x==0)
x=0x80;
else if(x==1)
x=0x90;
else if(x==2)
x=0x88;
else if(x==3)
x=0x98;
pos=x+y;
write_com(pos);
}
void display(U8WD_HU8WD_LU8SD_HU8SD_L)
{
U8 yiersansi;
yi=U8WD_H/10;
er=U8WD_H%10;
san=U8SD_H/10;
si=U8SD_H%10;
pos(14);
write_data(d[yi]);
pos(15);
write_data(d[er]);
pos(24);
write_data(d[san]);
pos(25);
write_data(d[si]);
}
void com()
{
U8 i;
for(i=0;i<8;i++)
{
U8flag=2;
while((!SJK)&&U8flag++);
delay_10us();delay_10us();delay_10us();
U8temp=0;
if(SJK)U8temp=1;
U8flag=2;
while((SJK)&&U8flag++);
if(U8flag==1)break;
U8comdata<<=1;
U8comdata|=U8temp;
}
}
void RH()
{
SJK=0; delay_1ms(180); SJK=1;
delay_10us();delay_10us();delay_10us();delay_10us();
SJK=1;
if(!SJK)
{
U8flag=2;
while((!SJK)&&U8flag++);
U8flag=2;
while((SJK)&&U8flag++);
com();
U8SDH_temp=U8comdata;
com();
U8SDL_temp=U8comdata;
com();
U8WDH_temp=U8comdata;
com();
U8WDL_temp=U8comdata;
com();
U8checkdata_temp=U8comdata;
SJK=1;
U8temp=(U8WDH_temp+U8WDL_temp+U8SDH_temp+U8SDL_temp);
if(U8temp==U8checkdata_temp)
{
U8SD_H=U8SDH_temp;
U8SD_L=U8SDL_temp;
U8WD_H=U8WDH_temp;
U8WD_L=U8WDL_temp;
U8checkdata=U8checkdata_temp;
}
}
}
void init()
{
uchar i;
psb=1;
write_com(0x30);
write_com(0x0c);
write_com(0x01);
pos(00);
i=0;
while(a[i]!=‘\0‘)
{
write_data(a[i]);
i++;
}
pos(10);
i=0;
while(b[i]!=‘\0‘)
{
write_data(b[i]);
i++;
}
pos(20);
i=0;
while(c[i]!=‘\0‘)
{
write_data(c[i]);
i++;
}
}
void main()
{
init();
delay_1ms(1000);
while(1)
{
RH();
display(U8WD_HU8WD_LU8SD_HU8SD_L);
}
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 10552 2014-05-28 20:36 DHT11 12864\DHT11
文件 2826 2014-05-28 20:36 DHT11 12864\DHT11.c
文件 2604 2014-05-28 20:36 DHT11 12864\DHT11.hex
文件 42 2014-05-28 20:36 DHT11 12864\DHT11.lnp
文件 6438 2014-05-28 20:36 DHT11 12864\DHT11.LST
文件 13776 2014-05-28 20:36 DHT11 12864\DHT11.M51
文件 12208 2014-05-28 20:36 DHT11 12864\DHT11.OBJ
文件 545 2014-05-28 20:37 DHT11 12864\DHT11.plg
文件 55193 2014-05-28 20:37 DHT11 12864\DHT11.uvopt
文件 13223 2014-05-19 17:00 DHT11 12864\DHT11.uvproj
文件 55187 2014-05-28 20:32 DHT11 12864\DHT11_uvopt.bak
文件 13219 2014-05-15 20:15 DHT11 12864\DHT11_uvproj.bak
目录 0 2014-06-04 16:19 DHT11 12864
----------- --------- ---------- ----- ----
185813 13
相关资源
- DHT11温湿度传感器 资料
- NXP公司LPC17XX系列的 DHT11驱动
- DHT11程序液晶1602显示湿度和温度
- 基于STC12C5A的DHT11液晶1602显示程序
- DHT11中文资料、时序图、程序大集合
- DSP28335控制DHT11温湿度传感器
- 基于51单片机的智能大棚设计
- DHT11 430程序
- 基于51单片机DHT11的温湿度检测系统
- 基于MC9S12XS128的温湿度传感器DHT11程序
- 单片机温湿度检测源代码 dht11 lcd160
- DHT11自动检测
- DHT11温湿度 1602显示 89C52单片机
- DHT11库dht11‘’
- DHT11与STM32F103ZET6
- LCD1602+DHT11显示温湿度
- 基于STC89c52 的环境数据采集 DHT11+BH
- DHT11串口传输
- arduino 读取温湿度dht11
- 51单片机DHT11温湿度
- 基于TQ2440和DHT11的温湿度监控系统源码
- 基于51单片机DHT11温湿度检测和串口通
- 温湿度传感器DHT11数字(附1602显示程
- linux平台 DHT11驱动程序
- labview 温湿度界面
- cc2530 zigbee 智能家居 温湿度dht11 wifi转
- Dht11温湿度模块库文件
- 树莓派教程--Qt工程中使用DHT11传感器
- 基于Qt界面显示的温湿度检测
- Arduino uno+esp8266+onenet+dht11温湿度传感器
评论
共有 条评论