【发布时间】:2016-11-29 13:47:39
【问题描述】:
我正在尝试在 PIC16F887 上创建基本中断代码,但我不确定 LED1 为何不亮(表明它已进入中断状态) 任何帮助表示赞赏
#include <p16F887.inc>
__CONFIG _CONFIG1, _LVP_OFF & _FCMEN_OFF & _IESO_OFF & _BOR_OFF & _CPD_OFF & _CP_OFF & _MCLRE_OFF & _PWRTE_ON & _WDT_OFF & _INTRC_OSC_NOCLKOUT
__CONFIG _CONFIG2, _WRT_OFF & _BOR21V
org 0
goto START
org 4
goto INT
INT:
LOOP: bsf PORTD,1
;call DELAY
;incf PUSH_COUNT,f ;increment PUSH_COUNT
; bcf INTCON,INTF ;clear int flag
goto LOOP
retfie
START:
clrf INTCON ;clear INTCON register
bsf INTCON,INTE ;enable external int on INT pin
bsf INTCON,GIE ;enable global int
bsf STATUS,RP0 ; select Register Bank 1
bcf TRISD,0 ; make IO Pin RD0 an output
movlw 0x01 ;set RB0 as input
movwf TRISB ;move value to TRISB
bcf STATUS,RP0 ; back to Register Bank 0
bsf PORTD,0 ; turn on LED RD0 (DS0)
goto $ ; wait here
end
【问题讨论】:
-
使用 MPLAB 调试器调试您的程序!
标签: assembly interrupt pic microchip