Page 427 - MDP2020-3
P. 427

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


                    DDRG  =  0xff;
                    //BUZ

                    DDRD  =  0xF0;
                    //count  ir  &  인터럽트
                    PORTG  =  0xff;
                    PORTF  =  0x00;
                    PORTE  =  0xff;

                    TIMSK  =  0x05;
                    //  타이머/카운터0번  오버플로우(Over  Flow)  발생시  인터럽트  요청
                    TCCR0  =  0x00;
                    //  카운트  동작  주파수  1024  분주
                    TCCR1B  =  0x00;

                    //  카운트  동작  주파수  1024  분주
                    TCNT0  =  0x00;
                    //  TCNT0  레지스터  0으로  초기화
                    EIMSK  =  0b0001111;
                    //  인터럽트  0  1  2  3  사용

                    EICRA  =  0b10101010;
                    SREG  |=  0x80;  //  설정  인터럽트(Interrupt)  허용
            }
            void  ir  (void){
            //  수광  발광  다이오드와  led의  값을  비교하여  점수를  ++해주는  함수

                    on0  =  PINF.0  ;
                    //  led  0번의  값을  on0에  저장
                    dp0  =  PINE.0  ;
                    //  수광  다이오드와  발광  다이오드의  값을  dp0에  저장,  마주보면  1  떨어지면  0
                    on1  =  PINF.1  ;

                    dp1  =  PINE.1  ;
                    on2  =  PINF.2  ;
                    dp2  =  PINE.2  ;
                    on3  =  PINF.3  ;
                    dp3  =  PINE.3  ;

                    on4  =  PINF.4  ;
                    dp4  =  PINE.4  ;
                    on5  =  PINF.5  ;
                    dp5  =  PINE.5  ;
                    on6  =  PINF.6  ;

                    dp6  =  PINE.6  ;
                    on7  =  PINF.7  ;
                    dp7  =  PINE.7  ;
                    if  (on0  ==  1  &&  dp0  ==  0  &&  flag  ==  1)  {
   422   423   424   425   426   427   428   429   430   431   432