PIC Vietnam

PIC Vietnam (http://www.picvietnam.com/forum/index.php)
-   Tiny Bootloader (http://www.picvietnam.com/forum/forumdisplay.php?f=67)
-   -   Cơ bản về bootloader & tiny bootloader (http://www.picvietnam.com/forum/showthread.php?t=130)

namqn 09-05-2007 02:01 AM

Tôi cũng vẫn bị vậy, dù đã đăng nhập rồi. Tôi dùng Mozilla, khi nhấp vào link đó thì nó mở thêm một tab nữa, và xuất hiện thông báo đó. Tôi đăng nhập thêm một lần nữa từ tab đó, và đã có thể xem được bài viết.

Thân,

bigtitan 17-06-2007 02:32 PM

Có ai có sơ đồ cụ thể ko ạ.Về cả mạch bootloader này ko ạ.Em vẫn chưa hiểu rõ lắm.Theo bác F nói thì chỉ có mạch con MAX232 thui.Còn con PIC mình quăng chỗ nào,,,hình như theo em theo dõi là mạch gồm 2 phần phải ko ạ.Bác nào đã làm rồi giúp em cái nha!!(thứ lỗi tiểu đệ ngu muội)

namqn 17-06-2007 09:04 PM

Trích:

Nguyên văn bởi bigtitan (Post 9394)
Có ai có sơ đồ cụ thể ko ạ.Về cả mạch bootloader này ko ạ.Em vẫn chưa hiểu rõ lắm.Theo bác F nói thì chỉ có mạch con MAX232 thui.Còn con PIC mình quăng chỗ nào,,,hình như theo em theo dõi là mạch gồm 2 phần phải ko ạ.Bác nào đã làm rồi giúp em cái nha!!(thứ lỗi tiểu đệ ngu muội)

Bạn vào trang web http://www.etc.ugal.ro/cchiculita/so...lddownload.htm để download phiên bản mới nhất của Tiny PIC Bootloader. Bạn mở tập tin .zip đó, đến thư mục 'picsource/other', trong đó sẽ có 2 tập tin .pdf vẽ phần cứng cho bootloader, có hiện thực chức năng reset PIC bằng chân 7/8 của cổng COM. (thư mục con 'nnq' trong đó chứa source code của firmware dành cho các PIC18, do tôi viết ra, và gửi cho Claudiu).

Thân,

thongtr 18-07-2007 01:01 AM

ôi mình chẳng hiểu gì cả! câu lênh bên lập trình cho Pic khác hoàn toan bên 89c!!
bạn hãy cho mình những tài liệu về các câu lệnh và sơ đồ tổ chức bộ nhớ cũng như sơ đồ và nhiệm vụ các chân luôn nhé!!
mình mới học mong bạn thông cảm!!

namqn 18-07-2007 02:06 AM

Trích:

Nguyên văn bởi thongtr (Post 10144)
ôi mình chẳng hiểu gì cả! câu lênh bên lập trình cho Pic khác hoàn toan bên 89c!!
bạn hãy cho mình những tài liệu về các câu lệnh và sơ đồ tổ chức bộ nhớ cũng như sơ đồ và nhiệm vụ các chân luôn nhé!!
mình mới học mong bạn thông cảm!!

Đề nghị bạn đọc luồng 'Dành cho người mới học', link nằm ở khung bên trái của trang chính của diễn đàn. Nếu bạn không tìm thấy thì link dưới đây:

http://www.picvietnam.com/forum//showthread.php?t=4

Thân,

anhphuong23 18-07-2007 03:14 PM

Vậy thật ra nạp theo bootloader và nạp theo ICSP có gì khác nhau không ?

Cũng dùng 2 chân RB6-RB7 , cũng có nối chân Reset . Vẫn không cần tháo chip ra , vẫn Detec được chip .

Chắc khác nhau ở chổ là ICSP cần có thêm 1 mạch nạp riêng biệt . Nạp xong lại phải nhớ reset lại PIC .

namqn 18-07-2007 07:01 PM

Trích:

Nguyên văn bởi anhphuong23 (Post 10154)
Vậy thật ra nạp theo bootloader và nạp theo ICSP có gì khác nhau không ?

Cũng dùng 2 chân RB6-RB7 , cũng có nối chân Reset . Vẫn không cần tháo chip ra , vẫn Detec được chip .

Chắc khác nhau ở chổ là ICSP cần có thêm 1 mạch nạp riêng biệt . Nạp xong lại phải nhớ reset lại PIC .

Nạp bằng bootloader và nạp bằng ICSP khác nhau:

- Mọi chip đều hỗ trợ nạp bằng ICSP, trong khi chỉ có 1 số chip có khả năng tự ghi vào flash mới có thể nạp bằng bootloader.
- Nạp bằng bootloader thì cần có 1 firmware nho nhỏ nằm trong chip để giao tiếp với host nhằm lấy các thông tin cần nạp vào chip.
- Nạp bằng ICSP thì nhất định phải dùng các chân dành riêng cho giao tiếp đó (thường là RB6, RB7, MCLR, và có thể là PGM), còn nạp bằng bootloader thì có thể dùng hầu như bất kỳ chân nào, và có thể dùng nhiều giao tiếp khác nhau (RS-232, I2C, hay USB) tùy theo firmware.

Thân,

plain 28-07-2007 08:45 AM

tôi vừa mới ráp thử một bộ tiny bootloader theo bài hướng dẫn của bạn Nguyễn Trung Chính và phát hiện ra một chuyện lạ:
Khi dùng reset bằng đường RST, lẽ ra đường reset này phải xuống thấp rồi trở lên cao, sau đó mới tiến hành check PIC thì nó lại giữ luôn đường này ở mức thấp trong suốt quá trình check PIC, điều này gây ra lỗi không tìm thấy PIC. Chuyển sang reset bằng tay thì hắn chạy tốt. Tôi nghĩ đây chắc chắn là lỗi của chương trình trên máy tính rồi.
Không biết có bạn nào biết cách khắc phục không?

pictai 25-09-2007 10:26 PM

so sanh voi tiny
 
1 Attachment(s)
cai nay cung kha hay so voi tiny

PSman 08-11-2007 12:02 PM

Em làm theo hướng dẫn với 16F877A, sửa asm và biên dịch bằng MPLAB OK, nạp source .hex vào 16F877A cũng OK. Build mạch phần cứng cũng OK, đã kiểm tra lại tất cả. Vậy mà vẫn gặp tình trạng k detect được PIC.

Baud 115200 / 19200 đều không được. Bỏ Reset bằng phần cứng đi dùng Reset tay cũng không đc.

Có bác nào gặp như em không xin chỉ giáo kinh nghiệm với.

À, đoạn code mẫu trong TUT của bác NTC up lên đây, copy vào MPLAB dịch báo lỗi. Xài asm trong zip load về từ TinyBootLd thì OK.

Bác Nam có hex mẫu cho 16F877A đang chạy tốt up lên cho em với, để em chắc chắn rằng k phải do asm -> hex bị sai.

Em dùng thạch anh 20MHz, baud 115200 cho nhanh. Cám ơn bác trước !

namqn 08-11-2007 05:08 PM

1 Attachment(s)
Với thạch anh 20 MHz, không nên dùng baud rate 115200 bps. Tôi đã chọn baud rate tốt nhất có thể có là 38400 bps. Từ cấu hình trong bootloader của tôi:

Code:

        __CONFIG  _HS_OSC & _CP_OFF & _WDT_OFF & _BODEN_ON & _PWRTE_ON & _LVP_OFF & _DEBUG_OFF
Thân,

PSman 09-11-2007 12:03 PM

2 Attachment(s)
Hic, em load của bác Nam về rồi mà vẫn k chạy được. Bác Nam và mọi người check dùm em xem mạch nguyên lí và mạch in có lỗi gì không ? Vd thừa thiếu chân nào, chứ board thì em đã test kĩ, k dính chân nào cả.

namqn 09-11-2007 04:43 PM

Trích:

Nguyên văn bởi PSman (Post 12740)
Hic, em load của bác Nam về rồi mà vẫn k chạy được. Bác Nam và mọi người check dùm em xem mạch nguyên lí và mạch in có lỗi gì không ? Vd thừa thiếu chân nào, chứ board thì em đã test kĩ, k dính chân nào cả.

Trong sơ đồ nguyên lý của bạn, chân 9 của MAX232 không nối vào chân 1 của PIC (tên các net khác nhau). Bạn cũng nên cho biết bạn thiết lập phần mềm trên host PC ra sao (đã có trường hợp thiết lập không tốt trên host PC dẫn đến bootloader không làm việc tốt).

Thân,

PSman 09-11-2007 10:42 PM

1 Attachment(s)
Cám ơn bác Nam đã trả lời sớm. ;)
Em đánh nhầm net thôi, đó là 2 mạch xuất 2 layout khác nhau. Em dùng cáp để nối. Mạch Max232 gắn dính vào COM nhỏ xíu, qua cáp nối vào J18 BootLoader của mạch PIC, nên chân 9 Max vẫn nối chân 1 PIC. Mà em thử gỡ bỏ chân 1 để Reset bằng tay cũng không ăn thua.

Cổng COM 1 này em nạp firmware hex Bootloader cho PIC bằng JDM đã OK, sau đó chuyển PIC sang board test, chuyển cáp COM tương ứng.

Thiết lập Tiny của em đây. SearchDelay em để thử 11 vẫn k xong.
Bác Nam chẩn bệnh tiếp giúp em với.

namqn 09-11-2007 11:03 PM

Trích:

Nguyên văn bởi PSman (Post 12758)
...
Thiết lập Tiny của em đây. SearchDelay em để thử 11 vẫn k xong.
Bác Nam chẩn bệnh tiếp giúp em với.

Bạn thử làm như sau:

- Đặt Timeout(ms) là 100
- Đặt SearchDelay là 10
- Nhấn nút CheckPIC trên host PC, nhanh chóng nhấn nút reset trên mạch thử nghiệm của bạn.

Bạn kiểm tra khả năng làm việc của nút reset trên mạch thử nghiệm một cách độc lập trước nhé (để đảm bảo là bạn có thể reset mạch).

Thân,

PSman 10-11-2007 09:00 AM

1 Attachment(s)
Em đã làm như bác Nam chỉ.
Mạch test em sure là không có vấn đề gì. Nguồn/mass đã nối đủ vào 4 chân. Mạch Reset OK, test nút Reset thì nó chập chân 1 xuống mass. TX, RX thì nối vào TX/RX tương ứng của PIC.

Đo áp cũng như các dây tương ứng từ Max232 xuống board cũng thông tốt.

Vậy mà cũng không xong.

Chắc phải làm mạch Max232 mới, dù thấy nó chẳng có vấn đề gì cả.

Vạn sự khởi đầu nan
Gian nan bắt đầu nản ... ;)

PSman 10-11-2007 02:22 PM

3 Attachment(s)
Bác Nam,
Mạch chạy rồi bác ơi. Gặp phải cái lỗi thật buồn cười. Tất cả là do em và cả bác ... NTC nữa ;) khi làm mạch nguyên lý thì OK, nhưng chọn footprint cho đầu Dsub 9 chân có lẽ em chọn nhầm cổng đực, trong khi PCB muốn làm là cổng cái. 2 cái này chân đối xứng nhau. Làm mạch xong cứ thế cắm DSub vào. Thế là ngược mất. Chân 2/3/5/7 có đúng đâu mà đòi mạch chạy.

