資源簡介
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
評論
共有 條評論