목차
1. Analog Voltage Comparator
2. 비 반전 비교기
3. 반전 비교기
4. AD converter 종류
5. Lamp type
6. Successive approximation type
7. Flash type
8. Hysteresis in Comparator
9. CMCON0 Register
10. VRCON Register
11. 간단히 설명하시오.
12. 16F917 MCU oscillator module의 다른 동작 mode에 대해 간단히 설명하라.
문제
1. Explain the function of "Timer 0"
2. What is "prescaler" and How is it works.
3. Explain the control register for "Timer 0".
4. Explain the operation of "Timer 0 Interrupt".
2. 비 반전 비교기
3. 반전 비교기
4. AD converter 종류
5. Lamp type
6. Successive approximation type
7. Flash type
8. Hysteresis in Comparator
9. CMCON0 Register
10. VRCON Register
11. 간단히 설명하시오.
12. 16F917 MCU oscillator module의 다른 동작 mode에 대해 간단히 설명하라.
문제
1. Explain the function of "Timer 0"
2. What is "prescaler" and How is it works.
3. Explain the control register for "Timer 0".
4. Explain the operation of "Timer 0 Interrupt".
본문내용
de
소비전력이 중간쯤 되는 일반적인 타입
INTOSC mode
내부에서 “IRCF”를 조정하여 8MHz~125KHz를 이용하는 것이다.
LFINTOSC
내부에서 “IRCF”를 조정하여 이용하지만 31KHz의
주파수만을 이용하는 것이다.(주로 watchdog 사용 시에 이용.)
1. Explain the function of \"Timer 0\"
TMR0 - Timer0가 타이머로 동작할 경우, Prescaler가 없을때 모든 명령 싸이클은 증 가 한다. TMR0를 작성할 때, 두 명령 싸이클의 바로 뒤에 쓰면 오류가 발생 할 수 있다. 타이머모드일때 OPTION register의 T0SC비트를 0으로 만들어 준다.
Timero가 카운터로 동작할 경우, Rising edge에서 동작할지, Falling edge에 서 동작할지 선택가능하다. Edge 선택은 OPTION register의 T0SE비트에서 선택이 가능하다. 카운터모드를 사용할 경우 OPTION register의 T0CS비트를 1로 만들어 준다.
2. What is \"prescaler\" and How is it works.
Prescaler - Prescaler는 Option register로서 Mux의 앞에 붙어 작동 하게되며, 내부 발진기의 클럭을 사용자가 원하는 대로 줄일 수 있도록 만들어주는 역할을 한다. 8비트 Prescaler의 경우 최대 1:256의 비율을 가질 수 있다. 만약, 내부발 진기가 4MHz의 주파수를 가지는데, 1MHz의 주파수를 사용하고 싶 다면 배율을 1:4(0~2bit를 001로 설정)로 설정하여 사용하면 된다.
3. Explain the control register for \"Timer 0\".
- Timer0에서의 control register로는 OPTION register가 있다. OPTION register는 신호를 반전, Edge 선택, B포트의 풀업 사용, 클럭소스 선택, Prescaler 등에 사용한다.
① 0~2비트는 Prescaler를 사용하는 비트로, 000~111까지 1:2에서 1:256까지 비율 조정이 가능하다.
② 3비트는 Prescaler를 WDT로 사용(1)할 것인지, Timer0 Module로 사용(0)할 것인지를 결정한다.
③ 4비트는 TMR0에서 Edge 상태를 반전하는 비트로, 1로 설정할 경우 High에서 Low로, 0으로 설정할 경우 Low에서 High로 변환된다.
④ 5비트는 클럭소스를 결정하는 비트로, 1로 설정할 경우 T0CKI pin으로 변환하고 0으로 설정할 경우 내부 명령 싸이클 클럭(Fosc/4)로 설정된다.
⑤ 6비트는 인터럽트 Edge 선택 비트로, 1로 설정할 경우 Rising Edge에서 동작하고 0으로 설정할 경우 Falling Edge에서 동작한다.
⑥ 7비트는 PORTB의 풀-업 사용할지를 묻는 비트로, 1로 설정하면 풀-업을 사용하지 않고, 0으로 설정하면 풀-업을 사용하게 한다.
*여기서 6,7번 비트는 Timer0에서 Control register로 동작하진 않는다.
4. Explain the operation of \"Timer 0 Interrupt\".
- Timer0에서 Interrupt는 먼저 메인 문단의 명령을 동작하다 오버플로우 발생시 진행 중인 명령은 초기화 되며 인터럽트 문단의 명령을 실행하게 된다. 여기서, 자신이 원하는 시간을 맞춰주기 위해서는 Prescaler값을 1:2 ~ 1:256 (0~2bit를 000~111까지 설정)까지의 비율을 조정한 후 TMR0의 값을 조정하여 시작지점을 만들어준다. 인터럽트는 오버플로우 발생시 인터럽트 문단으로 넘어가더라도 이전동작은 지속된다.
소비전력이 중간쯤 되는 일반적인 타입
INTOSC mode
내부에서 “IRCF”를 조정하여 8MHz~125KHz를 이용하는 것이다.
LFINTOSC
내부에서 “IRCF”를 조정하여 이용하지만 31KHz의
주파수만을 이용하는 것이다.(주로 watchdog 사용 시에 이용.)
1. Explain the function of \"Timer 0\"
TMR0 - Timer0가 타이머로 동작할 경우, Prescaler가 없을때 모든 명령 싸이클은 증 가 한다. TMR0를 작성할 때, 두 명령 싸이클의 바로 뒤에 쓰면 오류가 발생 할 수 있다. 타이머모드일때 OPTION register의 T0SC비트를 0으로 만들어 준다.
Timero가 카운터로 동작할 경우, Rising edge에서 동작할지, Falling edge에 서 동작할지 선택가능하다. Edge 선택은 OPTION register의 T0SE비트에서 선택이 가능하다. 카운터모드를 사용할 경우 OPTION register의 T0CS비트를 1로 만들어 준다.
2. What is \"prescaler\" and How is it works.
Prescaler - Prescaler는 Option register로서 Mux의 앞에 붙어 작동 하게되며, 내부 발진기의 클럭을 사용자가 원하는 대로 줄일 수 있도록 만들어주는 역할을 한다. 8비트 Prescaler의 경우 최대 1:256의 비율을 가질 수 있다. 만약, 내부발 진기가 4MHz의 주파수를 가지는데, 1MHz의 주파수를 사용하고 싶 다면 배율을 1:4(0~2bit를 001로 설정)로 설정하여 사용하면 된다.
3. Explain the control register for \"Timer 0\".
- Timer0에서의 control register로는 OPTION register가 있다. OPTION register는 신호를 반전, Edge 선택, B포트의 풀업 사용, 클럭소스 선택, Prescaler 등에 사용한다.
① 0~2비트는 Prescaler를 사용하는 비트로, 000~111까지 1:2에서 1:256까지 비율 조정이 가능하다.
② 3비트는 Prescaler를 WDT로 사용(1)할 것인지, Timer0 Module로 사용(0)할 것인지를 결정한다.
③ 4비트는 TMR0에서 Edge 상태를 반전하는 비트로, 1로 설정할 경우 High에서 Low로, 0으로 설정할 경우 Low에서 High로 변환된다.
④ 5비트는 클럭소스를 결정하는 비트로, 1로 설정할 경우 T0CKI pin으로 변환하고 0으로 설정할 경우 내부 명령 싸이클 클럭(Fosc/4)로 설정된다.
⑤ 6비트는 인터럽트 Edge 선택 비트로, 1로 설정할 경우 Rising Edge에서 동작하고 0으로 설정할 경우 Falling Edge에서 동작한다.
⑥ 7비트는 PORTB의 풀-업 사용할지를 묻는 비트로, 1로 설정하면 풀-업을 사용하지 않고, 0으로 설정하면 풀-업을 사용하게 한다.
*여기서 6,7번 비트는 Timer0에서 Control register로 동작하진 않는다.
4. Explain the operation of \"Timer 0 Interrupt\".
- Timer0에서 Interrupt는 먼저 메인 문단의 명령을 동작하다 오버플로우 발생시 진행 중인 명령은 초기화 되며 인터럽트 문단의 명령을 실행하게 된다. 여기서, 자신이 원하는 시간을 맞춰주기 위해서는 Prescaler값을 1:2 ~ 1:256 (0~2bit를 000~111까지 설정)까지의 비율을 조정한 후 TMR0의 값을 조정하여 시작지점을 만들어준다. 인터럽트는 오버플로우 발생시 인터럽트 문단으로 넘어가더라도 이전동작은 지속된다.
소개글