用uxision5按照学校给的代码写下,然后没有报错,但在proteus里边运行出错
任务是16*16的led点阵显示器,led灯只在一行运行,不运行到下一行
#include
#define uchar unsigned char
#define uint unsigned int
#define out0 P0
#define out1 P1
#define out2 P2
void delay(uchar j)
{
uchar i=250;
for(;j>0;j--)
{
while(--i);
i=100;
}
}
uchar code string[]=
{
// 字符:李
// UNICODE编码: 0x674E
// 当前取模方式为:1、先横后纵 左往右取 高位在左 依次向下
// 点阵宽度:16
// 点阵高度:16
0xFF,0xFF,
0xFE,0xFF,
0xFE,0xFF,
0x80,0x03,
0xFA,0xBF,
0xF6,0xDF,
0xEE,0xEF,
0x9F,0xF3,
0xF0,0x3F,
0xFF,0x7F,
0xFE,0xFF,
0x80,0x03,
0xFE,0xFF,
0xFE,0xFF,
0xF8,0xFF,
0xFF,0xFF,
// 字符:平
// UNICODE编码: 0x5E73
// 当前取模方式为:1、先横后纵 左往右取 高位在左 依次向下
// 点阵宽度:16
// 点阵高度:16
0xFF,0xFF,
0xC0,0x07,
0xFE,0xFF,
0xFE,0xFF,
0xEE,0xEF,
0xF6,0xEF,
0xF6,0xDF,
0xFE,0xFF,
0x80,0x03,
0xFE,0xFF,
0xFE,0xFF,
0xFE,0xFF,
0xFE,0xFF,
0xFE,0xFF,
0xFE,0xFF,
0xFF,0xFF,
// 字符:运
// UNICODE编码: 0x8FD0
// 当前取模方式为:1、先横后纵 左往右取 高位在左 依次向下
// 点阵宽度:16
// 点阵高度:16
0xFF,0xFF,
0xFF,0xFF,
0xDC,0x0F,
0xEF,0xFF,
0xEF,0xFF,
0xFF,0xFF,
0xF8,0x03,
0x8F,0x7F,
0xEF,0x7F,
0xEE,0xDF,
0xED,0xEF,
0xE8,0x07,
0xEF,0xF7,
0xD7,0xFF,
0xB8,0x03,
0xFF,0xFF,
};
void main()
{
uchar i,j,n;
while(1)
{
for(j=0;j<3;j++)
{
for(n=0;n<40;n++)
{
for(i=0;i<16;i++)
{
out1=1%16;
out0=string[i2+j32];
out2=string[12+1+j32];
delay(4);
out0=0xff;
out2=0xff;
}
}
}
}
}
在Proteus 8 Professional里卡bug了
崩溃了
能够完美运行出自己静态下的名字。