ADCON 도움말

B

Beng123

Guest
임 edaboard에서 새로운 지금 물어 질문을하고있다.
마찬가지로있을 때 아날로그 디지털 ADRESH 및 ADRESL에서 결과를 저장소로 변환 알아 줘야해.
누군가가 나에게 무엇을 그것에 대해 다른 말씀해 주시겠습니까?
만약 내가 JZ, 오비완, 한 비트 전송
켜고 끄기 전용.
내가 어떻게받을 결과 1 또는 0 ADCON에서 장소에 저장됩니까?

 
U 그림 16F877a 데이터 시트를 볼 수있습니다.

'(*
'*'프로젝트 이름 :
'ADC_on_Leds
'* 저작권 :
'(C) mikroElektronika, 2005 - 2006
'* 수정 내역 :
'20050312 :
'- 초기 릴리스.
'* 설명 :
'이 코드는 ADC가 변환을위한 라이브러리 함수를 사용하여 보여줍니다
'(10 비트)의 결과 portd 및 portb에 표시됩니다
'(2 portb 가장 중요한 비트)에 표시됩니다.
'* 시험 구성 :
'MCU는 : PIC16F877A
'Dev.Board : EasyPIC3
'발진기 : HS, 8.000 MHz 이상
'내선.모듈 : 없음
'소프트웨어 : mikroBasic v5.0 이상
'* 참고 사항 :
'- 만약 당신이 사용하는 오른쪽 상단 RA2에 전위 차계 연결하는 방법에 점퍼를 제공 EasyPIC3를 사용하는
'*)
프로그램 ADC_on_Leds

단어로 희미한 temp_res

주 :
ADCON1 = $ 80 '을 구성하는 아날로그 입력 및 VREF
입력 TRISA = $ FF로 '지정 PORTA
TRISB = $ 3 층 '지정 RB7, 출력 핀이 RB6
출력 TRISD = $ 0 '지정 PORTD
반면 진실
temp_res = ADC_read (2)
'지금 temp_res 사용할 수있는 ...'
PORTD temp_res '낮은 PORTD에 8 비트를 보낼 =
PORTB = 단어 (temp_res ""2)
'PORTB에 가장 중요한 두 가지 비트 전송 RB7, RB6 핀
나아가다
끝.

 
안녕!
이후 결과는 10 비트 ADC의 광범위한 그런 까닭에 두 개의 서로 다른 레지스터에 저장 ADRESH 및 ADRESL입니다.ADRESH 어디로 ADRESL 최소 유효 비트를 포함하는 가장 중요한 비트가 포함되어있습니다.

난 왜 이해가 안 U ADC의 결과를 레지스터에서 불과 1 또는 0 싶어.
결정하면 불러 예를 결정 ADC는 다음의 결과를 바탕으로 몇 가지 고정 수준의 결과를 비교할 수 있도록하려면

서명 int resut;
Max_value 정의 # 177;

