点阵为啥不听话啊,心都碎了。写个最简单的程序也不听话,就是全屏都亮。。
求大神帮忙,指点迷经
#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
uchar table1[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe};
uchar table2[]={0x00,0x00,0x3e,0x41,0x41,0x41,0x3e,0x00};
void delay(uint a)
{
while(a--);
}
void main()
{
uchar i;
while(1)
{
for(i=0;i<8;i++)
{
P0=table1[i];
P1=table2[i];
delay(40);
P0=0X00;
}
}
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
#define shuma P0 //定义P0口为数据
unsigned char b;
unsigned char table1[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
sbit LED_1=P1^0;
void Delay(unsigned int i) //延时函数
{
while(i--); //延时长短由i决定
}
void main(void)
{
LED_1=0; //只是让P1^0L亮(即选择第一个数码管)
while(1) //无限循环
{
for(;;) //
{
shuma=table1;
b++;
if(b>9)
b=0;
Delay(30000);
}
}
}用的共阳极的数码管,上面那个是第一个数码管从0闪到9
一周热门 更多>