Em gỡ đầu COM ra, hàn ngược mặt mạch in. OK rồi bác ạ. Bây giờ thì nạp source 115200@20MHz, SearchDelay 5 lần nó cũng chạy tất.
Và phải bỏ chọn "RTS,DTR ON after open" thì mới nhận PIC được.

Cám ơn bác Nam nhiều.

Đây, mạch in của bác NTC post trong pdf của bác ấy. Em tự chạy layout xong thấy cũng gần giống thế này, so đi so lại yên tâm. Làm xong cắm đầu COM CÁI vào là thua ;)
Bạn nào đang làm gặp vấn đề này chú ý.

vuhoang8x 04-12-2007 08:14 AM

Cần giúp đỡ - Mạch nạp bootloader
 
1 Attachment(s)
Hi,
Minh mới làm quen vớp PIC. Mình vừa ráp xong cái bootloader nhưng sao nó lại không nhận ra PIC. giúp mình xem cái mạch chính xác không. Mình làm giống với mạch của bootloader nhưng bỏ đi phần reset manual không biết có ảnh hưởng gì không. Và phần giao tiếp MAX232 thấy hơi lạ với mạch của F. Chân số 2 , 6 nối với GND còn mạch của F thì chân 2 nối với Vcc và 6 nối GND. Ai giải thích giùm mình chỗ này với.

