PIC Vietnam

PIC Vietnam (http://www.picvietnam.com/forum/index.php)
-   Bootloaders - Programmers - Debuggers - Emulators (http://www.picvietnam.com/forum/forumdisplay.php?f=9)
-   -   Không hiểu giao tiếp giữa PIC6F877A và ICD2? (http://www.picvietnam.com/forum/showthread.php?t=5188)

bluexylitol 28-10-2009 11:17 AM

Không hiểu giao tiếp giữa PIC6F877A và ICD2?
 
Hi mọi người,

Mình đang gặp một vấn đề rất lạ. Mình nối PỊ6G877A với ICD2, trên MPLAB IDE chọn mode program (settings là không run after program). Khi mình program xuống PIC6F877A xong, chọn release from Reset thì mạch chạy bình thường, tuy nhiên rút ICD2 ra thì mạch không chạy nữa, hoặc chạy 1 lúc rồi dừng (Mình kiểm tra bằng chương trình đơn giản là nhấp nháy đèn LED)

Mọi người có thể giải thích cho mình hiện tượng này không?

namqn 28-10-2009 11:56 AM

Trích:

Nguyên văn bởi bluexylitol (Post 30646)
Hi mọi người,

Mình đang gặp một vấn đề rất lạ. Mình nối PỊ6G877A với ICD2, trên MPLAB IDE chọn mode program (settings là không run after program). Khi mình program xuống PIC6F877A xong, chọn release from Reset thì mạch chạy bình thường, tuy nhiên rút ICD2 ra thì mạch không chạy nữa, hoặc chạy 1 lúc rồi dừng (Mình kiểm tra bằng chương trình đơn giản là nhấp nháy đèn LED)

Mọi người có thể giải thích cho mình hiện tượng này không?

Sơ đồ nguyên lý của mạch thử nghiệm dùng PIC16F877A ra sao? Bạn đặt cấu hình cho PIC (trong code hoặc trong MPLAB IDE) như thế nào?

Thân,

bluexylitol 28-10-2009 01:57 PM

1 Attachment(s)
Đây là mạch schematic của em, còn configuration thì em viết thế này (em dùng Hi-tech C Compiler). Thạch anh em dùng 11.0592M.

void noted_configure(void)
{
__CONFIG(HS & WDTDIS & LVPDIS & DEBUGEN);
CLRWDT();//Clear Watchdog

}

bluexylitol 28-10-2009 02:24 PM

Liệu có phải mạch ICD2 có vấn đề gì ko ạ, e mới bảo hành cái này về (mất firmware), từ khi về chạy vẫn ngon.

namqn 28-10-2009 02:32 PM

Trích:

Nguyên văn bởi bluexylitol (Post 30650)
Đây là mạch schematic của em, còn configuration thì em viết thế này (em dùng Hi-tech C Compiler). Thạch anh em dùng 11.0592M.

void noted_configure(void)
{
__CONFIG(HS & WDTDIS & LVPDIS & DEBUGEN);
CLRWDT();//Clear Watchdog

}

Bạn đặt DEBUGEN nên chỉ có debugger (ICD 2) mới làm cho PIC chạy chương trình.

Thân,

bluexylitol 28-10-2009 02:55 PM

Trích:

Nguyên văn bởi namqn (Post 30654)
Bạn đặt DEBUGEN nên chỉ có debugger (ICD 2) mới làm cho PIC chạy chương trình.

Thân,

cái này thì em thử rồi, trên board khác vẫn code đó,em rút ICD2 ra thì mạch vẫn hoạt động bình thường. nên em nghĩ không phải do code.

namqn 28-10-2009 03:23 PM

Trích:

Nguyên văn bởi bluexylitol (Post 30655)
cái này thì em thử rồi, trên board khác vẫn code đó,em rút ICD2 ra thì mạch vẫn hoạt động bình thường. nên em nghĩ không phải do code.

Bạn nói vậy nên tôi đã xem thử sơ đồ nguyên lý mạch thử nghiệm của bạn, chân MCLR/Vpp (chân 18) của PIC phải được kéo lên VDD qua một điện trở khoảng 10 k -33 k. Hiện tại bạn đang thả nổi chân MCLR, cho nên chỉ khi dùng debugger thì chân này mới được kéo lên 5 V nhờ debugger để PIC có thể chạy chương trình.

Thân,

bluexylitol 28-10-2009 05:27 PM

Trích:

Nguyên văn bởi namqn (Post 30656)
Bạn nói vậy nên tôi đã xem thử sơ đồ nguyên lý mạch thử nghiệm của bạn, chân MCLR/Vpp (chân 18) của PIC phải được kéo lên VDD qua một điện trở khoảng 10 k -33 k. Hiện tại bạn đang thả nổi chân MCLR, cho nên chỉ khi dùng debugger thì chân này mới được kéo lên 5 V nhờ debugger để PIC có thể chạy chương trình.

Thân,

@namqn: Em đã thử như bác nói và mạch chạy ngon rồi bác ạ, cảm ơn bác nhiều nhé!


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