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

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

?? 24e1.c

?? Nordic 公司 nRF24E1 芯片程序
?? C
字號:
/*=====================================================================
 * 
 * nRF24E1-Quick-Dev快速開發系統源代碼
 * 2003.7.1
 * 功能:
 * 1.nRF24E1的初始化控制
 * 2.nRF24E1的數據發射與數據接收
 * 3.串口通信 
 * 4.由 Keil C51 V6.10 and V7.05 編譯通過
 *
 * 迅通科技保留版權  
 * 版本: 1.1 
 * 
 *==============================================================================
*/



#include <reg24e1.h>

/*  S1-S4  */
sbit S1       = P0^3;
sbit S2       = P0^0;
sbit S3       = P1^1;
sbit S4       = P1^0;


/*  LED1-LED4  */
sbit LED1      = P0^7;
sbit LED2      = P0^6;
sbit LED3      = P0^5;
sbit LED4      = P0^4;


unsigned char bdata KeyByte;

sbit L1        = KeyByte^0;
sbit L2        = KeyByte^1;
sbit L3        = KeyByte^2;
sbit L4        = KeyByte^3;


unsigned char flag, t0_point, t2_point;


struct RFConfig
{
    unsigned char n;
    unsigned char buf[15];
};


typedef struct RFConfig RFConfig;


#define ADDR_INDEX  8   // Index to address bytes in RFConfig.buf 
#define ADDR_COUNT  4   // Number of address bytes


const RFConfig tconf =
{
    15,
    0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0xaa, 0xbb, 0x12, 0x34, 0x83, 0x6f, 0x04
};


const RFConfig rconf =
{
    15,
    0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0xaa, 0xbb, 0x12, 0x34, 0x83, 0x6f, 0x05
};


unsigned char RxBuf[24];
unsigned char TxBuf[24];


void Delay100us(volatile unsigned char n)
{
    unsigned char i;
    while(n--)
        for(i=0;i<35;i++)
            ;
}


void Delayms(volatile unsigned char n)
{
    unsigned char j;
    while(n--)
        for(j=0;j<10;j++)
	    	Delay100us(10);
}


unsigned char SpiReadWrite(unsigned char b)
{
    EXIF &= ~0x20;                  // Clear SPI interrupt
    SPI_DATA = b;                   // Move byte to send to SPI data register
    while((EXIF & 0x20) == 0x00)    // Wait until SPI hs finished transmitting
        ;
    return SPI_DATA;
}


void init_T0(void)
{
	TR0 = 0;                        // Stop Timer 0
    TMOD &= ~0x03;                  // 
    TMOD |= 0x01;                   // External Interrupt 0, 
	CKCON |= 0x08; 
    TL0 = 0x60;                  
    TL0 = 0xF8;                  
	TF0 = 0; 
	ET0 = 1; 
	TR0=1;
}


void TransmitPacket(void)
{
	unsigned char i;
	
	CE = 1;
	Delay100us(0);
	
	for(i = 0; i < ADDR_COUNT; i++)
        SpiReadWrite(tconf.buf[ADDR_INDEX + i]);

	for(i = 0; i < 24; i++)
	{
		SpiReadWrite(TxBuf[i]);
	}
    CE = 0;
    Delay100us(3);                  // Wait ~300us   
}


void Init_Receiver(void)
{
    unsigned char b;

    CS = 1;
    Delay100us(0);
    
    for(b = 0; b < rconf.n; b++)
    {
        SpiReadWrite(rconf.buf[b]);
    }
    CS = 0;    
    CE = 1;
}	



void Transmitter(void)
{
    unsigned char b;
	unsigned char i;
    
    CS = 1;
    Delay100us(0);
    for(b = 0; b < tconf.n; b++)
    {
    	SpiReadWrite(tconf.buf[b]);
    }
    CS = 0;
	
	for(i = 0; i < 20; i++)
	{
		TxBuf[i] = KeyByte;
	}
    TransmitPacket();          // Transmit data
}


void KeyScan(void)
{
    if (S1==0)                      //switch 1 haveing been pushed 
    {
    		L1=0; 
    		LED1=0;				 // ON LED1
		while(S1==0);
    }    	
    if (S2==0)                           //switch 1 haveing been pushed 
    {
    		L2=0; 
    		LED2=0;				 // ON LED2
		while(S2==0);
    }    	
    if (S3==0)                           //switch 1 haveing been pushed 
    {
    		L3=0; 
    		LED3=0;				 // ON LED3
		while(S3==0);
    }    	
    if (S4==0)                           //switch 1 haveing been pushed 
    {
    		L4=0; 
    		LED4=0;				 // ON LED4
		while(S4==0);
    }                
}	

