下边是我的部分程序: void init_io(void) { PORTA=0; PORTB=0; PORTC=0; PORTD=0x0; PORTE=0; TRISA=0; CMCON0=0x07; //off compare ANSEL=0x40; //RE1 AS AD INPUT TRISB=0b01000000; TRISC=0; TRISD=0x0; //01110000 TRISE=0;
RBPU=0; WPUB=0x40; IOCB6=1; //RB6电平中断 RBIE=1; PEIE=1; GIE=1; // RBIF=0; } void interrupt isr() { unsigned char i; if((RBIE)&&(RBIF)) { i=PORTB; RBIF=0; sleep_flag=1; } } void main() { unsigned char i; init_io(); RD7=1; sleep_flag=0; while(1) { scankey(); if(key==switchkey)fun_switch(); if(sleep_flag==1) { RD7=0; //背光 RD3=0; //音频板电源 sleep_flag=0; i=RB6; asm("sleep"); init_io(); sleep_flag=0; RD7=1; RD3=1; //音频板电源 } } }
各位帮我看看,问题到底出在哪里? |