PDA

View Full Version : Khai báo biến hơn 96byte bank0, cần giúp đỡ!!!


dl988
13-07-2010, 09:49 AM
Em đang làm đồ án, dùng chip 16F877A, cần số lượng biến rất nhiều, nhưng khi khai báo quá 96byte ở bank0, e khai báo ở các bank còn lại thì PIC không chạy. Em có tham khảo trong diễn đàn anh linhnc308 có nói:
"Có 1 điều củ chuối trong CCS là vơi PIC 16F tức dòng 14bit thì CCS nó chỉ dùng RAM trên Bank0 để khai báo, nếu hết nó sẽ báo lỗi mặc dù các bank khác chưa đụng tới.Khắc phục lỗi này bạn có thể xem help dùng #locate để định lại vi trí biến trong RAM
VD
int16 bien_16_bit;
#locate bien_16_bit = 0x110 // Vi tri RAM Bank 2
Xem thêm trong Help của CCS"

Toàn bộ em viết bằng ASM, vậy h em phải làm thế nào, tương ứng với #locate của CCS, thì trong ASM là gì???

dobaduy
13-07-2010, 04:46 PM
khi xài hết 96bytes ở bank0 thì sẽ nhảy sang bank1 xài tiếp, vậy bạn xem lại khi nhảy sang bank1 bạn đã chuyển bank chưa? ví dụ như khi xài hết 96 byte ở bank0 thì BSF STATUS,5 để chuyển sang bank1 xài tiếp. cái này mình chưa thử, chỉ góp ý vậy thôi. chúc bạn thành công.