PIC中斷匯編例程
listp=16f876
本文引用地址:http://www.104case.com/article/201611/316245.htm#include
;--------------------------
;定時計數單元
HW_TIMEEQU0X40
;-----------------------------
;定時常數
HW_TIMECT0EQU0XDF;TMR0定時器時間常數,載波信號頻率37.88KHz(13.2us)
HW_TIMECT1EQU0X64;發送信號位間隔,*(1.32ms)
HW_TIMECT3EQU0X31;
;-------------------------------------
ORG0X00
GOTOHW_RECEIVE
;------------------------------------
ORG0X04
GOTOINT
;---------------------------------------
bcfINTCON,GIE
BCFINTCON,T0IF;(T0IF)定時器溢出標志位清零
BCFINTCON,T0IE;關TMR0中斷(T0IE)位清零
BANKSELOPTION_REG
CLRFOPTION_REG
BANKSELHW_TIME
MOVLWHW_TIMECT3
MOVWFHW_TIME
MOVLWHW_TIMECT0
MOVWFTMR0
BANKSELINTCON
BSFINTCON,T0IE
BSFINTCON,GIE
INT;中斷
movwfW_TEMP
movfSTATUS,0
bcfSTATUS,RP0;workinginbank0
movwfSTATUS_TEMP
MOVLWHW_TIMECT0
MOVWFTMR0;重裝定時常數
BCFINTCON,T0IF;清除中斷溢出標志位(T0IF)
;----------------------------------------------------------------------
DECFSZHW_TIME,1;為零,間跳,定時時間到
GOTOHW_LEAVE1
MOVLWHW_TIMECT1;重裝時間常數
MOVWFHW_TIME
BSFHW_Sign,1
HW_LEAVE1
BANKSELSTATUS_TEMP
MOVFSTATUS_TEMP,0
MOVWFSTATUS
MOVFW_TEMP
RETFIE
評論