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

void  MAGsensor()
            {
                    unsigned  char  i  =  1;          //경보음  발생을  위한  변수  선언


                 if  (mag  ==  1)
                 {
                            EIMSK  =  0b00000000;      //위에  조건  만족시  모든  인터럽트  차단

                            TIMSK  =  0b00000000;
                       SREG  |=  0x00;

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


            void  servoMAG()
            {
                 if  (flagServo  ==  1)
                 {
                       //unsigned  char i  =  0;
                       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;              //  전역  인터럽트  인에이블  비트  I  셋.

                       PORTC  =  0x00;         //  모터  High  출력



                                                         -  153  -
   155   156   157   158   159   160   161   162   163   164   165