Page 117 - MDP2020-3
P. 117

················································································  명장양성프로젝트  【MDP】  과제발표회  자료집  Ⅲ    |  111


                    PORTA.0  ^=  1;
            }



            void  init_interrupt()
            {
                    //  외부인터럽트  0,  1,  2  사용
                    //  0  :  스위치

                    //  1  :  에코  시작  감지  (상승엣지)
                    //  2  :  에코  끝  감지  (하강엣지)

                    EICRA  =  0b00101110;
                    EIMSK  =  0B00000111;

            }


            void  test_SONIC()
            {
                    //  1.  트리거  펄스  공급(10us)

                    PORTC.1  =  1;
                    delay_us(10);
                    PORTC.1  =  0;

                    //2.  초음파  센서에서  초음파  출력



                    //3.  거리  측정
                    //3-1  상승  엣지  감지  --  인터럽트
                    //3-2  하강  엣지  감지  --  인터럽트
            }



            interrupt  [EXT_INT1]  void  echo_start()  //상승  엣지  감지  --  인터럽트
            {
                    //카운터  시작
                    TIMSK  =  0b00000001;  //tc0  ovf  interrupt  :  enable;

            }


            interrupt  [EXT_INT2]  void  echo_finish()  //하강  엣지  감지  --  인터럽트
            {
                    //카운터  종료

                    TIMSK  =  0b00000000;  //tc0  ovf  interrupt  :  disable;

                    //distance(cm)  =  uS  /  58(SPEC)
                    //printf("raw  :  %d,  distance(cm)  :  %d\r  cm",  dist,  (dist/24));
   112   113   114   115   116   117   118   119   120   121   122