;;內(nèi)容:按下PA3接的按鍵進(jìn)中斷LED燈左移一位
;LED接法PD口
;源碼下載:http://www.torrancerestoration.com/f/htwzd.rar
;1.開(kāi)中斷
;2.中斷中防抖
include HT66F50.inc
ORG 0000H
JMP A1
ORG 04H ;外部中斷0入口地址
JMP ZD01 ;
ORG 30H ;
A1:
MOV A,00000000B ;
MOV PRM1,A ;設(shè)置外部中斷0的管腳為PA.3
MOV A,00000010B ;
MOV INTEG,A ;設(shè)置外部中斷0為下降沿觸發(fā)
CLR ACERL ;設(shè)置PA口不為AD輸入口
SET PAPU.3 ;設(shè)置PA.3上拉
SET PAC.3 ;設(shè)置PA.3為輸入口
MOV A,08H ;
MOV CP0C,A ;設(shè)置PA3不為比較器輸入口
CLR PDC ;設(shè)置PD口為輸出口
MOV A,01H ;設(shè)置PD口初始狀態(tài)
MOV PD,A ;PD口顯示初始狀態(tài)
CLR INT0F ;清中斷0標(biāo)志
SET INT0E ;使能外部0中斷
SET EMI ;使能總中斷
JMP $
;*************************************************
; 外部中斷0服務(wù)子程序
;*************************************************
ZD01:
RL PD ;左移PD口顯示
SNZ PA.3 ;判斷PA3是否為高電平(去抖)
JMP $-1 ;是低電平則返回判斷
CALL M001 ;延時(shí)防止抖動(dòng)
SNZ PA.3 ;
JMP $-4 ;
CLR INT0F ;清中斷標(biāo)志
RETI ;中斷返回
;**************************************
; 延時(shí)子程序
;**************************************
M001:
MOV A,1
MOV [85H],A
M002:
MOV A,10
MOV [86H],A
M003:
MOV A,250
MOV [87H],A
M004:
SDZ [87H]
JMP M004
SDZ [86H]
JMP M003
SDZ [85H]
JMP M002
RET
END