Interrupt
Cac anh cho em hoi, khi dung chuong trinh ngat theo mau nhu ben duoi ,thi co can khai bao cac vung ram ben duoi khong
Vi du: co can khai bao nhu the nay khong?
…………….
Org 0x20
W_SAVE
STAT_SV
PCH_SV
FSR_SV
ORG 0X0000
…………………..
;DAY LA CHUONG TRINH NGAT THEO MAU
;================================================= ===========================================
INTERRUPT
;-------------------------------------------
;Doan ma bat buoc de vao ngat
;-------------------------------------------
MOVWF W_SAVE ;W_SAVE(bank unknown!) = W
SWAPF STATUS, W
CLRF STATUS ; force bank 0 for remainder of handler
MOVWF STAT_SV ; STAT_SV = swap_nibbles( STATUS )
; STATUS = 0
MOVF PCLATH, W
MOVWF PCH_SV ; PCH_SV = PCLATH
CLRF PCLATH ; PCLATH = 0
MOVF FSR, W
MOVWF FSR_SV ; FSR_SV = FSR
; 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
MOVWF FSR ; FSR = FSR_SV
MOVF PCH_SV, W
MOVWF PCLATH ; PCLATH = PCH_SV
SWAPF STAT_SV, W
MOVWF STATUS ; STATUS = swap_nibbles( STAT_SV )
SWAPF W_SAVE, F
SWAPF W_SAVE, W ; W = swap(swap( W_SAVE )) (no change Z bit)
BSF INTCON, GIE
RETFIE
;================================================= ==================================================
|