找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 705|回复: 1
打印 上一主题 下一主题
收起左侧

新人求助改单片机程序,第一次按下按键,LED灯从上到下一个一个亮

[复制链接]
跳转到指定楼层
楼主
ID:1018743 发表于 2022-4-15 19:51 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
出来的效果是
第一次按下按键,LED灯从上到下一个一个亮,
第二次按下,LED灯从下到上两个两个亮,
第三次按下,LED灯一次亮四个,交替闪烁。
有没有大佬帮忙改改程序
#include <reg51.h>
#include <intrins.h>
#define uchar unsigned char
#define uint unsigned int  
#define false 0
#define true 1
#define key P1    //??
#define LED P0 //?
uchar value=0;
uchar aa=0x01;
uchar bb;
uchar cc;
uint x,y,z;
uint i=1;
uint j=1;
void delay1()     //??????
{
    uint k,j;
    for(j=0;j<10;j++)
    for(k=0;k<1000;k++);
}
bit scankey()
{
   bit flag=false;
   if(key!=0xff)   
    {
       delay1();   
       if(key!=0xff)
    {
       while(~key);     
       flag=true;
    }
  }
  return flag;
}
uchar keyvalue()
{
   if(scankey())
     value++;
     if(value>3) value=0;
     return value;           
}  
void delay(uint i)     //??????ims  
{
    uint k,j;
    for(j=0;j<i;j++)
{
  keyvalue();//?1ms??????,???????????
    for(k=0;k<1000;k++);
}
}
void display1()//?????????
{
  x=1;
  while(x)
  {
   LED=~aa;
   aa=_crol_(aa,1);
   delay(100);
   if(value==2)
    x=0;
  }
}
void display2()//?????????
{
  y=1;
  while(y)
  {
   if(i)//??if???aa????,???LED???,??????
   {
    aa=_cror_(aa,2);
    bb=_cror_(aa,1);
    bb=aa^bb;
    LED=~bb;
    delay(100);
    aa=bb;
    i=0;
   }
   aa=_cror_(aa,2);
   LED=~aa;
   delay(100);
   if(value==3)
    y=0;
  }
}  
void display3()//???,???
{
  z=1;
  while(z)
  {
   if(j)//?????
   {
    aa=_crol_(aa,2);
    cc=_crol_(aa,2);
    cc=aa^cc;
    LED=~cc;
    delay(100);
    aa=cc;
    j=0;
   }
   aa=_crol_(aa,4);
   LED=~aa;
   delay(100);
   if(value==0)
    z=0;
  }
}
void main()                    
{  

   while(1)
    {
      keyvalue();  
   switch (value)
   {
    case 1:display1();break;
    case 2:display2();break;
    case 3:display3();break;
    default:LED=0xff;aa=0x01;i=1;j=1;break;//?LED,i,j????
   }
    }
}

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶1 踩
回复

使用道具 举报

沙发
ID:584814 发表于 2022-4-17 15:59 | 只看该作者
目测程序是抄的,貌似没啥问题,不知道要改啥。
看不懂注释的语言国别,请转成全英文或中英文的再问
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表