仓库温湿度的监测系统(7)

2019-04-08 19:40

spid.SetPoint = 100; /* Set PID Setpoint */ while(1) {

if(plus==0) { EA=0;

for(a=0;a<5;a++) for(b=0;b<102;b++){} if(plus==0) {

set_temper++; flag=0; } }

else if(subs==0) {

for(a=0;a<5;a++) for(b=0;a<102;b++){} if(subs==0) {

set_temper--; flag=0; } }

else if(stop==0) {

for(a=0;a<5;a++) for(b=0;b<102;b++){} if(stop==0) {

28

flag=0; break; } EA=1; }

get_temper(); b=temper; if(flag_2==1) a=b;

if((abs(a-b))>5) temper=a; else temper=b; a=temper; flag_2=0; if(++count1>30) {

display(); count1=0; }

compare_temper();} TR0=0; z=1; while(1) { EA=0; if(stop==0) {

for(a=0;a<5;a++)

29

for(b=0;b<102;b++){} if(stop==0) disp_1(phil); // break; } EA=1; } }

/*DS18b20 子程序*/ #include

sbit DQ=P2^1;

typedef unsigned char byte; typedef unsigned int word; void delay(word useconds) {

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

/*复位*/ byte ow_reset(void) {

byte presence;

DQ=0; DQ=1; delay(3); presence=DQ; delay(25);

return(presence);; }

30

byte read_byte(viod) {

byte i; byte value=0; for (i=8;i>0;i--) {

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

if(DQ)value|=0x80; delay(6); }

return(value); }

/*void write_byte(char val) {

byte i;

for (i=8;i>0;i--) /* { DQ=0; DQ=val&0x01; delay(5); DQ=1; val=val/2; }

delay(5); }

/*

向1-wire总线上写一个字节*/ 一次写一个字节*/ 读取温度*/

31

char Read_Temperature(void) {

union{

byte c[2]; int x; }temp; ow_reset(); write_byte(0xcc); write_byte(0xBE); temp.c[1]=read_byte(); temp.c[0]=read_byte(); ow_reset(); write_byte(0xCC); write_byte(0x44); return temp.x/2;

附2 89S51系统程序及子程序 #include #include #include

32


仓库温湿度的监测系统(7).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:你知道哪六类食物让孩子更聪明

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: