按键

点亮一个led灯:

#include 
sbit led1=P0^0;
void main()
{
     
	while(1)
	{
     
	  if(P3_1==0)   
	  {
     
	  	led1=0;
	  }
	  else
	  {
     
	  	led1=1;
	  }

P3-0,是按键的定义,因为他的头文件所含的自定义,便是这个。(uVision4/5,软件中,右击头文件打开,可进行查看)

按键长按点灯

#include 
sbit led1=P0^0;

void Delay(unsigned int ams)
{
     
	unsigned char i, j;
	while(ams)
	{
     
		i = 2;
		j = 239;
	do
	{
     
		while (--j);
	} 	
		while (--i);
		ams--;
	}
	
}
void main()
 {
     
	while(1)
	{
     
		if(P3_1==0)
		{
     
		 	led1=0;
			Delay(500);				
		}
		else
		{
     
			led1=1;
			Delay(500);
		}
	}
 }

按键_第1张图片
系统频率12,定时长毫秒,指令集查看旁边的适用系列,51一般为STY-Y1,可生成延时代码。
(我写的按键,是头文件库中自带的,其他类型的可自行查看。)

补充:

1+ #include"reg52.h"
sbit KEY=P3^0

2+#include
直接使用按键
个人理解:头文件为reg52.h时,要自己定义按键的管脚位置,而头文件为REGX52.H时,可直接使用,不需定义。
按键_第2张图片

你可能感兴趣的:(按键)