PDA

View Full Version : Help Pickit2:nạp Pic


thaithien
21-03-2009, 12:38 AM
Mình kết nối con Pic6F887 với mạch nạp Pickit2 nhưng khi load bằng Pickit2 Programmar thì nó chỉ nhận được Pickit2 thôi ,không nhận thấy được con pic6F887,nó báo là No Device detcted.Mình đã nối các chân của Pic6F887 với các chân tương ứng của Pickit2.

thaithien
21-03-2009, 01:38 AM
Mình check lại thì gặp lỗi như thế này:

love_ac
21-03-2009, 08:04 AM
Chưa gặp cảnh báo kiểu này bao giờ ,bạn có thể đưa mạch thực của bạn khi kết nối với pickit2 được không

thaithien
21-03-2009, 08:22 AM
À,mình đã làm được rồi,nhưng có lần được lần không.Mạch thực thi của mình giống như cái hình ở trên luôn thêm vào là một con led và một điện trở.

thaithien
21-03-2009, 08:26 AM
Cho mình hỏi vài câu:khi mà mình check vào "On' ô của Vdd Pickit2 thì đầu ra Vdd=5V,Vss=0V.Mình mắc mạch như trên và sử dụng nguồn từ Pickit2 cho mạch luôn nhưng không thấy led sáng.Cũng có thể là do led bị hỏng nhưng nhờ xem dùm cái mạch test của mình mắc vậy đúng chưa?Có mạch test nào đơn giản và dễ làm không?

love_ac
21-03-2009, 03:47 PM
nếu bạn làm đúng những gì bạn nói thì nó là đơn giản nhất rồi.Và nếu bạn chắc bạn viết code đúng thì led bạn không sáng thì lúc nạp bạn chú ý:sau khi write thành công thì kích luôn verify nữa.Sau khi verify xong led sẽ theo ý bạn.(Bạn tự nghĩ tại sao lại phải thế nhé)

thaithien
21-03-2009, 06:21 PM
Verify thành công rồi.Vậy để mình coi lại cái mạch test của mình đã.Mà mình còn câu hỏi ở trên vẫn chưa được trả lời.Bạn trả lời hộ mình:mình sử dụng VDD của pickit2 làm nguồn cung cấp cho đèn led thì được không?

thaithien
21-03-2009, 09:46 PM
trời ơi thử hoài sao không đựoc vậy nè.Có cách nào để kiểm tra con pic đã nạp được hay chưa vậy.MÌnh đã read,verify,write,và đã nhận được thông báo Programming Succesfull nhưng sao chạy mạch thì không được.
Code viết bằng CCS C:

/*
Source code file: OUTNUM.C
Author, date, version: MPB 11-7-07 V1.0
Program function: Outputs an 8-bit code
Simulation circuit: OUTBYTE.DSN

************************************************** *****/

#include "16F887.h" // MCU select

void main() // Main block
{
output_D(255); // Switch on outputs
}


Đầu ra mình nối vào chân D,đầu âm nối vơi VSS.

thaithien
21-03-2009, 09:55 PM
Có khi nào do thiếu thạch anh?

namqn
21-03-2009, 10:02 PM
trời ơi thử hoài sao không đựoc vậy nè.Có cách nào để kiểm tra con pic đã nạp được hay chưa vậy.MÌnh đã read,verify,write,và đã nhận được thông báo Programming Succesfull nhưng sao chạy mạch thì không được.
Code viết bằng CCS C:

/*
Source code file: OUTNUM.C
Author, date, version: MPB 11-7-07 V1.0
Program function: Outputs an 8-bit code
Simulation circuit: OUTBYTE.DSN

************************************************** *****/

#include "16F887.h" // MCU select

void main() // Main block
{
output_D(255); // Switch on outputs
}


Đầu ra mình nối vào chân D,đầu âm nối vơi VSS.
Bạn chưa đặt cấu hình cho PIC. Port D cũng chưa chắc là ngõ ra. Tùy vào cấu hình của chip mà cần xác định thêm trạng thái cho các chân như MCLR, PGM. Để chip làm việc ổn định, các cặp chân VDD và VSS cần phải có một tụ ceramic 100 nF nối giữa chúng, đặt càng gần chip càng tốt.

Nạp chương trình xong mà chip không chạy theo ý đồ, hãy xem luồng sau:
http://www.picvietnam.com/forum/showthread.php?t=3451

Thân,

