|
四位数码管显示问题
#include
unsigned char code LED[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};
//实现四位静态数码管显示1970;
unsigned char code TAB[]={0xF8,0xF9,0xFA,0xFB};
void main()
{
while(1)
{
P0=0;
P1=TAB[0];
P0=LED[0];
P0=0;
P1=TAB[1];
P0=LED[7];
P0=0;
P1=TAB[2];
P0=LED[9];
P0=0;
P1=TAB[3];
P0=LED[1];
}
}
第二种方式
/*unsigned char code Display[]={0x3F,0x07,0x6F,0x06};
void main()
{
unsigned char i,k=4,*p;
p=Display;
P1=0;
while(1)
{
if(k>3) k=0;
P0=*(p+k);
P1=TAB[k++];
for(i=0;i<=50;i++);
P1=0;
}
}*/
为什么前面的程序实现方法数码管确实是显示1970而用指针实现的数码管却显示1978; |
|