作者beminaru (老胖子)
看板ASM
标题Re: [问题] kilc C 2.0编译出现错误
时间Thu Sep 3 21:18:54 2009
因为我程式只有几行 为什麽会造成档案过大我就真的有点不解...
请板上大大帮忙协助一下
目前下列程式是可以执行的..但是不知道为什麽
当我想要追加disp[16][5]变成[20][5]的时候就会出现错误讯息
#include <reg51.h>
void delay(int);
char standby[11]={ 0x05, 0xed, 0x0b, 0x49, 0xe1, 0x51,
0x31, 0xcd, 0x01, 0xc1 ,0xff };
char normal_p3[11]={ 0x85, 0xed, 0x4d, 0x4d, 0xa5, 0x17,
0x37, 0xcd, 0x05, 0x05 ,0xff };
char normal_p2[11]={ 0xf8, 0xfe, 0xf9, 0xfa, 0xfe, 0xfa,
0xf8, 0xfe, 0xf8, 0xfe ,0xff };
char disp[16][5] ={ {8,10,10,10,10} ,{10,8,10,10,10} ,{10,10,10,8,10},{10,10,10,10,8},
{0,10,10,10,8} ,{10,0,10,10,8} ,{10,10,10,0,8} ,{5,10,10,0,8},{10,5,10,0,8},
{1,5,10,0,8}, {1,5,10,0,10},{1,5,10,10,0},{1,5,10,10,10},{10,1,10,5,10},
{10,10,10,1,5},{10,10,10,10,1}};
void scanner_standby(int);
void scanner_normal(int);
//==================================================================
main()
{
char g,h;
while(1)
{
P3=0xff; //初始化
P2=0xff;
P1=0xff;
delay(1);
for (g=0; g<16; g++) //stand-by in-out
{
scanner_standby(g);
}
delay(200);
for (h=0; h<16; h++) //normal in-out
{
scanner_normal(h);
}
delay(200);
}
}
void scanner_standby(int x) ////stand-by in-out回圈
{
char i,j, k;
for(i=0; i<20 ; i++)
{
for(k=0; k<5;k++)
{
j= disp[x][k];
P3= standby[j];
P1=~(1<<k);
delay(1);
P3=0xff;
P1=0xff;
delay(1);
//111110 i=0
//111101 i=1
//111011 i=2
//110111 i=3
//101111 i=4
}
}
}
void scanner_normal(int x) ////normal in-out回圈
{
char i,j, k;
for(i=0; i<20 ; i++)
{
for(k=0; k<5;k++)
{
j= disp[x][k];
P3= normal_p3[j];
P2= normal_p2[j];
P1=~(1<<k);
delay(1);
P3=0xff;
P2=0xff;
P1=0xff;
delay(1);
//111110 i=0
//111101 i=1
//111011 i=2
//110111 i=3
//101111 i=4
}
}
}
void delay(int x) /* 延迟函数,延迟约x*1.67ms */
{ int i,j; // 宣告整数i,j
for (i=0;i<x;i++) // 计数x次,延迟x*1.67ms
for (j=1;j<=100;j++); // 计数200次,延迟1.67ms
}
※ 引述《beminaru (老胖子)》之铭言:
: 错误讯息
: address space overflow
: Program:data=130.0 , xdata=0, code =585
: Target not created.
: 请问上面的意思是说我程式档案过大吗??
: 可是我才只有写几行而已
: 该怎麽解决呢
--
静静的等人追的话顶多只能有两三个选择
但是主动出击去追人的话你的选择将会是无限喔~共勉之
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 124.6.3.229