//数码管显示从0到9999
//程序员;
//时间:2013-7-17
#include<reg52.h>
#define xs0 0xc0 //xs0 显示0
#define xs1 0xf9 //xs0 显示1
#define xs2 0xa4 //xs0 显示2
#define xs3 0xb0 //xs0 显示3
#define xs4 0x99 //xs0 显示4
#define xs5 0x92 //xs0 显示5
#define xs6 0x82 //xs0 显示6
#define xs7 0xf8 //xs0 显示7
#define xs8 0x80 //xs0 显示8
#define xs9 0x90 //xs0 显示9
#define p P1
sbit p4=P3^4;//第四位
sbit p3=P3^5;//第三位
sbit p2=P3^6;//第二位
sbit p1=P3^7;//第一位
delay()
{
int a,b,c;
for(a=0;a<=1000;a++)
{
for(b=0;b<=110;b++)
c=0;
}
}
void xs(int a)
{
switch ( a);
{
case 0: p=xs0;break;
case 1: p=xs1;break;
case 2: p=xs2;break;
case 3: p=xs3;break;
case 4: p=xs4;break;
case 5: p=xs5;break;
case 6: p=xs6;break;
case 7: p=xs7;break;
case 8: p=xs8;break;
case 9: p=xs9;break;
}
}
void main()
{
int g,s,q,m,n;
p=0;
p2=0;
p3=0;
p4=0;
delay();
int a,b,c,d,e,f;
for(a=0;a<=9999;a++)
{
g=a%10;
s=a/10%10;
b=a/100%10;
q=a/100;
for(m=0,m<=100;m++)
{
for(n=0;n<=110;n++)
{ p4=1;
p3=0;
p2=0;
p1=0;
void xs(q);
p4=0;
p3=1;
p2=0;
p1=0;
void xs(b);
p4=0;
p3=0;
p2=1;
p1=0;
void xs(s);
p4=0;
p3=0;
p2=0;
p1=1;
void xs(g);
}
}
}
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
sbit dula=P3^1;
sbit wela=P3^0;
unsigned char code duan[]={0xC0, 0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,};
unsigned char code wei[]={};
void delay(unsigned int i)
{
unsigned int m,n;
for(m=i;m>0;m--)
for(n=120;n>0;n--);
}
void main()
{
dula=0;
wela=0;
while(1)
{
P0=0x00;
dula=1;
dula=0;
delay(1);
P0=0xff;
wela=1,
wela=0;
}
}
一周热门 更多>