love_ac
22-03-2009, 09:15 PM
Có khi nào do thiếu thạch anh?
Đây là điều mình thấy hay nhất kể từ khi tham gia diễn đàn picvietnam.Mình bình chọn cho 4****

thaithien
23-03-2009, 12:01 AM
Đây là điều mình thấy hay nhất kể từ khi tham gia diễn đàn picvietnam.Mình bình chọn cho 4****

Bạn trêu mình đó hả?Mình lắp mạch mà không chạy nên mới nghĩ vậy thôi.Chỉ mong được mọi người chỉ dẫn.Thanks

thaithien
23-03-2009, 08:14 PM
Mạch đã chạy rồi nhưng vẫn chưa như ý:trong mô phỏng bằng proteus thì chạy đúng nhưng mạch thật thì chạy không đúng.

#include <p16F887.inc>
__CONFIG _CONFIG1, _LVP_OFF & _FCMEN_OFF & _IESO_OFF & _BOR_OFF & _CPD_OFF & _CP_OFF & _MCLRE_OFF & _PWRTE_ON & _WDT_OFF & _INTRC_OSC_NOCLKOUT
__CONFIG _CONFIG2, _WRT_OFF & _BOR21V

org 0
Start:
bsf STATUS,RP0 ; select Register Bank 1
bcf TRISD,0 ; make IO Pin RD0 an output
bcf STATUS,RP0 ; back to Register Bank 0
bsf PORTD,0 ; turn on LED RD0 (DS0)
goto $ ; wait here
end


Theo như code trên thì led sẽ sáng ở vị trí RDO nhưng khi lắp mạch thật thì không sáng ở RDO mà lại sáng ở RD1,RD2,RD3,RD5.
Khó hiểu quá!!!!!!!!!!!!!!!!!!!!!
Đang tìm hiểu,ai biết chỉ dùm.

namqn
23-03-2009, 08:33 PM
Mạch đã chạy rồi nhưng vẫn chưa như ý:trong mô phỏng bằng proteus thì chạy đúng nhưng mạch thật thì chạy không đúng.

#include <p16F887.inc>
__CONFIG _CONFIG1, _LVP_OFF & _FCMEN_OFF & _IESO_OFF & _BOR_OFF & _CPD_OFF & _CP_OFF & _MCLRE_OFF & _PWRTE_ON & _WDT_OFF & _INTRC_OSC_NOCLKOUT
__CONFIG _CONFIG2, _WRT_OFF & _BOR21V

org 0
Start:
bsf STATUS,RP0 ; select Register Bank 1
bcf TRISD,0 ; make IO Pin RD0 an output
bcf STATUS,RP0 ; back to Register Bank 0
bsf PORTD,0 ; turn on LED RD0 (DS0)
goto $ ; wait here
end


Theo như code trên thì led sẽ sáng ở vị trí RDO nhưng khi lắp mạch thật thì không sáng ở RDO mà lại sáng ở RD1,RD2,RD3,RD5.
Khó hiểu quá!!!!!!!!!!!!!!!!!!!!!
Đang tìm hiểu,ai biết chỉ dùm.
Bạn tham khảo ví dụ 3-5 trong datasheet để chọn bank và thao tác các thanh ghi PORTD và TRISD, và thử bật RD0 bằng cách ghi 0x01 vào thanh ghi PORTD.

Thân,

thaithien
23-03-2009, 09:57 PM
Hic,em tìm được lỗi rồi,hơi ngớ ngẩn chút xíu,Do tiếp xúc breadboard không được tốt lắm,một phần do thuơng con pic mới mua nên không dám mạnh tay với nó,không dám đè chặt.

namqn
23-03-2009, 10:20 PM
Hic,em tìm được lỗi rồi,hơi ngớ ngẩn chút xíu,Do tiếp xúc breadboard không được tốt lắm,một phần do thuơng con pic mới mua nên không dám mạnh tay với nó,không dám đè chặt.
Lỗi thường gặp mà bạn. Bạn không phải là người duy nhất gặp lỗi này đâu.

Thân,

thaithien
24-03-2009, 02:27 AM
Cho hỏi vài câu về bộ dao động của mạch test.Nếu như theo mạch của anh falleaf trong tread "Học Pic trong 1 ngày " mình bỏ bộ dao động thạch anh đi thì thế nào?Trong cái mạch tét đơn giản của mình thì mình đã bỏ đi và không thấy có ảnh hưởng gì cả.