亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? nrf905.c

?? nrf905無線開發 調試原代碼 和51通信
?? C
字號:

#include<at89x51.h>
#include<intrins.h>

#define uchar unsigned char 
#define uint  unsigned int

#define WC		0x00			// Write configuration register command
#define RC		0x10 			// Read  configuration register command
#define WTP		0x20 			// Write TX Payload  command
#define RTP		0x21			// Read  TX Payload  command
#define WTA		0x22			// Write TX Address  command
#define RTA		0x23			// Read  TX Address  command
#define RRP		0x24			// Read  RX Payload  command



typedef struct RFConfig
{
	uchar n;
	uchar buf[10];
}RFConfig;

code RFConfig RxTxConf =
{
	10,
	0x4c, 0x0c, 0x44, 0x20, 0x20, 0xcc, 0xcc, 0xcc,0xcc, 0x58	
};



uchar data TxBuf[32];
uchar data RxBuf[32];


uchar key,rsbrf,delayf,tf;


uchar bdata DATA_BUF;
sbit	flag	=DATA_BUF^7;
sbit	flag1	=DATA_BUF^0;


sbit	TX_EN	=P2^0;
sbit	TRX_CE	=P2^1;
sbit	PWR_UP	=P2^2;
sbit	MISO	=P2^6;
sbit	MOSI	=P2^7;
sbit	SCK	=P3^2;
sbit	CSN	=P3^3;

sbit	AM	=P3^5;
sbit	DR	=P2^5;
sbit	CD	=P2^4;


void InitIO(void);			// Initialize IO port
void Inituart(void);			// initialize 232 uart
void Config905(void);			// Config nRF905 module配置NRF905模式
void SetTxMode(void);			// Set nRF905 in Tx mode
void SetRxMode(void);			// Set nRF905 in Rx mode
void TxPacket(void);			// Send data by nRF905
void RxPacket(void);			// Recive data by nRF905
void SpiWrite(uchar);			// Write data to nRF905
uchar SpiRead(void);			// Read data to nRF905
void Delay(uchar n);			// Delay 100us
void Scankey(void);				// Scan key
void TxData (uchar x);			// Send key_value to CRT display
void comdebug(void);




void TxData (unsigned char x)
{
	SBUF=x;	
	while(TI==0);
		TI=0;
}



void Delay(uchar n)
{
	uint i;
	while(n--)
	for(i=0;i<80;i++);	
}



void serial () interrupt 4
{  
    unsigned char temp;
     if(RI)
       { 
		    
		temp=SBUF;
                rsbrf=temp;
	        RI=0;
	}				
}














