Page 675 - 완) I MDP 프로젝트 작품 보고서(전체과 1학년)1.6
P. 675
reset(0); //sbuf 변수 값 초기화
lcd_gotoxy(0, 2); //세 번째 줄
sprintf(sbuf, " E:Restart F:EXIT "); //종료할지 다른 게임을 할지 선택지 출력
my_lcd_puts(sbuf); //저장된 sbuf 값을 출력
reset(0); //sbuf 변수 값 초기화
lcd_gotoxy(0, 3); //네 번째 줄
sprintf(sbuf, " Please Key.. E or F"); //종료할 문구를 출력
my_lcd_puts(sbuf); //저장된 sbuf 값을 출력
reset(0); //sbuf 변수 값 초기화
if (num != 2) //두번째 게임일 경우
PORTE = 0xFF; //FND 초기화
present_SW = FALSE;//현재 스위치를 눌렀는지 확인 변수 초기화
key = 0xFF; //스위치를 누른 값을 확인하는 변수 초기화
//스위치를 누른 값이 재시작이나 종료 일 때 까지 계속 입력 받음
while (!present_SW && ((key != 0x0E) && (key != 0x0F)))
{
out = 0xFE; //key matrix 사용
for (i = 0; i<4; i++) //첫 번째 줄부터 검사
{
PORTC = out;//PORT 값에 변수를 넣는다.
matrix = PINC; //입력한 스위치 값을 matrix 에 대입
key = Keymatrix(matrix); //스위치로 입력 받음
out <<= 1; //다음 줄에 스위치가 눌렸는지 검사
out |= 0x01;
}
if (num == 2) //두 번째 게임일 경우
{
for (i = 0; i<3; i++) //마지막에 멈췄었던 스톱워치 값 출력
{
PORTD = 0xEF; //4번째 FND 00.0?
PORTE = fnd_count[num2 % 10]; //FND 값 출력
user_delay_us(500); //50us 지연
PORTD = 0xDF; //3번째 FND 00.?0
PORTE = fnd_count[num2 / 10]; //FND 값 출력
- 668 -