📄 ledshaomiaokyong.c
字号:
#include <C8051F020.H>
unsigned char code out0[]={0xfc,0x60,0xda,0xf2,0x66,0xb6,0xbe,0xe0,0xfe,0xf6 ,0x88,0x83,0xc6,0xa1,0x86,0x8e};
unsigned char code out1[]={0xfc,0x60,0xda,0xf2,0x66,0xb6,0xbe,0xe0,0xfe,0xf6 ,0x88,0x83,0xc6,0xa1,0x86,0x8e};
unsigned char code out2[]={0xfc,0x60,0xda,0xf2,0x66,0xb6,0xbe,0xe0,0xfe,0xf6 ,0x88,0x83,0xc6,0xa1,0x86,0x8e};
unsigned char code out3[]={0xfc,0x60,0xda,0xf2,0x66,0xb6,0xbe,0xe0,0xfe,0xf6 ,0x88,0x83,0xc6,0xa1,0x86,0x8e}; //数码管 0-F 代码
void delay(void) //延时
{
unsigned int t;
for(t=0;t<55000;t++);
}
void ledshow(void)
{ static unsigned char select=0xfe;
static unsigned char k=0;
switch(select)
{
case 0xfe:P1=out0[k];
P3=select;
delay();
break;
case 0xfd:P1=out1[k];
P3=select;
delay();
break;
case 0xfb:P1=out2[k];
P3=select;
delay();
break;
case 0xf7:P1=out3[k];
P3=select;
delay();
break;
default :break;
}
if(select&0x10==0)
select=0xfe;
else
select=(select<<1)|0x01;
if(select==0xef)
select=0xfe;
if(k<=9)
k++;
if(k==10)
k=0;
}
void main(void)
{
int i;
WDTCN = 0xDE;
WDTCN = 0xAD;
P1MDOUT = 0xFF;
P3MDOUT = 0xfF;
XBR2 = 0x40;
OSCXCN = 0x67;
for (i = 0; i < 3000; i++); // Wait 1ms for initialization
while ((OSCXCN & 0x80) == 0);
OSCICN = 0x0C;
while(1)
{ledshow();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -