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

📄 text1.c

📁 分两个程序:接收端和发送端都有程序
💻 C
字号:
#include<reg51.h>
//#include<math.h>
#include<stdio.h>
#define uchar unsigned char;
#define uint unsigned int ;
 uchar count ;
	uchar code
dis7[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E,0xff,0xbf};
void delay(unsigned int N);
uchar scan_key();
void key_manage(char keycode);
void manage_key1(void);
void manage_key2(void);
 void manage_key3(void);
void manage_key4(void);
   void manage_key5(void);
void manage_key6(void);
 void manage_key7(void);
void manage_key8(void);
  void manage_key9(void);
void manage_key10(void);
 void manage_key11(void);
void manage_key12(void);
   void manage_key13(void);
void manage_key14(void);
 void manage_key15(void);
void manage_key16(void); 
uchar freq;
main()
{  char key;
  TMOD=0x21;
  EA=1;
  ET0=1;
  PT0=1;
  ET1=1;
  //T2CON=0x08;

  TH0=-1000/256;
  TL0=-1000%256;
  TH1=0xfd;
  TL0=0xfd;
  SCON=0x50;
  PCON=0x80;

  TR0=1;
  TR1=1;
  TI=1;
  while(1)
  { //key=scan_key();
  // delay(100);
  // key_manage(key);
   }			 

}


void send(void) interrupt 1
{ TH0=-1000/256;
  TL0=-1000%256;
  freq++;
  if(freq==10)
  { freq=0;
   printf("%d",2);
  }


}


uchar scan_key(void)  //返回所按键的值	扫描键盘
{ char sccode,recode;
 P1=0xf0;
 if((P1 &0xf0)!=0xf0)
 { //delay(1000);
   if((P1 &0xf0)!=0xf0)
   { sccode=0xfe;
    while ((sccode & 0x10)!=0 )
	{ P1=sccode;
	 if ((P1 & 0xf0)!=0xf0)
	 { recode=(P1& 0xf0) | 0x0f;
	   return((~sccode)+(~recode)) ;
	 }
	 else sccode=(sccode<<1) | 0x01;
	}
   }
 }
 return (0);

}

void delay(unsigned N)	   //延时程序 实现(16xN+24)us的延时
{ int i;
 for (i=0;i<N;i++)
 {;}
}



void key_manage(unsigned char keycode)	  //键值散转,调到个按键值的函数功能 (高4位代表行,低4位位列)
{ 
 switch(keycode)
{ 
case 0x11:manage_key1();break;
  case 0x12:manage_key2();break;
  case 0x14:manage_key3();break;
  case 0x18:manage_key4();break;
	case 0x21:manage_key5();break;
  case 0x22:manage_key6();break;
	case 0x24:manage_key7();break;
	 case 0x28:manage_key8();break;
	 case 0x41:manage_key9();break;
	 case 0x42:manage_key10();break;
	 case 0x44:manage_key11();break;
	 case 0x48:P0=dis7[11];break;
	 case 0x81:P0=dis7[12];break;
	 case 0x82:P0=dis7[13];break;
	case 0x84:P0=dis7[14];break;
	case 0x88:P0=dis7[15];break;	  
 
}
}

void manage_key1(void)
{ P0=dis7[0]  ;
}
   void manage_key2(void)
{	P0=dis7[1];
   
}

    void manage_key3(void)
{	P0=dis7[2];
}

    void manage_key4(void)
{	P0=dis7[3];
}

     void manage_key5(void)
{	P0=dis7[4];
}

	   void manage_key6(void)
{	P0=dis7[5];
}

     void manage_key7(void)
{	P0=dis7[6];
}

     void manage_key8(void)
{	P0=dis7[7];
}

     void manage_key9(void)
{	P0=dis7[8];
}

	  void manage_key10(void)
{ 
	  P0= dis7[9];
	 
	
}

	 void manage_key11(void)
{
  	P0=dis7[10];

}

⌨️ 快捷键说明

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