Page 161 - 완) I MDP 프로젝트 작품 보고서(전체과 1학년)1.6
P. 161

}
            }


            interrupt  [EXT_INT0]  void  external_int0(void)
            {
                 PORTG = ~PORTG;
                 count--;                    //count감소

                 BTcount--;

                 PORTF = count;            //FND출력(with 7447)
                 UDR0  =  BTcount;

                    delay_ms(1000);                  //1초  동안은  총의  공격을  받지  않도록  설정
                    EIFR  =  0xff;                        //인터럽트의  플래그를  모두  0으로  초기화
            }


            interrupt  [EXT_INT1]  void  mag_interrupt(void)
            {
                    mag  =  1;                            //자기센서의  변화가  발생시
            }


            interrupt  [USART0_RXC]  void  RX_interrupt(void)
            {
                    rx  =  UDR0;                      //블루투스를  통해  APP에서  수신된  값을  rx에  저장
                 PORTG = ~PORTG;
            }


            interrupt  [TIM0_OVF]  void  timer_int0(void)
            {
                      tim0_cnt++;                //  서보모터의  주기  생성을  위한  변수  증가
                      TCNT0  =  238;              //  타이머/카운터0  초기값  재설정

                   if(tim0_cnt  >= 2000){      //  10us  x 2000  =  20ms 주기  체크
                         tim0_cnt  =  0;
                         PORTC = 0xFF;    //  모터  High  출력
                         change++;

                         //  20ms  x  100  =  2sec  각도  변화  주기  체크
                         if(change ==  100) {
                                mot_pos  =  (mot_pos  +  1) % 3;
                                change  =  0;



                                                         -  154  -
   156   157   158   159   160   161   162   163   164   165   166