PIC Vietnam

Go Back   PIC Vietnam > Microchip PIC > Cơ bản về vi điều khiển và PIC > Những câu hỏi thường gặp

Tài trợ cho PIC Vietnam
Trang chủ Đăng Kí Hỏi/Ðáp Thành Viên Lịch Bài Trong Ngày Vi điều khiển

Những câu hỏi thường gặp Những lỗi cơ bản thường gặp khi làm việc với PIC hoặc những vấn đề cơ bản nhất thường được hỏi trong những năm qua

Trả lời
 
Ðiều Chỉnh Xếp Bài
Old 15-10-2006, 06:01 PM   #1
chipchipvn
Đệ tử 2 túi
 
Tham gia ngày: Oct 2006
Bài gửi: 43
:
Hỏi về MPLAB

Xin lỗi các anh, em mún hỏi về cách sử dụng MPLAB. Híc, em không biết sao mà em đã copy mã của bác F vào rùi nhưng mừ RUN thì không thấy gì hết cả. Các bác có thể cho em xin tài liệu hướng dẫn MPLAB được không ạ! Cảm ơn.

namqn: Bạn nói rõ hơn là bạn muốn làm gì với MPLAB. Tài liệu của MPLAB thì vào Microchip download bản mới nhất (dùng chức năng tìm tài liệu để tìm các tài liệu sau: DS51281, DS51519).

thay đổi nội dung bởi: namqn, 15-10-2006 lúc 08:38 PM.
chipchipvn vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 15-10-2006, 10:09 PM   #2
falleaf
PIC Bang chủ
 
falleaf's Avatar
 
Tham gia ngày: May 2005
Bài gửi: 2,631
:
Send a message via Yahoo to falleaf
MPLAB không cần dùng Mã gì cả, anh Nam đã nhắn rồi.

Chỉ khi nào các bạn cần nhúng các trình dịch khác vào như C30 hoặc những cái mà nó không cho, thì mới cần phải nhúng vào bẻ khóa.

Chúc vui
falleaf vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 16-10-2006, 12:14 AM   #3
chipchipvn
Đệ tử 2 túi
 
Tham gia ngày: Oct 2006
Bài gửi: 43
:
Ý em là, em có xem bài "học PIC trong một ngày" của bác F, em dùng MPLAB để soạn CODE ( thực ra là em chép từ bài của bác F) sau đó thử Debug trước khi convert thành file hex để đưa vào Proteus làm giả lập! Nhưng mà khi em dùng MPLAB SIM để debug thì chẳng thấy có hiện tượng chi cả , em không hiểu làm sao để biết code mình đúng hay sai đây! Nếu nạp vào Proteus thì chỉ nhận được một thông báo "lạnh lùng" "FATAL: [U1] Program or EEPROM data has invalid address [1000] for this device". Cảm ơn các anh đã giúp đỡ!
chipchipvn vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 16-10-2006, 12:46 AM   #4
falleaf
PIC Bang chủ
 
falleaf's Avatar
 
Tham gia ngày: May 2005
Bài gửi: 2,631
:
Send a message via Yahoo to falleaf
Em dùng đoạn code nào? em gửi lại đoạn code đó lên cho mọi người xem luôn nhé.

Chúc vui
falleaf vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 16-10-2006, 06:09 PM   #5
chipchipvn
Đệ tử 2 túi
 
Tham gia ngày: Oct 2006
Bài gửi: 43
:
Hix, em dùng y chang đoạn CODE của bác F, chỉ thay đổi thành con P16F877A, em đã thêm cả header files và linker files. Nhưng mừ khi Build thì lại báo lỗi sau " Processor superseded by command line. Verify processor symbol." Xin lỗi vì làm phiền các bác nhưng em thiệt chả bít làm sao T_T

;================================================= =======
TITLE "Mach test LED_1"
PROCESSOR P16F877A
INCLUDE <P16F877A.inc>
__CONFIG _CP_OFF & _PWRTE_ON & _WDT_OFF &_HS_OSC

;================================================= ======
ORG 0x0000
GOTO MAIN


ORG 0x0005

MAIN
BANKSEL TRISB ; bank select
CLRF TRISB ; trisb = 00000000
; portb = output
BANKSEL PORTB
BSF PORTB, 0 ; rb0 = 1
; RB0 = 5V
GOTO $ ; dung chuong trinh tai day
; vong lap tai cho^~
; khong bao gio ket thuc
END. ; lenh bat buoc de ket thuc
;================================================= ===============================
chipchipvn vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 16-10-2006, 06:46 PM   #6
namqn
Trưởng lão PIC bang
 
