#include <reg51.h>
#include <intrins.h>
#define uint unsigned int
#define uchar unsigned char
uchar i = 0, DZ = 255;
uchar code hz[] = {0x3F,0xF8,0x01,0x00,0x7F,0xFE,0x41,0x02,0x9D,0x74,0x01,0x00,0x1D,0x70,0x00,0x00,0x3F,0xF8,0x00,0x00,0x00,0x00,0xFF,0xFE,0x08,0x20,0x10,0x10,0x3F,0xF8,0x00,0x08,};
void main()
{
P3 = 0x00;
TMOD = 0x02;
TH0 = 256 - 250;
TL0 = 6;
TR0 = 1;
IE = 0x82;
while(1);
}
void Show_Name() interrupt 1
{
if( ++DZ == 4 )
{
DZ = 0;
if( ++i == 8) i = 0;
}
P2 = 0x00;
switch(DZ)
{
case 0: P3 = 0x01;
P2 = 1 << i;
P0 = ~hz[ 2*i ];
break;
case 1: P3 = 0x02;
P2 = 1 << i;
P0 = ~hz[ 2*i + 1 ];
break;
case 2: P3 = 0x04;
P2 = 1 << i;
P0 = ~hz[ 2*i + 16 ];
break;
case 3: P3 = 0x08;
P2 = 1 << i;
P0 = ~hz[ 2*i + 17 ]; }
}
让你给P0的值弄个逻辑周期转起来