共有两种代码
方法1:
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit BEEP=P2^3;
sbit led1=P1^0;
sbit led2=P1^1;
sbit led3=P1^2;
sbit led4=P1^3;
sbit led5=P1^4;
sbit led6=P1^5;
sbit led7=P1^6;
sbit led8=P1^7;
sbit DU=P2^6;
sbit WE=P2^7;
uchar code sz[17]={0x3f , 0x06 , 0x5b ,0x4f , 0x66 , 0x6d ,0x7d ,
0x07 , 0x7f , 0x6f ,0x77 , 0x7c , 0x39 ,
0x5e , 0x79 , 0x71 , 0x00};
void delay(uint xms)
{
uint i,j;
for(i=xms;i>0;i--)
for(j=112;j>0;j--);
}
void main()
{
while(1)
{
led1=0;
P0=sz[1]; //数字1
DU=1;
DU=0;
P0=0xfe;
BEEP=0;
delay(500);
BEEP=1;
delay(500);
led1=1;
led2=0;
P0=sz[2]; //数字2
DU=1;
DU=0;
P0=0xfd;
BEEP=0;
delay(250);
BEEP=1;
delay(250);
BEEP=0;
delay(250);
BEEP=1;
delay(250);
led2=1;
led3=0;
P0=sz[3]; //数字3
DU=1;
DU=0;
P0=0xfb;
BEEP=0;
delay(500);
BEEP=1;
delay(500);
led3=1;
led4=0;
P0=sz[4]; //数字4
DU=1;
DU=0;
P0=0xf7;
BEEP=0;
delay(250);
BEEP=1;
delay(250);
BEEP=0;
delay(250);
BEEP=1;
delay(250);
led4=1;
led5=0;
P0=sz[5]; //数字5
DU=1;
DU=0;
P0=0xef;
BEEP=0;
delay(500);
BEEP=1;
delay(500);
led5=1;
led6=0;
P0=sz[6]; //数字6
DU=1;
DU=0;
P0=0xdf;
BEEP=0;
delay(250);
BEEP=1;
delay(250);
BEEP=0;
delay(250);
BEEP=1;
delay(250);
led6=1;
led7=0;
P0=sz[7]; //数字7
DU=1;
DU=0;
P0=0xbf;
BEEP=0;
delay(500);
BEEP=1;
delay(500);
led7=1;
led8=0;
P0=sz[8]; //数字8
DU=1;
DU=0;
P0=0x7f;
BEEP=0;
delay(250);
BEEP=1;
delay(250);
BEEP=0;
delay(250);
BEEP=1;
delay(250);
led8=1;
}
}
方法2:
#include<reg52.h>
sbit led1=P1^1;
sbit duan=P2^6;
sbit wei=P2^7;
sbit fm=P2^3;
char code smg[17]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x00} ;
char led[]={0xff,0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
delay(int xms)
{
int i,j;
for(i=xms;i>=0;i--)
for(j=112;j>=0;j--);
}
main()
{
while(1)
{
P0=smg[1]; //显示数字1
duan=1;duan=0;
P0=0xfe;
P1=led[1];
fm=0;
delay(500);
fm=1;
delay(500);
P0=smg[2];
duan=1;duan=0;
P0=0xfd;
P1=led[2];
fm=0;
delay(250);
fm=1;
delay(250);
fm=0;
delay(250);
fm=1;
delay(250);
P0=smg[3];
duan=1;duan=0;
P0=0xfb ;
P1=led[3];
fm=0;
delay(500);
fm=1;
delay(500);
P0=smg[4];
duan=1;duan=0;
P0=0xf7;
P1=led[4];
fm=0;
delay(250);
fm=1;
delay(250);
fm=0;
delay(250);
fm=1;
delay(250);
P0=smg[5];
duan=1;duan=0;
P0=0xef;
P1=led[5];
fm=0;
delay(500);
fm=1;
delay(500);
P0=smg[6];
duan=1;duan=0;
P0=0xdf;
P1=led[6];
fm=0;
delay(250);
fm=1;
delay(250);
fm=0;
delay(250);
fm=1;
delay(250);
P0=smg[7];
duan=1;duan=0;
P0=0xbf;
P1=led[7];
fm=0;
delay(500);
fm=1;
delay(500);
P0=smg[8];
duan=1;duan=0;
P0=0x7f;
P1=led[8];
fm=0;
delay(250);
fm=1;
delay(250);
fm=0;
delay(250);
fm=1;
delay(250);
}
}