Page 166 - 2
P. 166

EICRA = 0b10000000;
                EICRB = 0b00001010;
                SREG |= 0x80;
                PORTB = 0x05;
                PORTA.1 = 1;
                while(1){
                    if(rx==5)  stop();
                    else if(rx==1) forward();
                    else if(rx==4) backward();
                    else if(rx==2) rightturn();
                    else if(rx==3) leftturn();
                    else if(rx==0) gun();
                }
            }


            interrupt [EXT_INT4] void external_int4(void){
                shot--;
                PORTB = shot;
                delay_ms(500);
                if(shot == 0)shutdown();
                EIFR = 0XFF;
            }
            interrupt [EXT_INT3] void external_int3(void){
                shot--;
                PORTB = shot;
                delay_ms(500);
                if(shot == 0)shutdown();
                EIFR = 0XFF;
            }




            interrupt [EXT_INT5] void external_int5(void){
                PORTB = 0x00;
                shutdown();
            }


            interrupt [USART0_RXC] void RX_interrupt(void)
            {
                rx = UDR0; //  수신된 데이터가 저장된 UDR0            송수신 데이터 레지스터를 rx           에 대입
            }












                                                         - 166 -
   161   162   163   164   165   166   167   168   169   170   171