芯海單片機外部中斷程序
;============================================
; filename: 外部中斷.asm
; chip : csu1181b
; author :
; date : 2012-08-14
;本例代碼從此處可下載http://www.51hei.com/f/adcsde.rar
include csu1181b.inc
;============================================
; program start
;============================================
org 000h
GOTO A1
ORG 04H ;中斷入口地址
GOTO ZD01
ORG 05H
;***************************************************
; 主程序
;***************************************************
A1: MOVLW 0FFH
MOVWF PT3EN ;設(shè)置PT3為輸出口
MOVWF PT3 ;PT3輸出高電平
BCF INTF,E0IF ;清中斷標志
MOVLW 10000001B ;
MOVWF INTE ;開外部中斷及總中斷
GOTO $ ;
;****************************************************
; 中斷處理程序
;****************************************************
ZD01: MOVLW 0
MOVWF INTE ;關(guān)閉中斷
BTFSS INTF,E0IF ;判斷是否為外部中斷
GOTO ZD02
COMF PT3,1 ;將PT3取反并存的PT3中
MOVLW 0
MOVWF PT2EN ;設(shè)置PT2位輸入模式
MOVWF PT2PU ;設(shè)置上拉
BTFSS PT2,0 ;判斷是否松開按鍵
GOTO $-1 ;否則返回直到松開為止
NOP
NOP
NOP
BTFSS PT2,0
GOTO $-1
BCF INTF,E0IF ;清中斷標志
ZD02: MOVLW 10000001B
MOVWF INTE ;開中斷
RETFIE
end
;============================================
評論