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

count  = 0;
                    PORTF = count;

                    while (i  <=  5)
                    {
                    PORTB.1  =  1;                            //파괴됬음을  알리는  소리  생성
                    delay_ms(500);
                    PORTB.1  =  0;
                    delay_ms(500);

                    i++;
                    }
                    stoptank  =  1;
                }
            }


            void  servoMAG()
            {
                if  (flagServo ==  1)
                {
                    DDRC  =  0xFF;                             //  PC 포트  출력
                                                                    //tim0_cnt  =  0;
                                                                    //  타이머/카운터0  오버플로우  횟수  리셋
                                                                    //mot_pos =  0;
                                                                    //  모터 위치  0도
                                                                    //change  =  0;
                                                                    //  각도 변화  주기  리셋
                                                                    //  타이머/카운터  0 인터럽트  주기
                                                                                                //  이론치  (256-238)  x  8분주  x  1/16us  =  9us,  실측치  약  10us

                    TIMSK = 0x01;                            //  TOIE0  =  '1';
                    TCCR0  =  0x02;                           // 일반모드, 프리스케일  =  CK/8
                        TCNT0  =  238;                                          //  타이머/카운터0  레지스터  초기값
                    SREG  |= 0x80;                           // 전역  인터럽트  인에이블  비트  셋.
                    PORTC = 0x00;                           // 모터  High 출력
                }
            }

            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으로 초기화
            }





                                                         -  226  -
   228   229   230   231   232   233   234   235   236   237   238