#include <STC89C5xRC.H>
/*-- 调入了一幅图像:这是您新建的图像 --*/
/*-- 宽度x高度=8x8 --*/
unsigned char image[] = {
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x3C,0x18,0x18,0x18,0x18,0x18,0x18,0x3C,
0x00,0x66,0xFF,0xFF,0xFF,0xFF,0x7E,0x3C,
0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00
};// I
void main()
{
EA = 1;
TMOD &= 0xF0; //设置定时器模式
TMOD |= 0x01; //设置定时器模式
TL0 = 0x18; //设置定时初值
TH0 = 0xFC; //设置定时初值
TF0 = 0; //清除TF0标志
ET0 = 1;
TR0 = 1; //定时器0开始计时
while(1);
}
void Interruptimer0() interrupt 1
{
static unsigned char i = 0;
static unsigned char index =0;
static unsigned cnt = 0;
TL0 = 0x18; //设置定时初值
TH0 = 0xFC; //设置定时初值
switch(i)
{
case 0: P2=~(1<<i);P1= image[index+i];i++;break;
case 1: P2=~(1<<i);P1= image[index+i];i++;break;
case 2: P2=~(1<<i);P1= image[index+i];i++;break;
case 3: P2=~(1<<i);P1= image[index+i];i++;break;
case 4: P2=~(1<<i);P1= image[index+i];i++;break;
case 5: P2=~(1<<i);P1= image[index+i];i++;break;
case 6: P2=~(1<<i);P1= image[index+i];i++;break;
case 7: P2=~(1<<i);P1= image[index+i];i=0;break;
default:break;
}
cnt++;
if(cnt == 100)
{
cnt = 0;
index++;
if(index>=25)
{
index=0;
}
}
}