void main()
{
unsigned int cyc=0;
unsigned int distan=0;

    SCON=0x50;  													//模式1
    TMOD=0x21;  													//定時模式2
    IE=0x90;															//=====9600=======設置串口通訊寄存器
    
    TH1=0xFD; 
    TL1=0xFD;  															//計數器初值
    
    
  //================NRF905初始化
	CSN=1;														// Spi 	disable						
	SCK=0;														// Spi clock line init high
	DR=1;															// Init DR for input
	AM=1;															// Init AM for input
	PWR_UP=1;													// nRF905 power on
	TRX_CE=0;													// Set nRF905 in standby mode
	TX_EN=0;													// set radio in Rx mode	

  TI = 0;														//串行中斷標志位清零
  TR1 = 1;													//打開計數器1  
	//================
	
	
	Config905();											// Config nRF905 module
	SetTxMode();											// Set Tx Mode
	TxPacket();												// Transmit Tx buffer data
	P0=0x00;
	Delay(500);												// delay for led light	
	P0=0xff;													// led close
	SetRxMode();											// Set nRF905 in Rx mode
	
	
	
	

while(1)
{
	 //=====================從鍵盤獲得數據
	 switch(P1)
	    {
	    	
	    case 0xfe:P1=0xef;TxBuf[0]=0xef;tf=1;break;
	  	case 0xfd:P1=0xdf;TxBuf[0]=0xdf;tf=1;break;
		  case 0xfb:P1=0xbf;TxBuf[0]=0xbf;tf=1;break;
		  case 0xf7:P1=0x7f;TxBuf[0]=0x7f;tf=1;break;
	 	 	default:P0=0xff;TxBuf[0]=0xff; 
	 	 		
		 } 
	 if (tf==1)
	   {	
			
			  switch(TxBuf[0])
			    {
			      case 0xef:TxData('A');break;
			      case 0xdf:TxData('B');break;
			      case 0xbf:TxData('C');break;
			      case 0x7f:TxData('D');break;
			 			default:P0=0xff;TxBuf[0]=0xff; 
			 				
				  } 
		         
			  SetTxMode();																					// Set Tx Mode
			  TxPacket();																						// Transmit Tx buffer data
				TxBuf[0] = 0xff;
				SetRxMode();																					// Set nRF905 in Rx mode
				tf=0;
				Delay(500);
				P1=0xff;
		 }

         //=====================等待NRF905接收
	   if (DR)			// If recive data ready... 
	   RxPacket();			// ... recive data
	 //=====================從串口接收到數據
	 if (rsbrf!=0)
	  {
		 switch(rsbrf)
		   {
		   	
		   case 'A':P1=0xef;TxBuf[0]=0xef;delayf=1;break;
			 case 'B':P1=0xdf;TxBuf[0]=0xdf;delayf=1;break;
			 case 'C':P1=0xbf;TxBuf[0]=0xbf;delayf=1;break;
			 case 'D':P1=0x7f;TxBuf[0]=0x7f;delayf=1;break;
		 	 default:P0=0xff;TxBuf[0]=0xff; 
		 	 
			}
			
			
	  //====================NRF905發送串口接收到的相應的字符 
	   if(TxBuf[0]!=0xff)
	     if(TxBuf[0]!=0x00)
		  {
		    SetTxMode();																		// Set Tx Mode
		    TxPacket();																			// Transmit Tx buffer data
			TxBuf[0] = 0xff;
			SetRxMode();																			// Set nRF905 in Rx mode
		  }	
		  
		  			            	
	 //=====================
		 if(delayf==1)
		   {
		     Delay(500);
			 delayf = 0 ;
			 P1 = 0xff ;
		   }
	   }
	 //=====================
	 if(rsbrf!=0)
	   {
	     TxData(rsbrf);
		 rsbrf = 0 ;
	   }
	 //=====================


}
}




void Config905(void)
{
	uchar i;					
	CSN=0;																							// Spi enable for write a spi command
	SpiWrite(WC);																				// Write config command寫放配置命令
	for (i=0;i<RxTxConf.n;i++)													// Write configration words  寫放配置字
	{
		SpiWrite(RxTxConf.buf[i]);
	}
	CSN=1;																							// Disable Spi
}





void SpiWrite(uchar  byte)
{
	uchar i;	
	DATA_BUF=byte;																			// Put function's parameter into a bdata variable		
	for (i=0;i<8;i++)																		// Setup byte circulation bits
	{	
		
		if (flag)																					// Put DATA_BUF.7 on data line
			MOSI=1;
		else
			MOSI=0;
		SCK=1;																						// Set clock line high
		DATA_BUF=DATA_BUF<<1;															// Shift DATA_BUF
		SCK=0;																						// Set clock line low 
	}	
}





uchar SpiRead(void)
{
	uchar i;	
	for (i=0;i<8;i++)																		// Setup byte circulation bits
	{	
		DATA_BUF=DATA_BUF<<1;															// Right shift DATA_BUF
		SCK=1;																						// Set clock line high
		if (MISO)
			flag1=1;																				// Read data
		else
			flag1=0;
							
		
		SCK=0;																						// Set clock line low
	}
	return DATA_BUF;																		// Return function parameter
}





void TxPacket(void)
{
	uchar i;
	//Config905();				
	CSN=0;																						// Spi enable for write a spi command	
	SpiWrite(WTP);																		// Write payload command
	for (i=0;i<32;i++)
	{
		SpiWrite(TxBuf[i]);															// Write 32 bytes Tx data
	}
	CSN=1;																						// Spi disable						
	Delay(1);
	CSN=0;																						// Spi enable for write a spi command	
	SpiWrite(WTA);																		// Write address command
	for (i=0;i<4;i++)																	// Write 4 bytes address
	{
		SpiWrite(RxTxConf.buf[i+5]);
	}	
	CSN=1;																						// Spi disable
	TRX_CE=1;																					// Set TRX_CE high,start Tx data transmission
	Delay(1);																					// while (DR!=1);
	TRX_CE=0;																					// Set TRX_CE low
}