namqn 04-12-2007 07:43 PM

Trích:

Nguyên văn bởi vuhoang8x (Post 13234)
Hi,
Minh mới làm quen vớp PIC. Mình vừa ráp xong cái bootloader nhưng sao nó lại không nhận ra PIC. giúp mình xem cái mạch chính xác không. Mình làm giống với mạch của bootloader nhưng bỏ đi phần reset manual không biết có ảnh hưởng gì không. Và phần giao tiếp MAX232 thấy hơi lạ với mạch của F. Chân số 2 , 6 nối với GND còn mạch của F thì chân 2 nối với Vcc và 6 nối GND. Ai giải thích giùm mình chỗ này với.

Vì bạn mới làm quen với PIC nên tôi muốn làm rõ điều này: Bạn đã nắm được nguyên tắc làm việc và các yêu cầu đối với bootloader chưa?

Bạn nói làm giống với mạch bootloader, nhưng đó là bootloader của ai mới được (cho biết link đến mạch đó chẳng hạn)? Mạch của F mà bạn nói là mạch nào (cho biết link đến mạch đó chẳng hạn)?

Bạn có thể tham khảo cách dùng Tiny Bootloader, và một mạch reset mềm được Claudiu đề xuất ở đây:

http://www.etc.ugal.ro/cchiculita/so...nybldusage.htm

Thân,

KnowMore 25-12-2007 02:42 AM

Em hỏi câu này có thể hơi củ chuối:
Có trường hợp nào không thể xóa vùng Protected ROM?

Em định làm một mạch nạp để setup bootloader; sau đó chỉ cần cấp phát cho anh em TinyBld để nạp chíp. (Giải pháp kinh tế!?).
Thế nên em quan tâm việc sau khi protect vùng bootloader thì có thể xóa đi khi cần thiết không.
Tiện thể cho em hỏi luôn: tại sao thiên hạ ít dùng transistor thay MAX232 trong giao tiếp COM? Em thấy trong Tinybld vẫn thừa 1 chân ra của PC COM mà! Giá MAX232 là 11k thì phải, đắt cắt cổ!!! Nếu dùng transistor thì có thể lắp trong một số mạch lowcost.
Thanks!

namqn 25-12-2007 08:26 PM

Trích:

Nguyên văn bởi KnowMore (Post 13526)
Em hỏi câu này có thể hơi củ chuối:
Có trường hợp nào không thể xóa vùng Protected ROM?

Em định làm một mạch nạp để setup bootloader; sau đó chỉ cần cấp phát cho anh em TinyBld để nạp chíp. (Giải pháp kinh tế!?).
Thế nên em quan tâm việc sau khi protect vùng bootloader thì có thể xóa đi khi cần thiết không.
Tiện thể cho em hỏi luôn: tại sao thiên hạ ít dùng transistor thay MAX232 trong giao tiếp COM? Em thấy trong Tinybld vẫn thừa 1 chân ra của PC COM mà! Giá MAX232 là 11k thì phải, đắt cắt cổ!!! Nếu dùng transistor thì có thể lắp trong một số mạch lowcost.
Thanks!

Nếu không thể xóa ROM chương trình, hay flash thì chip sẽ trở thành vô dụng sau khi được bật tính năng bảo vệ. Do đó, luôn luôn có khả năng xóa được ROM chương trình, hay flash. Điều quan trọng là bảo vệ tài sản trí tuệ của người dùng. Do đó, chỉ cần bảo vệ theo cách nếu người ta muốn nạp chương trình mới vào chip thì phải xóa sạch nội dung cũ.

Mạch nạp đơn giản đã có nhiều, những người thích dùng bootloader đã có đủ công cụ để dùng. Như tôi đã nói ở trên, bạn có thể xóa bootloader bằng cách xóa chip. Dùng transistor thay các chip giao tiếp vẫn tốt, tuy nhiên bạn sẽ phải tự hiện thực bộ bơm điện tích nếu muốn tuân theo chuẩn RS-232, hoặc chấp nhận mức tín hiệu của bạn không thể cao hơn Vdd của mạch.

Thân,

minhdt10 16-07-2008 05:16 PM

TinyBootloader19
 
1 Attachment(s)
Chào các anh, e mới tập viết cho PIC, e xài 16F877A, TA 20M, e làm theo sơ đồ của anh Nguyễn Trung Chính trong tài liệu REP01.06, e dùng Tinybootloader cải tiến, nhưng khi chạy tiny để nạp chương trinh cho Pic thì thấy báo không tìm thấy chip, e kiểm tra các chân của max232 thì thấy các chân 8,9,13,12 của max232 có tín hiệu, còn chân 11,14 không có tín hiệu gì. Kiểm tra chân dao dộng của Pic thi không thấy có dao động, (cả chân 13 và 14). Trước e có làm với 89xx rồi, giờ mới tập với pic nên còn ngỡ ngàng, mong các anh giúp đỡ ạ.
Em gửi kèm file .asm, các anh có thể kiểm tra giúp e được không ạ, hoặc nếu anh nào có sẵn file hex gửi dùm e thì tốt quá, en định dùng PIC6F877A, thạch anh 20M, giao tiếp 232 tốc độ 38400 (e nghe nói ở tốc này thì tốt nhất)

namqn 17-07-2008 12:10 AM

Trích:

