µ±Ç°Î»ÖãºÊ×Ò³ > »ùÓÚ52µ¥Æ¬»úÎÂʪ¶È´«¸ÐÆ÷¿Î³ÌÉè¼Æ±¨¸æ£¨º¬´úÂ룩
}
shi=dat/10; ge=dat;
write_com(0x98+add); write_dat(0x30+shi); write_dat(0x30+ge);
/*ζÈÏÔʾ×Óº¯Êý*/
void write_tem(uchar add) { write_com(0x88+add); write_dat(tab[4]); write_dat(tab[5]); write_dat(tab[6]); write_dat(tab[7]); }
/*ʪ¶ÈÏÔʾ×Óº¯Êý*/
void write_hum(uchar add) { write_com(0x98+add); write_dat(tab[0]); write_dat(tab[1]); write_dat(tab[2]); write_dat(tab[3]); }
void COM(void) { U8 i; for(i=0;i<8;i++) { U8FLAG=2; while((!AM2301)&&U8FLAG++); Delay_10us(); Delay_10us(); Delay_10us(); U8temp=0; if(AM2301)U8temp=1; U8FLAG=2; while((AM2301)&&U8FLAG++); //³¬Ê±ÔòÌø³öforÑ»· if(U8FLAG==1)break; //ÅжÏÊý¾ÝλÊÇ0»¹ÊÇ1
// Èç¹û¸ßµçƽ¸ß¹ýÔ¤¶¨0¸ßµçƽֵÔòÊý¾ÝλΪ 1 U8comdata<<=1; U8comdata|=U8temp; } }
/***ÎÂʪ¶È¶ÁÈ¡×Óº¯Êý***/ void RH(void) {
//Ö÷»úÀµÍ18ms AM2301=0; Delay2(180); AM2301=1;
//×ÜÏßÓÉÉÏÀµç×èÀ¸ß Ö÷»úÑÓʱ40us Delay_10us(); Delay_10us(); Delay_10us(); Delay_10us();
//Ö÷»úÉèΪÊäÈë ÅжϴӻúÏìÓ¦ÐźŠAM2301=1;
//ÅжϴӻúÊÇ·ñÓÐµÍµçÆ½ÏìÓ¦ÐźŠÈç²»ÏìÓ¦ÔòÌø³ö£¬ÏìÓ¦ÔòÏòÏÂÔËÐÐ if(!AM2301) //T ! { U8FLAG=2;
//ÅжϴӻúÊÇ·ñ·¢³ö 80us µÄµÍµçƽÏìÓ¦ÐźÅÊÇ·ñ½áÊø while((!AM2301)&&U8FLAG++); U8FLAG=2;
//ÅжϴӻúÊÇ·ñ·¢³ö 80us µÄ¸ßµçƽ£¬Èç·¢³öÔò½øÈëÊý¾Ý½ÓÊÕ״̬ while((AM2301)&&U8FLAG++); //Êý¾Ý½ÓÊÕ״̬ COM();
U8RH_data_H_temp=U8comdata; COM();
U8RH_data_L_temp=U8comdata; COM();
U8T_data_H_temp=U8comdata; COM();
U8T_data_L_temp=U8comdata; COM();
U8checkdata_temp=U8comdata; AM2301=1; //Êý¾ÝУÑé
U8temp=(U8T_data_H_temp+U8T_data_L_temp+U8RH_data_H_temp+U8RH_data_L_temp
); }
if(U8temp==U8checkdata_temp) if(1) {
U8RH_data_H = U8RH_data_H_temp;//ʪ¶È U8RH_data_L = U8RH_data_L_temp; U16temp1 = U8RH_data_H; U16temp1 <<= 8;
U16temp1 |= U8RH_data_L;//»ñµÃÍêÕûµÄʪ¶È tab[0]=U16temp1/100+0x30; //ʪ¶È°Ùλ tab[1]=U16temp10/10+0x30;//ʪ¶Èʮλ tab[3]=U16temp1+0x30; //ʪ¶È¸öλ U8T_data_H = U8T_data_H_temp;//ÎÂ¶È U8T_data_L = U8T_data_L_temp; U16temp2 = U8T_data_H; U16temp2<<=8;
U16temp2 |= U8T_data_L;//»ñµÃÍêÕûµÄÎÂ¶È tab[4]=U16temp2/100+0x30;//ζȰÙλ tab[5]=U16temp20/10+0x30;//ζÈʮλ tab[7]=U16temp2+0x30;//ζȸöλ U8checkdata=U8checkdata_temp;//УÑéλ } }
/*******Ö÷½çÃæÏÔʾ*********/ void display1() {
uchar i; init();
/***´ÓµÚÒ»ÐеÚÒ»¸ö×Ö·ûµÄλÖÿªÊ¼ÏÔʾ***/ lcd_pos(0,0); i=0; while(dis1[i]!='\\0') { write_dat(dis1[i]); i++; }
/***´ÓµÚ¶þÐеÚÒ»¸ö×Ö·ûµÄλÖÿªÊ¼ÏÔʾ***/ lcd_pos(1,0); i=0; while(dis2[i]!='\\0')
{ }
write_dat(dis2[i]); i++;
/***´ÓµÚÈýÐеÚÒ»¸ö×Ö·ûµÄλÖÿªÊ¼ÏÔʾ***/ lcd_pos(2,0); i=0; while(dis3[i]!='\\0') { write_dat(dis3[i]); i++; } /***´ÓµÚËÄÐеÚÒ»¸ö×Ö·ûµÄλÖÿªÊ¼ÏÔʾ***/ lcd_pos(3,0); i=0; while(dis4[i]!='\\0') { write_dat(dis4[i]); i++; } }
/*****ÎÂʪ¶ÈÉÏÏÂÏÞ¼°±¨¾¯¿ª¹ØÉèÖýçÃæ***********/ void display2() {
uchar i; init(); /***´ÓµÚÒ»ÐеÚÒ»¸ö×Ö·ûµÄλÖÿªÊ¼ÏÔʾ***/ lcd_pos(0,0); i=0; while(dis5[i]!='\\0') { write_dat(dis5[i]); i++; } write_lim1(5,temp_H); write_dat(0x2e); write_dat(0x30); if(flag3) { write_com(0x80+7); write_dat(0xbf); write_dat(0xaa); }
¹²·ÖÏí92ƪÏà¹ØÎĵµ