?? interrupt.asm.bak
字號:
;/**************************************************************************
;* *
;* Copyright (c) 2006 by JINRUN Technology Co., Ltd. *
;* Title : FPPA TM demo board---PIC PARTY
;* Content: AD,LCM Drive,Key input,LED flash,etc.,
;* MCU : PIC16F877A(PIC),PDK80C08(PDK)[FPPA TM]
;* LCD : RT1602C
;* OSC : 8MHz(ext. HT)
;* WDT : OFF
;* Author : Raker.Yang *
;* FPPA TM 簡介:FPPA TM是世界首創(chuàng)的多核心單晶片,所有RAM和ROM卻能夠共享
;* 目前支持8個核心(8路獨立PC,STACK,ACC等)
;* 既然有了獨立多核心,跑多任務(wù)程序也就更簡單了。
;* 更重要的是,它可以非常方便的擴展MCU外圍,如,PWM,IIC,UART等。
;* 如果你對FPPA TM技術(shù)感興趣,歡迎訪問筆者博客 http://gongkong.gkbk.com
;* 或加入作者QQ:595142970, QQ群25644462
;* 同時歡迎各路商家前來進行方案合作!
;*
;* 聲明:本資料僅供個人學(xué)習PIC或FPPA TM軟件設(shè)計參考,任何人都可以轉(zhuǎn)載此資料。
;* 但任何單位或個人都不能將此資料作為商業(yè)用品。本資料可能存在一些缺陷,
;* 如果你將本資料用于產(chǎn)品,所引起的一切后果,均由使用者承擔
;* *
;**************************************************************************/
;
;-------Interrupt program--------------------------
; Input :void
; Output :
; Temp REG :TEMPI1
; Function :10ms interrupt
;--------------------------------------------
INT_G:
PUSH_REG
BANKSEL PIR1 ;bank 0
BTFSC PIR1, TMR1IF
GOTO TIMER1_INT
BTFSC PIR1, RCIF
GOTO RX_INT
GOTO INT_G_RET
TIMER1_INT:
BCF PIR1, TMR1IF
MOVLW 0xFF
MOVWF TIMER_FLAG
;TMR1 RESET
MOVLW TMR1_CSTH
MOVWF TMR1H
MOVF TMR1L, W ;extra 1T
ADDLW TMR1_CSTL ;extra 1T
BTFSC STATUS, C ;
INCF TMR1H
MOVWF TMR1L ;all extra 5T
;TMR1 RESET END
DRV_LED:
BTFSS SYS_STATUS, UART_BUSY
GOTO INT_G_RET
INCF LED_DRV_CNT
MOVF LED_DRV_CNT, W
SUBLW .50
BTFSS STATUS, C
GOTO G_LED_ON
BSF PASS_LED_OUT
LED_DRV_CNT_CHECK:
MOVF LED_DRV_CNT, W
XORLW .100
BTFSC STATUS, Z
CLRF LED_DRV_CNT
GOTO INT_G_RET
G_LED_ON:
BCF PASS_LED_OUT
GOTO LED_DRV_CNT_CHECK
INT_G_RET:
POP_REG
RETFIE
RX_INT:
MOVF RCSTA, W
ANDLW 0x06
XORLW 0x00
BTFSS STATUS, Z
GOTO RX_ERR
;
MOVF RCREG, W
MOVWF TEMPI1
BTFSS ADRI0
GOTO CHECK_ADRI1
BTFSS ADRI1
GOTO SAVE_RX_DATA_2
GOTO SAVE_RX_DATA_3
CHECK_ADRI1:
BTFSS ADRI1
GOTO SAVE_RX_DATA_1
GOTO RX_ADDR_ERR
SAVE_RX_DATA_1:
MOVWF RX_DATA1
GOTO RX_INT_RET
SAVE_RX_DATA_2:
MOVWF RX_DATA2
GOTO RX_INT_RET
SAVE_RX_DATA_3:
MOVWF RX_DATA3
RX_INT_RET:
BSF LCD_DRV_REQ, R_LCD_DRV_REQ
BSF LCD_DRV_REQ, G_LCD_DRV_REQ
GOTO INT_G_RET
RX_ADDR_ERR:
MOVLW 0xFF
MOVWF RX_DATA1
MOVWF RX_DATA2
MOVWF RX_DATA3
BSF LCD_DRV_REQ, R_LCD_DRV_REQ
BSF LCD_DRV_REQ, G_LCD_DRV_REQ
GOTO INT_G_RET
RX_ERR:
MOVF RCREG, W
BCF RCSTA, RCEN
NOP
BSF RCSTA, RCEN
GOTO INT_G_RET
;---------------------------------------------------
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -