• 大小: 108KB
    文件类型: .zip
    金币: 2
    下载: 1 次
    发布日期: 2021-09-08
  • 语言: 其他
  • 标签: 单片机  51  

资源简介

基于51单片机的大棚温湿度检测系统,可WiFi控制报警阈值,控制继电器吸合,并通过APP实时显示温湿度状态。

资源截图

代码片段和文件信息

#include 
#include “nrf24l01.h“
#include “type.h“


uchar const TX_ADDRESS[TX_ADR_WIDTH]  = {0x340x430x100x100x01}; // Define a static TX address

//uchar TxBuf[TX_PLOAD_WIDTH];
//uchar RxBuf[TX_PLOAD_WIDTH];
//uchar flag;
unsigned int temp;

sbit  MISO =P1^3;    
sbit  MOSI =P1^1;
sbit SCK     =P1^4;
sbit CE     =P1^5;
sbit CSN =P1^2;
sbit IRQ =P3^3;    //采用中断写时必须接到P32或P33上




/****************************************************/
void delay130us()
{
uchar ij;
for(i=0;i<255;i++)
    for (j=0;j<2;j++);
}
/***************************************************/
void delay10us()
{
uchar i;
i++;
i++;
i++;
i++;
}

/**************************************************/
/**************************************************/
/*void init_int0(void)
{
EA=1;
EX0=1; // Enable int0 interrupt.
} */
/**************************************************/

//  写一个字节到 24L01,同时读出一个字节 
uchar SPI_RW(uchar byte)   
{   
uchar bit_ctr;   
for(bit_ctr=0;bit_ctr<8;bit_ctr++)    // output 8-bit  
{   
MOSI = (byte & 0x80);        // output ‘byte‘ MSB to MOSI  
byte = (byte << 1);    // shift next bit into MSB.. 
SCK = 1;     // Set SCK high.. 
byte |= MISO;    // capture current MISO bit  
SCK = 0;    // ..then set SCK low again   
}  
return(byte);    // return read byte 


//   向寄存器 reg写一个字节,同时返回状态字节 
uchar SPI_RW_Reg(BYTE reg BYTE value) 

 uchar status; 
  
 CSN = 0;                   // CSN low init SPI transa
 status = SPI_RW(reg);      // select register 
 SPI_RW(value);             // ..and write value to it.. 
 CSN = 1;                   // CSN high again 
  return(status);            // return nRF24L01 status byte 

//  读一个字节值从寄存器中 
BYTE SPI_Read(BYTE reg)
{
BYTE reg_val;

   CSN = 0;                // CSN low initialize SPI communication...
   SPI_RW(reg);            // Select register to read from..
   reg_val = SPI_RW(0);    // ..then read registervalue
   CSN = 1;                // CSN high terminate SPI communication

   return(reg_val);        // return register value
}

//  读出 bytes 字节的数据 
uchar SPI_Read_Buf(BYTE reg BYTE *pBuf BYTE bytes) 

 uchar statusbyte_ctr; 
  
 CSN = 0;                      // Set CSN low init SPI tranaction 
 status = SPI_RW(reg);       // Select register to write to and read status byte 
  
 for(byte_ctr=0;byte_ctr  pBuf[byte_ctr] = SPI_RW(0);    //  
 CSN = 1;                            
  
 return(status);                    // return nRF24L01 status byte 
}  

//  写入 bytes 字节的数据 
uchar SPI_Write_Buf(BYTE reg BYTE *pBuf BYTE bytes) 

 uchar statusbyte_ctr; 
  
 CSN = 0;                    
 status = SPI_RW(reg);    
 for(byte_ctr=0; byte_ctr  SPI_RW(*pBuf++); 
 CSN = 1;                 // Set CSN high again 
 return(status);          //  

 
//  接收函数,返回 1 表示有数据收到,否则没有数据接受到 
/*unsigned char nRF24L01_RxPa

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2019-05-12 11:13  接收\
     文件           0  2019-05-08 12:30  接收\DHT11.C
     文件         745  2019-05-08 12:30  接收\DHT11.LST
     文件         260  2019-05-08 12:30  接收\DHT11.OBJ
     文件          63  2019-05-08 12:30  接收\DHT11.__i
     文件        1659  2019-05-08 13:41  接收\DHT11.h
     文件        3055  2019-05-08 17:02  接收\LCD1602.H
     文件        6376  2014-02-14 08:44  接收\STARTUP.A51
     文件       14053  2019-05-08 16:49  接收\STARTUP.LST
     文件         749  2019-05-08 16:49  接收\STARTUP.OBJ
     文件        9593  2016-03-10 09:41  接收\nrf24l01.LST
     文件       11641  2016-03-10 09:41  接收\nrf24l01.OBJ
     文件        5401  2014-11-27 10:35  接收\nrf24l01.c
     文件        3226  2014-02-14 08:44  接收\nrf24l01.h
     文件       24497  2019-05-12 11:10  接收\rec
     文件       16873  2019-05-08 19:01  接收\rec.LST
     文件       33527  2019-05-12 11:10  接收\rec.M51
     文件       28806  2019-05-08 19:01  接收\rec.OBJ
     文件        2195  2014-02-14 08:44  接收\rec.Uv2.bak
     文件          61  2019-05-08 19:01  接收\rec.__i
     文件        1051  2019-05-12 11:10  接收\rec.build_log.htm
     文件        8234  2019-05-08 18:49  接收\rec.c
     文件        6589  2019-05-12 11:10  接收\rec.hex
     文件          54  2019-05-12 11:10  接收\rec.lnp
     文件        1535  2014-02-14 08:44  接收\rec.opt.bak
     文件        2355  2019-03-23 19:27  接收\rec.plg
     文件       71755  2018-04-11 20:51  接收\rec.uvgui.Auser
     文件       85898  2019-04-19 11:52  接收\rec.uvgui.JUST
     文件       70889  2014-02-14 08:44  接收\rec.uvgui.lenovo
     文件       70082  2014-02-14 08:44  接收\rec.uvgui_lenovo.bak
     文件       71409  2019-04-28 10:54  接收\rec.uvguix.Administrator
............此处省略10个文件信息

评论

共有 条评论