大棚温湿度控制-第一修改稿(1) 联系客服

发布时间 : 星期二 文章大棚温湿度控制-第一修改稿(1)更新完毕开始阅读01d0563b541810a6f524ccbff121dd36a22dc4fe

void delay2( uint us) {

while( us - - ) ; }

uchar Init_DS18B20( void) {

uchar x =0; DQ = 1; delay2( 8) ; DQ = 0; delay2( 80) ; DQ = 1; delay2( 10) ; x = DQ; delay2( 5) ;

return x; } … … … …

/********************* *DS18b20 读取主函数,整个流程5ms 左右***** *******************/ uchar ReadTemperature( void) {

uchar L_18B20 =0; uchar H_18B20 =0; Init_DS18B20( ) ; WriteOneChar( 0xCC) ; WriteOneChar( 0x44) ; delay2( 200) ;

Init_DS18B20( ) ; WriteOneChar( 0xCC) ; WriteOneChar( 0xBE) ; L_18B20 = ReadOneChar( ) ; H_18B20 = ReadOneChar( ) ; if( H_18B20 >0x7f) {

L_18B20 = ~ L_18B20 +1; H_18B20 = ~ H_18B20; fg =1; } … … … …

( 2) 湿度采集

SAMPLE: SETB 00H; MOV DPTR, #0F00H;

MOV R6, #02H; MOV R7, #08H; MOV R0, #40H;

TRAN_S: MOVX @ DPTR,A; WAIT: JB 00H,WAIT; SETB 00H; INC DPTR; INC R0 INC R0; … … … …

/ /******************** ************************ *********/ /

即将0809 传来的二进制数转换为BCD 编码,由于

待转换的二制数不大于255,因此利用字节除法来实现 / /******************** ************************ *********/ / MOV B, #100 DIV AB; MOV R2,A;

MOV A,B; MOV B, #10DIV AB; SWAP A; … … … …