#include "hal_defs.h"
#include "hal_cc8051.h"
#include "hal_int.h"
#include "hal_mcu.h"
#include "hal_board.h"
#include "hal_led.h"
#include "hal_rf.h"
#include "basic_rf.h"
#include "hal_uart.h"
#include <stdio.h>
#include <string.h>
#include "hal_defs.h"
#include "hal_board.h"
#include <stdarg.h>
#include "ioCC2530.h"
#include "hal_defs.h"
#include "get_adc.h"
#include <stdio.h>
#include "sht.h"
#include "sht1x.h"
#include "sht3x.h"
#define D3 P1_0
#define D4 P1_1
#define D5 P1_3
#define D6 P1_4
void Init()
{
P1SEL &= ~0X1B;
P1DIR |= 0X1B;
D4 = 1;
D3 = 0;
D6 = 0;
D5 = 0;
halMcuWaitMs(3000);
D4 = 0;
D3 = 0;
D6 = 0;
D5 = 0;
}
float light,tem,hum,voltage;
char guang[64];
char dat[100];
float recv,temp1,hum1;
/********************MAIN************************/
void main(void)
{
halBoardInit();
Init();
SHT_Init();
hal_adc4CH_Init();
hal_adc_Init();
while(1)
{
recv = get_adc()*450;
halMcuWaitMs(1000);
call_sht11(&tem,&hum);
temp1 = ((float)tem);
hum1 = ((float)hum);
halMcuWaitMs(1000);
if(temp1>=27)
{
D4 = 1;
if(recv<=100)
{
D3 = 1;
D6 = 0;
D5 = 0;
sprintf((char*)dat,"温度:%.f℃\r\n湿度:%.f%\r\n光照度:%.flux\r\nD4状态:开灯\r\nD3状态:开灯\r\nD6状态:关灯\r\nD5状态:关灯\r\n",temp1,hum1,recv);
halUartWrite((uint8*)dat,sizeof(dat));
}else if(recv>=300)
{
D5 = 1;
D6 = 0;
D3 = 0;
sprintf((char*)dat,"温度:%.f℃\r\n湿度:%.f%\r\n光照度:%.flux\r\nD4状态:开灯\r\nD3状态:关灯\r\nD6状态:开灯\r\nD5状态:关灯\r\n",temp1,hum1,recv);
halUartWrite((uint8*)dat,sizeof(dat));
}else if(100<recv<300){
D6 = 1;
D3 = 0;
D5 = 0;
sprintf((char*)dat,"温度:%.f℃\r\n湿度:%.f%\r\n光照度:%.flux\r\nD4状态:开灯\r\nD3状态:关灯\r\nD6状态:关灯\r\nD5状态:开灯\r\n",temp1,hum1,recv);
halUartWrite((uint8*)dat,sizeof(dat));
}
}else if(temp1<=27){
D4 = 0;
if(recv<=100)
{
D3 = 1;
D6 = 0;
D5 = 0;
sprintf((char*)dat,"温度:%.f℃\r\n湿度:%.f%\r\n光照度:%.flux\r\nD4状态:关灯\r\nD3状态:开灯\r\nD6状态:关灯\r\nD5状态:关灯\r\n",temp1,hum1,recv);
halUartWrite((uint8*)dat,sizeof(dat));
}else if(recv>=300)
{
D5 = 1;
D6 = 0;
D3 = 0;
sprintf((char*)dat,"温度:%.f℃\r\n湿度:%.f%\r\n光照度:%.flux\r\nD4状态:关灯\r\nD3状态:关灯\r\nD6状态:关灯\r\nD5状态:开灯\r\n",temp1,hum1,recv);
halUartWrite((uint8*)dat,sizeof(dat));
}else if(100<recv<300){
D6 = 1;
D3 = 0;
D5 = 0;
sprintf((char*)dat,"温度:%.f℃\r\n湿度:%.f%\r\n光照度:%.flux\r\nD4状态:关灯\r\nD3状态:关灯\r\nD6状态:开灯\r\nD5状态:关灯\r\n",temp1,hum1,recv);
halUartWrite((uint8*)dat,sizeof(dat));
}
}
}
}