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

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

?? fasong.c

?? 很實用的單片機例程
?? C
字號:
//1.	  程序分別下載到2個開發板,注意兩個板都要接上USB電源供電。
//2.	然后按KEY后發送信息,發送完畢后蜂鳴器響一下,對方受到信息后同樣 響一下。
//3.	而且兩個開發板都可以做為發送和接收,一個做為發送,對應另一即為接收,實現及時雙向通信。
//4.    HJ-1G開發板上最下角第一個按鍵
//慧凈電子
//注;如果你的不是慧凈HJ-1G開發板,請自己修改IO口。

#include <reg52.h>
#include <ABSACC.h>
#include <intrins.h>
#include <stdio.h>
//----------------------------------------------------------------------------------------------------------------
#define uint unsigned int
#define uchar unsigned char
//----------------------------------------------------------------------------------------------------------------
#define BYTE_BIT0	0x01
#define BYTE_BIT7	0x80
//----------------------------------------------------------------------------------------------------------------
bdata unsigned  char DATA_BUF;
#define DATA7	((DATA_BUF&BYTE_BIT7) != 0)
#define DATA0   ((DATA_BUF&BYTE_BIT0) != 0)
sbit	flag	=DATA_BUF^7;
sbit	flag1	=DATA_BUF^0;
//---------------------------------------------------發送數據緩沖區-------------------------------------------------
#define TxRxBuf_Len 4
unsigned char TxRxBuf[TxRxBuf_Len]={0x29,0x30,0x31,0x32,};
code TxAddress[4]={0xcc,0xcc,0xcc,0xcc};
char tf;
//----------------------------------------NRF905工作模式控制端口------------------------------------------------------
sbit	TXEN=P1^0;
sbit	TRX_CE=P3^2;
sbit	PWR=P1^1;
//----------------------------------------LED顯示端口---------------------------------------------------
sbit    LED=P2^3; //蜂鳴器
//----------------------------------------NRF905 數據交換端口---------------------------------------------------
sbit	MISO=P1^6;
sbit	MOSI=P1^5;
sbit	SCK=P1^7;
sbit	CSN=P1^3;
//----------------------------------------nrf905狀態端口---------------------------------------------------------
sbit	AM=P1^4;
sbit	DR=P3^3;
sbit	CD=P1^2;
//---------------------------------------------------------------------------------------------------------------
//----------------------------------------按鍵端口-------------------------------------------------------
sbit	KEY=P3^4;  //HJ-1G開發板上最下角第一個按鍵,
//----------------------------------------nrf905控制指令-------------------------------------------
#define WC		0x00
#define RC		0x10
#define WTP		0x20
#define RTP		0x21
#define WTA		0x22
#define RTA		0x23
#define RRP		0x24
//------------------------------------------------NRF905寄存器配置------------------------------------------------
unsigned char idata RFConf[11]=
{
  0x00,                             //配置命令//
  0x4c,                             //CH_NO,配置頻段在430MHZ
  0x0c,                             //輸出功率為10db,不重發,節電為正常模式
  0x44,                             //地址寬度設置,為4字節
  0x04,0x04,                        //接收發送有效數據長度為4字節
  0xCC,0xCC,0xCC,0xCC,              //接收地址
  0x58,                              //CRC充許,8位CRC校驗,外部時鐘信號不使能,16M晶振
};
//================================================延時===========================================================
void nrf905_Delay(int n)
{
	uint i;
	while(n--)
	for(i=0;i<80;i++);
}
//=================================================SPI讀函數=======================================================
unsigned char SpiRead(void)
{
	unsigned char j;
	for (j=0;j<8;j++)
	{
        DATA_BUF=DATA_BUF<<1;
		SCK=1;
		if (MISO)	//讀取最高位,保存至最末尾,通過左移位完成整個字節
		{
			DATA_BUF|=BYTE_BIT0;
		}
		else
		{
			DATA_BUF&=~BYTE_BIT0;
		}
		SCK=0;
	 }
	 return DATA_BUF;
}
//===========================================SPI寫函數===============================================================
void SpiWrite(unsigned char send)
{
	unsigned char i;
	DATA_BUF=send;
	for (i=0;i<8;i++)
	{
		if (DATA7)	//總是發送最高位
		{
			MOSI=1;
		}
		else
		{
			MOSI=0;
		}
		SCK=1;
		DATA_BUF=DATA_BUF<<1;
		SCK=0;
	}
}
//------------------------------------------------------初始化nRF905---------------------------------------------
void nRF905Init(void)
{
    CSN=1;						// Spi 	disable
	SCK=0;						// Spi clock line init low
	DR=1;						// Init DR for input
	AM=1;						// Init AM for input
	CD=1;						// Init CD for input
	PWR=1;					// nRF905 power on
	TRX_CE=0;					// Set nRF905 in standby mode
	TXEN=0;					// set radio in Rx mode
}
//-----------------------------------------------------初始化寄存器-----------------------------------------------
void Config905(void)
{
	uchar i;
	CSN=0;						// Spi enable for write a spi command
	//SpiWrite(WC);				// Write config command寫放配置命令
	for (i=0;i<11;i++)	// Write configration words  寫放配置字
	{
	   SpiWrite(RFConf[i]);
	}
	CSN=1;					// Disable Spi
}
//-----------------------------------------------------發送數據打包---------------------------------------------------
void TxPacket(uchar *TxRxBuf)
{
	uchar i;
	//Config905();
	CSN=0;
	SpiWrite(WTP);				// Write payload command
	for (i=0;i<4;i++)
	{
		SpiWrite(TxRxBuf[i]);		// Write 32 bytes Tx data
	}
	CSN=1;
	nrf905_Delay(1);						// Spi disable
	CSN=0;						// Spi enable for write a spi command
	SpiWrite(WTA);				// Write address command
	for (i=0;i<4;i++)			// 寫入與對方地址一樣的地址
	{
		SpiWrite(TxAddress[i]);
	}
	CSN=1;						// Spi disable
	TRX_CE=1;					// Set TRX_CE high,start Tx data transmission
	nrf905_Delay(1);					// while (DR!=1);
	TRX_CE=0;					// Set TRX_CE low
}
//----------------------------------------------設置發送初始狀態---------------------------------------------
void SetTxMode(void)
{
	TRX_CE=0;
	TXEN=1;
	nrf905_Delay(1); 					// nrf905_Delay for mode change(>=650us)
}
//-----------------------------------------------設置接收初始化---------------------------------------------------
void SetRxMode(void)
{
	TXEN=0;
	TRX_CE=1;
	nrf905_Delay(1); 					// nrf905_Delay for mode change(>=650us)
}
//-------------------------------------------------判斷數據接收狀態-----------------------------------------------------
unsigned char CheckDR(void)		//檢查是否有新數據傳入 Data Ready
{
	DR=1;      
//通過對端口寫1,可以使端口為輸入狀態,這51的 特性。不熟悉者可以參閱51相關書籍作證(將DR端口設置為輸入狀態。)
	if (DR==1)
	{
		DR=0;
		return 1;
	}
	else
	{
		return 0;
	}

}
//----------------------------------------------------讀NRF905接收數據------------------------------------------------------------
void RxPacket(void)						
{
	uchar i;
    nrf905_Delay(1);
//	TRX_CE=0;					// Set nRF905 in standby mode
    nrf905_Delay(100);
    TRX_CE=0;
	CSN=0;						// Spi enable for write a spi command
    nrf905_Delay(1);
	SpiWrite(RRP);
	for (i = 0 ;i < 4 ;i++)
	{ 
		TxRxBuf[i]=SpiRead();		// Read data and save to buffer       
	}
	CSN=1;
    nrf905_Delay(10);
	TRX_CE=1;							
}
//--------------------------------------------------------數據接收------------------------------------------------
void  RX(void)
{
          SetRxMode();	
        //  while (CheckDR()==0);  為了實現雙向通信,就不能一直處于接收等待狀態,所以注釋掉
		  nrf905_Delay(10);
	  	  RxPacket();
		  if(TxRxBuf[0]==0x29)
		  {
		  		LED=0;
			    nrf905_Delay(300);
				LED=1;
			    nrf905_Delay(300);//接收到數據 后閃爍
		  }

}
//-----------------------------------------------------------------------------------------------------------------
void main(void)
{
        nRF905Init();
     	Config905();
		LED=1;
        while(1)
		{
			RX();
		   if(KEY ==0 )
			 {	
			 	while(KEY==0);
				tf = 1 ;
				TxRxBuf[0]=0x29;
				 }
		  
	       if (tf==1)
			{
                SetTxMode();
			    TxPacket(TxRxBuf);	// 發送命令數據
  				LED=0;
			    nrf905_Delay(300);
				LED=1;
			    nrf905_Delay(300);			//發送后蜂鳴器響一下
				tf = 0;	
			}	
}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
免费三级欧美电影| 亚洲制服丝袜av| 久久综合成人精品亚洲另类欧美| 欧美精品99久久久**| 777亚洲妇女| 国产亚洲综合在线| 亚洲免费视频中文字幕| 亚洲大尺度视频在线观看| 日本午夜一本久久久综合| 久久er精品视频| 不卡一区二区在线| 91麻豆精品国产综合久久久久久| 欧美va日韩va| 国产一区在线精品| 94-欧美-setu| 久久色在线视频| 日韩在线播放一区二区| 丰满白嫩尤物一区二区| 欧美一区二区三区系列电影| 亚洲欧美综合色| 国产在线国偷精品产拍免费yy| 色一情一伦一子一伦一区| 精品国产乱码久久久久久影片| 一区二区三区影院| 国产999精品久久久久久| 日韩三级视频在线看| 亚洲一区二区av在线| 91传媒视频在线播放| 精品在线播放午夜| 欧美日韩卡一卡二| 亚洲精品中文在线| 色综合天天综合给合国产| 国产精品全国免费观看高清| 久草中文综合在线| 日韩欧美一级在线播放| 免费一级片91| 欧美大片一区二区三区| 日韩国产精品久久| 精品三级在线看| 国产剧情一区二区三区| 国产精品美女久久久久久久| 精品伦理精品一区| 精品一区二区综合| 国产精品情趣视频| 91极品美女在线| 蜜臀av一区二区在线免费观看 | 欧美日韩另类一区| 蜜臀av国产精品久久久久| 久久久亚洲欧洲日产国码αv| 精品一区免费av| 亚洲精品国产无天堂网2021| 欧美人妖巨大在线| 国产精品亚洲第一区在线暖暖韩国| 久久久不卡网国产精品二区| 91丨九色porny丨蝌蚪| 日韩精品亚洲一区二区三区免费| 欧美韩国日本综合| 欧美人xxxx| 亚洲 欧美综合在线网络| 日韩欧美中文一区二区| 91久久精品一区二区三区| 色综合一区二区| 国产在线精品视频| 日韩av网站免费在线| 亚洲欧美另类在线| 亚洲国产精品二十页| 精品国产91乱码一区二区三区| a级精品国产片在线观看| 青青草97国产精品免费观看 | www.av精品| 国产精品综合二区| 国产在线乱码一区二区三区| 日韩国产精品91| 另类小说综合欧美亚洲| 丝袜美腿亚洲一区| 亚洲高清一区二区三区| 一区二区三区精品| 视频一区视频二区中文| 日韩专区一卡二卡| 热久久免费视频| 国产综合久久久久影院| 韩国欧美国产1区| 成人黄色小视频在线观看| 99精品国产91久久久久久| 成人久久18免费网站麻豆| 北条麻妃国产九九精品视频| 日韩久久精品一区| 欧美国产亚洲另类动漫| 亚洲欧美日本在线| 日韩成人午夜电影| 国产高清不卡一区| 91国内精品野花午夜精品| 91精品国产综合久久久久久 | 国产成人免费高清| 色婷婷综合视频在线观看| 欧美四级电影网| 久久理论电影网| 中文字幕av一区二区三区| 国精产品一区一区三区mba桃花 | 一区二区三区欧美| 青青草一区二区三区| 成人动漫精品一区二区| 欧美另类变人与禽xxxxx| 国产精品女主播av| 免费的成人av| 欧美伊人久久久久久久久影院| 欧美va亚洲va| 秋霞影院一区二区| 91国偷自产一区二区开放时间| 久久一区二区视频| 97se亚洲国产综合自在线| 精品国产三级a在线观看| 一区二区三区久久| 91蝌蚪国产九色| 国产精品久久看| 成人精品在线视频观看| 26uuu亚洲综合色| 国产真实精品久久二三区| 91精品国产91综合久久蜜臀| 性感美女久久精品| 欧美日韩国产美| 日韩高清电影一区| 欧美日韩一区二区在线观看视频 | 欧美在线你懂得| 亚洲综合久久久久| 成人av动漫在线| 亚洲精品伦理在线| 在线观看91精品国产麻豆| 午夜久久福利影院| 精品欧美久久久| 粉嫩av一区二区三区粉嫩 | 色综合久久久久综合体桃花网| 国产精品久久久久久久久久久免费看 | 欧美中文一区二区三区| 一区二区三区资源| 欧美一区在线视频| 国产精品夜夜嗨| 亚洲成人www| 国产亚洲欧美在线| 欧洲精品在线观看| 六月丁香婷婷久久| 亚洲欧洲一区二区三区| 欧美另类高清zo欧美| 国产精品一区二区三区网站| 亚洲欧美激情小说另类| 欧美一区二区三区在| 成人免费三级在线| 日韩高清国产一区在线| 亚洲欧洲精品天堂一级 | 成人激情开心网| 99久久99久久久精品齐齐| 天天操天天色综合| 国产精品天美传媒| 777xxx欧美| 欧美色网站导航| 成人国产电影网| 午夜久久久影院| 亚洲1区2区3区视频| 成人欧美一区二区三区白人 | 国产揄拍国内精品对白| 亚洲bt欧美bt精品777| 亚洲色图第一区| 亚洲3atv精品一区二区三区| 亚洲男人的天堂在线观看| 久久久久国产成人精品亚洲午夜| 亚洲视频一区在线观看| 欧美国产日韩在线观看| 久久精品免费在线观看| 欧美不卡在线视频| 精品国产一区二区国模嫣然| 91精品国产免费久久综合| 日韩一区二区三区在线| 欧美一区二区视频在线观看2022| 91成人免费网站| 欧美日韩亚洲综合在线 欧美亚洲特黄一级 | 91精品午夜视频| 日韩欧美资源站| 久久久国产午夜精品| 国产日韩影视精品| 亚洲欧美一区二区在线观看| 亚洲卡通欧美制服中文| 亚洲国产成人av网| 美女视频黄久久| jlzzjlzz国产精品久久| 日本一区二区视频在线观看| 国产精品网站在线播放| 亚洲国产精品久久人人爱蜜臀 | 一区二区不卡在线播放| 欧美日韩中文字幕一区二区| 91黄视频在线| 亚洲精品在线免费观看视频| 国产精品久久久久精k8| 天天影视涩香欲综合网| 国产精品小仙女| 4438x成人网最大色成网站| 久久精品人人做人人综合| 亚洲成人一区在线| 99久久伊人久久99| 久久久美女毛片| 日韩高清一区在线|