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

📄 hehe.c

📁 这是一个按键试验
💻 C
字号:


#include <AT89X52.H>

/*-------------------------------------------------------
功能:延时函数
-------------------------------------------------------*/
void Delay1ms(unsigned int count)
{
	unsigned int i,j;
	for(i=0;i<count;i++)
	for(j=0;j<120;j++);
}

/*-------------------------------------------------------
功能:串口初始化,波特率9600 方式1 8 UART
-------------------------------------------------------*/
void Init_Com(void)
{
     TMOD = 0x20;
     PCON = 0x00;
     SCON = 0x50;			
     TH1 = 0xFd;
     TL1 = 0xFd;
     TR1 = 1;				
}
/*-------------------------------------------------------
功能:判断按键号函数
-------------------------------------------------------*/

unsigned char key(void)
  {
  unsigned char temp,key;
 P2|=0x0f;
 P2_6=0;
 P2_7=1;
 temp=P2;
 if ((temp&0x30)!=0x30)
  {Delay1ms(70);
   if ((temp&0x30)!=0x30)
   {
    temp=temp&0x30;
    if (temp==0x20) key=2;
    else if (temp==0x10) key=4;
    else  key=0;
   }	 
  }
 Delay1ms(50);
 P2|=0x0f;
 P2_7=0;
 P2_6=1;
 temp=P2;
 if ((temp&0x30)!=0x30)
  {Delay1ms(70);
   if ((temp&0x30)!=0x30)
   {
    temp=temp&0x30;
    if (temp==0x20) key=1;
    else if (temp==0x10) key=3;
    else key=0;
   }
  }
return key;
}

main()
{
unsigned int keytemp;
Init_Com();
while(1)
{  SBUF = 0x45;
   Delay1ms(2);
/*keytemp=key();
if(keytemp)   //没按下键值为0。按下为相应的键值
{ 
  SBUF = keytemp;
  keytemp=0;
}*/	
}
}

⌨️ 快捷键说明

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