|
#include <reg51.h>
#include <intrins.h>
#define uchar unsigned char
#define uint unsigned int
#define ulong unsigned long
unsigned char SEG[]={0xc0,0xf9,0xa4,0xb0,
0x99,0x92,0x82,0xf8,0x80,0x90};
void delay(int x)
{
uint i,j;
for(i=0;i<x;i++)
for(j=0;j<123;j++);
}
void dispw(uchar i,uchar j)
{
P2=_crol_(0x01,i);
P0=SEG[j];
delay(1);
P2=0;
}
void disp(ulong x)
{
uchar a[8],i,k,n;
a[7]=x%10;
a[6]=x%100/10;
a[5]=x%1000/100;
a[4]=x%10000/1000;
a[3]=x%100000/10000;
a[2]=x%1000000/100000;
a[1]=x%10000000/1000000;
a[0]=x%100000000/10000000;
for(n=0;n<8;n++)
{
if(a[n]!=0)
{
if(a[n-1]==0)
{
k=8-n;
break;
}
}
}
for(i=0;i<k;i++)
dispw(7-i,a[7-i]);
}
main()
{
ulong num;
uchar m;
while(1)
{
for(num=0;num<88888888;num++)
{
for(m=0;m<10;m++)
{
disp(num);
delay(5);
}
}
}
}
|
-
8位以内计数
-
-
动态显示.rar
78.9 KB, 下载次数: 3, 下载积分: 黑币 -5
8位以内任意计数
|