微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 怎样检查光立方电路的错误

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

时间:10-02 整理:3721RD 点击:
给光立方全亮时,有两层不亮,独自一层一层亮时也不亮,但是从网上找的程序却能够使这两层亮,而且两层是同时一起亮,求检查方法?还有设置定时器时为什么不需要工作模式设置的?下面是全亮的程序:
#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;
}

你那个左移  P2=1<<i    不对吧  你该一下试试

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

你这什么代表什么,连个注释都没

改成p2=0x01;  p2<<i

改了之后更不行了

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

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top