void Init(void)
{
    flag=t0_point=t2_point=0;
//  Port ini
    P0_ALT = 0x06;  // Select alternate functions on pins P0.1 and P0.2,  TXD RXD 
    P0_DIR = 0x09;                  // P0.0, P0.3 is input(S1, S2), the rest output
    P0 = 0xF0;                      // P0.7-P0.4 = 1 for OFF LED1-LED4    
    P1_DIR = 0x03;		   			// P0.0, P0.3 is input(S3, S4),

	LED1=1;
	LED2=1;
	LED3=1;
	LED4=1;
    
    PWR_UP = 1;                     // Turn on Radio
    Delay100us(30);                 // Wait > 3ms 
    SPICLK = 0;                     // Max SPI clock (XTAL/8)
    SPI_CTRL = 0x02;                // Connect internal SPI controller to Radio

//  serial communication ini
    TH1 = 243;      // 19200@16MHz (when T1M=1 and SMOD=1)
    CKCON |= 0x10;  // T1M=1 (/4 timer clock)
    PCON = 0x80;    // SMOD=1 (double baud rate)
    SCON = 0x52;    // Serial mode1, enable receiver
    TMOD = 0x20;    // Timer1 8bit auto reload 
    TCON = 0x40;    // Start timer1    
	ES=1;
    
} 



void main(void)
{
     Init();
	init_T0();

    KeyByte=0xff;

    Init_Receiver();

    LED1=0;
    Delayms(20);  
    LED1=1;

    LED2=0;
    Delayms(20);  
    LED2=1;

    LED3=0;
    Delayms(20);  
    LED3=1;
 
    LED4=0;
    Delayms(20);  
    LED4=1;

	EIE=0x04;
	PX4=1;
	TI=0;
	IE=0x92;
    	while(1)
    	{
		if(flag)
		{
			flag=0;
    			Delayms(20);    	    	
        		KeyByte=0xff;
    			LED2=1;
    			LED3=1;
    			LED4=1;

			SBUF=RxBuf[0];
		}
    		KeyScan();    	
    		if (KeyByte!=0xff)
    		{
    			Transmitter();
    			Delayms(20);    	    	
	        	KeyByte=0xff;
	    		Init_Receiver();	    	   		    		
	    		LED1=1;
	    		LED2=1;
	    		LED3=1;
	    		LED4=1; 
    		}
		if(t0_point>=100)
		{
			t0_point=0;
			LED2=~LED2;
		}	    	
    }     
}


void ISR_dr(void) interrupt 10
{
	unsigned char i;
  	EXIF &= ~0x40;                  // Clear DR1 interrupt

   	for(i=0;i<24;i++)
	{
		RxBuf[i]=SpiReadWrite(0);
	}
    KeyByte = RxBuf[0];

   	if (L1==0)                           //switch 1 haveing been pushed 
    {
    	LED1=0;			     // ON LED1
    }    	
    if (L2==0)                           //switch 1 haveing been pushed 
    {
    	LED2=0;			     // ON LED2
    }    	
    if (L3==0)                           //switch 1 haveing been pushed 
    {
    	LED3=0;			     // ON LED3
    }    	
    if (L4==0)                           //switch 1 haveing been pushed 
    {
    	LED4=0;			     // ON LED4
    } 
	flag=1;   		
   	KeyByte=0xff;
}


void ISR_uart(void) interrupt 4 
{
	TI = 0;
	LED1  = ~LED1;

	if(RI == 1)
    {
    	RI = 0;
        TxBuf[0] = SBUF;
		TxBuf[1] = TxBuf[0];
		RI = 0;
	}
}  


