프로그램을 짜다보면 TMR을 사용하는 경우가 많이 생깁니다.
들어오는 입력신호의 길이를 측정하거나,(물론 타이머가 아니여도 측정할 수는 있습니다.)
일정시간 후 다른 동작을 해야하는 인터럽트로 사용한다거나 하는 등의 경우처럼요.
물론 정밀한 시간을 측정해야 할 경우 외부에서 받아오는 경우도 있습니다.
이 타이머도 설정만하고 초기화 하지 않으면 TMR0 초기값이 0이 아닌 다른값에서 시작하여 예측 불허의 결과가 생길 수도 있습니다.
TMR0_SET; INTCON을 설정하는 순간부터 인터럽트가 허가 되므로 INTCON을 나중에 설정
SELBANK1
MOVLW B'00000101';ENABLE GLOBAL WEAK PULL-UP, TMR PRES(1:64)
MOVWF OPTIONR
SELBANK0
CLRF TMR0
MOVLW B'10100000'
MOVWF INTCON
RETURN
들어오는 입력신호의 길이를 측정하거나,(물론 타이머가 아니여도 측정할 수는 있습니다.)
일정시간 후 다른 동작을 해야하는 인터럽트로 사용한다거나 하는 등의 경우처럼요.
물론 정밀한 시간을 측정해야 할 경우 외부에서 받아오는 경우도 있습니다.
이 타이머도 설정만하고 초기화 하지 않으면 TMR0 초기값이 0이 아닌 다른값에서 시작하여 예측 불허의 결과가 생길 수도 있습니다.
TMR0_SET; INTCON을 설정하는 순간부터 인터럽트가 허가 되므로 INTCON을 나중에 설정
SELBANK1
MOVLW B'00000101';ENABLE GLOBAL WEAK PULL-UP, TMR PRES(1:64)
MOVWF OPTIONR
SELBANK0
CLRF TMR0
MOVLW B'10100000'
MOVWF INTCON
RETURN
'초보의 아웅다웅 설계하기 > PIC' 카테고리의 다른 글
7. 내부 EEPROM 사용하기 (0) | 2010.08.02 |
---|---|
6. 동기 엣지 검출하기 (0) | 2010.08.02 |
4. 내부 풀업 사용하기 (0) | 2010.08.02 |
3. PCL을 사용하는 데이터테이블 사용시 주의점. (0) | 2010.08.02 |
2. CALL 문 사용시 주의할 점 (0) | 2010.08.02 |