独立按键控制LED显示二进制及控制LED移位

简介: 独立按键控制LED显示二进制及控制LED移位

1.代码1:(独立按键控制LED显示二进制)

#include <REGX52.H>
void Delay(unsigned int xms)    //@12.000MHz
{
  unsigned char i, j;
  while(xms){
  i = 12;
  j = 169;
  do
  {
    while (--j);
  } while (--i);
  xms--;
}
}
void main(){
  unsigned int num=0;
  while(1){
    if(P3_1==0)
    {
      Delay(20);
      while(P3_1==0);
      Delay(20);
      num++;
      P2=~num;
    }
 }
}

2.代码2:(独立按键控制LED移位)

#include <REGX52.H>
void Delay(unsigned int xms);
unsigned char LEDNum;
void main()
{
  P2=~0x01;       //上电默认LED1点亮
  while(1)
  {
    if(P3_1==0)     //如果K1按键按下
    {
      Delay(20);
      while(P3_1==0);
      Delay(20);
      LEDNum++;   //LEDNum自增
      if(LEDNum>=8) //限制LEDNum自增范围
        LEDNum=0;
      P2=~(0x01<<LEDNum); //LED的第LEDNum位点亮
    }
    if(P3_0==0)     //如果K2按键按下
    {
      Delay(20);
      while(P3_0==0);
      Delay(20);
      if(LEDNum==0) //LEDNum减到0后变为7
        LEDNum=7;
      else      //LEDNum未减到0,自减
        LEDNum--;
      P2=~(0x01<<LEDNum); //LED的第LEDNum位点亮
    }
  }
}
void Delay(unsigned int xms)
{
  unsigned char i, j;
  while(xms--)
  {
    i = 2;
    j = 239;
    do
    {
      while (--j);
    } while (--i);
  }
}
相关文章
|
2月前
【51单片机】独立按键,每个按键不同功能,数码管数值的加减,控制流水灯模式,包含按键消抖,数码显示,流水灯
【51单片机】独立按键,每个按键不同功能,数码管数值的加减,控制流水灯模式,包含按键消抖,数码显示,流水灯
|
2月前
51单片机用汇编语言实现独立按键检测,每个按键有不同功能,包含按键消抖程序
51单片机用汇编语言实现独立按键检测,每个按键有不同功能,包含按键消抖程序
【51单片机】Kn独立按键控制【LED亮灭】【LED状态】【LED二进制式显示】【LED不断移位】(4)
【51单片机】Kn独立按键控制【LED亮灭】【LED状态】【LED二进制式显示】【LED不断移位】(4)
|
5月前
|
C语言
独立按键控制LED亮灭、独立按键控制LED状态、独立按键控制LED显示二进制、独立按键控制LED移位——“51单片机”
独立按键控制LED亮灭、独立按键控制LED状态、独立按键控制LED显示二进制、独立按键控制LED移位——“51单片机”
|
存储 编译器
单片机原理及其应用——单片机外部中断实验(八段数码管通过按键依次显示0~9数字)
单片机原理及其应用——单片机外部中断实验(八段数码管通过按键依次显示0~9数字)
单片机原理及其应用——单片机外部中断实验(八段数码管通过按键依次显示0~9数字)
【单片机期中测试】2.独立按键控制LED移位
【单片机期中测试】2.独立按键控制LED移位
103 0
51单片机--利用独立按键控制LED
51单片机--利用独立按键控制LED
248 0
|
存储
51单片机--动态数码管显示
51单片机--动态数码管显示
228 0
|
人机交互
【STC15单片机】独立按键显示二进制
【STC15单片机】独立按键显示二进制
201 0