没有合适的资源?快使用搜索试试~ 我知道了~
AT89C51单片机--CC1101无线发送程序(经本人调试成功的)
5星 · 超过95%的资源 需积分: 17 34 下载量 175 浏览量
2014-12-20
14:05:30
上传
评论
收藏 19KB TXT 举报
温馨提示
试读
20页
AT89C51单片机--CC1101无线发送程序(经本人调试成功)还有一个接收模块的程序两个一起用就可以相互通讯了
资源推荐
资源详情
资源评论
#include <reg52.h>
#include <intrins.h>
#define INT8U unsigned char
#define INT16U unsigned int
#define WRITE_BURST 0x40 //连续写入
#define READ_SINGLE 0x80 //读
#define READ_BURST 0xC0 //连续读
#define BYTES_IN_RXFIFO 0x7F //接收缓冲区的有效字节数
#define CRC_OK 0x80 //CRC校验通过位标志
//**************************************************************
sbit GDO0 =P2^1;
sbit GDO2 =P2^2;
sbit MISO =P2^3;
sbit MOSI =P2^5;
sbit SCK =P2^4;
sbit CSN =P2^0;
//***************************************************************
sbit KEY1 =P3^6;
sbit KEY2 =P3^7;
//*****************************************************************
sbit st=P2^6;//?????????????
//*****************************************************************
INT8U PaTabel[8] = {0x60 ,0x60 ,0x60 ,0x60 ,0x60 ,0x60 ,0x60 ,0x60};
INT8U seg[10]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90}; //0~~9段码
//*****************************************************************
void SpiInit(void);
void CpuInit(void);
#include <intrins.h>
#define INT8U unsigned char
#define INT16U unsigned int
#define WRITE_BURST 0x40 //连续写入
#define READ_SINGLE 0x80 //读
#define READ_BURST 0xC0 //连续读
#define BYTES_IN_RXFIFO 0x7F //接收缓冲区的有效字节数
#define CRC_OK 0x80 //CRC校验通过位标志
//**************************************************************
sbit GDO0 =P2^1;
sbit GDO2 =P2^2;
sbit MISO =P2^3;
sbit MOSI =P2^5;
sbit SCK =P2^4;
sbit CSN =P2^0;
//***************************************************************
sbit KEY1 =P3^6;
sbit KEY2 =P3^7;
//*****************************************************************
sbit st=P2^6;//?????????????
//*****************************************************************
INT8U PaTabel[8] = {0x60 ,0x60 ,0x60 ,0x60 ,0x60 ,0x60 ,0x60 ,0x60};
INT8U seg[10]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90}; //0~~9段码
//*****************************************************************
void SpiInit(void);
void CpuInit(void);
void RESET_CC1100(void);
void POWER_UP_RESET_CC1100(void);
void halSpiWriteReg(INT8U addr, INT8U value);
void halSpiWriteBurstReg(INT8U addr, INT8U *buffer, INT8U count);
void halSpiStrobe(INT8U strobe);
INT8U halSpiReadReg(INT8U addr);
void halSpiReadBurstReg(INT8U addr, INT8U *buffer, INT8U count);
INT8U halSpiReadStatus(INT8U addr);
void halRfWriteRfSettings(void);
void halRfSendPacket(INT8U *txBuffer, INT8U size);
INT8U halRfReceivePacket(INT8U *rxBuffer, INT8U *length);
//***************************************************************
// CC1100 STROBE, CONTROL AND STATUS REGSITER
#define CCxxx0_IOCFG2 0x00 // GDO2 输出引脚配置
#define CCxxx0_IOCFG1 0x01 // GDO1 输出引脚配置
#define CCxxx0_IOCFG0 0x02 // GDO0 输出引脚配置
#define CCxxx0_FIFOTHR 0x03 // RX FIFO 和 TX FIFO 阈值
#define CCxxx0_SYNC1 0x04 // 同步字,高字节
#define CCxxx0_SYNC0 0x05 // 同步字,低字节
#define CCxxx0_PKTLEN 0x06 // 数字包长度
#define CCxxx0_PKTCTRL1 0x07 // 数字包自动控制
#define CCxxx0_PKTCTRL0 0x08 // 数字包自动控制
#define CCxxx0_ADDR 0x09 // 器件地址
#define CCxxx0_CHANNR 0x0A // 信道数量
#define CCxxx0_FSCTRL1 0x0B // 频率合成器控制
#define CCxxx0_FSCTRL0 0x0C // 频率合成器控制
#define CCxxx0_FREQ2 0x0D // 频率控制字,高字节
#define CCxxx0_FREQ1 0x0E // 频率控制字,中间字节
#define CCxxx0_FREQ0 0x0F // 频率控制字,低字节
#define CCxxx0_MDMCFG4 0x10 // 调制解调器配置
void POWER_UP_RESET_CC1100(void);
void halSpiWriteReg(INT8U addr, INT8U value);
void halSpiWriteBurstReg(INT8U addr, INT8U *buffer, INT8U count);
void halSpiStrobe(INT8U strobe);
INT8U halSpiReadReg(INT8U addr);
void halSpiReadBurstReg(INT8U addr, INT8U *buffer, INT8U count);
INT8U halSpiReadStatus(INT8U addr);
void halRfWriteRfSettings(void);
void halRfSendPacket(INT8U *txBuffer, INT8U size);
INT8U halRfReceivePacket(INT8U *rxBuffer, INT8U *length);
//***************************************************************
// CC1100 STROBE, CONTROL AND STATUS REGSITER
#define CCxxx0_IOCFG2 0x00 // GDO2 输出引脚配置
#define CCxxx0_IOCFG1 0x01 // GDO1 输出引脚配置
#define CCxxx0_IOCFG0 0x02 // GDO0 输出引脚配置
#define CCxxx0_FIFOTHR 0x03 // RX FIFO 和 TX FIFO 阈值
#define CCxxx0_SYNC1 0x04 // 同步字,高字节
#define CCxxx0_SYNC0 0x05 // 同步字,低字节
#define CCxxx0_PKTLEN 0x06 // 数字包长度
#define CCxxx0_PKTCTRL1 0x07 // 数字包自动控制
#define CCxxx0_PKTCTRL0 0x08 // 数字包自动控制
#define CCxxx0_ADDR 0x09 // 器件地址
#define CCxxx0_CHANNR 0x0A // 信道数量
#define CCxxx0_FSCTRL1 0x0B // 频率合成器控制
#define CCxxx0_FSCTRL0 0x0C // 频率合成器控制
#define CCxxx0_FREQ2 0x0D // 频率控制字,高字节
#define CCxxx0_FREQ1 0x0E // 频率控制字,中间字节
#define CCxxx0_FREQ0 0x0F // 频率控制字,低字节
#define CCxxx0_MDMCFG4 0x10 // 调制解调器配置
剩余19页未读,继续阅读
资源评论
- qq_298308632015-07-30用了一下试试,可以实现,非常不错,赞一下。
- dimoumian82252017-11-28还没来得机看,希望很好
qq_24663623
- 粉丝: 0
- 资源: 3
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功