PIC Vietnam

PIC Vietnam (http://www.picvietnam.com/forum/index.php)
-   Các ngôn ngữ lập trình khác (CCS C, HT PIC,...) (http://www.picvietnam.com/forum/forumdisplay.php?f=12)
-   -   help !!! lỗi Out Of ROM (http://www.picvietnam.com/forum/showthread.php?t=30060)

qloi 07-08-2012 01:59 PM

help !!! lỗi Out Of ROM
 
mình viết code cho PIC16f59 thì bị lỗi "out of ROM,the segment or program í tô large Main".mặc dù ROM còn rất nhiều(xóa bớt 1 hàm thì còn tới 78% trong khi hàm này tương đương hàm trên) . Mọi người ai biết cách giải quyết chỉ với?
Code:


#include <16f59.h>
#device *=8
#fuses xt
#use delay(clock=4000000)
#use fast_io(b)
#use fast_io(c)
#use fast_io(d)

int1 dat[20];
int i,j;

#bit L0 = 0x06.0
#bit L1 = 0x06.1
#bit L2 = 0x06.2
#bit L3 = 0x06.3
#bit L4 = 0x06.4
#bit L5 = 0x06.5
#bit L6 = 0x06.6
#bit L7 = 0x06.7

#bit L8 = 0x07.0
#bit L9 = 0x07.1
#bit L10 = 0x07.2
#bit L11 = 0x07.3
#bit L12 = 0x07.4
#bit L13 = 0x07.5
#bit L14 = 0x07.6
#bit L15 = 0x07.7

#bit L16 = 0x08.0
#bit L17 = 0x08.1
#bit L18 = 0x08.2
#bit L19 = 0x08.3

void out_dat(char del)
{
  L0 = dat[0];
  L1 = dat[1];
  L2 = dat[2];
  L3 = dat[3];
  L4 = dat[4];
  L5 = dat[5];
  L6 = dat[6];
  L7 = dat[7];
  L8 = dat[8];
  L9 = dat[9];
  L10 = dat[10];
  L11 = dat[11];
  L12 = dat[12];
  L13 = dat[13];
  L14 = dat[14];
  L15 = dat[15];
  L16 = dat[16];
  L17 = dat[17];
  L18 = dat[18];
  L19 = dat[19];
  delay_ms(del);
}
void spl_bit(int32 data)
{
  for(i=0;i<20;i++)
  {
      dat[i] = data >> i&1;;
  }
}

/////////////////kieu 1///////////////
void l1()
{
  spl_bit(0x00000400);
      out_dat(100);
      spl_bit(0x00000E00);
      out_dat(100);
      spl_bit(0x00001F00);
      out_dat(100);
      spl_bit(0x00003F80);
      out_dat(100);
      spl_bit(0x00007FC0);
      out_dat(100);
      spl_bit(0x0000FFE0);
      out_dat(100);
      spl_bit(0x0001FFF0);
      out_dat(100);
      spl_bit(0x0003FFF8);
      out_dat(100);
      spl_bit(0x0007FFFC);
      out_dat(100);
      spl_bit(0x000FFFFE);
      out_dat(100);;
      spl_bit(0x000FFFFF);
      out_dat(100);
     
      //frame 2
      spl_bit(0x000FFBFF);
      out_dat(100);
      spl_bit(0x000FF1FF);
      out_dat(100);
      spl_bit(0x000FE0FF);
      out_dat(100);
      spl_bit(0x000FC07F);
      out_dat(100);
      spl_bit(0x000F803F);
      out_dat(100);
      spl_bit(0x000F001F);
      out_dat(100);
      spl_bit(0x000E000F);
      out_dat(100);
      spl_bit(0x000C0007);
      out_dat(100);
      spl_bit(0x00080003);
      out_dat(100);
      spl_bit(0x00000001);
      out_dat(100);
      spl_bit(0);
      out_dat(100);
}

////////////////kieu 2////////////////
void l2()
{
      spl_bit(0x00000401);
      out_dat(100);
      spl_bit(0x00080601);
      out_dat(100);
      spl_bit(0x000C0701);
      out_dat(100);
      spl_bit(0x000E0781);
      out_dat(100);
      spl_bit(0x000F07C1);
      out_dat(100);
      spl_bit(0x000F87E1);
      out_dat(100);
      spl_bit(0x000FC7F1);
      out_dat(100);
      spl_bit(0x000FE7F9);
      out_dat(100);
      spl_bit(0x000FF7FD);
      out_dat(100);
      spl_bit(0x000FFFFF);
      out_dat(100);
     
      //frame 2
      spl_bit(0x000FFBFE);
      out_dat(100);
      spl_bit(0x0007F9FE);
      out_dat(100);
      spl_bit(0x0003F8FE);
      out_dat(100);
      spl_bit(0x0001F87E);
      out_dat(100);
      spl_bit(0x0000F83E);
      out_dat(100);
      spl_bit(0x0000781E);
      out_dat(100);
      spl_bit(0x0000380E);
      out_dat(100);
      spl_bit(0x00001806);
      out_dat(100);
      spl_bit(0x00000802);
      out_dat(100);
      spl_bit(0);
      out_dat(100);

}
/////////////kieu 3////////////////
void l3()
{
      spl_bit(0xFFFFFFFF);
      out_dat(100);
      spl_bit(0);
      out_dat(100);
}
////////////////////////////////////
void main()
{
  set_tris_b(0);
  set_tris_c(0);
  set_tris_d(0);
  while(1)
  {
      for(j=0;j<5;j++) {l1();}
      for(j=0;j<5;j++) {l2();}
      for(j=0;j<15;j++) {l3();}
  }
}



Múi giờ GMT. Hiện tại là 05:28 PM.

Tên diễn đàn: vBulletin Version 3.8.11
Được sáng lập bởi Đoàn Hiệp.
Copyright © PIC Vietnam