我正在嘗試做一些微控制器的練習,如果這太顯而易見了,我是一種n00b,所以很抱歉。用PIC16F877A彙編語言中斷
基本上我們有一個PIC16F877A連接按鈕連接到RC4和RC5上的PORTC,配置爲輸入。這個想法是使用RC5來激活中斷,並等待TMR0中斷來激活蜂鳴器(我們現在使用LED)。然後,RC4必須禁用中斷並停止蜂鳴器/ LED(連接在RC0,作爲輸出配置)。
我們製作了我們的程序,它在MPLAB上運行得非常好,但是我們遇到了問題讓它在真實事物上運行。
這是程序:
list p=16f877a
include "p16f877a.inc"
__CONFIG _CP_OFF & _DEBUG_OFF & _WRT_OFF & _CPD_OFF & _LVP_OFF & _BODEN_OFF & _PWRTE_ON & _WDT_OFF & _HS_OSC
DELH EQU 0x2C
DELL EQU 0x2F
DELI EQU 0x2E
ORG 0x00
GOTO MAIN
ORG 0x04
GOTO INTERRUMPE
MAIN BCF STATUS,RP0
BCF STATUS,RP1
CLRF PORTC
CLRF PORTB
BSF STATUS,RP0
MOVWF 0xF0
MOVWF TRISC
MOVWF 0x00
MOVWF TRISB
MOVLW 0x83
MOVWF OPTION_REG
BCF STATUS,RP0
TECLA BTFSS PORTC,5
GOTO TECLA
MOVLW 0xB8
MOVWF INTCON
MOVLW 0x63
MOVWF TMR0
TECLA2 BTFSS PORTC,4
GOTO TECLA2
BCF INTCON,7
BCF PORTC,0
GOTO TECLA
INTERRUMPE BTFSS INTCON,2
GOTO REGRESO
BSF PORTC,0
MOVLW 0xBF
MOVWF TMR0
BCF INTCON,T0IF
REGRESO RETFIE
END
我們有以下最低系統:
除非我們改變了oscilator從4MHz至12MHz的它沒有做任何事情,有了這種12兆赫的振動器很有用,但有點瘋狂。我們也嘗試了20Mhz,但它也不能很好地工作。 我們甚至嘗試了不同的配置詞,但是我們沒有得到任何好的結果。
請幫忙,我有點絕望。