Nguyên văn bởi minhdt10 (Post 17462)
Chào các anh, e mới tập viết cho PIC, e xài 16F877A, TA 20M, e làm theo sơ đồ của anh Nguyễn Trung Chính trong tài liệu REP01.06, e dùng Tinybootloader cải tiến, nhưng khi chạy tiny để nạp chương trinh cho Pic thì thấy báo không tìm thấy chip, e kiểm tra các chân của max232 thì thấy các chân 8,9,13,12 của max232 có tín hiệu, còn chân 11,14 không có tín hiệu gì. Kiểm tra chân dao dộng của Pic thi không thấy có dao động, (cả chân 13 và 14). Trước e có làm với 89xx rồi, giờ mới tập với pic nên còn ngỡ ngàng, mong các anh giúp đỡ ạ.
Em gửi kèm file .asm, các anh có thể kiểm tra giúp e được không ạ, hoặc nếu anh nào có sẵn file hex gửi dùm e thì tốt quá, en định dùng PIC6F877A, thạch anh 20M, giao tiếp 232 tốc độ 38400 (e nghe nói ở tốc này thì tốt nhất)

Ngay trong luồng này, post #52 đã có firmware đúng theo yêu cầu của bạn (20 MHz, 38400 bps). Chú ý post #58 để tránh lặp lại lỗi đó.

Thân,

minhdt10 17-07-2008 10:06 AM

Chào anh namqn.
Em đang loay hoay mãi mà không nạp cho pic16f887a, em làm theo sơ đồ của bác Chinh trong rep01.06, em đã sửa file .asm để npj cho 16f877a, thạch anh 20M, tốc độ 38400, dùng tinybld19 của anh falleaf nhưng không được, em nối chân 7 của máy tính với chân 8 của max232, chân 9 của max232 với chân 1 của pic (chân 1 của pic có trở 10k kéo lên). khi chạy tiny, chọn checkpic thấy chan 1 của pic xuống thấp, em đã thay đổi các giá trị Searchdelay và timeout nhưng vẫn báo lỗi không thấy chip, em phải làm thế nào ạ, mong anh chỉ dẫn ạ. Cám ơn anh nhiều

minhdt10 17-07-2008 10:09 AM

Cám ơn anh đã trả lời sớm ạ, e đã down file đó về, nạp cho pic nhưng vẫn thấy báo lỗi không tìm thấy chip,sơ đồ e kiểm tra lại không có gì sai nhưng vẫn không được

minhdt10 17-07-2008 03:18 PM

Chào anh namqn. An cho e hỏi, nếu nối đủ 2 chân nguồn và 2 chân đất, 2 chân dao động, chân 1 của 16F877a nối trở 10k kéo lên thì soi 2 chân dao động của pic có dao động không ạ? PIC e mua mới tinh ạ. Cám ơn anh ạ

namqn 17-07-2008 07:34 PM

Trích:

Nguyên văn bởi minhdt10 (Post 17479)
Chào anh namqn.
Em đang loay hoay mãi mà không nạp cho pic16f887a, em làm theo sơ đồ của bác Chinh trong rep01.06, em đã sửa file .asm để npj cho 16f877a, thạch anh 20M, tốc độ 38400, dùng tinybld19 của anh falleaf nhưng không được, em nối chân 7 của máy tính với chân 8 của max232, chân 9 của max232 với chân 1 của pic (chân 1 của pic có trở 10k kéo lên). khi chạy tiny, chọn checkpic thấy chan 1 của pic xuống thấp, em đã thay đổi các giá trị Searchdelay và timeout nhưng vẫn báo lỗi không thấy chip, em phải làm thế nào ạ, mong anh chỉ dẫn ạ. Cám ơn anh nhiều

Giá trị search delay mang ý nghĩa thông thường, bạn dùng giá trị quanh quẩn 10 là ổn. Giá trị timeout dễ bị hiểu lầm, ngay cả người dùng PIC có kinh nghiệm vẫn hiểu lầm. Timeout nhất thiết phải nhỏ hơn 1000 ms, giá trị mặc định 300 ms là đủ tốt, nhưng nếu bạn gặp rắc rối trong việc nhận diện chip, thì có thể giảm nó xuống 200 ms hay 100 ms chẳng hạn.

Tôi không có thời gian để diễn dịch sơ đồ mạch được bạn mô tả bằng văn bản (tôi đang viết luận án), do đó bạn nên vẽ sơ đồ mạch mà bạn đang dùng thì tốt hơn.

Trích:

Nguyên văn bởi minhdt10 (Post 17480)
Cám ơn anh đã trả lời sớm ạ, e đã down file đó về, nạp cho pic nhưng vẫn thấy báo lỗi không tìm thấy chip,sơ đồ e kiểm tra lại không có gì sai nhưng vẫn không được