Tham gia ngày: Feb 2006
Nơi Cư Ngụ: Tp. HCM, Việt Nam
Bài gửi: 3,025
:
Send a message via Yahoo to namqn
Trích:
Nguyên văn bởi chipchipvn View Post
Hix, em dùng y chang đoạn CODE của bác F, chỉ thay đổi thành con P16F877A, em đã thêm cả header files và linker files. Nhưng mừ khi Build thì lại báo lỗi sau " Processor superseded by command line. Verify processor symbol." Xin lỗi vì làm phiền các bác nhưng em thiệt chả bít làm sao T_T

;================================================= =======
TITLE "Mach test LED_1"
PROCESSOR P16F877A
INCLUDE <P16F877A.inc>
__CONFIG _CP_OFF & _PWRTE_ON & _WDT_OFF &_HS_OSC

;================================================= ======
ORG 0x0000
GOTO MAIN


ORG 0x0005

MAIN
BANKSEL TRISB ; bank select
CLRF TRISB ; trisb = 00000000
; portb = output
BANKSEL PORTB
BSF PORTB, 0 ; rb0 = 1
; RB0 = 5V
GOTO $ ; dung chuong trinh tai day
; vong lap tai cho^~
; khong bao gio ket thuc
END. ; lenh bat buoc de ket thuc
;================================================= ===============================
Đó không hẳn là lỗi đâu. MPLAB chỉ nhắc cho bạn biết là nó sẽ dùng thông tin về bộ xử lý ở dòng lệnh (được thiết lập bằng lệnh mênu Configure>Select Device) thay vì dùng thông tin mà bạn mô tả trong tập tin nguồn. Bạn có thể kiểm tra bộ xử lý đang được chọn cho MPLAB bằng cách nhìn vào dòng trạng thái của MPLAB, ở vị trí thứ ba từ trái sang.

Nếu bạn chọn bộ xử lý tương thích với bộ xử lý được mô tả trong tập tin nguồn thì chương trình dịch ra sẽ chạy tốt.

Thân,
__________________
Biển học mênh mông, sức người có hạn.

Đang gặp vấn đề cần được giúp đỡ? Hãy dành ra vài phút đọc luồng sau:
http://www.picvietnam.com/forum/showthread.php?t=1263
namqn vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 16-10-2006, 07:19 PM   #7
chipchipvn
Đệ tử 2 túi
 
Tham gia ngày: Oct 2006
Bài gửi: 43
:
^^, cảm ơn bác Nam nhìu, em đã làm được rùi , nhưng bác ơi, cho em hỏi thêm 1 chút nữa! Em nghe bác F bảo là học PIC cần mạch nạp, cht nạp... Em mún hỏi là liệu em có thể không dùng mấy cái đó vội mà dùng Proteus để học được không ạ. Có bất lợi gì không? Em xin cảm ơn bác.
chipchipvn vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 16-10-2006, 09:11 PM   #8
namqn
Trưởng lão PIC bang
 
Tham gia ngày: Feb 2006
Nơi Cư Ngụ: Tp. HCM, Việt Nam
Bài gửi: 3,025
:
Send a message via Yahoo to namqn
Trích:
Nguyên văn bởi chipchipvn View Post
^^, cảm ơn bác Nam nhìu, em đã làm được rùi , nhưng bác ơi, cho em hỏi thêm 1 chút nữa! Em nghe bác F bảo là học PIC cần mạch nạp, cht nạp... Em mún hỏi là liệu em có thể không dùng mấy cái đó vội mà dùng Proteus để học được không ạ. Có bất lợi gì không? Em xin cảm ơn bác.
Học trên mạch thực tế là cách học tốt nhất. Tuy nhiên, nếu bạn chưa có điều kiện thì vẫn có thể học trên các bộ mô phỏng. Các bộ mô phỏng có một điểm mạnh là cho phép bạn theo dõi nội dung các thanh ghi trong bộ xử lý, thực hiện từng lệnh mã máy. Nhưng các bộ mô phỏng cũng có điểm yếu là không có khả năng mô phỏng một số hiện tượng trong thực tế.

Thân,
__________________
Biển học mênh mông, sức người có hạn.

Đang gặp vấn đề cần được giúp đỡ? Hãy dành ra vài phút đọc luồng sau:
http://www.picvietnam.com/forum/showthread.php?t=1263
namqn vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 17-10-2006, 03:58 PM   #9
chipchipvn
Đệ tử 2 túi
 
