⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 master.c

📁 无线模块nrf24l01程序
💻 C
字号:
#include<reg52.h>
#include<def.h>
#include<nRF24L01.h>



sbit    LED2    =P0^5;
sbit    LED1    =P0^6;

sbit    KEY1    =P2^4;
sbit    KEY2    =P2^5;				 
sbit    KEY3    =P2^3;
sbit    KEY4    =P2^2;
sbit    KEY5    =P2^0;
sbit    KEY6    =P2^1;
sbit    UP      =P1^0;
sbit    DOWN    =P1^1;
sbit    LEFT    =P1^3;
sbit    RIGHT   =P1^2;

void Delay(unsigned int s)
{
	unsigned int i;
	for(i=0; i<s; i++);
	for(i=0; i<s; i++);
}


unsigned char old=0xff,new=0xff;
unsigned char bdata keycheck[1]={0xff};

unsigned char checkkeys()
{
	old=new;
	new=0xff;
	if(KEY1==0)new&=0x7f;
	if(KEY2==0)new&=0xbf;
	if(KEY3==0)new&=0xdf;
	if(KEY4==0)new&=0xef;
	if(KEY5==0)new&=0xf7;
	if(KEY6==0)new&=0xfb;
	if(UP  ==0)new&=0xfd;
	if(DOWN==0)new&=0xfe;
	old&=(~new);
	if(old)
	{
		inerDelay_us(10000);
		new=0xff;
		if(KEY1==0)new&=0x7f;
		if(KEY2==0)new&=0xbf;
		if(KEY3==0)new&=0xdf;
		if(KEY4==0)new&=0xef;
		if(KEY5==0)new&=0xf7;
		if(KEY6==0)new&=0xfb;
		if(UP  ==0)new&=0xfd;
		if(DOWN==0)new&=0xfe;
		return old&(~new);
	}
	return 0;
}
void main()
{

	
	TMOD =  0x11;  //设置计数器工作方式为16位装载 ,计数器1波特率发生器2400bps@12MHz
	IE   =  0xff;
	SCON=0x50;
	TCLK=1;
	RCLK=1;
	RCAP2H=0xff;
	RCAP2L=0xFD;//115200Bps
	TR2=1;

	init_io() ;


	while(1){
		keycheck[0]=checkkeys();	   
		if(keycheck[0])nRF24L01_TxPacket(keycheck);
		Delay(1000);										  
		
		
	}
}


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -