51單片機(jī)計(jì)數(shù)中斷程序舉例 外部按鈕產(chǎn)生中斷
本程序的功能很簡(jiǎn)單,按一次按鈕1(接在12管腳上的)就引發(fā)一次中斷0,取反一次P1。0,因此理論上按一下燈亮,按一下燈滅,但在實(shí)際做實(shí)驗(yàn)時(shí),可能會(huì)發(fā)覺(jué)有時(shí)不“靈”,按了它沒(méi)反應(yīng),但在大部份時(shí)候是對(duì)的,這是怎么回事呢?答案請(qǐng)?jiān)诒菊炬I盤(pán)應(yīng)用中找,這個(gè)程序本身是沒(méi)有問(wèn)題的。
程序:外部中斷實(shí)驗(yàn)
ORG 0000H
AJMP START
ORG 0003H ;外部中斷地直入口
AJMP INT0
ORG 30H
START: MOV SP,#5FH
MOV P1,#0FFH ;燈全滅
MOV P3,#0FFH ;P3口置高電平
SETB EA
SETB EX0
AJMP $
INT0:
PUSH ACC
PUSH PSW
CPL P1.0
POP PSW
POP ACC
RETI
END