PIC Vietnam

Go Back   PIC Vietnam > Microchip PIC > Bootloaders - Programmers - Debuggers - Emulators > Những lỗi nạp và debug 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 lỗi nạp và debug thường gặp Nên chú ý box này trước khi đặt câu hỏi

Trả lời
 
Ðiều Chỉnh Xếp Bài
Old 12-04-2009, 07:07 PM   #1
khangspkt
Đệ tử 1 túi
 
Tham gia ngày: Aug 2006
Bài gửi: 14
:
Nạp chương trình nhưng không hoạt động

Em sử dụng mạch easypic của ThiênMinh.
Pickit 2.50 và mplap dectect và nạp được, winpic800 v3.61 không detect được.

Chương trình đầu tiên nạp lấy file hex từ mikroElektronika, led_blinking=> chạy tốt
file hex lấy như sau (giữa 2 ==== trên và đuwosi)

=======================================
:100000000428FF3FFF3FFF3F031383168601FF30A5
:100010008312860086090B30FC00FF30FB00FF30A6
:10002000FA00FC0B14281B28FB0B17281A28FA0BC4
:100030001728142811283330FB00FF30FA00FB0B7F
:1000400022282528FA0B22281F288830FA00FA0BCC
:100050002728000000000A282C28FF3FFF3FFF3F11
:02400E007A3FF7
:00000001FF
=================================

Disasembly như sau
===========================
ORG 0004

BCF STATUS, 0x6
BSF STATUS, 0x5
CLRF PORTB
MOVLW 0xff
BCF STATUS, 0x5
MOVWF PORTB
COMF PORTB, F
MOVLW 0xb
MOVWF 0x7c
MOVLW 0xff
MOVWF 0x7b
MOVLW 0xff
MOVWF 0x7a
DECFSZ 0x7c, F
GOTO 0x14
GOTO 0x1b
DECFSZ 0x7b, F
GOTO 0x17
GOTO 0x1a
DECFSZ 0x7a, F
GOTO 0x17
GOTO 0x14
GOTO 0x11
MOVLW 0x33
MOVWF 0x7b
MOVLW 0xff
MOVWF 0x7a
DECFSZ 0x7b, F
GOTO 0x22
GOTO 0x25
DECFSZ 0x7a, F
GOTO 0x22
GOTO 0x1f
MOVLW 0x88
MOVWF 0x7a
DECFSZ 0x7a, F
GOTO 0x27
NOP
NOP
GOTO 0xa
GOTO 0x2c
===========================

Chương trình đơn giản e viết => nạp vào không hoạt động.

==========================
processor 16f877a
include <p16f877a.inc>
__CONFIG _CP_OFF & _PWRTE_ON & _WDT_OFF &_HS_OSC

;================================================= ===================
org 0x04

cblock 20h
d1
d2
d3
endc

bsf STATUS, RP0 ;bank 1
movlw b'00000000' ;set PortB all outputs
movwf TRISB
bcf STATUS, RP0 ;select bank 0

Loop
movlw 0xff
movwf PORTB ;on
call delay
movlw 0x00
movwf PORTB ;off
goto Loop ;lap lai

delay ;1999996 cycles
movlw 0x11
movwf d1
movlw 0x5D
movwf d2
movlw 0x05
movwf d3
Delay_0
decfsz d1, f
goto $+2
decfsz d2, f
goto $+2
decfsz d3, f
goto Delay_0

;4 cycles
goto $+1
goto $+1
return
end
====================================

Em chỉ mới tập tành học pic nên chỉ làm vài thí nghiệm đơn giản thôi.
Nhờ anh em chỉ giúp lỗi ở chỗ nào mà chương trình em viết ko hoạt động.

Khi nạp chương trình của em thì led có sáng hơn 1 tí, nhưng ko chớp tắt. Nhưng imporrt file hex trên vào program memory, nạp lại thì chạy tốt, chớp tắt rõ ràng.

Không biết em có phạm lỗi căn bản nào không?
khangspkt vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 12-04-2009, 07:12 PM   #2
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
Sau khi ghi 0x00 ra port B, bạn cũng phải delay thì mới thấy tác dụng của lệnh này, nếu không thì vòng lặp sẽ ghi 0xFF ra port B ngay sau đó, làm cho bạn có "cảm giác" lệnh ghi 0x00 ra port B không có tác dụng.

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 12-04-2009, 07:48 PM   #3
khangspkt
Đệ tử 1 túi
 
Tham gia ngày: Aug 2006
Bài gửi: 14
:
Cảm ơn anh Nam, em khắc phục được rồi.

1. còn nguyên nhân mà winpic800 không nhận có lỗi gì ko anh.
Detect thi báo lỗi hardware no respond

2. còn khi em chuyên trong debuger ở mplap sang pickit2 (thay vì mplap sim) thì báo lỗi này

PK2Error0028: Unable to enter debug mode
PICkit 2 Ready

nếu debug được trong bước này thì có thuận tiện gì ko anh?
khangspkt vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 12-04-2009, 08:27 PM   #4
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 khangspkt View Post
Cảm ơn anh Nam, em khắc phục được rồi.

1. còn nguyên nhân mà winpic800 không nhận có lỗi gì ko anh.
Detect thi báo lỗi hardware no respond

2. còn khi em chuyên trong debuger ở mplap sang pickit2 (thay vì mplap sim) thì báo lỗi này

PK2Error0028: Unable to enter debug mode
PICkit 2 Ready

nếu debug được trong bước này thì có thuận tiện gì ko anh?
Nếu kit của bạn là kit này:
http://www.mcuvietnam.com/web/?frame=products&id=193

thì nó không tương thích với WinPic800.

Câu hỏi thứ hai bạn nên nhờ nhà sản xuất hỗ trợ (vì họ mới biết PICkit 2 tích hợp có thể debug PIC của bạn hay không, và cần thao tác ra sao).

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 06-02-2010, 09:18 AM   #5
dienbk36
Nhập môn đệ tử
 
Tham gia ngày: Jan 2010
Bài gửi: 6
:
bạn ơi,cho minh hỏi 1 chút,mình mới học pic ,mình đang viet chuong trình trên mplab ,chương trình báo lỗi ,nhưng mình không biết mplab có chức năng phát hiện lỗi ở chỗ nào như AVRSTUDIO không bạn nhỉ,nếu có các bạn chỉ dùm mình với,thanks
dienbk36 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


Múi giờ GMT. Hiện tại là 08:09 PM.


Đượ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