PIC Vietnam

PIC Vietnam (http://www.picvietnam.com/forum/index.php)
-   Chương trình dịch & các công cụ mô phỏng (http://www.picvietnam.com/forum/forumdisplay.php?f=10)
-   -   Giúp tìm PIC tương đương con 16F59 (http://www.picvietnam.com/forum/showthread.php?t=6971)

hola 13-09-2010 03:01 PM

Giúp tìm PIC tương đương con 16F59
 
Xin chào cả nhà PIC.
Tình hình là em mới làm xong 1 mạch ứng dụng sử dụng chú 16F59 vì theo quảng cáo của nhiều người là nó có giá rẻ.
Tuy nhiên, khi mua về và viết chương trình, em khai báo chưa đầy 10 biến kiểu char thì chương trình báo đầy ram.
Em viết bằng CCS. Em cũng xem trong datasheet nó nói có 134 byte ram.
Em thử xoá tất cả các biến và hàm chỉ còn lại duy nhất hàm main (bên trong hàm main ko viết j) mà khi dịch nó báo là 18% ram. Ặc ko biết thằng CCS dịch kiểu j nữa.
Vậy nhờ các bác có biết con nào tương tự với con 16f59 chân PDIP mà có dung lượng ram lớn hơn ko giúp em với.
Chương trình của em viết cho con 16f724 (192 byte) là OK.
Rất mong giúp đỡ của mọi người.

falleaf 13-09-2010 06:22 PM

Trích:

Nguyên văn bởi hola (Post 38557)
Xin chào cả nhà PIC.
Tình hình là em mới làm xong 1 mạch ứng dụng sử dụng chú 16F59 vì theo quảng cáo của nhiều người là nó có giá rẻ.
Tuy nhiên, khi mua về và viết chương trình, em khai báo chưa đầy 10 biến kiểu char thì chương trình báo đầy ram.
Em viết bằng CCS. Em cũng xem trong datasheet nó nói có 134 byte ram.
Em thử xoá tất cả các biến và hàm chỉ còn lại duy nhất hàm main (bên trong hàm main ko viết j) mà khi dịch nó báo là 18% ram. Ặc ko biết thằng CCS dịch kiểu j nữa.
Vậy nhờ các bác có biết con nào tương tự với con 16f59 chân PDIP mà có dung lượng ram lớn hơn ko giúp em với.
Chương trình của em viết cho con 16f724 (192 byte) là OK.
Rất mong giúp đỡ của mọi người.

Có thể dùng bất kỳ con PIC16F nào có 40 chân.

Hiện đang phổ biến nhất là PIC16F887, nhưng tất nhiên mấy con 724 hay 71x sẽ có giá rẻ hơn.

Nói chung dòng nào 40 chân cũng đều tương thích hết.

Chúc vui.

hola 13-09-2010 08:45 PM

Cảm ơn anh F đã trả lời. Tuy nhiên, anh xem lại chân của con này dùm em.
Đa số kiểu chân PDIP của PIC 40 đều giống nhau, nhưng em bị xui xẻo vớ phải chú 16F59 có vị trí chân rất độc, không giống với bất kì con PIC nào như anh nói.
Mà board mạch thì em đặt cho con này rất nhiều rồi. Giờ chẳng biết thế nào cả.
Mong mọi người cho một giải pháp khác.

lcd_amptech 13-09-2010 08:54 PM

Ặc, vừa rồi mình cũng bị hố như bạn. Bo mạch đã sản xuất cả ngàn bo mà chương trình thì không viết được vì CCS báo đầy ram. Bó tay, kiểu này chắc nhờ Microchip đổi vị trí chân của 16F887 về vị trí chân của 16F59 quá.
Mà cũng khó hiểu thằng CCS nó dịch kiểu gì mà tốn dung lượng khiếp. Trong khi, cũng với chương trình đó mà viết cho 89C51 thì vô tư.
Ram của 89C51 =128 byte < Ram 16F59=134 byte.
Thế này thì phải trung thành với 89C51 thôi.

hola 14-09-2010 01:00 PM

Sao ko có ai cho giải pháp vậy nhỉ? Ko lẽ hết cách hả bà kon.

lcd_amptech 15-09-2010 11:42 AM

Vừa rồi có làm một chương trình test thử dung lượng ram giữa con 16F59 và con 16F631 bằng CCS. Với cùng 1 chương trình i chan nhau, dịch cho con 16F59 thì CCS báo Not enough RAM for all variables, nhưng dịch cho con 16F631 thì được và nó báo chỉ tốn 43% RAM.
Trong khi trong datasheet ghi dung lượng ram của 16F631 chỉ có 64byte nhỏ hơn nhiều so với ram của 16F59=134byte.
Thiết nghĩ đây là một vấn đề rất nghiêm trọng, vậy xin mời mọi người cho ý kiến thảo luận nha.

thienanh0000 18-11-2010 09:06 AM

Trích:

Nguyên văn bởi hola (Post 38576)
Sao ko có ai cho giải pháp vậy nhỉ? Ko lẽ hết cách hả bà kon.

Dòng 16F5x giá rẻ quá mà , ai cũng thích . hố hố !
Mình không dùng 16F59 nhưng có dùng qua 16F57 , bạn thử thêm khai báo như sao
#include<16F57.h>
# device *=8
thêm khai báo con trỏ 8bit nhé .
mình test với 16F57 , trong chương trinh ban đầu mình sử dụng chỉ 15 byte , dịch ra CCS báo đã dùng 96%-100% RAM . Sau khi thêm khái báo # device *=8 , dịch ra CCS báo dùng 32% - 33% .Mình nghĩ 15 byte , tổng dung lượng RAM cua 16f57 la 72 byte . Vậy biến của mình chiếm khoảng 21% , mà CCS báo 33% . Có thể một ít RAM CCS chiếm làm biến tạm .
Thử rồi , reply kết quả mình biết nhé . Hy vọng không còn "not enough ram for all variable" .


Múi giờ GMT. Hiện tại là 11:02 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