1. 주파수 카운터 회로도
- gate open : 0.1sec -> 적어도 1초에 5번 이상 주파수 값을 읽고 갱신됩니다.
- 분해능 : 100KHz 예) 7.070.5Mhz
2. 프로그램 개요(계속~)
1) TMR0 카운터 설정 :
타이머 TMR0는 실제적으로 다양한 어플리케이션을 가지고 있고 거의 대부분의 프로그램이 사용. 펄스를 생성하거나, 시간을 측정하거나, 외부의 펄스나 이벤트를 카운트하는 프로그램을 작성할때 매우 편리하고 사용하기가 쉽다. 타이머 TMR0 모듈은 8비트 타이머/카운터이며 아래와 같은 특징을 가지고 있다.
8-bit 타이머/카운터
8-bit 프리스케일러 (Watchdog timer와 공유)
프로그램가능한 내장 혹은 외장 클럭소스
오버플로우시 인터럽트
프로그램가능한 외부 clock edge선택
이러한 비트는 OPTION_REG 레지스터에 저장되어 있습니다.
OPTION_REG Register
RBPU - PORTB Pull-up 활성화 비트
0 - PORTB pull-up resistor 비활성화
1 - PORTB 핀 pull-up resistor에 연결가능
INTEDG - Interrupt Edge Select bit
0 - INT pin의 라이징 에지시 인터럽트
1 - INT pin의 폴링 에지시 인터럽트
T0CS - TMR0 Clock Select bit
0 - RA4 pin을 통해 펄스를 TMR0 타이머/카운터에 인가
1 - 타이머는 내부 사이클 클럭(Fosc/4)을 사용
T0SE - TMR0 Source Edge Select bit
0 - TMR0 pin이 하이에서 로우로 전이시 증가.
1 - TMR0 pin이 로우에서 하이로 전이시 증가.
PSA - Prescaler Assignment bit
0 - Prescaler는 WDT에 할당
1 - Prescaler는 TMR0 timer/counter에 할당
PS2, PS1, PS0 - Prescaler Rate Select bit
Prescaler rate는 이 세가지 비트를 조합하여 조절합니다.
PS2 PS1 PS0 TMR0 WDT
0 0 0 1:2 1:1
0 0 1 1:4 1:2
0 1 0 1:8 1:4
0 1 1 1:16 1:8
1 0 0 1:32 1:16
1 0 1 1:64 1:32
1 1 0 1:128 1:64
1 1 1 1:256 1:128
2) 중간 주파수(IF) 차감 : ~
3) Prescaler 내부 계산 및 LCD 표시 : ~
4) 전원 전압 AD 컨버팅 및 LCD 표시 : ~