数码管循环显示控制.doc
文本预览下载声明
#includereg52.h
#define uint unsigned int
#define uchar unsigned char
sbit w2=P2^1;
sbit w1=P2^0;
uchar n;
uchar code table[]={
0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71
};
void delay();
void main()
{ w2=1;
P0=0xf0;
w2=0;
while(1)
{ for(n=0;n16;n++)
{
w1=1;
P0=table[n];
w1=0;delay();
}
}
}
//延迟程序
void delay()
{
uint x,y;
for(x=200;x0;x--)
for(y=400;y0;y--);
}
#includereg52.h
#define uint unsigned int
#define uchar unsigned char
sbit w2=P2^1;
sbit w1=P2^0;
sbit D1=P1^0;
uchar n;
uchar code table[]={
0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71
};
void delay();
void main()
{ D1=1;
EA=1;
EX0=1;
w2=1;
P0=0xf0;
w2=0;
while(1)
{
for(n=0;n16;n++)
{
w1=1;
P0=table[n];
w1=0;delay();
}
}
}
//延迟程序
void delay()
{
uint x,y;
for(x=200;x0;x--)
for(y=400;y0;y--);
}
//中断0服务程序
void exter0() interrupt 0
{
D1=0;
}
#includereg52.h
#define uint unsigned int
#
sbit w1=P2^0;
sbit w2=P2^1;
void delay();
void first();
void second();
void third();
void fourth();
void all();
void all4();
void main()
{ while(1)
{
first();
delay();
second();
delay();
third();
delay();
fourth();
delay();
all();
delay();
}
}
//第一个数码管显示
void first()
{
w2=1;
P0=0xfe;
w2=0;
w1=1;
P0=0x3f;
w1=0;
delay();
}
//第二个数码管显示
void second()
{
w2=1;
P0=0xfd;
w2=0;
w1=1;
P0=0x06;
w1=0;
delay();
}
//第三个数码管显示
void third()
{
w2=1;
P0=0xfb;
w2=0;
w1=1;
P0=0x5b;
w1=0;
delay();
}
//第四个数码管显示
void fourth()
{
w2=1;
P0=0xf7;
w2=0;
w1=1;
P0=0x4f;
w1=0;
delay();
}
//全部显示
void all()
{ all4();
P0=0x66;
delay1();
all4();
P0=0x6d;
delay1();
all4();
P0=0x7d;
delay1();
all4();
P0=0x07;
delay1();
all4();
P0=0x7f;
delay1();
all4();
P0=0x6f;
delay1();
all4();
P0=0x77;
delay1();
all4();
P0=0x7c;
delay1();
all
显示全部