键控流水灯51c语言程序,2个 按键控制单片机的流水灯左右移动程序怎么加入循环程序啊?...

博主正在尝试实现一个51单片机的键控流水灯程序,目标是通过两个按键控制流水灯的左右移动,并在按键按下时实现单向循环流动。当前遇到的问题是程序在按键操作后只流动一次就停止,需要加入循环机制。博主已尝试修改代码,但遇到了警告和错误。程序中定义了`left()`和`right()`函数来控制流水灯的左右移动,`main()`函数中通过按键状态调用这两个函数。博主还分享了自己尝试加入循环的代码,但效果不理想,期待社区的解答。
摘要由CSDN通过智能技术生成

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

我想问下大家这个单片机的流水灯程序怎么开始下载后就亮了后面在改的过程中灯后面就不亮了,下载和仿真都没有了,怎么加入循环程序啊

目的:P1口接了8个LED灯,以共阳方式接入单片机,按下K2、K3流水灯会向左、向右的单向循环移动,然后K2、K3同时按下全部熄灭,然后K2、K3之间互相切换流水方向

这个是个基础的流水灯程序,老师让弄得,然后程序是同学相出来的,怎么加一个循环可以实现单向循环流动,目前没有实现循环,按下某个按键只是流动一次啊就停了啊。

然后我还想了个主意但是还是会停下里,没有错误但是会报问题,创建有7个问题。

compiling lift_right.c...

LIFT_RIGHT.C(92): warning C206: 'left': missing function-prototype

LIFT_RIGHT.C(101): warning C206: 'right': missing function-prototype

lift_right.c - 0 Error(s), 2 Warning(s).

下面是我的控制程序:

#include

sbit D1 = P1^0;

sbit D2 = P1^1;

sbit D3 = P1^2;

sbit D4 = P1^3;

sbit D5 = P1^4;

sbit D6 = P1^5;

sbit D7 = P1^6;

sbit D8 = P1^7;

sbit LED = P1;

sbit K1 = P3^2;

sbit K2 = P3^3;

sbit K3 = P3^4;

sbit K4 = P3^5;

void delay(int x)

{

int i;

while(x>0){

for(i=120; i>0; i--);

x--;

}

}

/**********************流水灯左右移动子函数*********************************** /

void left()

{

D1 = 1; D2 = 1; D3 =1; D4 = 1; D5 = 1; D6 =1; D7 = 1; D8 = 0;

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值