AVR 128 IO TimerCount RoboticsLAB AVR 128 IO
AVR 128의 내장 I/O 및 Timer/Count의 이해 Robotics_LAB 발표자 : 유 홍 선
AVR 128의 내장 I/O 기능 I/O 제어 I/O 관련 레지스터 : 각 포트에는 3개의 I/O레지스터(DDRx, PORTx, PINx) 영역 을 가진다. DDRx(Data Direction Register) PORTx(Data Register) 데이터 출력 PINx(Port Input Pins Address) 입출력의 방향을 설정 포트의 입력 SFIOP(Special Function I/O Register) Bit 2 PUD(Pull-up Disable) : 모든 포트의 풀업저항 설정
AVR 128의 Timer/Count 인터럽트의 종류 총 35종의 리셋 및 인터럽트 벡터를 가지고 있다. RESET(1개) Ext. INT(8개) TIMER 0(2개) TIMER 1(5개) TIMER 2(2개) TIMER 3(5개) USART 0(3개) USART 1(3개) ADC(1개) 기타(5개)
AVR 128의 Timer/Count 외부 인터럽트 관련 레지스터 SREG (Status Register) Bit 7. I (Global Interrupt Enable) : 모든 인터럽트 활성화 비트
AVR 128의 Timer/Count 외부 인터럽트 관련 레지스터 EIMSK (External Interrupt Mask Register) INT 7~0 비트를 Set 시키면 해당 핀이 활성화 된다.
AVR 128의 Timer/Count 타이머/카운트 0의 Counter Unit
AVR 128의 Timer/Count 타이머/카운트 0의 Output Compare Unit
AVR 128의 Timer/Count 타이머/카운트 0 관련 레지스터 TIMSK(Timer/Counter Interrupt Mask Register) • Bit 1 – OCIE 0(Timer/Counter 0 Output Compare Match Interrupt Enable) OCIE=1로 Set시켜주면 Output Compare Match Interrupt가 활성화 된다. • Bit 0 – TOIE 0(Timer/Counter Overflow Interrupt Enable) TOIE=1로 Set시켜주면 Overflow Interrupt가 활성화된다. OVF인터럽트를 사용하려면 SREG의 I=1인 상태여야 한다.
AVR 128의 Timer/Count 타이머/카운트 0 관련 레지스터 TCCR 0(Timer/Counter Control Register 0) : 동작모드설정/분주비 설정 등 • Bit 7 – FOC 0(Force Output Compare) • 강제로 OSC 0 단자에 출력비교 패치 신호를 출력 • Bit 3, 6 – WGM 01, WGM 00(Waveform Generation Mode) • 파형 출력 모드 • Bit 5, 4 – COM 01, COM 00(Compare Match Output Mode) • 비교패치 출력 모드 • Bit 2, 1, 0 – CS 02~CS 00(Clock Select)
AVR 128의 Timer/Count 타이머/카운트 0 관련 레지스터 ASSR (Asynchronous Status Register) • Bit 3 – AS 0(Asynchronous Status Register) • AS 0 = 0 : 내부클럭 (clk. I/O) 동기모드 • AS 0 = 1 : 외부클럭 (TOSC 1) 비동기모드 • Bit 2 – TCNOUB (Timer/Counter 0 Update Busy) • Bit 1 – OCROUB (Output Compare Register 0 Update Busy) • Bit 0 – TCROUB (Timer/Count Control Register 0 Update Busy)
http: //cafe. naver. com/roboticslab. cafe
- Slides: 43