![]() |
![]() |
#1 |
Đệ tử 3 túi
Tham gia ngày: Sep 2010
Bài gửi: 55
: |
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();} } }
__________________
heart.touching.2010@gmail.com! |
![]() |
![]() |
|
|