專注電子技術(shù)學(xué)習(xí)與研究
當(dāng)前位置:單片機(jī)教程網(wǎng) >> MCU設(shè)計(jì)實(shí)例 >> 瀏覽文章

合泰單片機(jī)外部中斷程序

作者:huqin   來(lái)源:本站原創(chuàng)   點(diǎn)擊數(shù):  更新時(shí)間:2014年02月05日   【字體:

;;內(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

關(guān)閉窗口

相關(guān)文章