void RxPacket(void)
{
	uchar i;	
	TRX_CE=0;																					// Set nRF905 in standby mode	
	CSN=0;																						// Spi enable for write a spi command
	SpiWrite(RRP);																		// Read payload command	
	for (i=0;i<32;i++)
	{
		RxBuf[i]=SpiRead();															// Read data and save to buffer		
	}
	CSN=1;																						// Disable spi
	while(DR||AM);	
	P1=	RxBuf[0];																			// Buffer[0] output from P0 port...
	TRX_CE=1;
	//xx=(RxBuf[0]>>4)&0x0f;
	//TxData(xx);
	
	
	
	
	 //=====================
	   	  switch(P1)
	    {
	      case 0xef:TxData('A');;break;
	  	  case 0xdf:TxData('B');;break;
		  case 0xbf:TxData('C');;break;
		  case 0x7f:TxData('D');;break;
	 	  //default:P0=0xff;TxBuf[0]=0xff; 
		 } 
	 //=====================
	 
	 
	  
	Delay(500);																				// ...light led
	P1=0xff;																					// Close led								
}






void SetTxMode(void)				
{	
	TX_EN=1;
	TRX_CE=0;
	Delay(1); 																			// delay for mode change(>=650us)
}				





void SetRxMode(void)
{
	TX_EN=0;
	TRX_CE=1;
	Delay(1); 																			// delay for mode change(>=650us)				
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品国产a| 一色屋精品亚洲香蕉网站| 91婷婷韩国欧美一区二区| 粉嫩av亚洲一区二区图片| 精品一区二区影视| 国产一区二区三区在线看麻豆| 久久成人免费网站| 久久精品久久综合| 国产一区二区在线看| 丰满白嫩尤物一区二区| 成人高清视频在线| 色狠狠色狠狠综合| 欧美性大战xxxxx久久久| 欧美情侣在线播放| 精品国产乱码久久久久久老虎| 欧美成人三级在线| 国产精品麻豆视频| 亚洲综合色自拍一区| 日本亚洲电影天堂| 国产高清在线精品| 91麻豆文化传媒在线观看| 欧美日韩精品欧美日韩精品一 | 久久久亚洲综合| 国产午夜亚洲精品羞羞网站| 中文字幕一区二区三区精华液| 一区二区三区欧美亚洲| 免费观看成人av| 国产.精品.日韩.另类.中文.在线.播放| 成人综合在线视频| 欧美久久一区二区| 欧美国产欧美亚州国产日韩mv天天看完整 | 色网站国产精品| 在线亚洲+欧美+日本专区| 日韩亚洲欧美高清| 国产精品高潮呻吟| 一区二区三区加勒比av| 国产在线视频精品一区| 色婷婷亚洲一区二区三区| 日韩一区二区视频| 亚洲免费伊人电影| 韩国女主播成人在线观看| 日本二三区不卡| 久久网站热最新地址| 亚洲成在人线在线播放| 波多野结衣在线一区| 日韩色视频在线观看| 亚洲综合区在线| 成人综合激情网| 欧美刺激脚交jootjob| 亚洲一区免费观看| 91在线视频播放地址| 2023国产精华国产精品| 午夜视频在线观看一区二区三区 | 色婷婷亚洲婷婷| 亚洲国产精品黑人久久久| 开心九九激情九九欧美日韩精美视频电影 | 日本强好片久久久久久aaa| 成人午夜激情影院| 久久精品夜色噜噜亚洲aⅴ| 免费av网站大全久久| 91亚洲国产成人精品一区二三| 这里是久久伊人| 亚洲一区二区三区中文字幕在线| 不卡免费追剧大全电视剧网站| 精品国产91久久久久久久妲己| 五月天欧美精品| 欧美性色综合网| 亚洲日本在线a| 99在线精品观看| 欧美激情一区二区三区在线| 国产一本一道久久香蕉| 欧美mv和日韩mv国产网站| 免费观看91视频大全| 日韩欧美一区二区视频| 美女视频黄免费的久久| 欧美一区欧美二区| 久久精品99国产精品| 欧美成人伊人久久综合网| 激情六月婷婷久久| 久久婷婷色综合| 国产凹凸在线观看一区二区| 国产欧美一区二区精品久导航| 国产成人日日夜夜| 国产精品久久久久婷婷| 不卡视频免费播放| 一区二区三区四区乱视频| 精品视频1区2区3区| 天天爽夜夜爽夜夜爽精品视频| 欧美精品三级日韩久久| 日本不卡高清视频| 久久影院午夜论| av在线不卡网| 亚洲第四色夜色| 精品国产精品网麻豆系列| 国产精品一二三| 亚洲欧美日韩久久| 欧美日韩国产片| 国产精品一区一区三区| 国产精品久久久久一区| 欧美亚洲动漫制服丝袜| 日本美女一区二区三区视频| 久久嫩草精品久久久精品一| 97久久精品人人澡人人爽| 亚洲电影中文字幕在线观看| 日韩美女视频在线| eeuss鲁片一区二区三区在线观看| 一区二区日韩av| 久久这里只有精品视频网| 99麻豆久久久国产精品免费优播| 亚洲成人黄色影院| 国产日韩精品一区| 欧美日韩精品高清| 成人av网址在线| 日韩va亚洲va欧美va久久| 国产精品日产欧美久久久久| 欧美日韩一区视频| 国产精品一区一区| 日韩av中文字幕一区二区| 国产精品欧美一区喷水| 7777精品伊人久久久大香线蕉 | 99久久精品久久久久久清纯| 日本视频一区二区| 亚洲欧美一区二区三区极速播放| 日韩一级二级三级精品视频| 色婷婷精品久久二区二区蜜臀av| 久久成人精品无人区| 亚洲高清在线精品| 亚洲欧洲日韩女同| 国产欧美日韩精品一区| 日韩欧美中文字幕一区| 在线免费观看日本一区| 成人午夜在线播放| 激情文学综合网| 性久久久久久久| 亚洲理论在线观看| 中文字幕一区二区日韩精品绯色| 精品国内二区三区| 91精品在线免费观看| 欧美日韩一区二区三区不卡| 91在线你懂得| 97久久超碰精品国产| 国产成人免费视| 韩国三级在线一区| 精品一区二区综合| 精品中文字幕一区二区小辣椒| 日韩国产成人精品| 亚洲成人黄色小说| 视频一区视频二区在线观看| 亚洲一区二区在线视频| 亚洲一区二区三区四区五区黄| 亚洲女同一区二区| 亚洲乱码国产乱码精品精98午夜| 中文字幕高清不卡| 中文字幕在线观看一区二区| 国产女人水真多18毛片18精品视频 | 精品久久久久久综合日本欧美| 欧洲精品在线观看| 在线观看不卡一区| 欧美亚洲国产一区二区三区va| 色欧美88888久久久久久影院| 一本色道**综合亚洲精品蜜桃冫| 色婷婷精品大在线视频| 欧美伊人精品成人久久综合97 | 精品国精品自拍自在线| 精品国产乱码91久久久久久网站| 精品国产免费人成电影在线观看四季 | 亚洲一区中文日韩| 亚洲福利一区二区三区| 午夜一区二区三区在线观看| 亚洲自拍都市欧美小说| 日本欧美加勒比视频| 精品一区二区免费视频| 国产一区二区电影| eeuss鲁一区二区三区| 精品视频免费在线| 欧美tickling挠脚心丨vk| 国产午夜精品一区二区三区视频| 国产精品久久久久一区二区三区共| 亚洲欧洲综合另类| 奇米一区二区三区av| 91麻豆福利精品推荐| 精品视频在线免费看| 久久网站热最新地址| 亚洲精品国产视频| 久久99精品国产麻豆不卡| 成人黄色a**站在线观看| 精品视频999| 国产欧美久久久精品影院| 一区二区三区四区国产精品| 久久精品国产精品亚洲综合| www.欧美日韩国产在线| 欧美另类变人与禽xxxxx| 国产女同互慰高潮91漫画| 五月婷婷色综合| 成人的网站免费观看| 欧美一区二区成人6969| 国产精品国产三级国产专播品爱网| 亚洲一区二区三区不卡国产欧美| 国产一区亚洲一区| 欧美老人xxxx18|