51单片机写的程序高级流水灯。希望大神可以给个建议

2019-07-15 18:23发布

高级流水灯 实现的效果是水滴下落效果。可是我只有这种效果,我想先让第一只灯先最亮然后下面的在一个个的亮起来。希望懂得人给个解决方案
飞卡.zip 下载积分: 积分 -1 分
57.29 KB, 下载次数: 11, 下载积分: 积分 -1 分
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
3条回答
liberlee
1楼-- · 2019-07-15 19:04
#include<reg52.h>
#define uint unsigned int
#define uchar unsigned char
uchar abit=16; //流到哪位
uchar t;
uchar code abit8[9]={1,2,4,8,16,32,64,128,0};
uchar nn;

char a,b,c,d;
main()
{
        TMOD = 0x11;
        TL0 = 0x00;  //2.5ms
        TH0 = 0xF7;
        TF0 = 0;  
        TR0 = 1;
        EA=1;
        ET0=1;
        while(1)
        {
                  a=abit;
                  if(a>7||a<0)
                          a=8;
                          b=abit-1;
                  if(b>7||b<0)
                           b=8;
                          c=abit-2;
                  if(c>7||c<0)
                           c=8;
                           d=abit-3;
                  if(d>7||d<0)
                           d=8;

  
                t++;
                if(t==255)
                        t=0;
                if(t<5)
                          P1=0xff-abit8[a];
                if(t<40)
                         P1=0xff-abit8[b];
                if(t<150)
                          P1=0xff-abit8[c];
                if(t<255)
                          P1=0xff-abit8[d];
        }
}
timer0 () interrupt 1
{
        TL0 = 0x00;  //50ms
        TH0 = 0x4C;
        nn++;
        if(nn==2)
        {
                  nn=0;abit--;
                   if(abit==0)
                           abit=16;
        }
  
}
闹够了~没有
2楼-- · 2019-07-15 22:12
 精彩回答 2  元偷偷看……
xqqxqqxqq4228
3楼-- · 2019-07-15 22:58
谢谢分享经验

一周热门 更多>