Page 430 - MDP2020-3
P. 430

424
                      |    인천전자마이스터고등학교  ·············································································································

                    PORTD  =  0b01111111;  //  1의  자리  출력
                    PORTC  =  fnd[d%10];  //  D포트(세그먼트)에  값을  넣어서  출력

                    delay_ms(2);
                    if  (temp  ==  100)  //  최고점수를  99로  설정
                            temp  =  99;
                    }
            }

            interrupt  [TIM0_OVF]  void  timer_int0(void)    //  타이머  카운터  사용하여  분주  계산
            {
                    cnt++;
              if(cnt==61){  //  1초씩  다운카운트
                  if  (st  >=  1){  //  5에서  다운카운트

                                    st--;
                            }
                else  if  (st  ==  0){  //  준비시간  5초가  끝났다면
                        i--;
                        TCCR1B  |=  0x05;

              if(i  ==  -1){
                      game  =  0;  //  게임  시작
                      i  =  0;
                      TCCR1B  =  0x00;
                      TCCR0  =  0x00;

                      PORTF  =  0x00;
                      EIMSK  &=  0b11110111;
                    }
                          if(EIMSK  ==  0b00000111)    {  //인터럽트  0  1  2를  사용했다면
                                    switch(mscore)  {

                                          case  1:  if(temp  >  ebest)
                                                  {
                                                      //멜로디  부저를  사용하여  5초동안  멜로디  사용
                                                      ebest  =  temp;
                                                      PORTG  =  0x00;

                                                      delay_ms(5000);
                                                      PORTG  =  0xff;
                                                  }
                                                      break;
                                                    case  2:  if(temp  >  nbest)


                                                      {
                                                                    nbest  =  temp;
                                                                    PORTG  =  0x00;
   425   426   427   428   429   430   431   432   433   434   435