;;内容:按下PA3接的按键进中止LED灯左移一位
;LED接法PD口
;源码下载:http://www.51hei.com/f/htwzd.rar
;1.开中止
;2.中止中防抖
include HT66F50.inc
ORG0000H
JMPA1
ORG04H;外部中止0进口地址
JMPZD01;
ORG30H;
A1:
MOVA,00000000B;
MOVPRM1,A;设置外部中止0的管脚为PA.3
MOVA,00000010B;
MOVINTEG,A;设置外部中止0为下降沿触发
CLRACERL;设置PA口不为AD输进口
SETPAPU.3;设置PA.3上拉
SETPAC.3;设置PA.3为输进口
MOVA,08H;
MOVCP0C,A;设置PA3不为比较器输进口
CLRPDC;设置PD口为输出口
MOVA,01H;设置PD口初始状况
MOVPD,A;PD口显现初始状况
CLRINT0F;清中止0标志
SETINT0E;使能外部0中止
SETEMI;使能总中止
JMP$
;*************************************************
;外部中止0服务子程序
;*************************************************
ZD01:
RLPD;左移PD口显现
SNZPA.3;判别PA3是否为高电平(去抖)
JMP$-1;是低电平则回来判别
CALLM001;延时避免颤动
SNZPA.3;
JMP$-4;
CLRINT0F;清中止标志
RETI;中止回来
;**************************************
;延时子程序
;**************************************
M001:
MOVA,1
MOV[85H],A
M002:
MOVA,10
MOV[86H],A
M003:
MOVA,250
MOV[87H],A
M004:
SDZ[87H]
JMPM004
SDZ[86H]
JMPM003
SDZ[85H]
JMPM002
RET
END