void Timer0ISR (void) interrupt 1
{
	TR0 = 0;
    TF0 = 0;                        // Clear Timer0 interrupt
    TL0 = 0x60;                  
    TL0 = 0xF8;                    // Reload Timer0 low byte
	t0_point++;
	TR0 = 1;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色综合天天天天做夜夜夜夜做| 青青草一区二区三区| 成人网在线播放| 久久久久久久久久久久久夜| 国内成+人亚洲+欧美+综合在线| 精品国产伦一区二区三区观看体验| 久久疯狂做爰流白浆xx| 久久男人中文字幕资源站| 成人性视频免费网站| 一区二区三区欧美久久| 欧美日韩国产综合一区二区| 三级精品在线观看| 久久综合久久综合久久| 波多野结衣的一区二区三区| 樱桃国产成人精品视频| 日韩一区二区视频在线观看| 国产成人一区二区精品非洲| 亚洲人成在线观看一区二区| 91麻豆精品国产自产在线观看一区| 日韩成人午夜电影| 亚洲国产精品二十页| 激情小说亚洲一区| 久久久99久久| 在线视频中文字幕一区二区| 开心九九激情九九欧美日韩精美视频电影| 久久久久国产精品人| 91浏览器打开| 久久精品二区亚洲w码| 国产精品毛片a∨一区二区三区| 在线视频一区二区三| 经典三级一区二区| 亚洲免费av高清| 91精选在线观看| 成人性生交大片免费看在线播放| 亚洲动漫第一页| 久久精品无码一区二区三区| 欧美日韩三级一区| 国产91丝袜在线观看| 视频在线观看一区二区三区| 国产精品无人区| 欧美一区二区三区啪啪| 99久久伊人网影院| 美女一区二区三区| 亚洲婷婷在线视频| 久久这里都是精品| 在线电影一区二区三区| gogo大胆日本视频一区| 毛片av一区二区| 亚洲国产欧美日韩另类综合| 日本一区二区在线不卡| 日韩免费福利电影在线观看| 色老汉av一区二区三区| 粗大黑人巨茎大战欧美成人| 久久se精品一区二区| 偷窥少妇高潮呻吟av久久免费| 亚洲欧美激情一区二区| 国产日韩欧美激情| 精品国产精品网麻豆系列| 欧美日韩国产综合草草| 91成人在线精品| 97aⅴ精品视频一二三区| 国产高清不卡二三区| 久久激情五月激情| 美腿丝袜在线亚洲一区| 日韩制服丝袜av| 亚洲一卡二卡三卡四卡| 国产精品国产a级| 日本一区二区三区免费乱视频| www成人在线观看| 日韩精品中文字幕一区| 欧美成人bangbros| 精品捆绑美女sm三区| 欧美sm极限捆绑bd| 欧美大片在线观看一区二区| 日韩一区二区三区电影在线观看 | 激情六月婷婷综合| 美女视频黄 久久| 久久97超碰色| 精品一区二区三区在线观看| 蜜桃视频在线观看一区| 免费日韩伦理电影| 久久99精品国产麻豆婷婷洗澡| 免费高清在线一区| 久久国产精品72免费观看| 九九视频精品免费| 国产毛片精品国产一区二区三区| 精品一区二区综合| 国产精品白丝jk黑袜喷水| 国产精品一区二区x88av| 高清国产一区二区三区| 91麻豆成人久久精品二区三区| 99re成人精品视频| 欧美色图免费看| 日韩一二三区不卡| 久久在线观看免费| 国产精品久久久久久久久快鸭| 亚洲视频在线一区观看| 有坂深雪av一区二区精品| 日韩国产在线观看一区| 久久99国产精品久久99| 福利一区二区在线| 色婷婷久久综合| 91精品国产高清一区二区三区 | 老司机免费视频一区二区| 国产美女精品在线| 91麻豆国产香蕉久久精品| 91国产视频在线观看| 欧美一级日韩一级| 欧美—级在线免费片| 亚洲色图在线播放| 日韩电影免费在线看| 丰满白嫩尤物一区二区| 欧美性生活大片视频| 精品久久久久香蕉网| 亚洲人成在线播放网站岛国| 日韩av中文字幕一区二区三区| 国产精品一区在线| 欧美揉bbbbb揉bbbbb| 精品日产卡一卡二卡麻豆| 亚洲桃色在线一区| 美女在线一区二区| 色8久久人人97超碰香蕉987| 日韩午夜激情av| 亚洲黄色免费网站| 国产一区三区三区| 欧美亚洲日本一区| 国产欧美一二三区| 免费人成精品欧美精品| av中文一区二区三区| 欧美一区二区精品久久911| 中文字幕日韩av资源站| 韩国一区二区视频| 欧美区视频在线观看| 中文字幕一区二区三中文字幕| 另类小说视频一区二区| 欧美在线看片a免费观看| 国产精品嫩草影院com| 美女国产一区二区| 欧美性猛交xxxxxx富婆| 中文字幕中文字幕一区二区| 久久精品二区亚洲w码| 欧美日韩精品福利| 亚洲少妇中出一区| 成人午夜看片网址| 日韩欧美一区二区免费| 亚洲国产综合在线| 色综合久久久久综合体| 亚洲国产成人在线| 国产精品综合视频| 日韩免费一区二区| 免费在线看成人av| 91麻豆精品国产综合久久久久久| 亚洲人成7777| 99久久伊人精品| 国产精品灌醉下药二区| 粉嫩aⅴ一区二区三区四区| 欧美精品一区二区三| 久久99热这里只有精品| 91精品国产欧美日韩| 日韩在线卡一卡二| 欧美精品亚洲二区| 五月婷婷久久丁香| 欧美乱熟臀69xxxxxx| 午夜视频在线观看一区二区三区| 欧美伊人久久大香线蕉综合69| 日韩理论片中文av| 色综合天天综合网天天狠天天| 国产精品久久久久久福利一牛影视| 国产老妇另类xxxxx| 国产亚洲一二三区| 国产·精品毛片| 国产精品高潮呻吟| 日本精品视频一区二区三区| 亚洲理论在线观看| 欧美日免费三级在线| 水蜜桃久久夜色精品一区的特点| 欧美理论片在线| 日韩高清不卡在线| 精品国产乱码久久| 成人精品高清在线| 亚洲精品欧美二区三区中文字幕| 在线中文字幕不卡| 视频在线观看一区二区三区| 日韩久久久久久| 国产麻豆一精品一av一免费| 国产精品视频一二三区| 色噜噜狠狠成人中文综合| 亚洲成人tv网| 精品国产1区2区3区| 懂色av一区二区三区免费看| 亚洲视频一区二区在线| 欧美色综合网站| 麻豆中文一区二区| 国产精品久久免费看| 欧美性色欧美a在线播放| 免费成人av在线播放| 亚洲精品一区二区三区福利| 成人听书哪个软件好| 亚洲成人动漫av| 国产欧美一区二区精品忘忧草|