基于无线传感器网络的智能家居 - 图文 联系客服

发布时间 : 星期三 文章基于无线传感器网络的智能家居 - 图文更新完毕开始阅读cf711a11866fb84ae45c8d0e

flag=1; c=0;

c=c|temh; c=c&0x00ff; c=c<<8; a=c; a=c|teml;

a=(a^0xffff);//异或 a=a+1; //取反加1 teml=a&0x0f; temh=a>>4; } else {

flag=0; //为正 a=temh<<4;

a+=(teml&0xf0)>>4; //得到高位的值 b=teml&0x0f; temh=a;

teml=b&0x00ff; }

sensor_data_value[0]=teml; sensor_data_value[1]=temh; }

附录2:DS18B20.h代码

#ifndef DS18B20_H #define DS18B20_H

#include \#include \

#define CL_DQ P0_0=0 #define SET_DQ P0_0=1

#define SET_OUT P0DIR|=0x01 #define SET_IN P0DIR&=~0x01 #define IN_DQ P0_0

extern unsigned char id[8];

extern unsigned char sensor_data_value[2]; extern UINT8 flag;

//void Delay_1us(void); void Delay_nus(UINT16 n) ;

void write_1820(unsigned char x) ; unsigned char read_1820(void); void init_1820(void) ; void read_data(void);

44

void get_id(void);

void ds18b20_main(void); #endif

附录3:Temp.c代码

#include \#include \#include \#include \#include \

#include \

#include \

#if !defined( WIN32 ) #include \#endif

#include \#include \#include \#include \#include \

const cId_t Temp_ClusterList[Temp_MAX_CLUSTERS] = {

Temp_CLUSTERID };

const SimpleDescriptionFormat_t Temp_SimpleDesc = {

Temp_ENDPOINT, // int Endpoint;

Temp_PROFID, // uint16 AppProfId[2]; Temp_DEVICEID, // uint16 AppDeviceId[2]; Temp_DEVICE_VERSION, // int AppDevVer:4; Temp_FLAGS, // int AppFlags:4;

Temp_MAX_CLUSTERS, // byte AppNumInClusters; (cId_t *)Temp_ClusterList, // byte *pAppInClusterList; Temp_MAX_CLUSTERS, // byte AppNumInClusters; (cId_t *)Temp_ClusterList // byte *pAppInClusterList; };

endPointDesc_t Temp_epDesc;

extern UINT8 sensor_data_value[2]; uint8 tempValue = 0;

byte Temp_TaskID; // Task ID for internal task/event processing

45