Page 563 - 2
P. 563
PORTC.6 = ~PORTC.6;
} break;
case 'O' : {
min = 1; //RC 카 목숨과 타이머 리셋
sec = 20;
count = 0;
i = 5;
life = seg[i];
} break;
case 'X' : PORTC = 0x00; break; // 정지
case 'L' : PORTC = 0x04; break; // 좌회전
case 'R' : PORTC = 0x01; break; // 우회전
case 'N' : PORTC.4 = 1; break; // 전조등 1 번라인 ON
case 'D' : PORTC.4 = 0; break; //OFF
case 'F' : PORTC.5 = 1; break; // 전조등 2 번라인 ON
case 'E' : PORTC.5 = 0; break; //OFF
}
if(i == 0) // 목숨이 0 이면 RC 카 작동중지
{
PORTC = 0x00;
}
}
}
}
interrupt [TIM0_OVF] void timer0 (void)
{
sec1 = sec%10; sec2 = (sec/10)%10; // 시간
min1 = min%10;
if(!((sec == 0) && ( min == 0))) // 타이머의 분 초가, 0 이 아니면
count++;
else // 타이머의 분 초가, 0 이면 목숨이 0 이되고 표시
{
i = 0;
life = seg[i];
}
if(count == 61) //1 초후
{
flag = 0; // 외부인터럽트 허용
sec = sec - 1; // 타이머 시간 지남
if(sec < 0)
{
if(min != 0)
- 563 -