Ir ao conteúdo

Dúvidas sobre os registradores ANSEL e CMCOM


AlexSM

Posts recomendados

Postado

Pessoal, sou iniciante em programação C para PIC e tenho dúvidas sobre estes registradores (CMCOM e ANSEL).

Para que exatamente eles servem?

Todos os PICs têm esses mesmos registradores e com o mesmo nome?

Enfim, se alguém puder medar essas explicações, saiba que estará colaborando muito com os meus estudos.

Grato!

Postado

Para saber se um determindo microcontrolador possui o(s) comparador(es) = CMCON ou o conversor analógico/digital = ANSEL, só olhando mesmo o datasheet.

Os nomes já dizem o que são.

Leitura para entender o que são:

Comparador

Conversor AD

Apesar de serem tratados como item de hardware "independente" nos links acima, o microcontrolador que possui tais itens, agrega as mesmas funcionalidades (apresentadas nestes links) e outras mais, como interrupções para tratamento da conversão A/D, ou mesmo para o comparador.

Se não conhece um comparador, compre um Amplificador Operacional (LM741, LM339, etc) veja alguns projetos e monte no protoboard para ter noção de como eles trabalham.

Já o conversor AD, é comum ter ele em um único chip, ex.: ADC0804, é possivel fazer as conversões e ler elas atraves de leds ligados no registrador de 8bits deste mesmo(acho mais trabalhoso desta forma).

Familiarize-se com piscar led, controlar leds com botões e todos os experimentos para iniciantes. Quando estiver pronto para sair do básico, aceite que só uma boa leitura do datasheet o fará entender por qual motivo, isso ou aquilo tem de ser feito e em qual ocasião.

No seu projeto anterior, o CMCON passou longe. Sabe o que poderia acontecer? Na prática, iria funcionar quando quisesse!

Gostaria muito neste momento, dos sábios comentários do JoseDaSilva0, reforçando ou melhorando o raciocínio.

Abraço amigo.

Postado

Amigo shunt, salvei os estudos que você indicou. Parecem ser realmente muito bons. Vou aproveitar o tempo livre nesse feriado de carnaval para estudar.

Ainda falando nesses registradores, no MikroC, basta escrever CMCOM=0; e tudo certo; no CCS porém, a cintaxe é diferente. Você sabe como eu faço para desativar esse comparador e o conversor A/D no CCS?

  • Membro VIP
Postado

bom o que dizer. tenho pouco a acrescentar além do tradicional e já dado conselho de ler o dataxit.

Mas é simples. CMCON controla o comportamento dos pinos. look:

12f675-comparator-modes.png

e ANSEL o dos pinos AD

PIC16F688_ANSEL.png

ou seja com ele voce controla qual pino vai ler sinais analógicos ou digitais

O mesmo nome até que pode ser, mas nem todos têm.

The book is on the table? Did you really read the datasheet? This just a Little Stupid Detail

Bons estudos. Mas pratique! e lembre-se: no início hábitos são teias de aranha. Com o tempo tornam-se fios de arame.

obs : pena que não posso falar mal desta porcaria do ccs

Postado

Também tenho problema com o CCS, não me adaptei à ele.

Esta fica para o pessoal mais familiarizado.

Veja no mikroC, para desativar os comparadores no pic16F628A, e 16F684(do outro tópico), a sintaxe é a que menciona, mas o valor é 7 em decimal:

CMCON = 7; //ou
CMCON |= 7;

No segundo quadro (imagem que o amigo josedasilva0 postou), repare que tem escrito:

Comparator Off (Lowest power), seguido de um valor 111. Este valor está em binário, converta ele em decimal e terá o "7". Com isso aplicando o valor 7 no CMCON, você os desativa. É isso.

Abraço.

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...