TRIS_INITIAL
BANKSEL TRISC ;端口初始化
MOVLW B'11110000' ;RB
MOVWF TRISB
MOVLW B'10000100' ;RC CCP2-PWM CCP1-BUSY
MOVWF TRISC
AD__INITIAL
MOVLW B'00000110'
MOVWF ADCON1 ;关闭ad功能全为普通IO口
BSF PIE1,CCP1IE ;开放CCP1中断
BANKSEL T1CON
MOVLW B'00110000'
MOVWF T1CON
BCF INTCON,PEIE ; 禁止外设中断 '''''''''''
MOVLW 0X05
MOVWF CCP1CON ;启用上升沿扑捉
BSF T1CON,TMR1ON ;开启TMR1
KEYWDT_INITIAL
BANKSEL OPTION_REG
MOVLW 0X0F ;启用弱上拉;上升沿有效
MOVWF OPTION_REG ;1:128 WDT
BANKSEL PORTB
MOVF PORTB,1
BCF INTCON,RBIF ;清RB口中断标志
BSF INTCON,RBIE ;启用RB口中断
INTERRUPT_INITIAL
BSF INTCON,GIE ;开启总中断
只贴出来了一部分,主要是RB,4,5,6,7做键盘,CCP1扑捉,CCP2-pwm。
但在程序中只要 BSF INTCON,PEIE ;开启二级中断响应允许
则 BCF INTCON,RBIE ;RB口中断
则不起作用,根本就不被不过屏蔽RB口的中断响应。按下键盘照样能响应进入RB中断程序。
求解::::?????? |