Jack_Air 发表于 2012-11-14 17:38:49

模拟4位7段数码管静态扫描显示时有疑惑,求帮助

很久没接触自己的专业了,前些天把自己以前写的小程序拿到Proteus上模拟,但是结果让我很疑惑。。。
程序很简单,电路也很简单,M16做的

//ICC-AVR application builder : 2012-11-13 11:50:18
// Target : M16
// Crystal: 12.000Mhz

#include <iom16v.h>
#include <macros.h>
#include <KEY_TIMER0.h>
#define unchar unsigned char
#define unint unsigned int

unchar B[]={0x01,0x02,0x04,0x08};
unchar A[]={GD_0,GD_1,GD_2,GD_3};//GD_X在头文件KEY_TIMER0.H中定义的,表示显示的数字是X


void port_init(void)
{
PORTA = 0x00;
DDRA= 0xff;
PORTB = 0x00;
DDRB= 0x00;
PORTC = 0x00;
DDRC= 0x0f;
PORTD = 0x00;
DDRD= 0x00;
}

void watchdog_init(void)//看门狗
{
   WDR();
   WDTCR = 0x0E;
}

void init_devices(void)//初始化
{
CLI(); //disable all interrupts
port_init();
watchdog_init();
MCUCR = 0x00;
GICR= 0x00;
TIMSK = 0x01; //timer interrupt sources
SEI(); //re-enable interrupts
}

void DISP(void)//扫描程序
{ int i=0,j;
   for(;i<4;i++)
   {
   PORTA=A;
   PORTC=B;
   Delay(10);
   }
}

void Delay(unint a)//延时
{unint i,i1;
   for(i1=0;i1<a;i1++)
   {for(i=0;i<1595;i++)   
      WDR();}
}

void main()
{
init_devices();
while(1)
{
    DISP();
    WDR();
}
}


yklstudent 发表于 2012-11-14 18:12:43

不是器件问题 就是程序问题 一句话 感觉应该是低电平有效

Jack_Air 发表于 2012-11-20 08:49:14

...沉底了
页: [1]
查看完整版本: 模拟4位7段数码管静态扫描显示时有疑惑,求帮助