有关光立方的程序问题

2019-07-15 14:40发布

#include <reg52.h>
#include <intrins.h>

#define uchar unsigned char
#define uint unsigned int
#define p0 P0
#define p1 P1
#define p3 P3
#define p2 P2

uchar taba[]={0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,
              0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f};


uchar a,b,c,d,e,f,g,h,i,j,k,l;
void delaya();

void delay(unsigned int z)
{
        while(z--);
}

void main()
{
   TMOD=0x11;                  //  开启T0,T1
   TH0=(65536-2000)/256;
   TL0=(65536-2000)%256;
   TH1=(65536-10000)/256;
   TL1=(65536-10000)%256;
   ET0=1;                         //
   TR0=1;
   ET1=1;                         //  
   TR1=1;
   EA=1;
   while(1)
   {
           delaya();
   }
}

void li1() interrupt 1
{
   TH0=(65536-2000)/256;
   TL0=(65536-2000)%256;
        i++;
        if(i==5) i=0;j++;
        if(j==16) j=0;
}

void li2() interrupt 3
{
   TH1=(65536-10000)/256;
   TL1=(65536-10000)%256;
        h++;
        if(h==50) h=0;e++;l++;
        if(e==8)  e=0;          
        if(l==16) l=0;
}

void delaya()
{

for(a=0;a<200;a++)
   {
          p0=0x01;
          p1=0x01;
         for(b=0;b<=8;b++)
         {
              p2=taba[15-j];           // j  在这里什么意思呢???
            p0=_crol_(p0,1);   //     
            p1=_crol_(p0,1);
            delay(200);
        }
   }
}

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
7条回答
cyz721
1楼-- · 2019-07-15 16:00
interrupt1那修改了j的值,j在这里作为一个定时的变量,一定时间将p2口按照数组taba【】修改 最佳答案
bobobobo123
2楼-- · 2019-07-15 19:07
谢谢啦谢谢啦
百哖之後
3楼-- · 2019-07-16 00:01
可以写一下每一小步的意思吗,我是个初学者我看不懂
martin1800
4楼-- · 2019-07-16 03:04
定时器1的  J变量没有用括号括住,J的速度加得很快,人眼看不到效果
martin1800
5楼-- · 2019-07-16 07:38
 精彩回答 2  元偷偷看……
bobobobo123
6楼-- · 2019-07-16 08:59
martin1800 发表于 2016-3-28 22:13
定时器1的  J变量没有用括号括住,J的速度加得很快,人眼看不到效果

谢谢啦谢谢啦

一周热门 更多>