仓库温度湿度监测系统的设计 联系客服

发布时间 : 星期六 文章仓库温度湿度监测系统的设计更新完毕开始阅读364ffa44a8956bec0975e3b8

西安石油大学本科毕业设计(论文)

}

void display_string(unsigned char x,unsigned char y,unsigned char *s) { }

unsigned char data temp_data[2]={0x00,0x00}; unsigned char data _1820display[5]={0x00,0x00,0x00,0x00,0x00}; unsigned int tmp; sbit DQ=P2^4; sbit DQVCC=P2^3; sbit DQGND=P2^5;

unsigned char code ditab[16]= { };

void _18B20_delay(unsigned int t) {

for (;t>0;t--); }

_18B20_reset(void) {

display_xy(x,y); while(*s) { }

WriteDataLcd(*s); s++;

0x00,0x01,0x01,0x02, 0x03,0x03,0x04,0x04, 0x05,0x06,0x06,0x07, 0x08,0x08,0x09,0x09

char presence=1; while(presence) {

while(presence)

32

西安石油大学本科毕业设计(论文)

{ DQ=1; _nop_();_nop_();

DQ=0; _18B20_delay(50);

DQ=1; _18B20_delay(6); presence=DQ;

}

_18B20_delay(45); presence=~DQ;

}

DQ=1;

}

void _18B20_write(unsigned char val) {

unsigned char i; for(i=8;i>0;i--) { DQ=1;

_nop_();_nop_(); DQ=0;

_nop_();_nop_();_nop_();_nop_();

DQ=val&0x01; _18B20_delay(6);

val=val/2; } DQ=1;

_18B20_delay(1); }

unsigned char _18B20read_byte(void) {

unsigned char i;

33

西安石油大学本科毕业设计(论文)

unsigned char value=0; for(i=8;i>0;i--) { DQ=1;

_nop_();_nop_(); value>>=1; DQ=0;

_nop_();_nop_();_nop_();_nop_(); DQ=1;

_nop_();_nop_();_nop_();_nop_(); if(DQ)value|=0x80;

_18B20_delay(6); } DQ=1; return(value);

}

_18B20_read()

{ _18B20_reset(); _18B20_delay(200);

_18B20_write(0xcc); _18B20_write(0x44); _18B20_reset(); _18B20_delay(1);

_18B20_write(0xcc); _18B20_write(0xbe);

temp_data[0]=_18B20read_byte(); temp_data[1]=_18B20read_byte(); tmp=temp_data[1];

tmp<<=8; tmp=tmp|temp_data[0]; return tmp;

}

34

西安石油大学本科毕业设计(论文)

_18B20_work(unsigned int tem) { unsigned char n=0;

if(tem>6348) {

tem=65536-tem; n=1;

}

_1820display[4]=tem&0x0f; _1820display[0]=ditab[_1820display[4]]; _1820display[4]=tem>>4; _1820display[3]=_1820display[4]/100; _1820display[1]=_1820display[4]0; _1820display[2]=_1820display[1]/10; _1820display[1]=_1820display[1]; if(!_1820display[3]) { _1820display[3]=' '-'0'; if(!_1820display[2])

_1820display[2]=' '-'0'; } if(n)

_1820display[3]='-'-'0'; } _18B20_init() { _18B20_reset(); _18B20_write(0xcc);

_18B20_write(0x44);

}

void main(void) { unsigned char i;

DQVCC=1;

35