/*****************************************
功能:NRF24L01射频模块C文件(发射部分)
*****************************************/
#include"reg52.h"
#include"Allhead.h"
/*********************主函数***************************/
code unsigned char seg7code[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff}; //不带小数点的共阳数码管段码
code unsigned char seg7codeB[]={0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10,0xff}; //带小数点的共阳数码管段
sbit Key=P1^0;
void delay1ms()
{
unsigned char i;
for(i=251;i>0;i--); //延时124*8+10=1002us
}
void main()
{
unint ReadTempDate;//读取温度
char TxDate[4];
NRF24L01Int();
while(1)
{
ReadTempDate=ReadTemperature();
TxDate[0]=ReadTempDate/100;
TxDate[1]=ReadTempDate%100/10;
TxDate[2]=ReadTempDate%100%10;
TxDate[3]='A';
NPFSetTxMode(TxDate);//发送温度
while(CheckACK()); //检测是否发送完毕
P2=0xfe; //P1.0=0,选通第一位
P0=seg7code[ReadTempDate/100]; //十位数,查表,输出
delay1ms();
P0=0xff;//消隐
P2=0xfd;
P0=seg7code[ReadTempDate%100/10];
delay1ms();
P0=0xff;
P2=0xfb;
P0=seg7code[ReadTempDate%100%10];
delay1ms();
P0=0xff;
}
}
|