PDA

View Full Version : Không hiểu giao tiếp giữa PIC6F877A và ICD2?


bluexylitol
28-10-2009, 11:17 AM
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
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
Đâ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
Đâ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
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
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
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é!