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) {