PIC Vietnam

PIC Vietnam (http://www.picvietnam.com/forum/index.php)
-   MPASM (http://www.picvietnam.com/forum/forumdisplay.php?f=34)
-   -   Hàm ngắt báo lỗi (http://www.picvietnam.com/forum/showthread.php?t=6463)

CanhChimMa 04-06-2010 03:19 AM

Hàm ngắt báo lỗi
 
Đoạn vào ngắt và ra ngắt này em copy của anh falleaf dungf cho P16F628A, nhưng luôn báo lỗi =.=. Các anh xem giùm xem cần chỉnh sửa chỗ nào. Mỗi lệnh ấy có ý nghĩa gì vậy ạ?
Trích:


;Doan ma bat buoc de vao ngat
;-------------------------------------------

Interrupt
MOVWF W_SAVE ;W_SAVE(bank unknown!) = W [Báo lỗi]

SWAPF STATUS, W
CLRF STATUS ; force bank 0 for remainder of handler [Báo lỗi]
MOVWF STAT_SV ; STAT_SV = swap_nibbles( STATUS ) [Báo lỗi]
; STATUS = 0
MOVF PCLATH, W ;[Báo lỗi]
MOVWF PCH_SV ; PCH_SV = PCLATH [Báo lỗi]
CLRF PCLATH ; PCLATH = 0
MOVF FSR, W ;[Báo lỗi]
MOVWF FSR_SV ; FSR_SV = FSR [Báo lỗi]
; 10 cycles from interrupt to here!
;-----------------------------------
;Doan chuong trinh ngat
;-----------------------------------

; cac ban se viet chuong trinh ngat o day

;--------------------------------------------------
;Doan ma bat buoc de ket thuc ngat
;--------------------------------------------------

MOVF FSR_SV, W ;[Báo lỗi]
MOVWF FSR ; FSR = FSR_SV
MOVF PCH_SV, W ;[Báo lỗi]
MOVWF PCLATH ; PCLATH = PCH_SV
SWAPF STAT_SV, W ;[Báo lỗi]
MOVWF STATUS ; STATUS = swap_nibbles( STAT_SV ) [Báo lỗi]
SWAPF W_SAVE, F ;[Báo lỗi]
SWAPF W_SAVE, W ; W = swap(swap( W_SAVE )) (no change Z bit)[Báo lỗi]

BSF INTCON, GIE
RETFIE
Thanks rất nhiều.

ductantruong 22-12-2010 10:04 AM

mình viết cũng bị báo lỗi,không biết sao nữa!


Múi giờ GMT. Hiện tại là 11:30 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