• 大小: 134KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-05-22
  • 语言: 其他
  • 标签:

资源简介

51单片机控制的遥控船模的程序

资源截图

代码片段和文件信息

#include “api.h“


uchar TX_ADDRESS[TX_ADR_WIDTH] = {0x120x430x190x100x91};  // 定义一个静态发送地址
uchar RX_ADDRESS[RX_ADR_WIDTH] = {0x120x430x190x100x91};


void delay_10us()
{
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();

_nop_();
_nop_();
_nop_();
_nop_();
_nop_();

}

uchar SPI_RW(uchar byte)
{
uchar bit_ctr;
for(bit_ctr=0;bit_ctr<8;bit_ctr++)
{
MOSI=(byte&0x80);
byte=(byte<<1);

delay_10us();
SCK=1;
delay_10us();

byte|=MISO;

delay_10us();
SCK=0;

delay_10us();
    }
return(byte);
}

uchar SPI_RW_Reg(uchar reguchar value)
{
uchar status;
CSN=0;
delay_10us();
status=SPI_RW(reg);
delay_10us();
SPI_RW(value);
delay_10us();
CSN=1;
delay_10us();
return(status);
}

uchar SPI_Read(uchar reg)
{
uchar reg_val;
CSN=0;
delay_10us();
SPI_RW(reg);
reg_val=SPI_RW(0);
delay_10us();
CSN=1;
delay_10us();
return(reg_val);
}

uchar SPI_Read_Reg(uchar reg)
{
  uchar reg_val;
/*置低CSN,使能SPI传输*/
  CSN=0;

    /*发送寄存器号*/
SPI_RW(reg); 

 /*读取寄存器的值 */
reg_val = SPI_RW(0);
            
    /*CSN拉高,完成*/
CSN=1;
CE=1;
   
return reg_val;
}

uchar SPI_Read_Buf(uchar reguchar *pBufuchar bytes)
{
uchar statusbyte_ctr;
CSN=0;
delay_10us();
status=SPI_RW(reg);
for(byte_ctr=0;byte_ctr {
pBuf[byte_ctr]=SPI_RW(0);
}
delay_10us();
CSN=1;
delay_10us();
return(status);
}

uchar SPI_Write_Buf(uchar reguchar *pBufuchar bytes)
{
uchar statusbyte_ctr;

CSN=0;
delay_10us();
status=SPI_RW(reg);
for(byte_ctr=0;byte_ctr {
SPI_RW(*pBuf++);
}
CSN=1;
delay_10us();
delay_10us();

return(status);

}

void RX_Mode(void)
{
CE=0;
SPI_Write_Buf(WRITE_REG + RX_ADDR_P1TX_ADDRESSTX_ADR_WIDTH);
SPI_RW_Reg(WRITE_REG + EN_AA0X02);
    SPI_RW_Reg(WRITE_REG + EN_RXADDR0X02);
SPI_RW_Reg(WRITE_REG + RF_CH40);
SPI_RW_Reg(WRITE_REG + RX_PW_P1TX_PLOAD_WIDTH);
SPI_RW_Reg(WRITE_REG + RF_SETUP0X07);
SPI_RW_Reg(WRITE_REG + CONFIG0X0F);

CE=1;


}

void TX_Mode(void)
{
CE=0;

SPI_Write_Buf(WRITE_REG + TX_ADDRTX_ADDRESSTX_ADR_WIDTH);
SPI_Write_Buf(WRITE_REG + RX_ADDR_P0TX_ADDRESSTX_ADR_WIDTH);
SPI_Write_Buf(WR_TX_PLOADtxbufTX_PLOAD_WIDTH);

SPI_RW_Reg(WRITE_REG + EN_AA0X01);
SPI_RW_Reg(WRITE_REG + EN_RXADDR0X01);
SPI_RW_Reg(WRITE_REG + SETUP_RETR0X1a);

SPI_RW_Reg(WRITE_REG + RF_CH40);
SPI_RW_Reg(WRITE_REG + RF_SETUP0X07);
SPI_RW_Reg(WRITE_REG + CONFIG0X0E);

CE=1;


}

uchar NRF_Check(void)
{
uchar buf3[5]={0xC20xC20xC20xC20xC2};
uchar buf2[5];
uchar i;

 
/*写入5个字节的地址.  */  
SPI_Write_Buf(WRITE_REG+TX_ADDRbuf35);

/*读出写入的地址 */
SPI_Read_Buf(TX_ADDRbuf25); 
 
/*比较*/               
 for(i=0;i<5;i++)
{
if(buf2[i]!=0xc2)

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2015-05-03 15:13  程序\
     目录           0  2015-05-09 19:20  程序\发送\
     文件        7451  2015-05-06 23:06  程序\发送\24L01.LST
     文件       14871  2015-05-06 23:06  程序\发送\24L01.OBJ
     文件        3309  2015-05-06 22:34  程序\发送\24L01.c
     文件        3577  2013-05-08 23:35  程序\发送\API.H
     文件        6376  2009-05-07 14:37  程序\发送\STARTUP.A51
     文件       14052  2015-05-06 23:06  程序\发送\STARTUP.LST
     文件         749  2015-05-06 23:06  程序\发送\STARTUP.OBJ
     文件        6485  2013-05-08 00:11  程序\发送\keyscan.LST
     文件          37  2013-05-08 00:11  程序\发送\keyscan.__i
     文件        2333  2013-05-07 23:42  程序\发送\keyscan.c
     文件       24116  2014-10-21 11:12  程序\发送\发送
     文件        8832  2015-05-06 23:06  程序\发送\发送.LST
     文件       25229  2015-05-06 23:06  程序\发送\发送.M51
     文件       12422  2015-05-06 23:06  程序\发送\发送.OBJ
     文件        3864  2015-05-06 23:06  程序\发送\发送.c
     文件        4197  2015-05-06 23:06  程序\发送\发送.hex
     文件          59  2015-05-06 23:06  程序\发送\发送.lnp
     文件       25128  2015-05-06 23:06  程序\发送\发送.plg
     文件       72576  2015-05-09 19:20  程序\发送\发送.uvgui.abc
     文件       72579  2015-05-09 10:02  程序\发送\发送.uvgui_abc.bak
     文件        6361  2015-05-09 19:20  程序\发送\发送.uvopt
     文件       13724  2014-12-08 19:09  程序\发送\发送.uvproj
     文件        6361  2015-05-09 10:02  程序\发送\发送_uvopt.bak
     文件       13721  2014-12-08 14:28  程序\发送\发送_uvproj.bak
     目录           0  2015-05-09 19:25  程序\接收\
     文件        6950  2015-05-09 19:25  程序\接收\24L01.LST
     文件       13366  2015-05-09 19:25  程序\接收\24L01.OBJ
     文件        2950  2015-05-06 23:04  程序\接收\24L01.c
     文件        3317  2013-05-09 00:14  程序\接收\API.H
............此处省略20个文件信息

评论

共有 条评论

相关资源