?? int1_test1.asm
字號:
;***********************************
; 文件:INT1_TEST1.asm
; 開發: www.zlgmcu.com
; 日期: 2004.03.01
; 功能:測試P89LPC932 在完全掉電模式下的外部中斷喚醒
; 說明: 此程序用DP-932調試通過.
; 將跳線器J27,J28分別接OCA和BEEP;J3接KEY1
; 通過跳線器選擇高頻晶振6MHz.
;*************************************
#include "reg932.INC"
;變量定義
T_CNT DATA 30H
KEY1 BIT P0.0
LEDCON BIT P2.6
BEEP BIT P2.7
ORG 0000H
AJMP MAIN
ORG 0013H
LJMP INT1_SERV
MAIN:
MOV P0M1,#00H ;P0口設置為準雙向
MOV P0M2,#00H
MOV P1M1,#00H ;P1口設置為準雙向
MOV P1M2,#00H
MOV P2M1,#0C0H ;P2.6,P2.7開漏輸出
MOV P2M2,#0C0H
MOV SP,#60H
SETB IT1 ;INT1 下降沿觸發
SETB EA
MAIN_L1:
CLR EX1 ;關中斷INT1
MOV T_CNT,#00H
MAIN_L2:
JNB KEY1,MAIN_L3 ;等待KEY1按下
ACALL DELAY ;延時0.1S
INC T_CNT
MOV A,T_CNT
CJNE A,#0AH,MAIN_L2
CPL LEDCON ;每隔1秒鐘對LED取反一次
AJMP MAIN_L1
MAIN_L3:
JNB KEY1,$ ;等待KEY1釋放
CLR IE1 ;清除中斷標志,開中斷
SETB EX1
ORL AUXR1,#80H ;置位CLKLP以降低功耗
MOV PCONA,#0EFH ;LPC932 功能部件掉電
MOV PCON,#23H ;LPC932完全掉電
AJMP MAIN_L1
;*************************************
; 名稱:INT1_SERV
; 功能:外部中斷1(INT1)中斷處理,蜂鳴器"Beep"一聲
;*************************************
ORG 0100H
INT1_SERV:
CLR BEEP
ACALL DELAY ;蜂鳴器響0.1S
SETB BEEP
CLR IE1 ;清除中斷標志
RETI
;***************************
; 延時程序
; 延時時間:0.1S
;***************************
DELAY:
MOV R7,#01H
DELAY_L1:
MOV R6,#0C8H
DELAY_L2:
MOV R5,#0FAH
DELAY_L3:
NOP
NOP
NOP
NOP
DJNZ R5,DELAY_L3
DJNZ R6,DELAY_L2
DJNZ R7,DELAY_L1
RET
END
/**************************************/
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -