專注電子技術(shù)學(xué)習(xí)與研究
當(dāng)前位置:單片機(jī)教程網(wǎng) >> MCU設(shè)計(jì)實(shí)例 >> 瀏覽文章

芯海單片機(jī)外部中斷程序

作者:佚名   來源:本站原創(chuàng)   點(diǎn)擊數(shù):  更新時(shí)間:2013年02月22日   【字體:

;============================================
; filename: 外部中斷.asm
; chip    : csu1181b
; author  :
; date    : 2012-08-14
;本例代碼從此處可下載http://www.torrancerestoration.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 ;清中斷標(biāo)志
  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 ;清中斷標(biāo)志
 
ZD02: MOVLW  10000001B
  MOVWF  INTE ;開中斷
  RETFIE
  end
;============================================

關(guān)閉窗口

相關(guān)文章