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

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;
}

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
6条回答
背包少年
1楼-- · 2019-07-16 03:00
你那个左移  P2=1<<i    不对吧  你该一下试试
liuhengdong
2楼-- · 2019-07-16 07:19
背包少年 发表于 2013-8-5 16:44
你那个左移  P2=1

如何改,那个是动态扫描吧?

liwenbiao
3楼-- · 2019-07-16 09:05
你这什么代表什么,连个注释都没
yzx41
4楼-- · 2019-07-16 14:02
 精彩回答 2  元偷偷看……
liuhengdong
5楼-- · 2019-07-16 14:18
liuhengdong 发表于 2013-8-5 17:15
如何改,那个是动态扫描吧?

改了之后更不行了
liuhengdong
6楼-- · 2019-07-16 16:24
liuhengdong 发表于 2013-8-5 20:36
改了之后更不行了

应该是led间的干扰,用电池测了下,当只接一层的共阴极是时,整层都会亮,,有的是上下会亮,求解决方法

一周热门 更多>