PIC Vietnam

Go Back   PIC Vietnam > Microchip PIC > Chương trình dịch & các công cụ mô phỏng

Tài trợ cho PIC Vietnam
Trang chủ Đăng Kí Hỏi/Ðáp Thành Viên Lịch Bài Trong Ngày Vi điều khiển

Chương trình dịch & các công cụ mô phỏng Khu vực này chỉ có thành viên diễn đàn mới được vào

Trả lời
 
Ðiều Chỉnh Xếp Bài
Old 13-09-2010, 03:01 PM   #1
hola
Nhập môn đệ tử
 
Tham gia ngày: Mar 2010
Bài gửi: 9
:
Unhappy 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.
hola vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 13-09-2010, 06:22 PM   #2
falleaf
PIC Bang chủ
 
falleaf's Avatar
 
Tham gia ngày: May 2005
Bài gửi: 2,631
:
Send a message via Yahoo to falleaf
Trích:
Nguyên văn bởi hola View Post
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.
falleaf vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 13-09-2010, 08:45 PM   #3
hola
Nhập môn đệ tử
 
Tham gia ngày: Mar 2010
Bài gửi: 9
:
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.
hola vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 13-09-2010, 08:54 PM   #4
lcd_amptech
Đệ tử 2 túi
 
lcd_amptech's Avatar
 
Tham gia ngày: Feb 2008
Bài gửi: 35
:
Ặ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.
__________________
http://my.opera.com/lcdamptech
lcd_amptech vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 14-09-2010, 01:00 PM   #5
hola
Nhập môn đệ tử
 
Tham gia ngày: Mar 2010
Bài gửi: 9
:
Sao ko có ai cho giải pháp vậy nhỉ? Ko lẽ hết cách hả bà kon.
hola vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 15-09-2010, 11:42 AM   #6
lcd_amptech
Đệ tử 2 túi
 
lcd_amptech's Avatar
 
Tham gia ngày: Feb 2008
Bài gửi: 35
:
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.
__________________
http://my.opera.com/lcdamptech
lcd_amptech vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 18-11-2010, 09:06 AM   #7
thienanh0000
Nhập môn đệ tử
 
Tham gia ngày: Oct 2009
Bài gửi: 7
:
Trích:
Nguyên văn bởi hola View Post
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" .
thienanh0000 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Trả lời


Quyền Sử Dụng Ở Diễn Ðàn
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Mở
Smilies đang Mở
[IMG] đang Mở
HTML đang Tắt

Chuyển đến


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


Được sáng lập bởi Đoàn Hiệp
Powered by vBulletin®
Page copy protected against web site content infringement by Copyscape
Copyright © PIC Vietnam