결과 = ADRESH;
결과 = (결과 ""

<img src="http://www.edaboard.com/images/smiles/icon_cool.gif" alt="차가운" border="0" />

| ADRESL;

그 결과 지금은 총 ADC의 전환의 결과가 포함되어있습니다.U 어떤 것도 결정을 예를 들어 좀 비교할 수있습니다

만약 (결과 "Max_value)
= 1의 LED;
그 밖의
= 0의 LED;

희망이 도움이됩니다.
안부.추가 22 분 후 :미안하지만 실제 라인입니다
결과 = (결과 ""8 | ADRESL);

어떻게 웃는 방정식을 입력 알고 donot?

안부.

 
waseem 썼습니다 :

안녕!

이후 결과는 10 비트 ADC의 광범위한 그런 까닭에 두 개의 서로 다른 레지스터에 저장 ADRESH 및 ADRESL입니다.
ADRESH 어디로 ADRESL 최소 유효 비트를 포함하는 가장 중요한 비트가 포함되어있습니다.난 왜 이해가 안 U ADC의 결과를 레지스터에서 불과 1 또는 0 싶어.

결정하면 불러 예를 결정 ADC는 다음의 결과를 바탕으로 몇 가지 고정 수준의 결과를 비교할 수 있도록하려면서명 int resut;

Max_value 정의 # 177;결과 = ADRESH;

결과 = (결과 ""
<img src="http://www.edaboard.com/images/smiles/icon_cool.gif" alt="차가운" border="0" /> | ADRESL;그 결과 지금은 총 ADC의 전환의 결과가 포함되어있습니다.
U 어떤 것도 결정을 예를 들어 좀 비교할 수있습니다만약 (결과 "Max_value)

= 1의 LED;

그 밖의

= 0의 LED;희망이 도움이됩니다.

안부.
추가 22 분 후 :
미안하지만 실제 라인입니다

결과 = (결과 ""8 | ADRESL);어떻게 웃는 방정식을 입력 알고 donot?안부.
 
후 변환이 완료되면 자동으로 값이 ADRESH 및 ADRESL에 저장되어있습니다.네가 그 레지스터에 데이터를 이동하지 않아도, 단지 그들을 읽어보십시오.
또한 ADC를 구성하는 모듈의 왼쪽이나 오른쪽으로 정렬됩니다.함께 왼쪽 ADC의 MSB는 비트 7 ADRESH의, 그리고 2 LSB가의 비트에 저장됩니다 7,6 또는 ADRESL.오른쪽 정렬 간단하게 다른 방법 주변에이다.

그리고 '결과 = (결과 ""8 | ADRESL);'C 또는 기본 저는 믿습니다.

BuriedCode.

 
Buriedcode 썼습니다 :

후 변환이 완료되면 자동으로 값이 ADRESH 및 ADRESL에 저장되어있습니다.
네가 그 레지스터에 데이터를 이동하지 않아도, 단지 그들을 읽어보십시오.

또한 ADC를 구성하는 모듈의 왼쪽이나 오른쪽으로 정렬됩니다.
함께 왼쪽 ADC의 MSB는 비트 7 ADRESH의, 그리고 2 LSB가의 비트에 저장됩니다 7,6 또는 ADRESL.
오른쪽 정렬 간단하게 다른 방법 주변에이다.그리고 '결과 = (결과 ""8 | ADRESL);'C 또는 기본 저는 믿습니다.BuriedCode.
 
안녕!

난 당신이 C 언어로 통해 UR 코드를 작성하는 줄 알았는데.만약 다음의 코드를 통해 UR 완전히 다른 것입니다 어셈블리를 사용합니다.뿐만 아니라 이미 U donot 게시 ADRESH 및 ADRESL 레지스터에 결과를 저장할 수있다.후 변환이 완료되면 자동으로 ADC는 이러한 레지스터에 결과를 배치합니다.U 레지스터에서 이러한 결과를 읽고 어떤 변수에 넣습니다 새로운 전환을 시작하기 전에있다.
그럼 내가하면 불러만이 아니라 결과를 BCD로 변환 저장되지 않습니다 UA의 코드를 줄 수있는 어셈블리를 사용하고있습니다.쉽게 표시할 수있습니다.

안부.

 
waseem 썼습니다 :

안녕!난 당신이 C 언어로 통해 UR 코드를 작성하는 줄 알았는데.
만약 다음의 코드를 통해 UR 완전히 다른 것입니다 어셈블리를 사용합니다.
뿐만 아니라 이미 U donot 게시 ADRESH 및 ADRESL 레지스터에 결과를 저장할 수있다.
후 변환이 완료되면 자동으로 ADC는 이러한 레지스터에 결과를 배치합니다.
U 레지스터에서 이러한 결과를 읽고 어떤 변수에 넣습니다 새로운 전환을 시작하기 전에있다.

그럼 내가하면 불러만이 아니라 결과를 BCD로 변환 저장되지 않습니다 UA의 코드를 줄 수있는 어셈블리를 사용하고있습니다.
쉽게 표시할 수있습니다.안부.
 
안녕하세요 Beng123,
, 그림 2 배 8 비트를 등록하는 데 있기 때문에 마이크로 Adc 그림을 10 비트의 경우, 결과도 결과를 유지하려면 10 비트 및 그러므로이다.낮은 8 비트 Adresl에 저장되어있는 높은 2 비트 Adresh 레지스터에 저장되어있습니다.Adresh 등록의 나머지 6 비트 비어있다.만약 당신이 10 비트 결과가 필요합니다, 당신은 둘 다 레지스터 사용해야합니다.만약 당신이 8 비트 결과를 원한다면 바로 정당성을 확인하고 나서 그 결과를 8 비트 낮은 얻을에만 사용 Adresl 등록 Adcon1 ADFM 레지스터에 비트를 설정할 수있습니다.아니면 왼쪽 정렬됩니다 ADDM 비트 0 따라서 결과를 만들 수 있으며 다음 8 비트는 높은 곳으로 낮은 Adresl 레지스터에 2 비트만이 남았다 Adresh 등록을 사용할 수있습니다.
제발 시트의 PIC의 사용하려는 당신은 분명히있을 것입니다 ADC는 부분을 따르십시오.정말 이해하기 쉽습니다.감사합니다.

 

Welcome to EDABoard.com

Sponsor

Back
Top