Bạn là người duy nhất cho rằng sơ đồ của bạn không có gì sai. Code của tôi đã được nhiều người kiểm tra (và tôi thường kiểm tra rồi mới post code lên diễn đàn), do đó khả năng lớn hơn là mạch của bạn có vấn đề. Có thể là sơ đồ nguyên lý không có vấn đề, mà mạch thực của bạn có vấn đề.

Trích:

Nguyên văn bởi minhdt10 (Post 17486)
Chào anh namqn. An cho e hỏi, nếu nối đủ 2 chân nguồn và 2 chân đất, 2 chân dao động, chân 1 của 16F877a nối trở 10k kéo lên thì soi 2 chân dao động của pic có dao động không ạ? PIC e mua mới tinh ạ. Cám ơn anh ạ

Việc các chân dao động của PIC có dạng sóng hay không tùy thuộc vào cấu hình của bộ dao động mà bạn đã đặt. Do đó câu hỏi của bạn không có câu trả lời chính xác.

Nếu code của bạn bật bit LVP thì bạn cần phải nối chân RB3/PGM xuống GND qua một điện trở khoảng vài k mới có thể chạy chương trình.

Tôi cũng muốn nói thêm là mã nguồn mà bạn đã post lên không thể đọc được (bị lỗi giải nén, ít ra là tôi không giải nén được).

Thân,

minhdt10 17-07-2008 10:06 PM

P16f877a 20m 38400
 
1 Attachment(s)
Cám ơn anh namqn, mặc dù rất bận nhưng vẫn giành thời gian cho em. Em xin lỗi anh vì file nén em dùng peaZIP nên anh không giải nén được, lần này e nén bằng WINRAR chắc chắn a sẽ giải nén được, e gửi anh sơ đồ em làm, file .asmem sửa, anh xem giúp em xem lỗi chỗ nào.
Mạch thực tế em không làm đầy đủ như trong sơ đồ của anh NCT, phần kết nối max232 e làm giống hệt, phần vi xử lý e mới đấu thạch anh 20M, tụ 33p vào chân 13, 14 của VXL, nguồn +5V vào 2 chân 11, 32, GND vào chân 12 và 31, chân 1 e nối trở 10k lên +5V, e đã thử cả reset bằng chương trình và cả bằng tay, em đã làm 3 mạch để thử, có mạch e chỉ đấu 2nguồn, 2đất, chân 1---10K---+5V, thạch anh 20M, tụ 33p, như trong sơ đồ, e đã kiểm tra rất cẩn thận, soi ôxilô thì không thấy có dao động,
Kiểm tra max232 với mạch khác e dùng 89Cxx thì ok (trước e làm với 89Cxx rồi).
Em cũng đã down file hex cho P16F877A, 20M, 38400 về nhưng chạy tinybld19 vẫn báo lỗi không tìm thấy chip.
Con chip này mới tinh, nhưng liệu em có nên mua con khác về thử không anh nhỉ.
Em cám ơn anh nhiều.
Chúc anh làm đồ án thật tốt(Chắc chắn là như vậy rồi nhỉ).

namqn 17-07-2008 10:28 PM

Trích:

Nguyên văn bởi minhdt10 (Post 17498)
Cám ơn anh namqn, mặc dù rất bận nhưng vẫn giành thời gian cho em. Em xin lỗi anh vì file nén em dùng peaZIP nên anh không giải nén được, lần này e nén bằng WINRAR chắc chắn a sẽ giải nén được, e gửi anh sơ đồ em làm, file .asmem sửa, anh xem giúp em xem lỗi chỗ nào.
Mạch thực tế em không làm đầy đủ như trong sơ đồ của anh NCT, phần kết nối max232 e làm giống hệt, phần vi xử lý e mới đấu thạch anh 20M, tụ 33p vào chân 13, 14 của VXL, nguồn +5V vào 2 chân 11, 32, GND vào chân 12 và 31, chân 1 e nối trở 10k lên +5V, e đã thử cả reset bằng chương trình và cả bằng tay, em đã làm 3 mạch để thử, có mạch e chỉ đấu 2nguồn, 2đất, chân 1---10K---+5V, thạch anh 20M, tụ 33p, như trong sơ đồ, e đã kiểm tra rất cẩn thận, soi ôxilô thì không thấy có dao động,
Kiểm tra max232 với mạch khác e dùng 89Cxx thì ok (trước e làm với 89Cxx rồi).
Em cũng đã down file hex cho P16F877A, 20M, 38400 về nhưng chạy tinybld19 vẫn báo lỗi không tìm thấy chip.
Con chip này mới tinh, nhưng liệu em có nên mua con khác về thử không anh nhỉ.
Em cám ơn anh nhiều.
Chúc anh làm đồ án thật tốt(Chắc chắn là như vậy rồi nhỉ).

