PORT Change Interrupt PIC 16f877A
单片机源程序如下:
- #define LED_1 PORTd.b0
- #define LED_2 PORTd.b1
- void interrupt()
- {
- if(INTCON.RBIF)
- {
- INTCON.RBIF = 0;
- if(!PORTB.B4)
- {
- LED_1 = 0;
- LED_2 = 1;
- }
- if(!PORTB.B7 )
- {
- LED_1 = 1;
- LED_2 = 0;
- }
- }
- }
- void main(){
- TRISB = 0XF0;
- TRISD = 0X00;
- PORTD = 0X00;
- OPTION_REG.B7=0; // PORTB dahili pull-up aktif
- INTCON.GIE=1; // b黷黱 kesmelere izin ver
- INTCON.RBIE=1; // PORTB de餴m kesmesine izin ver
- INTCON.RBIF=0; // RBIF bayra瘕n?temizle
- LED_1 = 1;
- delay_ms(1000);
- LED_1 = 0;
- while(1)
- {
-
- }
- }
复制代码
所有资料51hei提供下载:
PORTB State Change Interrupt.rar
(40.57 KB, 下载次数: 12)
|