专注电子技术学习与研究
当前位置:单片机教程网 >> MCU设计实例 >> 浏览文章

芯海单片机外部中断程序

作者:佚名   来源:本站原创   点击数:  更新时间:2013年02月22日   【字体:

;============================================
; 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 ;设置PT3为输出口
  MOVWF  PT3  ;PT3输出高电平
 
  BCF   INTF,E0IF ;清中断标志
  MOVLW  10000001B ;
  MOVWF  INTE  ;开外部中断及总中断
 
  GOTO  $   ;
;****************************************************
;   中断处理程序
;**************************************************** 
ZD01: MOVLW  0
  MOVWF  INTE ;关闭中断
  BTFSS  INTF,E0IF ;判断是否为外部中断
  GOTO  ZD02
 
  COMF  PT3,1  ;将PT3取反并存的PT3中
 
  MOVLW  0 
  MOVWF  PT2EN ;设置PT2位输入模式
  MOVWF  PT2PU ;设置上拉
 
  BTFSS  PT2,0 ;判断是否松开按键
  GOTO  $-1  ;否则返回直到松开为止
  NOP
  NOP
  NOP
  BTFSS  PT2,0
  GOTO  $-1
 
  BCF   INTF,E0IF ;清中断标志
 
ZD02: MOVLW  10000001B
  MOVWF  INTE ;开中断
  RETFIE
  end
;============================================

关闭窗口

相关文章