找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1378|回复: 1
打印 上一主题 下一主题
收起左侧

谁能解释一下这个代码呀,看不懂,谢谢啦

[复制链接]
跳转到指定楼层
楼主
ID:460726 发表于 2019-1-5 09:33 来自手机 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式


系统源程序
发送侧部分程序:
#include
#include"24l01.h"
#include"1602.h"
#include"18b20.h"
#include"delay.h"
#include"sensor.h"
void main(void)
{
              uchar i;
              LCD_Init();
              TX_Mode();
              LCD_Str(0,0,"TX");
              while(NRF24L01_Check())   //检测24L01
              {
                            LCD_Str(3,0,"Failed!");
                            delay_ms(200);
                            LCD_Str(3,0,"Check! ");
                            delay_ms(200);
              }
              LCD_Str(3,0,"Ready! ");
              delay_ms(500);                                                          //显示Ready! 500ms后清空显示
              LCD_Str(3,0,"      ");
              TX_Mode();
              while(1)
              {                           
                            Check_Sensor_Sta( );
                                                        for(i=15;i<18;i++)                                          //发送传感器信号
                                          Buff[i]=SENSOR_STA[i-15]+0x30;
                            Buff[i]='';
                            for(i=0;i<8;i++)                                                           //发送温度数
                            Buff[i]=str[i];                                                                                   
                            Temp_Change(++i);                                         
                            if(NRF24L01_TxPacket(Buff)==TX_OK)
                            {
                                          LCD_Str(12,1,"ok! ");
                                          LCD_Str(3,0,"DO0:");
                                          LCD_Str(0,1,"DO1:");
                                          LCD_Str(6,1,"DO2:");
                                          LCD_Char(7,0,Buff[15]);
                                          LCD_Char(4,1,Buff[16]);
                                          LCD_Char(10,1,Buff[15]);
                            }
                            else
                            {
                                          LCD_Str(12,1,"Fail");
                            }
                            delay_ms(30000);
              }
}
接受测部分程序
#include
#include"24l01.h"
#include"1602.h"
#include"delay.h"
#include"warn.h"
#define uint unsigned int
uchar Buff[32];
uchar Num[5];
sbit LED0=P0^0;
void Display_Num(uchar x,uchar y,uint num);
void main(void)
{
              uint t;
              LCD_Init();            
              LCD_Str(0,0,"RX");
              RX_Mode();
              while(NRF24L01_Check())//检测不到24L01
              {
                            LCD_Str(3,0,"Failed!");
                            delay_ms(200);
                            LCD_Str(3,0,"Check! ");
                            delay_ms(200);
              }
              LCD_Str(3,0,"Ready! ");
              delay_ms(500);                           
              LCD_Str(3,0,"                    ");
              while(1)
              {
                            if(NRF24L01_RxPacket(Buff)==0)//一旦接收到信息,则显示出来.
                            {
                                          LCD_Str(9,1,"T:");
                                          LCD_Str(3,0,"DO0:");                                         
                                          LCD_Str(9,0,"DO1:");
                                          LCD_Str(3,1,"DO2:");
                                          LCD_Str(12,1,&Buff[9]);
                                          LCD_Char(7,0,Buff[15]);
                                          LCD_Char(13,0,Buff[16]);
                                          LCD_Char(7,1,Buff[17]);
              if(Buff[15]==48||Buff[16]==48||Buff[17]==48||Buff[9]>=4+0x30)
                                          warn(2);
                            }
                            else delay_ms(1);               
                            t++;
                            if(t==100)//大约1s钟改变一次
  {t=0;
LED0=!LED0;
}}}

1546651923536.jpg (1.92 MB, 下载次数: 32)

1546651923536.jpg
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:269211 发表于 2019-1-5 14:43 来自手机 | 只看该作者
温度通过LCD显示并通过模块进行无线传输

评分

参与人数 1黑币 +20 收起 理由
yousunny + 20 赞一个!

查看全部评分

回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表