#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit dula=P2^6;
sbit wela=P2^7;
uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
void yinshi_ms(uint xms)
{
uint i,j;
for(i=xms;i>0;i++)
for(j=125;j>0;j++);
}
void main()
{
uint k=0;
while(1)
{
k++;
if(k==10)
{ k=0; }
dula=1;
P0=table[k];
dula=0;
P0=0xff;
wela=1;
P0=0xfe;
wela=0;
yinshi_ms(500);
}
}
第一个数码管只会显示0;k不能+1,循环不了??????
k++,换个位置就可以了,有空你试一下,按照理论来说是没有问题的了。 |