Bạn dùng tập tin nguồn của Claudiu thì không cần phải post lại. Không rõ bạn biên dịch có lỗi gì không?

Bạn đã đọc post #58 của luồng này chưa? Đã có bạn dùng sai kiểu đầu nối dẫn đến không kết nối vào cổng COM được, bạn kiểm tra lại xem có rơi vào trường hợp của bạn hay không.

Nếu cấu hình bộ dao động ở chế độ HS, bạn có thể dùng dao động ký (máy hiện sóng) để xem dạng sóng ở chân 14 (không nên dùng probe đo chân 13). Nếu không có dạng sóng dao động thì PIC chưa có xung clock.

PIC hiếm khi bị hỏng khi còn mới, bạn cứ thử lại mạch của bạn. Nếu cần thì bạn cho biết khu vực bạn đang ở, có lẽ ai đó ở gần đó sẽ có thể giúp bạn kiểm tra xem PIC của bạn còn hoạt động được hay không.

Tôi đang viết luận án tiến sĩ, chứ không phải làm đồ án, hay luận văn tốt nghiệp đại học. Viết luận án mất vài tháng là việc bình thường.

Thân,

minhdt10 18-07-2008 03:15 PM

Cám ơn anh Nam, e biên dịch bằng MPASM không thấy có lỗi.
Em đang ở Hà nội, anh có địa chỉ nào bán mạch nạp cho con này không a chỉ cho e với,để em thử xem thế nào, còn bộ tiny này e sẽ tìm hiểu sau ạ

namqn 18-07-2008 08:41 PM

Trích:

Nguyên văn bởi minhdt10 (Post 17506)
Cám ơn anh Nam, e biên dịch bằng MPASM không thấy có lỗi.
Em đang ở Hà nội, anh có địa chỉ nào bán mạch nạp cho con này không a chỉ cho e với,để em thử xem thế nào, còn bộ tiny này e sẽ tìm hiểu sau ạ

Bạn vào box "Quảng cáo và bán sản phẩm" để tìm những mạch nạp có bán ở VN, hoặc post yêu cầu ở box "Tìm mua sản phẩm". Bạn cũng có thể tìm thấy những box tương tự ở www.dientuvietnam.net.

Về những sản phẩm mạch nạp ở VN thì tôi không nắm gì hơn ngoài những quảng cáo trên và các sản phẩm của R&P, vì hiện tại tôi không có mặt ở VN.

Thân,

bean984 31-07-2008 03:21 PM

ai có firmware cho con 16f877a viết bằng ccs c k?cho mình xin với. mình dùng TA 8M, tốc độ 9600. Mình dùng ccs c nên đọc mấy cái firmware viết bằng asem k hiểu gì cả. Mình muốn xin cái firmware viết bằng ccs c để hiểu và có thể tự chỉnh xửa sau này.
THANK'S tất cả mọi người!

namqn 01-08-2008 12:14 AM

Trích:

Nguyên văn bởi bean984 (Post 17881)
ai có firmware cho con 16f877a viết bằng ccs c k?cho mình xin với. mình dùng TA 8M, tốc độ 9600. Mình dùng ccs c nên đọc mấy cái firmware viết bằng asem k hiểu gì cả. Mình muốn xin cái firmware viết bằng ccs c để hiểu và có thể tự chỉnh xửa sau này.
THANK'S tất cả mọi người!

Nếu bạn muốn dùng giao diện trên host PC của Tiny Bootloader, firmware cần phải đảm bảo không vượt quá 100 word. Điều này rất khó đạt được nếu bạn viết bằng CCS C.

Với một số bootloader khác, bạn có thể viết firmware một cách khá tự do, và có nhiều firmware được viết bằng ngôn ngữ cấp cao (chủ yếu là C).

Bạn tự chọn cách tiếp cận cho mình trước đã.

Thân,

bean984 01-08-2008 03:38 PM

cho mình hỏi câu này hơi chuối.
mình có cái mạch tiny bootloader dùng TA 8M. mình muốn nạp môt chương trình cho một mạch ứng dụng khác (không có mạch rs232) chạy TA 11M liệu có được không?mình không rõ khi đưa sang mạch ứng dụng có TA khác có ảnh hưởng gì k?
với cùng một trương trình mình nạp với PG2C thì chạy ngon lành còn khi nạp theo tiny bootloader như cách ở trên thì nó lại không chạy.
thank!

