Page 38 - 2020학년도 MDP과제발표회 자료집 (통신과) (3)
P. 38
PORTB.2 = 1;
}
}
// 래치클록
PORTB.1 = 0;
PORTB.1 = 1;
delay_us(1);
PORTB.3 = 1;
PORTB.3 = 0;
//======================================
//1 층이 끝나면 층 증가
//======================================
if (current_layer >= 0){ // 층 증가
PORTC = layer[current_layer];
}
current_layer--;
if (current_layer == -1)
current_layer = 7;
TCNT1 = timer;
}
나 헤더파일)
#ifndef _LED_DOT_H_
#define _LED_DOT_H_
extern unsigned char led_mode1[9][8][8][8];
extern unsigned char led_mode2[10][8][8][8];
extern unsigned char led_mode3[8][8][8];
extern unsigned char led_mode4[8][8][8];
#endif
3) 프로그램 주요 소스
가 타이머 카운터)
(1) 사용예제
TIMSK = 0x04; // 타이머 카운터 번 오버플로우/ 1 (Over Flow) 발생시 인터럽트 요청
TCCR1B = 0x05; // 카운트 동작 주파수 1024 분주
TCNT1 = timer; // TCNT1 레지스터 57723 으로 초기화
SREG |= 0x80; // 설정 인터럽트(Interrupt) 허용
interrupt [TIM1_OVF] void timer_int1(void)
{
TCNT1 = timer; // TCNT1 레지스터 57723 으로 초기화
- 37 -