3961|6

3

帖子

0

资源

一粒金砂(中级)

nrf24L01无线温度测量程序 [复制链接]

部分程序       全套程序已经放到附录
#include
#include
typedef unsigned char uchar;
typedef unsigned char uint;
//*********IO端口定义********
#define LCD_data  P0
sbit lcdrs  =  P1^1;         
sbit lcdRW  =  P1^0;
sbit lcden  =  P2^6;
sbit LCD_bg  =  P2^7;
uchar wd_up;
uchar wd_down;
uchar num1;
uchar bg_flag=0;
#define delayNOP(); {_nop_();_nop_();_nop_();_nop_();};

void delay1(int ms){
    while(ms--){
      uchar i;
          for(i=0;i<250;i++)  {
                    _nop_();                          
                        _nop_();
                        _nop_();
                        _nop_();
          }
        }
}               
void delay2(uint x){
        uint i;
        uchar j;
        for(i=0;i                 for(j=0;j<110;j++);

}
//写指令函数
void lcd_wcmd(uchar com)
{
        lcdrs=0;
        P0=com;
        delay2(5);
        lcden=1;
        delay2(5);
        lcden=0;
}
//写数据函数  
void lcd_wdat(uchar date)
{
        lcdrs=1;
        P0=date;
        delay2(5);
        lcden=1;
        delay2(5);
        lcden=0;
}
//液晶初始化
void lcd_init()
{
        LCD_bg  =0;
        lcdRW=0;
        lcden=0;
        lcd_wcmd(0x38);
        lcd_wcmd(0x0c);
        lcd_wcmd(0x06);
        lcd_wcmd(0x01);
       
}
/******设定显示位置***********/
void lcd_pos(uchar X,uchar Y){                          
   uchar  pos;
   if (X==0)
     {X=0x80;}
   else if (X==1)
     {X=0x90;}
   else if (X==2)
     {X=0x88;}
   else if (X==3)
     {X=0x98;}
   pos = X+Y ;  
   lcd_wcmd(pos);
}
void write_zhi(uchar *s)
{
        while(*s>0) { lcd_wdat(*s); s++; }
}
void jiemian(){
        lcd_wcmd(0x01);
        lcd_wcmd(0x80);
        write_zhi("大棚温度控制系统");
        lcd_wcmd(0x90);
        write_zhi("地址:    处");
        lcd_wcmd(0x88);         //1234
        write_zhi("温度:     ℃");       
        lcd_wcmd(0x98);
        write_zhi("(设置)    背光");
}
sbit        CSN                =P1^2;
sbit         MOSI        =P1^7;
sbit        IRQ                =P1^6;
sbit         MISO        =P1^5;
sbit        SCK            =P1^4;
sbit        CE            =P1^3;
//***NRF24L01*******
#define TX_ADR_WIDTH    5
#define RX_ADR_WIDTH    5
#define TX_PLOAD_WIDTH  32
#define RX_PLOAD_WIDTH  32
uint const TX_ADDRESS[5]= {0x34,0x43,0x10,0x10,0x01};        //本地地址
uint const RX_ADDRESS[5]= {0x34,0x43,0x10,0x10,0x01};        //接收地址
//***NRF24L01寄存器指令*****
#define WRITE_REG       0x20         // 写寄存器指令
#define RD_RX_PLOAD     0x61          // 读取接收数据指
#define CONFIG          0x00  // 配置收发状态,CRC校验模式以及收发状态响应方式
#define EN_AA           0x01  // 自动应答功能设置
#define EN_RXADDR       0x02  // 可用信道设置
#define SETUP_AW        0x03  // 收发地址宽度设置
#define SETUP_RETR      0x04  // 自动重发功能设置
#define RF_CH           0x05  // 工作频率设置
#define RF_SETUP        0x06  // 发射速率、功耗功能设置
#define STATUS          0x07  // 状态寄存器
#define OBSERVE_TX      0x08  // 发送监测功能
#define CD              0x09  // 地址检测           
#define RX_ADDR_P0      0x0A  // 频道0接收数据地址
#define RX_ADDR_P1      0x0B  // 频道1接收数据地址
#define RX_ADDR_P2      0x0C  // 频道2接收数据地址
#define RX_ADDR_P3      0x0D  // 频道3接收数据地址
#define RX_ADDR_P4      0x0E  // 频道4接收数据地址
#define RX_ADDR_P5      0x0F  // 频道5接收数据地址
#define TX_ADDR         0x10  // 发送地址寄存器
#define RX_PW_P0        0x11  // 接收频道0接收数据长度
#define RX_PW_P1        0x12  // 接收频道0接收数据长度
#define RX_PW_P2        0x13  // 接收频道0接收数据长度
#define RX_PW_P3        0x14  // 接收频道0接收数据长度
#define RX_PW_P4        0x15  // 接收频道0接收数据长度
#define RX_PW_P5        0x16  // 接收频道0接收数据长度
#define FIFO_STATUS     0x17  // FIFO栈入栈出状态寄存器设置
IMAG0396.jpg
IMAG0403.jpg

发送.zip

28.26 KB, 下载次数: 43

售价: 1 枚芯币  [记录]

发送程序

接收.zip

49.39 KB, 下载次数: 51

售价: 1 枚芯币  [记录]

接收程序

赞赏

1

查看全部赞赏


回复

25

帖子

0

资源

一粒金砂(中级)

哈哈 正看着 好东西谢谢分享

回复

3

帖子

0

资源

一粒金砂(初级)

图片都要钱。。 没预览。 果断放弃

回复

3

帖子

0

资源

一粒金砂(初级)

好东西。支持。


回复

3

帖子

0

资源

一粒金砂(初级)

先留着

回复

4

帖子

0

资源

一粒金砂(初级)

6666

回复

23

帖子

0

资源

一粒金砂(中级)

才下在了两个文件,谢谢楼主,扣分不多

回复
您需要登录后才可以回帖 登录 | 注册

最新文章 更多>>
    关闭
    站长推荐上一条 1/5 下一条

    About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

    站点相关: 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

    北京市海淀区知春路23号集成电路设计园量子银座1305 电话:(010)82350740 邮编:100191

    电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2021 EEWORLD.com.cn, Inc. All rights reserved
    快速回复 返回顶部 返回列表