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

📄 a.c

📁 以C语言和Java语言、嵌入式开发、算法实现为主
💻 C
字号:
#include "reg51.h"
//#include <REGX51.H>
#define uchar unsigned char
sbit irpot=P3^2;
sbit P2_7 =P2^7;
sbit P2_6 =P2^6;
sbit P2_5 =P2^5;
sbit P2_4 =P2^4;
sbit P2_3 =P2^3;
sbit P2_2 =P2^2;

sbit P2_1 =P2^1;
sbit P2_0 =P2^0;
uchar dat[4]={0,0,0,0};

void main(void)
{
irpot=1;
TMOD=0x01;
EA=1;
EX0=1;
P2=0xff;
P2_7=0;
while(1);
}

void int0(void) interrupt 0
{ uchar i,j;
  EX0=0;
  i=10;
  while(--i)
  {
	TH0=0xfc;
    TL0=0xe7;
	TR0=1;
	while(!TF0); //延时860毫秒
	TF0=0;
	TR0=0;
    if(irpot) {EX0=1; return ;}
  }

 while(!irpot); 

//----------------------------------------
   	TH0=0xf6;
    TL0=0xff;
	TR0=1;
	while(!TF0);
	TF0=0;
	TR0=0;	  //延时2500毫秒
	if(!irpot){EX0=1;return;}
	while(irpot);
//	P2_6 =~P2_6;

//--------------------------------------------------------
 for(i=0;i<4;i++)
 {
  for(j=0;j<8;j++)
   {
	 while(!irpot);
   	 dat[i]>>=1;

	 TH0=0xfc;
     TL0=0xe7;
	 TR0=1;
	  while(!TF0);
	  TR0=0;
	  TF0=0; //延时860us	
			
	  if(irpot) 
	   {
	     dat[i]|=0x80;
	     while(irpot);
	    }
	}
  }	
  
  switch(dat[2])
	{
	case 0x18: P2_0=~P2_0;break;
	case 0x19: P2_1=~P2_1;break;
	case 0x1a: P2_2=~P2_2;break;
	case 0x1b: P2_3=~P2_3;break;
	case 0x1c: P2_4=~P2_4;break;
	case 0x1d: P2_5=~P2_5;break;
	default:dat[2]=0;break;
	}	
   EX0=1;
   return;
}

⌨️ 快捷键说明

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