小子刚玩单片机,就是想让8个数码管分别显示0——7,堆的代码如下,
但是如图,编程没效果啊,请问是代码错了还是接线错了,应该怎么改哦?
#include <reg52.h>
void delay(unsigned int a);
unsigned char table1[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f};
unsigned char table2[]={0x00,0x10,0x20,0x30,0x40,0x50,0x60,0x70};
sbit smgen=P2^3;
void main()
{
while(1)
{
unsigned int i;
for(i=0;i<8;i++)
{
P2=table2[i];
smgen=1;
P1=table1[i];
delay(100);
}
}
}
void delay(unsigned int a)
{
while(a--);
}

但是如图,编程没效果啊,请问是代码错了还是接线错了,应该怎么改哦?
#include <reg52.h>
void delay(unsigned int a);
unsigned char table1[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f};
unsigned char table2[]={0x00,0x10,0x20,0x30,0x40,0x50,0x60,0x70};
sbit smgen=P2^3;
void main()
{
while(1)
{
unsigned int i;
for(i=0;i<8;i++)
{
P2=table2[i];
smgen=1;
P1=table1[i];
delay(100);
}
}
}
void delay(unsigned int a)
{
while(a--);
}

