利用单片机数码管的数字显示:
#include<stc15f2k60s2.h>
unsigned char CS[]={0x7f,0xbf,0xdf,0xef};
unsigned char DM[]={0x77,0x41,0x3b,0x6b,0x4d,0x6e,0x7e,0x43,0x7f,0x6f};
void Delay500ms() //@11.0592MHz
{
unsigned char i, j, k;
i = 22;
j = 3;
k = 227;
do
{
do
{
while (--k);
} while (--j);
} while (--i);
}
void Delay100us() //@11.0592MHz
{
unsigned char i, j;
i = 2;
j = 15;
do
{
while (--j);
} while (--i);
}
void Delay100ms() //@11.0592MHz
{
unsigned char i, j, k;
i = 5;
j = 52;
k = 195;
do
{
do
{
while (--k);
} while (--j);
} while (--i);
}
int main()
{
int i,j;
P1M1 &= ~0xff; //P1推挽输出
P1M0 |= 0xff;
P0=0xff;
j=0;
while(1)
{
for(i=0;i<4;i++)
{
P0=CS[i];
P1=DM[j];
Delay500ms();
}
j++;
if(j>9)
{
j=0;
}
}
return 0;
}