单片机独立按键代码

c 复制代码
```c
#include <reg51.h>
#include <intrins.h>
void delayms(unsigned char ms)
{
  unsigned char i;
  while(ms--)
  {
    for(i=0;i<250;i++);
  }
}
//main()
//{
//  unsigned char LED;
//
//  P2=0XFF;
//  LED=0XFE;
//  P2=LED;
//  while(1)
//  {
//    delayms(250);
//	LED=_cror_(LED,1);
//	P2=LED;
//  }
  void main()
  {
  int i;
  unsigned char LED;
  int led[]={0XFF,0XE7,0XC3,0X81,0X00};
  while(1)
  {
    for(i=0;i<5;i++)
	{
	  P2=led[i];
	  delayms(250);
	}
	P2=0XFF;
    LED=0XFE;
    P2=LED;
   for(i=0;i<8;i++)
    {
    delayms(250);
	LED=_crol_(LED,1);
	P2=LED;
    }
   P2=0XFF;
   LED=0X7F;
   P2=LED;
   i=0;
	for(i=0;i<8;i++)
    {
    delayms(250);
	LED=_cror_(LED,1);
	P2=LED;
    }
	for(i=0;i<5;i++)
	{
   	 P2=0X55;
	 delayms(250);
	 P2=0xAA;
	 delayms(250);
	 }

  }
  }
   
  				     

22222

c 复制代码
#include<reg51.h>//51单片机寄存器定义的头文件
sbit S1=P3^0;//定义S1按键与单片机P3.0位相连
sbit S2=P3^1;//定义S2按键与单片机P3.1位相连
sbit S3=P3^2;//定义S3按键与单片机P3.2位相连
sbit S4=P3^3;//定义S4按键与单片机P3.3位相连
void delay(void)//定义延时函数用于按键去抖动,延时10ms
	{
	unsigned char i,j;
	for(i=0;i<20;i++)
	for(j=0;j<250;j++);
	}
void main(){
P3=0xff;//对S1-S4按键复位。
P2=0xff;//对8个LED灯复位
while(1)//是否有按键按下循环监测
{if(S1==0)//判断是否S1按键按下
{delay();//去抖动处理
if(S1==0)//确认S1按键按下
{P2=0xfc;//给P0口置数点亮LED1和LED2
	}
}if(S2==0)//判断是否S2按键按下
{delay();//去抖动处理
if(S2==0)//确认S2按键按下
{P2=0xf3;//给P0口置数点亮LED3和LED4
}
}
if(S3==0)//判断是否S3按键按下
{delay();//去抖动处理
if(S3==0)//确认S3按键按下
{P2=0xcf;//给P0口置数点亮LED5和LED6
}
}if(S4==0)//判断是否S4按键按下
{delay();//去抖动处理
if(S4==0)//确认S4按键按下
{P2=0x3f;//给P0口置数点亮LED7和LED8
}
}
}
}
相关推荐
LXY_BUAA3 小时前
《嵌入式操作系统》_使用GPIOLIB编写驱动_添加驱动到内核中_20260328
驱动开发·嵌入式硬件
liwulin05067 小时前
【ESP32-S3】通过ROS2使用YDLIDAR X2进行SLAM、自主导航方案选择
单片机·嵌入式硬件
是翔仔呐8 小时前
第11章 显示外设驱动:I2C协议OLED屏、SPI协议LCD屏字符/图片/中文显示
c语言·开发语言·stm32·单片机·嵌入式硬件·学习·gitee
-凌凌漆-10 小时前
【嵌入式】FreeRTOS串口等待vTaskDelay()
嵌入式硬件
小昭在路上……11 小时前
GPIO端口引脚(位域)打包技巧笔记
单片机·嵌入式硬件
是翔仔呐11 小时前
第13章 SPI通信协议全解:底层时序、4种工作模式与W25Qxx Flash芯片读写实战
c语言·开发语言·stm32·单片机·嵌入式硬件·学习·gitee
悠哉悠哉愿意11 小时前
【单片机复习笔记】第十六届省赛复盘
笔记·单片机·嵌入式硬件
IT方大同11 小时前
RT_thread(RTOS实时操作系统)线程的创建与切换
c语言·开发语言·嵌入式硬件
是翔仔呐11 小时前
第14章 CAN总线通信全解:底层原理、帧结构与双机CAN通信实战
c语言·开发语言·stm32·单片机·嵌入式硬件·学习·gitee
沐欣工作室_lvyiyi12 小时前
基于单片机的智能浴室(论文+源码)
stm32·单片机·嵌入式硬件·智能浴室