资源简介
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
相关资源
- 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
- 完整工程串口12、DHT11、BH1750、mh-z14
- 温湿度传感器DHT11资料+程序
- 乐鑫Esp8266驱动 ds18b20、dht11 温湿度传
- STM32F103C8T6按键调整参数断电保护,温
- CC2530+DHT11温湿度传感器+HC-SR04超声波传
评论
共有 条评论