久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4959|回復: 9
打印 上一主題 下一主題
收起左側

用12C5A60S2和RF905寫一個無線發射和接收程序用12自帶的SPI

  [復制鏈接]
跳轉到指定樓層
樓主
ID:51337 發表于 2013-8-7 00:11 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
發送程序  
#include <12c5a60s2.h>
#include <intrins.h>
#define FOSC 11059200L
#define BAUD (256-FOSC/32/9600)
#define uint unsigned int
#define uchar unsigned char
uchar data TxBuf[32];
uchar data RxBuf[32];
uchar bdata DATA_BUF;
/*     定義RF905                    */
#define WC  0x00 // 寫配置寄存器指令
#define RC  0x10  // 讀取配置寄存器命令
#define WTP 0x20  //寫TX有效數據字節寫操作全部從0開始
#define RTP 0x21 // 讀TX有效數據字節寫操作全部從0開始
#define WTA 0x22 // 寫發送地址命令
#define RTA 0x23 // 讀發送地址命令
#define RRP 0x24 // 讀RX有效數據字節寫操作全部從0開始
typedef struct RFConfig
{
uchar n;
uchar buf[10];
}RFConfig;
code RFConfig RxTxConf ={
10,
0x01, 0x0c, 0x44, 0x20, 0x20, 0xcc, 0xcc, 0xcc,0xcc, 0x58
};
//這個結構的內容是NRF905的初始化數據。
// ch_no = 1;433MHz;正常運轉,沒有協議;接收,發送的地址是4字節/收發有效寬度為32字節;禁用外部時鐘;晶振頻率= 16MHz / / 8位CRC和使/*******************************************************************************************/
/*******************************************************************************************/
void delay(uchar z)
{
uint x,y;
for(x=z;x<0;x--)
  for(y=110;y>0;y--);
}
sbit SPISS=P1^4;
sbit MOSI=P1^5;
sbit MISO=P1^6;
sbit SCK=P1^7;     //主器件啟動一次數據傳輸時自動產生8個SCK時鐘周期信號給從機
sbit CSN=P1^1;
sbit DR=P2^1;
sbit AM=P2^2;
sbit CD=P2^4;
sbit PWR_UP=P2^5;
sbit TRX_CE=P2^6;
sbit TX_EN=P2^7;
/*******************************************************************************************/
/*******************************************************************************************/
//function InitIO();
/*******************************************************************************************/
void InitIO(void)
{
CSN=1;// SPI禁用
SCK=0;// SPI初始化時鐘線高
DR=1;// 初始化DR輸入
AM=1;// 初始化AM輸入
PWR_UP=1;// nRF905芯片上電
TRX_CE=0;// 在待機模式下設置nRF905
TX_EN=0;// 在接收模式設置無線
}
/*******************************************************************************************/
void SetTXmode()
{
TRX_CE=1;
TX_EN=1;
delay(1);
}
/***********************************
funtion :write spi date
***********************************/
void Spi_write(uchar date)
{
DATA_BUF=date;
SPDAT=DATA_BUF;
while(!SPIF);
SPSTAT=SPIF|WCOL;
}
void Config905(void)
{
uchar i;
CSN=0;
Spi_write(WC);
for(i=0;i<RxTxConf.buf[i];i++)
{
  Spi_write(RxTxConf.buf[i]);
}
CSN=1;
}
/***************************************
funtion: send 32 date
****************************************/
void TxPacket(void)
{
uchar i;
CSN=0;
Spi_write(WTP);
for(i=0;i<32;i++)
{
  Spi_write(TxBuf[i]);
}
CSN=1;
delay(5);
CSN=0;
Spi_write(WTP);
for(i=0;i<4;i++)
{
  Spi_write(TxBuf[i+5]);
}
CSN=1;
TRX_CE=1;
delay(5);
TRX_CE=0;
}
/***************************************
funtion: SPI init
****************************************/
void SPI_init(void)
{
SPCTL=0xfd;
SPSTAT=SPIF|WCOL;
SPDAT=0;
IE2|=ESPI;
EA=1;
}
/***************************************
funtion: uart init
****************************************/
void Uart_init(void)
{
TMOD=0x20;
AUXR=0x40;
TH1=TL1=BAUD;
SCON=0x50;
PCON=0X00;
TR1=1;
}
uchar RecvUart()
{
while(!RI)
RI=0;
return SBUF;
}
void SendUart(uchar dat)
{
while(!TI);
TI=0;
SBUF=dat;
}
void main()
{
InitIO();
Uart_init();
SPI_init();
Config905();
SetTXmode();
delay(500);// 延時
while(1)
{
  Scankey();
  TxPacket();
  if(DR)
   {
    beep=~beep;
    delay(1000);
   }   
}
}
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏4 分享淘帖 頂1 踩
回復

使用道具 舉報

沙發
ID:52286 發表于 2013-10-13 22:02 | 只看該作者
真是不錯的資料
回復

使用道具 舉報

板凳
ID:56665 發表于 2013-11-27 18:35 | 只看該作者
有空買個模塊照程序試下。
回復

使用道具 舉報

地板
ID:62288 發表于 2014-5-26 12:05 | 只看該作者
萬分感激樓主。
回復

使用道具 舉報

5#
ID:64910 發表于 2014-8-10 07:44 | 只看該作者
謝謝了
回復

使用道具 舉報

6#
ID:65748 發表于 2014-9-3 12:51 | 只看該作者
很不錯就是看不懂啊
回復

使用道具 舉報

7#
ID:66061 發表于 2014-9-18 10:20 | 只看該作者
樓主辛苦了
回復

使用道具 舉報

8#
ID:66464 發表于 2014-9-21 21:12 | 只看該作者
學習了
回復

使用道具 舉報

9#
ID:44267 發表于 2015-10-19 13:15 | 只看該作者
我搞了個NRF2401的
回復

使用道具 舉報

10#
ID:96980 發表于 2016-7-1 19:27 | 只看該作者
該程序是發送部分的接收部分能給嗎
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 久久大陆 | 久草精品视频 | 激情五月婷婷综合 | 国产第一页在线观看 | 毛片免费观看 | 久久久久国产一区二区三区 | 久久久久久亚洲 | 日韩在线小视频 | 日韩有码一区二区三区 | 久久久久久久综合 | 精品欧美| 日本不卡一区 | 久久大全 | 国产日韩中文字幕 | 日韩快播电影网 | 日本韩国电影免费观看 | 久久综合av| 日韩av在线免费 | 极品久久| 成人av激情 | 精品成人一区 | 黄色一级免费观看 | 91精品国产色综合久久不卡98口 | 国产高清精品一区二区三区 | 久久51| 亚洲国产一区二区三区在线观看 | 国产精品久久久久久久久久软件 | 一级做受毛片免费大片 | 国产在线精品一区二区 | 99久9| 国产乱码精品一区二区三区五月婷 | 久久9久 | 国产免费福利小视频 | 久草久草久草 | 日韩一区二区黄色片 | 欧美日韩精品一区二区三区视频 | 一二区成人影院电影网 | 色狠狠一区 | 在线观看国产精品视频 | 日韩在线一区二区三区 | 欧美精品tv |