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;