📄 master.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 + -