【单片机期中测试】3.按键控制流水灯循环

简介: 【单片机期中测试】3.按键控制流水灯循环
#include<reg52.h>
#define uc unsigned char
sbit KEY1 = P3^1;
void delay(uc c)
{
  uc a,b;
  for(;c>0;c--)
    for(a=38;a>0;a--)
      for(b=130;b>0;b--);
}
void main()
{
  uc i=1,dir=0;
  P2 = ~i;
  while(1)
  {
    if(KEY1 == 0)
    { 
      delay(1);
      while(KEY1 == 0);
      delay(1);
      while(1)
      {
        if(dir==0)
        {
          i<<=1;
          if(i==0) 
          {
            i=0x80;
            dir=1;
          }
        }
        if(dir==1)
        {
          i>>=1;
          if(i==0)
          {
            i=1;
            dir=0;
          }
        }     
        P2=~i;
        delay(20);
      } 
    }
  }
}
  • 接线:key1接P3^1
相关文章
|
10月前
|
算法 物联网 芯片
基于STM32和51单片机的8位全彩流水灯程序模板
基于STM32和51单片机的8位全彩流水灯程序模板
【51单片机】独立按键,每个按键不同功能,数码管数值的加减,控制流水灯模式,包含按键消抖,数码显示,流水灯
【51单片机】独立按键,每个按键不同功能,数码管数值的加减,控制流水灯模式,包含按键消抖,数码显示,流水灯
1234 1
|
传感器 数据采集 监控
LabVIEW单片机的废气再循环EGR检测系统
LabVIEW单片机的废气再循环EGR检测系统
243 0
【51单片机】在LCD1602上显示时间:包含按键进行校准时间+闹钟功能:按键设置闹钟响铃时间,以及响铃的时间长度
【51单片机】在LCD1602上显示时间:包含按键进行校准时间+闹钟功能:按键设置闹钟响铃时间,以及响铃的时间长度
684 4
51单片机用汇编语言实现独立按键检测,每个按键有不同功能,包含按键消抖程序
51单片机用汇编语言实现独立按键检测,每个按键有不同功能,包含按键消抖程序
681 3
|
C语言
【51单片机】LCD1602显示字符串,时间、时间+按键校准、秒表计时的功能代码。
【51单片机】LCD1602显示字符串,时间、时间+按键校准、秒表计时的功能代码。
661 3
|
C语言
51单片机汇编语言流水灯代码
51单片机汇编语言流水灯代码
648 1
【51单片机】利用【时间延迟】的原理规避【按键抖动问题】
【51单片机】利用【时间延迟】的原理规避【按键抖动问题】
【51单片机】Kn独立按键控制【LED亮灭】【LED状态】【LED二进制式显示】【LED不断移位】(4)
【51单片机】Kn独立按键控制【LED亮灭】【LED状态】【LED二进制式显示】【LED不断移位】(4)
|
编译器 C语言 开发者
单片机原理与应用:探索微型计算机世界
单片机原理与应用:探索微型计算机世界
313 1