namqn 01-08-2008 07:15 PM

Trích:

Nguyên văn bởi bean984 (Post 17894)
cho mình hỏi câu này hơi chuối.
mình có cái mạch tiny bootloader dùng TA 8M. mình muốn nạp môt chương trình cho một mạch ứng dụng khác (không có mạch rs232) chạy TA 11M liệu có được không?mình không rõ khi đưa sang mạch ứng dụng có TA khác có ảnh hưởng gì k?
với cùng một trương trình mình nạp với PG2C thì chạy ngon lành còn khi nạp theo tiny bootloader như cách ở trên thì nó lại không chạy.
thank!

Code dành cho bootloader và code cho ứng dụng có thể viết tương ứng với các tốc độ clock khác nhau. Do đó về nguyên tắc là bạn có thể dùng một mạch để nạp code cho PIC qua bootloader, sau đó chạy ứng dụng trên một mạch khác.

Bạn có đảm bảo chương trình ứng dụng của bạn không ghi đè lên bootloader hay không? Cấu hình của PIC trong mạch ứng dụng có khác với cấu hình của PIC trong mạch dùng để nạp qua bootloader hay không?

Nếu câu trả lời của bạn là "có" cho ít nhất 1 trong 2 câu hỏi trên thì bạn sẽ gặp vấn đề khi chạy chương trình ứng dụng.

Thân,

thaithienanh 03-08-2008 01:29 AM

Thầy Namq cho em xin file hex của PIC 18f4550 chạy thạch anh 20 MHz và baurate 57600 nhé :), em cảm ơn thầy.

namqn 03-08-2008 03:29 AM

Trích:

Nguyên văn bởi thaithienanh (Post 17914)
Thầy Namq cho em xin file hex của PIC 18f4550 chạy thạch anh 20 MHz và baurate 57600 nhé :), em cảm ơn thầy.

Bạn có ý định dùng module USB hay không? Những từ cấu hình khác cũng nên được mô tả, nếu không tôi sẽ phỏng đoán để đặt cấu hình khi dịch bootloader.

Thân,

thaithienanh 03-08-2008 09:13 AM

Trích:

Nguyên văn bởi namqn (Post 17916)
Bạn có ý định dùng module USB hay không? Những từ cấu hình khác cũng nên được mô tả, nếu không tôi sẽ phỏng đoán để đặt cấu hình khi dịch bootloader.

Thân,

Dạ cái này em nạp theo chuẩn 232 ^^ tại dùng chung kit với 16F877a , còn những cấu hình khác không có gì đặc biệt cả :)

bean984 04-08-2008 10:32 AM

đây là code bootloader của mình
Code:

        radix DEC
        LIST      P=16F877A, F=INHX8M        ; change also: Configure->SelectDevice from Mplab
xtal EQU 8000000                ; you may also want to change: _HS_OSC _XT_OSC
baud EQU 9600                        ; standard TinyBld baud rates: 115200 or 19200

mình lấy bootloader của con 16f873A và sử lại như vậy không biết có vấn đề gì không?
còn đây là code thử pic của mình
Code:

#include "16F877A.h" // PIC16F877A header file
#device 16F877A*=16 ADC=10
#include <defs_16F877A.h>
#include <stdlib.h>
#include <string.h>
#fuses HS, NOWDT,PUT, NOPROTECT, NOLVP, NODEBUG, BROWNOUT // for debug mode
#use delay(clock=8000000) // for 8Mhz crystal
#use fast_io(a)

void main(void)
{
  set_tris_a(0);
 
  while(true)
  {
  porta=255;
  delay_ms(2000);
  porta=85;
  delay_ms(2000);
  porta=170;
  delay_ms(2000);
  }
}

không biết cái boot loader của mình có vấn đề? hay code pic có vấn đề? mà khi nạp bằng tiny bootloader thấy thông báo ok rồi mà chương trình không chạy?.
nếu có thể thì cho mình xin file bootloader với cấu hình như trên(cả file .asm và .hex)
cảm ơn mọi người!

bean984 04-08-2008 10:50 AM

mình đã thử dùng PG2C và ICProg đọc lại con pic thì thấy phần code thử pic lại được ghi vào Eeprom? còn phần mã chương trình chỉ có bootloader?


Múi giờ GMT. Hiện tại là 12:01 AM.

Tên diễn đàn: vBulletin Version 3.8.11
Được sáng lập bởi Đoàn Hiệp.
Copyright © PIC Vietnam