PDA

View Full Version : Sử dụng MPLab


thanhphongltv
07-08-2005, 10:23 AM
Chào các bạn ! Tôi đang học lập trình Pic nhưng tôi chưa biết dùng phần mềm MPLab dể lập trình và mô phỏng cho Pic , các bạn chỉ giùm nhé , tôi mô phỏng nhưng k được , tạo project mới thì bị báo lỗi "no source " . Thanks nhiều nghen !

batbatdieu
09-08-2005, 01:36 AM
Cái này tôi viết cho ICD2 , nhưng trong đó cũng có hướng dẫn về Mplab , nhất là cách tạo 1 project ( bằng hình ảnh) để biên dịch chương trình
http://www.ddcdt.com/icd2.pdf

hio2
28-08-2005, 01:30 PM
Bạn dùng MPLAP mà báo lỗi nosource , khi tạo một Project Wizad , bạn phải add file *.c (dùng HT PIC ) hoặc file *.asm(dùng MPSAM) cùng với file *.lkr (file linker trong thư mục MP Suite , ví dụ bạn dùng P16F877A thì add file 16F877A.lkr )
Khi đó thì Project của bạn mới nhận source , bạn đọc lại trong help phần Make New Project !

FUD84
27-09-2005, 05:16 AM
hichic, em down cái đoạn video hướng dẫn của bọn microchip xuống và làm theo chỉ dẫn của bọn nó, em có con PIC16F628A, nên lúc tạo project em đã chọn add thêm 2 file: F628Atempo.asm va 16F628A.lkr, vậy mà lúc em chạy buil all nó cứ báo có 1 lỗi, các đại ca chỉ bảo dùm với:((

hio2
27-09-2005, 08:47 PM
hichic, em down cái đoạn video hướng dẫn của bọn microchip xuống và làm theo chỉ dẫn của bọn nó, em có con PIC16F628A, nên lúc tạo project em đã chọn add thêm 2 file: F628Atempo.asm va 16F628A.lkr, vậy mà lúc em chạy buil all nó cứ báo có 1 lỗi, các đại ca chỉ bảo dùm với:((

Add 2 file *.lkr và *.asm rồi thì OK , lỗi còn lại bạn kiểm tra lại chương trình *.asm xem sao !!

chuabietgi
26-12-2005, 05:59 PM
To batbatdieu!
Cai link bac dua chac la chet,toi load mai ma ko duoc!Cam phien bac post lai cho ba con !
Thansk!

mafd_47a
26-12-2005, 08:48 PM
Bac xem trong nay cung duoc

http://www.mikroelektronika.co.yu/english/product/books/PICbook/4_01chapter.htm

bigtitan
20-05-2006, 09:45 PM
Sẵn tiện mấy bác nào mạnh về ASM cho em tí về cách debug trong MPASM:khi muốn debug mà cùng ngắt thì phải làm sao ạ.Em viết code nhưng không biết cách debug chương trình ngắt.làm sao để nhảy vào ngắt để coi nó làm gì trong đó..
Mong các bác giúp đỡ.....

namqn
20-05-2006, 11:56 PM
Bạn đã biết cách debug một chương trình bình thường chưa?

Nếu chưa, làm như sau:
- Biên dịch chương trình, đảm bảo không có lỗi
- Vào mênu Debugger, chọn Select Tool, sau đó chọn MPLAB SIM (nếu bạn dùng ICD2 thì chọn MPLAB ICD 2)
- Sau đó bạn có thể nhấn phím F6 để Reset chip, F9 để run, F7 để chạy từng lệnh và đi vào chương trình con, F8 để chạy từng lệnh và bỏ qua chương trình con
- Riêng lệnh Animate (hoạt họa) thì không có phím tương ứng, bạn phải chọn lệnh Animate trong mênu Debugger, hay chọn nó trên toolbar

Với các phím F7 (Step Into) và F8 (Step Over) bạn sẽ thấy con trỏ mô phỏng hình mũi tên màu xanh (cho biết vị trí lệnh sắp được thực thi) di chuyển mỗi khi nhấn phím. Nếu bạn chọn Run hay Animate thì con trỏ mô phỏng sẽ không được cập nhật cho đến khi bạn chọn lệnh Halt (phím F5 hay trong mênu hay trên toolbar).

Chương trình xử lý ngắt là một loại chương trình con đặc biệt, bạn muốn xem chương trình ngắt được chạy thì phải dùng phím F7 (Step Into) để đi vào trong đoạn chương trình xử lý ngắt khi có ngắt xảy ra.

Thân,

chipchipvn
16-10-2006, 06:13 PM
Bác Nam ơi, cho em hỏi tí. Debug là để sửa lỗi mà ( em nghĩ là thế, khong phải bác bỏ quá cho) tại sao lại phải đảm bảo không có lỗi mới Deb ạ. Code của em chaỵ bị báo lỗi hỏai mà em không bít làm sao tìm ra lỗi cả, bác chỉ em với được không, cảm ơn bác.

namqn
16-10-2006, 06:49 PM
Bác Nam ơi, cho em hỏi tí. Debug là để sửa lỗi mà ( em nghĩ là thế, khong phải bác bỏ quá cho) tại sao lại phải đảm bảo không có lỗi mới Deb ạ. Code của em chaỵ bị báo lỗi hỏai mà em không bít làm sao tìm ra lỗi cả, bác chỉ em với được không, cảm ơn bác.
Bạn hiểu nhầm rồi, ý của tôi là đảm bảo không có lỗi cú pháp (biên dịch thành công). Chương trình dịch thành công thì mới có mã máy để debug. Dịch thành công không có nghĩa là chương trình chạy đúng (nó chỉ đúng về mặt ngữ pháp, còn về ngữ nghĩa thì không có trình dịch nào có thể kiểm tra được).

Bạn cứ giải quyết xong vấn đề dịch chương trình đi, sau đó sẽ bàn tiếp đến việc debug.

Thân,

chipchipvn
16-10-2006, 07:26 PM
vâng, cảm ơn bác, em đã hiểu rùi, bên kia em có hỏi lăng nhăng ^^ cảm ơn bác đã trả lời, bi giờ em đã thông rùi

chipchipvn
16-10-2006, 07:40 PM
Hức, bác Nam ơi, em lại phải làm phiền bác rùi!:( MPLAB xong rùi nhưng khi em chuyển qua bên Proteus giả lập lại báo lỗi, bác xem hộ em với, em chả hiểu nó nói gì nữa
[U1] Loading HEX file '..\..\..\..\Documents and Settings\Administrator\My Documents\test-copy.hex'.
FATAL: [U1] Program or EEPROM data has invalid address [1000] for this device

Real Time Simulation failed to start

Real Time Simulation FAILED.

pham_dinh_hung83
16-10-2006, 09:40 PM
bác ơi cho em hỏi in circui debul là gì nhỉ em thấy các bác bàn về nó
em mua con icd2 của bác minh hà về
nạp chương trình ngon mà debul trên mạch là thế nào em ko biết
cảm ơn bác trước nhe

namqn
17-10-2006, 12:32 AM
bác ơi cho em hỏi in circui debul là gì nhỉ em thấy các bác bàn về nó
em mua con icd2 của bác minh hà về
nạp chương trình ngon mà debul trên mạch là thế nào em ko biết
cảm ơn bác trước nhe
In-circuit Debug là gỡ rối trong mạch (sống), nghĩa là bạn chạy chương trình trên chip thật, và bạn gỡ rối chương trình đó (chẳng hạn như xem nội dung của các thanh ghi, cho chạy từng bước, ...) bằng sự trợ giúp của ICD2.

Để dùng với ICD2, phần cứng và chương trình trong chip của bạn phải được chuẩn bị cho tương thích với ICD2 (xem trong tài liệu hướng dẫn online của MPLAB, chọn lệnh Help>Topics ..., sau đó chọn MPLAB ICD 2). Một số chip không có khả năng debug bằng ICD2.

Thân,

chipchipvn
17-10-2006, 06:51 AM
:(, bác Nam xem hộ em cái Proteus mà em hỏi ở trên với! Em cảm ơn bác nhìu
( ghi cái này là do sợ bác không đọc thấy lời thỉnh cầu của em :D)

pham_dinh_hung83
18-10-2006, 02:49 AM
thack bác nam xóa mù nhe
em dùng 4550 có debug sống được ko bác. em dùng icd2 mà

qanhep
10-01-2007, 07:01 AM
Các bác giúp em giải quyết vấn đề này với!
Em tải MPLAB version 751 về cài. Khi cài trên máy khác thì được, nhưng cứ cài trên máy của em thì nó báo lỗi như trong ảnh, không hiểu là lỗi gì. Em đang dùng WinXP SP1. Em cũng thử cài các phiên bản cũ hơn của MPLAB nhưng vẫn có lỗi tương tự.

namqn
10-01-2007, 04:44 PM
thack bác nam xóa mù nhe
em dùng 4550 có debug sống được ko bác. em dùng icd2 mà
Chẳng hiểu sao post này lại bị bỏ sót. Chip PIC18F4550 hỗ trợ debug trong mạch, chỉ cần bạn dùng đúng kịch bản liên kết (linker script) dành cho ICD2 (thường có dạng 18fxxxxi.lkr, với xxxx là số hiệu của chip) khi dịch chương trình và đặt cấu hình cho chip hỗ trợ debug. Còn một vấn đề nữa là board mạch phải được thiết kế tương thích với các bộ gỡ rối (ICD 2 chẳng hạn).

Thân,

namqn
10-01-2007, 04:52 PM
Các bác giúp em giải quyết vấn đề này với!
Em tải MPLAB version 751 về cài. Khi cài trên máy khác thì được, nhưng cứ cài trên máy của em thì nó báo lỗi như trong ảnh, không hiểu là lỗi gì. Em đang dùng WinXP SP1. Em cũng thử cài các phiên bản cũ hơn của MPLAB nhưng vẫn có lỗi tương tự.
Kiểm tra xem máy được cài thành công đang dùng Service Pack nào, nếu nó dùng SP2 thì bạn cài SP2 vào máy của bạn (dù sao bạn cũng nên cài SP2, ngay cả khi không gặp vấn đề này). Nếu không phải trường hợp này thì có lẽ là lỗi khác, và chúng ta phải tìm hiểu thêm.

Thân,

qanhep
11-01-2007, 08:44 AM
Ối giời! Đường đến với công chúa PIC thật là cực nhọc. Nhưng mỗi khi vượt qua một trở ngại thì thấy thật vui và cũng muốn chia sẻ cùng chiến hữu. Sau này, nếu các chiến hữu có gặp lỗi khi cài MPLap thì vào đây nhé: http://consumer.installshield.com/default.asp
Đây là trang mà bọn Microchip giúp đỡ về vấn đề cài đặt MPLAB.
Việc cài đặt MPLap đã làm cho tôi 3 buổi tức như "bò đá". Thế rồi, khi tìm vào thằng Microchip, định viết thư hỏi thăm cái lỗi của nó thì tìm được trang này, làm theo hướng dẫn, thế là OK.

qanhep
11-01-2007, 08:52 AM
Các bác admin xem hộ, sao mà đăng nhập khó quá, nhiều lúc phát nản. Cũng có bài đọc xong, muốn trả lời, nhưng không sao mà vào được.

namqn
11-01-2007, 06:27 PM
Ối giời! Đường đến với công chúa PIC thật là cực nhọc. Nhưng mỗi khi vượt qua một trở ngại thì thấy thật vui và cũng muốn chia sẻ cùng chiến hữu. Sau này, nếu các chiến hữu có gặp lỗi khi cài MPLap thì vào đây nhé: http://consumer.installshield.com/default.asp
Đây là trang mà bọn Microchip giúp đỡ về vấn đề cài đặt MPLAB.
Việc cài đặt MPLap đã làm cho tôi 3 buổi tức như "bò đá". Thế rồi, khi tìm vào thằng Microchip, định viết thư hỏi thăm cái lỗi của nó thì tìm được trang này, làm theo hướng dẫn, thế là OK.
Nếu được thì mong bạn cho biết phần hướng dẫn cụ thể của InstallShield cho lỗi mà bạn đã gặp luôn.

Thân,

qanhep
12-01-2007, 11:20 AM
Nếu được thì mong bạn cho biết phần hướng dẫn cụ thể của InstallShield cho lỗi mà bạn đã gặp luôn.

Thân,

Các bác có thể đọc cụ thể về hướng dẫn giải quyết lỗi với từng số lỗi mà quá trình cài đặt tạo ra trên trang web tôi giới thiệu ở trên.
Trong trường hợp của tôi, lỗi 1603 thì nguyên nhân có thể là do ổ D:\ của tôi còn it dung lượng quá, hơn 1,5G, do cái tính tham lam của tôi, cái gì cũng chất vào đó. Trong quá trình cài đặt, có lẽ nó cần một dung lượng lớn để giải nén, nên với lượng đấy là không đủ(tôi đoán thế). Tôi giải quyết như sau:
- Xoá file temp trong C:\.....(đường dẫn file này có thể tìm bằng RUN gõ cmd, trong dos, gõ set, nó sẽ chỉ ra đường dẫn
- Copy file cài vào ổ C:(vì ổ C: của tôi còn gần 10G) và cài dùng file cài trong ổ C để cài.
Thế là ngon lành.
Hơ hơ, thế mà nó mất của tôi 3 buổi đấy.

omlun
23-04-2007, 12:56 PM
Cái này tôi viết cho ICD2 , nhưng trong đó cũng có hướng dẫn về Mplab , nhất là cách tạo 1 project ( bằng hình ảnh) để biên dịch chương trình
http://www.ddcdt.com/icd2.pdf

link die rùi bác ơi!! vui lòng post lại đi

vnrobot
28-04-2007, 05:22 PM
Trong MPLAB IDE, có các bộ Toolsuite thông dụng
- MPASM Assembler (mpasmwin.exe)
- MPLINK Object Linker (mplink.exe)
- MPLIB Librarian (mplib.exe)
Các pác vui lòng giúp em hiểu rõ những trình trên là gì và chức năng của nó.
Cám ơn.

namqn
28-04-2007, 08:33 PM
Trong MPLAB IDE, có các bộ Toolsuite thông dụng
- MPASM Assembler (mpasmwin.exe)
- MPLINK Object Linker (mplink.exe)
- MPLIB Librarian (mplib.exe)
Các pác vui lòng giúp em hiểu rõ những trình trên là gì và chức năng của nó.
Cám ơn.
MPASM là trình hợp dịch, chuyển mã nguồn hợp ngữ sang mã nhị phân (mã máy) của chip tương ứng, ở dạng các module đối tượng.
MPLINK là trình liên kết dùng để liên kết một hay nhiều module đối tượng (có thể là các module thư viện) thành 1 module nhị phân duy nhất, ánh xạ vào bộ nhớ vật lý của chip.
MPLIB là trình quản lý thư viện dùng để quản lý các module thư viện, các hàm có sẵn của một ngôn ngữ lập trình thường được lưu trong các module thư viện.

Thân,

vnrobot
30-04-2007, 08:43 AM
Debugger là trình hỗ trợ tìm và fix lỗi, mặc dù ta viết chương trình kô có lỗi về mặt cú pháp, nhưng có thể sai lầm về mặt logic trong thực tế.

Sau khi chọn chip, lập trình và "build all" để sử dụng chức năng debugger, ta phải chọn chế độ debug. Ví dụ chọn MPLAB SIM, (tốt nhất là debug trên Mạch MPLAP ICD 2 (if có) vì nó giúp ta thao tác fix lỗi trên Mạch thực)
http://www.microchip.com/stellent/groups/sitecomm_sg/documents/market_communication/~export/en528694~5~en021198~BasicLayout/55094-2.gif

--Menu bar >> Debugger/Select Tool/MPLAB SIM
(lưu í là MPLAB SIM có hỗ trợ mô phỏng cho con PIC of mình, điều này biết được khi chọn PIC -- Menu bar >> Cofigure/Selec Device )
http://egold4vn.googlepages.com/pic_MPLAB_SIM_fig1.jpg

OK, xong phần Thủ tục, giờ xin các pác share tí kinh nghiệm để làm việc với trình Debugger một cách hiệu quà

Cám ơn.

( F9,F5,F6 ? F2 ? F7, F8 ? ... )

vnrobot
30-04-2007, 10:01 AM
OK, để Debug cho 1 đọan chương trình nhỏ nào đó, ta cần set điểm bắt đầu và điểm kết thúc.
http://egold4vn.googlepages.com/pic_Debugger_Set_PC_at_Cusor.jpg

* Set điểm bắt đầu :
Click phải lên dòng mún set điểm bắt đâu >> chọn "Set PC at Cursor" >> kết quả được 1 mũi tên xanh lá duy nhất tại dòng đó.
Lưu í : kô "Set PC at Cursor" được tại Label, chú thích, khai báo biến ... Túm lại, chỉ set được tại các Lệnh Xanh dương, In đậm

* Set điểm điểm kết thúc :
Double Click lên dòng mún kết thúc

* Cho chạy thử :
-- Menu bar >> Debugger/ Animate

* Một Số fím thông dụng :
F9 : Run
F5 : Ngừng
F6 : Processor Reset


* Có thể thiết lập thêm Kênh theo dõi sự thay đổi giá trị trong các Thanh ghi :
-- Menu bar >> View / Watch --> chọn Thanh ghi , định Địa chỉ và Giá trị cho thanh ghi đó



Các pác xem em có sai lầm chỗ nào và cần bổ sung gì kô ?
Nhờ các pác giải thích hộ Step Into (F7), Step Over (F8), Step Out

Cám ơn.

vnrobot
30-04-2007, 10:19 AM
Bạn đã biết cách debug một chương trình bình thường chưa?

... phím F6 để Reset chip, F9 để run, F7 để chạy từng lệnh và đi vào chương trình con, F8 để chạy từng lệnh và bỏ qua chương trình con

- Riêng lệnh Animate (hoạt họa) thì không có phím tương ứng, bạn phải chọn lệnh Animate trong mênu Debugger, hay chọn nó trên toolbar

Với các phím F7 (Step Into) và F8 (Step Over) bạn sẽ thấy con trỏ mô phỏng hình mũi tên màu xanh (cho biết vị trí lệnh sắp được thực thi) di chuyển mỗi khi nhấn phím. Nếu bạn chọn Run hay Animate thì con trỏ mô phỏng sẽ không được cập nhật cho đến khi bạn chọn lệnh Halt (phím F5 hay trong mênu hay trên toolbar).

Chương trình xử lý ngắt là một loại chương trình con đặc biệt, bạn muốn xem chương trình ngắt được chạy thì phải dùng phím F7 (Step Into) để đi vào trong đoạn chương trình xử lý ngắt khi có ngắt xảy ra.



eureka ^__^ ... eureka ^__^ ... eureka ^__^ (Sorry spam, coz my answer too short)
Thanks.

heomoi0780
31-12-2010, 08:51 PM
mình mới bắt đầu làm quen với mplap vậy cho mình hỏi làm cách nào để add 2 file *.lkr và *.asm vậy?

heomoi0780
31-12-2010, 08:55 PM
Add 2 file *.lkr và *.asm rồi thì OK , lỗi còn lại bạn kiểm tra lại chương trình *.asm xem sao !!

cho mình hỏi làm cách nào để add 2 file đó vậy? mình mới bắt đầu làm quen với mplap nên không bít?

heomoi0780
01-01-2011, 09:54 AM
Add 2 file *.lkr và *.asm rồi thì OK , lỗi còn lại bạn kiểm tra lại chương trình *.asm xem sao !!
sao khi add xong 2 file đó rồi sao nữa? mình mới bắt đầu làm quen với nó nên còn gà lắm, mong các bác giúp đở? chân thành cảm ơn!