【单片机期中测试】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
相关文章
|
Perl
在awk中,初始化-测试-递增型的 `for` 循环
在awk中,初始化-测试-递增型的 `for` 循环
130 2
|
数据格式
用C51单片机制作LED流水的灯
用C51单片机制作LED流水的灯
|
1月前
|
算法 物联网 芯片
基于STM32和51单片机的8位全彩流水灯程序模板
基于STM32和51单片机的8位全彩流水灯程序模板
|
测试技术 Python
Python接口自动化测试框架(基础篇)-- 流程控制之循环语句for&while
本文介绍了Python中的循环语句,包括while和for循环的使用,range()函数的运用,以及continue、break和pass关键字的说明,同时提出了关于while循环是否能与成员运算符结合使用的思考。
201 1
Python接口自动化测试框架(基础篇)-- 流程控制之循环语句for&while
【51单片机】独立按键,每个按键不同功能,数码管数值的加减,控制流水灯模式,包含按键消抖,数码显示,流水灯
【51单片机】独立按键,每个按键不同功能,数码管数值的加减,控制流水灯模式,包含按键消抖,数码显示,流水灯
817 1
|
传感器 数据采集 监控
LabVIEW单片机的废气再循环EGR检测系统
LabVIEW单片机的废气再循环EGR检测系统
151 0
|
C语言
51单片机汇编语言流水灯代码
51单片机汇编语言流水灯代码
351 1
|
编译器 测试技术 Linux
技术洞察:循环语句细微差异下的性能探索(测试while(u--);和while(u)u--;的区别)
该文探讨了两种循环语句(`while(u--);` vs. `while(u) u--;`)在性能上的微妙差异。通过实验发现,后者比前者平均执行速度快约20%,原因在于循环条件检查的顺序影响了指令数量。尽管差异可能在多数情况下不显著,但在性能关键的代码中,选择合适的循环结构能优化执行效率。建议开发者在编写循环时考虑编译器优化和效率。未来研究可扩展到不同编译器、优化级别及硬件架构的影响。
|
编译器 C语言 C++
【51单片机】LED的三个基本项目(LED点亮&LED闪烁&LED流水灯)(3)
【51单片机】LED的三个基本项目(LED点亮&LED闪烁&LED流水灯)(3)
|
存储 弹性计算 运维
循环测试用户名与密码是否正确
【4月更文挑战第29天】
96 0
下一篇
oss云网关配置