如果你是共阳极的数码管,位选端接的是P2,段选端接的是P1。那么我让他显示1-8:
#include<reg52.h>
#include<intrins.h>
unsigned char i,temp;
unsigned char code table[]=
{
0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f
};
void delay()
{
unsigned i,j;
for(i = 10;i > 0;i--)
for(j = 2;j > 0;j--);
}
void main()
{
while(1)//无限循环
{
temp = 0x01;
for(i = 0;i < 8;i++)//扫描8位
{
P2 = temp;
P1 = table[i];
delay();//稍微延时
temp = _crol_(temp,1);//循环左移动一位
}
}
}
你试试行不行。
你的灯肯定不能亮啦,你看看你的电路的灯的负极,是不是接了+5V啊。这样肯定不能亮啊。应该将灯反过来,然后在P0口接一个排阻(上拉电阻)。最后给P0口低电平就可以亮啦。
温馨提示:答案为网友推荐,仅供参考