资源简介
该系统基于c语言,分发送端和接受端,利用单片机实现了呼叫系统的简易通信。
代码片段和文件信息
#include
#include
#include “2401driver.h“
uint bdata sta; //状态标志
sbit RX_DR =sta^6;
sbit TX_DS =sta^5;
sbit MAX_RT =sta^4;
uint const TX_ADDRESS[TX_ADR_WIDTH]= {0x340x430x100x100x01}; //本地地址
uint const RX_ADDRESS[RX_ADR_WIDTH]= {0x340x430x100x100x01}; //接收地址
//*****************************************长延时*****************************************
void Delay(unsigned int s)
{
unsigned int i;
s= s*6;
for(i=0; i for(i=0; i}
/******************************************************************************************
/*延时函数
/******************************************************************************************/
void inerDelay_us(unsigned char n)
{
n=n*6;
for(;n>0;n--)
_nop_();
}
//****************************************************************************************
/*NRF24L01初始化
//***************************************************************************************/
void init_NRF24L01(void)
{
inerDelay_us(100);
CE=0; // chip enable
CSN=1; // Spi disable
SCK=0; //
/*CLEAN FIFO*/SPI_RW_Reg(FLUSH_RX0);
/*CLEAN FIFO*/SPI_RW_Reg(FLUSH_TX0);
SPI_Write_Buf(WRITE_REG + TX_ADDR TX_ADDRESS TX_ADR_WIDTH); // 写本地地址
SPI_Write_Buf(WRITE_REG + RX_ADDR_P0 RX_ADDRESS RX_ADR_WIDTH); // 写接收端地址
SPI_RW_Reg(WRITE_REG + EN_AA 0x01); // 频道0自动 ACK应答允许
SPI_RW_Reg(WRITE_REG + EN_RXADDR 0x01); // 允许接收地址只有频道0,如果需要多频道可以参考Page21
SPI_RW_Reg(WRITE_REG + RF_CH 0); // 设置信道工作为2.4GHZ,收发必须一致
SPI_RW_Reg(WRITE_REG + RX_PW_P0 RX_PLOAD_WIDTH); //设置接收数据长度,本次设置为32字节
SPI_RW_Reg(WRITE_REG + RF_SETUP 0x07); //设置发射速率为1MHZ,发射功率为最大值0dB
}
/****************************************************************************************************
/*函数:uint SPI_RW(uint uchar)
/*功能:NRF24L01的SPI写时序
/****************************************************************************************************/
uint SPI_RW(uint uchar)
{
uint bit_ctr;
for(bit_ctr=0;bit_ctr<8;bit_ctr++) // output 8-bit
{
MOSI = (uchar & 0x80); // output ‘uchar‘ MSB to MOSI
uchar = (uchar << 1); // shift next bit into MSB..
SCK = 1; // Set SCK high..
uchar |= MISO; // capture current MISO bit
SCK = 0; // ..then set SCK low again
}
return(uchar); // return read uchar
}
/****************************************************************************************************
/*函数:uchar SPI_Read(uchar reg)
/*功能:NRF24L01的SPI时序
/****************************************************************************************************/
uchar SPI_Read(uchar reg)
{
uchar reg_val;
CSN = 0; // CSN low initialize SPI communication...
SPI_RW(reg); // Select register to read from..
reg_val = SPI_RW(0); // ..then read registervalue
CSN = 1; // CSN high terminate SPI communication
return(reg_val); 属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2015-03-22 19:08 最终版\
目录 0 2015-04-25 12:50 最终版\发送\
文件 7989 2015-03-22 04:41 最终版\发送\2401driver.c
文件 3390 2015-03-22 04:41 最终版\发送\2401driver.h
文件 12697 2015-03-22 05:58 最终版\发送\2401driver.LST
文件 16253 2015-03-22 05:58 最终版\发送\2401driver.OBJ
文件 26301 2015-03-22 04:41 最终版\发送\codetab.h
文件 41556 2015-03-22 05:58 最终版\发送\fiest
文件 23061 2015-03-22 05:58 最终版\发送\fiest.hex
文件 60 2015-03-22 05:58 最终版\发送\fiest.lnp
文件 38929 2015-03-22 05:58 最终版\发送\fiest.M51
文件 189 2015-04-25 12:50 最终版\发送\fiest.plg
文件 74901 2015-04-25 12:50 最终版\发送\fiest.uvgui.duan
文件 74525 2015-03-22 07:01 最终版\发送\fiest.uvgui_duan.bak
文件 7712 2015-04-25 12:50 最终版\发送\fiest.uvopt
文件 13610 2015-03-22 04:50 最终版\发送\fiest.uvproj
文件 63586 2015-03-22 04:41 最终版\发送\fiest_uvopt.bak
文件 13250 2015-03-22 04:41 最终版\发送\fiest_uvproj.bak
文件 1044 2015-03-22 04:41 最终版\发送\keyscan.h
文件 4774 2015-03-22 04:41 最终版\发送\LQ12864.h
文件 1887 2015-03-22 06:00 最终版\发送\main.c
文件 4549 2015-03-22 05:58 最终版\发送\main.LST
文件 29789 2015-03-22 05:58 最终版\发送\main.OBJ
文件 157 2015-03-22 04:41 最终版\发送\shengguang.h
文件 6376 2015-03-22 04:41 最终版\发送\STARTUP.A51
目录 0 2015-03-22 19:07 最终版\接收\
文件 7720 2015-03-22 04:41 最终版\接收\12864driver.c
文件 545 2015-03-22 04:41 最终版\接收\12864driver.h
文件 7717 2015-03-22 04:41 最终版\接收\2401driver.c
文件 3208 2015-03-22 04:41 最终版\接收\2401driver.h
文件 12152 2015-03-22 06:02 最终版\接收\2401driver.LST
............此处省略22个文件信息
- 上一篇:opencv实现surf算法
- 下一篇:ELGamal简单实现
相关资源
- 单片机c语言源程序(51定时器 八个按
- 用单片机控制蜂鸣器播放旋律程序(
- 合泰触摸单片机BS84B08C实际应用代码上
- 基于STM32单片机的心率体温测量仪
- 九齐单片机源码
- 单片机PID控制(C语言)
- 基于单片机的交通灯设计.doc
- C51单片机技术教程(304页)
- C51单片机交通
- 单片机C语言实战开发108例
- stm32库函数代码自动生成器V1.2
- 单片机电子密码锁
- 单片机程序(附初级、中级、高级共
- 按键可调万年历(单片机程序)
- 51单片机数码管四层电梯模拟系统
- 基于51单片机的温控系统
- 51单片机protues文件(KST-51.DSN)
- 51单片机交通灯设计
- 基于51单片机的简易计算器
- 单片机按键长按
- 基于51单片机多路超声波报警设计
- 51单片机红外智能小车
- 单片机控制绕线机.c
- qt上位机采集51单片机温湿度数据
- AVR单片机SPI通讯程序 (C语言源代码)
- BP神经网络C语言工程当前最终版
- 汉字取模软件----单片机使用必备
- 基于51单片机射频RFID卡考勤上课上班
- 可以在单片机上计算的BP神经网络C语
- 基于51单片机的888光立方设计.rar
川公网安备 51152502000135号
评论
共有 条评论