#include \
//LED 管脚定义 sbit TXLED_R=P1^3; sbit RXLED_Y=P1^5; //蜂鸣器
sbit Feng=P1^2;
//主机询问命令
uchar CMD[]={0xaa,0xbb,0xcc,0xdd}; uchar Mode=0; uchar temp=0; uchar KK=0; //报警温度
ucharTNumber=50,RHNumber=90;
//主函数 void main() {
//LCD初始化显示 Init_LCD(); delay_ms(250);
TXLED_R=0; //初始化 RXLED_Y=0;
init_io(); //无线初始化IO RX_Mode(); //设置为接收模式 TXLED_R=1; RXLED_Y=1;
///////////////////////////////////////////// TXLED_R=0; //发送指示灯
////////////////////////////////////////////////////////////////////////////////
//循环显示 while(1) {
TXLED_R=0; //发送指示灯 TX_ACK(); //发送询问信号 sta = SPI_Read(STATUS); //读状态寄存器 TXLED_R=1; //发送指示灯
if(RX_DR) //判断是否接受到数据 {
SPI_Read_Buf(RD_RX_PLOAD, RX_BUF, TX_PLOAD_WIDTH); // 从RX FIFO读出数据
flag = 1;
31
}
}
}
delay_ms(100);
SPI_RW_Reg(WRITE_REG + STATUS, sta); // 清除RX_DS中断标志 if(flag==1) // 接受完成 {
Mode=0; flag=0; }
else //设备丢失 {
Mode=1; }
//显示 //数据显示 if(Mode==0) {
RXLED_Y=0; if(temp!=1)//重新初始化 {
display1(); temp=1; }
display2(RX_BUF[1],RX_BUF[2]);//显示读数
if(RX_BUF[1]>TNumber||RX_BUF[2]>RHNumber) //报警 {
Feng=0; } else {
Feng=1; }
RXLED_Y=1; }
delay_ms(200); delay_ms(200);
delay_ms(200);
32