마하전자기술연구소 LOGO

제품검색 고객센터053-604-2355
기술자료실

Home > 기술자료실 기술자료실

제 목 07. 간이 A/D변환 제어법(볼륨의 입력)
첨부파일


간이 A/D변환의 제어법

1. 간이 A/D변환이란?

간이 A/D변환이란, A/D변환의 입력 포토가 없는 PIC로, 볼륨등의
위치를 입력하는 방법입니다. 볼륨 뿐만이 아니라, 8비트 정도의 정밀도의
아날로그 신호의 측정은, 이 방법으로 만듭니다.


2. PIC와 볼륨과의 접속과 원리

PIC16F84로 간이 A/D변환을 실현하기 위한 접속은 밑그림과 같이 합니다.


이 접속에서의 동작은 아래와 같이로 합니다.
우선, RB4를 입력 모드, RB3를
출력 모드로 설정합니다.

다음에, RB3에 「1」을 출력해 콘덴서
C1를 충전합니다. 충분히 충전할 수 있는 시간
하지만 지난 후에 RB3를 「0」으로 하면(자)
방전이 시작됩니다.

그 순간부터, RB4를 반복해 입력해
입력이 「0」이 될 때까지의 시간을 계측
합니다.
이 「0」이 될 때까지의 시간은, VR의
값에 비례하므로, 이 시간치가
결과적으로 A/D변환한 디지탈치와
됩니다.
이 모습을 그림으로 하면(자) 밑그림과 같이 됩니다.


 

3. 구체적 프로그램예 

이 회로로 A/D변환을하기 위한 프로그램은 아래와 같이 합니다.
시간 측정을 위해서(때문에)는, 단순하게 루프로 카운트를 합니다. 그 사이
콘덴서의 전압 입력 핀을 상시 감시해, 「0」이 된 곳에서 종료와
합니다. 카운트치가 8비트를 오버플로우 하지 않게, 적당한
수의 더미용의 NOP 명령을 루프안에 삽입합니다.
이것으로 8비트의 A/D변환이 됩니다.
카운터를 2개로 카운트업하면, 8비트 이상의 A/D변환도
가능합니다만, 나머지 정밀도는 나오지 않기 때문에, 8비트 정도가 적당합니다.


;************************************
; A/D CONVERT SUBROUTINE
;************************************
일전에 BSF PORTB, 3 그리고 충전해 둔다

ADCNV           ;A/D convert
    CLRF   WIDTH  ;카운터 리셋트
    BCF   PORTB, 3 ;방전 개시
LOOP  BTFSS  PORTB, 4 ;0인가?
    GOTO   LOOP1  ;0으로 변환 종료
    NOP
    NOP
    NOP        ;시간 카운트 조정용 더미
    NOP
    INCFSZ  WIDTH, F ;카운트업
    GOTO   LOOP   ;반복
LOOP1  BSF   PORTB, 3 ;재충전 개시
    RETURN
    WIDTH에 A/D변환치가 들어가 있다.

목록보기

www.1chip.com, www.1chip.co.kr
www.micom114.com
자료실바로가기

대구광역시 북구 산격2동 1629 산업용재관 10동 13호 (2층) / Tel. 053-604-2355 / Fax. 053-383-2354 / E-mail. maha@paran.com