📄 +
字号:
#include<reg52.h>
#include<intrins.h>
sbit wela=P1^1;
sbit dula=P1^0;
sbit LED=P1^2;
sbit dz=P1^3;
int j=0,h[9]={0,1,2,3,4,4,4,4,4},i,x,k,y,num=0;
//unsigned char code DM[]={0x3f,0x30,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x00};// 显示段码值0~9
unsigned char code WM[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};//分别对应相应的数码管点亮,即位码
unsigned char code DM[]={0x38,0x3f,0x3e,0x79,0x00};
void display(int a,int b,int c,int d,int e,int f,int g,int h);
void left(int a[]);
void delay(unsigned int sm)
{
for(i=sm;i>0;i--)
for(j=70;j>0;j--);
}
void main()
{
P0=0xff;
LED=0;
P0=0x00;
dz=0;
P0=0xff;
i=0;
while(1)
{
for(k=0;k<16;k++)
{
display(h[0],h[1],h[2],h[3],h[4],h[5],h[6],h[7]);
if(k==3)
left(h);
}
}
}
void display(int a,int b,int c,int d,int e,int f,int g,int h)
{
P0=0xff;
wela=1;
P0=WM[0]; //取位码
wela=0;
P0=0x00;
dula=1;
P0=DM[a]; //取显示数据,段码
dula=0;
delay(5);
P0=0xff;
wela=1;
P0=WM[1]; //取位码
wela=0;
P0=0x00;
dula=1;
P0=DM[b]; //取显示数据,段码
dula=0;
delay(5);
P0=0xff;
wela=1;
P0=WM[2]; //取位码
wela=0;
P0=0x00;
dula=1;
P0=DM[c]; //取显示数据,段码
dula=0;
delay(5);
P0=0xff;
wela=1;
P0=WM[3]; //取位码
wela=0;
P0=0x00;
dula=1;
P0=DM[d]; //取显示数据,段码
dula=0;
delay(5);
P0=0xff;
wela=1;
P0=WM[4]; //取位码
wela=0;
P0=0x00;
dula=1;
P0=DM[e]; //取显示数据,段码
dula=0;
delay(5);
P0=0xff;
wela=1;
P0=WM[5]; //取位码
wela=0;
P0=0x00;
dula=1;
P0=DM[f]; //取显示数据,段码
dula=0;
delay(5);
P0=0xff;
wela=1;
P0=WM[6]; //取位码
wela=0;
P0=0x00;
dula=1;
P0=DM[g]; //取显示数据,段码
dula=0;
delay(5);
P0=0xff;
wela=1;
P0=WM[7]; //取位码
wela=0;
P0=0x00;
dula=1;
P0=DM[h]; //取显示数据,段码
dula=0;
delay(5);
}
void left(int a[])
{
int temp;
i =8;
temp = a[8];
while(i > 0)
{
a[i] = a[i-1];
i--;
}
a[0] = temp;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -