怎样检查光立方电路的错误

2019-07-15 23:17发布

给光立方全亮时,有两层不亮,独自一层一层亮时也不亮,但是从网上找的程序却能够使这两层亮,而且两层是同时一起亮,求检查方法?还有设置定时器时为什么不需要工作模式设置的?下面是全亮的程序:
#include <REG52.H>
#include <intrins.h>
#define uchar unsigned char
#define uint unsigned int

void delay5us(void)  
{
    unsigned char b;
    for(b=7;b>0;b--);
        //for(a=2;a>0;a--);
}

void delay(uint i)

{                                                                                                     
                i=i/10;
         while (i--){
                 delay5us();}
}

void sinter()
{
         IE=0x82;
         TCON=0x01;
         TH0=0xc0;
         TL0=0;
         TR0=1;
}
void main()
{               
                sinter();
                while(1);
}
void print() interrupt 1
{
         uchar i;
         static uchar layer=0;
         P1=0;
               
         for (i=0;i<8;i++)
         {
                   P2=1<<i;
                   delay(2);
                   P0=0xff;
                   delay(2);
         }
                 
         P1=1<<layer;
                 
                       
         if (layer<7)
                   layer++;
         else
                   layer=0;       
         TH0=0xc0;
         TL0=0;
}

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。