【单片机期中测试】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
相关文章
|
3月前
|
Perl
在awk中,初始化-测试-递增型的 `for` 循环
在awk中,初始化-测试-递增型的 `for` 循环
17 2
|
2天前
|
存储 弹性计算 运维
循环测试用户名与密码是否正确
【4月更文挑战第29天】
4 0
|
2天前
|
弹性计算 运维 Shell
测试开关机(while循环)
【4月更文挑战第29天】
6 0
|
2天前
|
弹性计算 运维 Shell
测试开关机(for循环)
【4月更文挑战第29天】
7 0
|
2天前
|
存储 弹性计算 运维
循环测试用户名与密码是否正确
【4月更文挑战第29天】
7 0
定时器+按键控制LED流水灯模式+定时器时钟——“51单片机”
定时器+按键控制LED流水灯模式+定时器时钟——“51单片机”
|
13天前
|
C语言
独立按键控制LED亮灭、独立按键控制LED状态、独立按键控制LED显示二进制、独立按键控制LED移位——“51单片机”
独立按键控制LED亮灭、独立按键控制LED状态、独立按键控制LED显示二进制、独立按键控制LED移位——“51单片机”
|
2月前
|
C语言
###51单片机学习-----如何通过C语言运用延时函数设计LED流水灯
###51单片机学习-----如何通过C语言运用延时函数设计LED流水灯
73 0
|
9月前
单片机按键的使用
单片机按键的使用
125 0
|
3月前
|
缓存 编译器 索引
单片机中按键检测函数详细分析经典
单片机中按键检测函数详细分析经典
92 0