Tham gia ngày: Oct 2006
Bài gửi: 43
:
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. Sau khi em nap file hex vào rồi chạy thử nó báo lỗi sau
[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.

hức, bài này em đã post ở chỗ khác nhưng hình như bác không thấy. Em xin lỗi nhưng em bí quá làm liều bác ạ.
chipchipvn vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 17-10-2006, 06:33 PM   #10
namqn
Trưởng lão PIC bang
 
Tham gia ngày: Feb 2006
Nơi Cư Ngụ: Tp. HCM, Việt Nam
Bài gửi: 3,025
:
Send a message via Yahoo to namqn
Trích:
Nguyên văn bởi chipchipvn View Post
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. Sau khi em nap file hex vào rồi chạy thử nó báo lỗi sau
[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.

hức, bài này em đã post ở chỗ khác nhưng hình như bác không thấy. Em xin lỗi nhưng em bí quá làm liều bác ạ.
Ok, đã đọc post đó của bạn nhưng bận quá nên chưa trả lời.

Bạn kiểm tra lại xem mã .hex được dịch ra có nằm lọt vào không gian địa chỉ bộ nhớ Flash của chip hay không. Dùng một phần mềm nào đó như WinPic800 để load tập tin .hex vào, và xem mã chương trình nằm ở vùng nhớ nào. Kiểm tra cả bộ nhớ chương trình lẫn EEPROM, chọn đúng chip sẽ được dùng trong Proteus khi mở WinPic800.

Thân,
__________________
Biển học mênh mông, sức người có hạn.

Đang gặp vấn đề cần được giúp đỡ? Hãy dành ra vài phút đọc luồng sau:
http://www.picvietnam.com/forum/showthread.php?t=1263
namqn vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 17-10-2006, 07:35 PM   #11
chipchipvn
Đệ tử 2 túi
 
Tham gia ngày: Oct 2006
Bài gửi: 43
:
Vâng, cảm ơn bác. Em sẽ thử ngay mặc dù chưa bít cái winpic800 là cái gì cả :d
chipchipvn vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 18-10-2006, 07:24 AM   #12
chipchipvn
Đệ tử 2 túi
 
Tham gia ngày: Oct 2006
Bài gửi: 43
:
Hức, bác ơi, em đã kiểm tra lại bộ nhớ như lời bác nói, chỉ từ 0x00 đến 0x13 thui, chắc là nằm trong bộ nhớ Flash rùi. nhưng nó vẫn báo lỗi như thế ( mặc dù có thay đổi chút đỉnh)

Warning: [U1] CFGWORD2 not implemented
FATAL: [U1] Program or EEPROM data has invalid address [2000] for this device

Real Time Simulation failed to start

Real Time Simulation FAILED.

Sau đó em quay qua phần Help để xem hướng dẫn thì nó bảo add file source code (ten_file*.asm) của mình vào, em làm theo thì nó lại bảo kiếm không ra file ten_file*.COD, hức, đúng là không có file COD thật. Làm sao cho MPLAB tạo ra file COD cho mình hả bác. Hức, em xin lỗi nhưng mới tập tọng vào nghề hỏi hơi nhìu, bác thông cảm cho em.
Híc, mấy bữa nay mắc cái Proteus chạy không được nên không biết làm tiếp thế nào Y_Y
chipchipvn vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 18-10-2006, 12:33 PM   #13
spirit
Đệ tử 2 túi
 
Tham gia ngày: Aug 2006
Bài gửi: 42
:
Trích:
Nguyên văn bởi chipchipvn View Post
Hức, bác ơi, em đã kiểm tra lại bộ nhớ như lời bác nói, chỉ từ 0x00 đến 0x13 thui, chắc là nằm trong bộ nhớ Flash rùi. nhưng nó vẫn báo lỗi như thế ( mặc dù có thay đổi chút đỉnh)

Warning: [U1] CFGWORD2 not implemented
FATAL: [U1] Program or EEPROM data has invalid address [2000] for this device

Real Time Simulation failed to start

Real Time Simulation FAILED.

Sau đó em quay qua phần Help để xem hướng dẫn thì nó bảo add file source code (ten_file*.asm) của mình vào, em làm theo thì nó lại bảo kiếm không ra file ten_file*.COD, hức, đúng là không có file COD thật. Làm sao cho MPLAB tạo ra file COD cho mình hả bác. Hức, em xin lỗi nhưng mới tập tọng vào nghề hỏi hơi nhìu, bác thông cảm cho em.
Híc, mấy bữa nay mắc cái Proteus chạy không được nên không biết làm tiếp thế nào Y_Y
Câu Error trên của Proteus là dữ liệu bị sai ở địa chỉ 2000H do đó có thể bạn chọn chip mô phỏng bị sai so với cấu hình bạn chọn con Pic trong chương trình của mình.
Mình đã sử dụng Proteus cũng được 1 tháng rùi nhưng chưa bao giờ thấy hiện tượng như bạn nêu trên.
Bạn nên đưa hình ảnh mô phỏng trên Proteus và Source Code lên đây luôn đi
mình sẽ giúp bạn từng bước (nếu có thể).
Anh Namqn bận lắm do đó mình sẽ trả lời giúp bạn.
spirit vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 18-10-2006, 04:30 PM   #14
chipchipvn
Đệ tử 2 túi
 
Tham gia ngày: Oct 2006
Bài gửi: 43
:
Cảm ơn bạn, đây là CODE của mình nhưng mình chạy với MPLAB SIM không có vấn đề nên mình nghĩ là do không biết xài Proteus thui!

;================================================= ==============
;Chuong trinh dieu khien LED bat tat
;An 1 cai LED sang, an tiep LED tat
;================================================= ==============
Title "LED_2"
Processor p16f88
Include <p16f88.inc>
;================================================= ===============
ORG 0x0000

Goto Main
ORG 0x0005

Main
banksel TRISB
clrf TRISB
movlw 2h
movwf TRISB
Goto Check
Check
Btfsc PORTB,1
Goto Check
Call Switch
Switch
btfss PORTB,0
bsf PORTB,0
bcf PORTB,0
Return
End

Còn đây là file *.DSN dùng trong Proteus của mình, mình không chụp hết được cả cái mạch ^^

http://s19.quicksharing.com/v/6517024/test02.DSN.html

Còn con Chip thì mình dùng 16F88 trong Proteus, mình không biết nó sai ở đâu nữa.
Cảm ơn spirit!

thay đổi nội dung bởi: chipchipvn, 18-10-2006 lúc 04:32 PM.
chipchipvn vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 18-10-2006, 05:28 PM   #15
spirit
Đệ tử 2 túi
 
Tham gia ngày: Aug 2006
Bài gửi: 42
:
Hello chipchipvn,đọc sơ qua mã nguồn bạn viết ở trên thấy rằng nó không tối ưu.Để tối nay mình về sẽ test lại giùm bạn và trả lời bạn trong thời gian sớm nhất.
Mình nghĩ bạn nên học và viết cho Pic 16F877A luôn đi bởi vì chức năng của nó là nhất trong dòng 16F và trên PICVIETNAM có rất nhiều bài ứng dụng cho nó( bạn có thể search ).
Còn học nó như thế nào thì trên diẽn đàn cũng đã nói rất nhiều,bạn chịu khó tìm kiếm nhé.
Khi học Pic thì cố gắng làm trên mạch thật bởi vì Proteus nhiều lúc mô phỏng chạy được nhưng khi đưa trên mạch thật thì bó phép(vì các điều kiện bên ngoài không lý tưởng...).

Về mạch nạp thì bạn có thể mua mạch nạp của PICVIETNAM để ủng hộ(giá rất sinh viên).Về mạch thực hành thì bạn có thể thiết kế cho riêng mình.
Nếu ngại làm thì bạn có thể mua mạch của lớp học PIC ở Hà Nội do anh BINHANH làm.Khoảng 400k thôi nhưng vừa nạp và thục hành luôn.

Chúc bạn có nhiều niềm vui khi hoc Pic.
spirit vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Trả lời


Quyền Sử Dụng Ở Diễn Ðàn
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Mở
Smilies đang Mở
[IMG] đang Mở
HTML đang Tắt

Chuyển đến

Similar Threads
Ðề tài Người gửi Chuyên mục Trả lời Bài mới
Dịch MPLAB nhh Chương trình dịch & các công cụ mô phỏng 73 09-11-2024 11:11 AM
Hướng dẫn sử dụng Stimulus, dùng kết hợp với MPLAB SIM namqn Chương trình dịch & các công cụ mô phỏng 6 25-10-2013 04:11 PM
Sử dụng MPLab thanhphongltv MPASM 32 01-01-2011 09:54 AM
Cần tìm MPLAB C30 v1.32 bản full minhcuong Chương trình dịch & các công cụ mô phỏng 5 16-10-2007 05:43 PM
Hoi ve Mplab Luanquangnam Đóng góp ý kiến 1 12-12-2005 04:21 PM


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


Được sáng lập bởi Đoàn Hiệp
Powered by vBulletin®
Page copy protected against web site content infringement by Copyscape
Copyright © PIC Vietnam