Ðề tài: Timer của 16F887
View Single Post
Old 21-11-2011, 04:05 PM   #1
duc thang
Đệ tử 1 túi
 
Tham gia ngày: Sep 2007
Bài gửi: 11
:
Timer của 16F887

Viết Chương trình chạy Timer0:
goto init
org 0x0004
bcf INTCON, 2
retfie
;=========
init
banksel TRISA
movlw 0x00
movwf OPTION_REG
movlw 0xA0
movwf INTCON
nop
goto $+0x00
END
;=====================
Khi chay Debugger MPLAB SIM hoặc Proteus VSM thì theo dõi TMR0 trong tab Watch thì chạy bình thường.
Nhưng khi chạy Debugger PICkit 2 (chạy có PIC trên mạch), thì TMR0 nhảy loạn xạ, không theo step. bit INTCON, 2 không xóa được ( nó được tự động set khi gán giá trị cho INTCON).
Ngắt vẫn xảy ra, nhưng không theo lúc TMR0 tràn (bit INTCON, 2 lúc nào cũng set).


Chạy thử trên EasyPIC-PRO Dev. KIT kết quà cũng vậy.
Như vậy là do lỗi PIC hay PICkit2.
duc thang vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn