Página 1 de 1

Inverter dados da AN0

MensagemEnviado: 02 Jun 2009 10:20
por Controladores
Olá!

Estou com problema aqui e tenho dificuldades, estou programando um PIC16F872, faço a leitura do canal analógico AN0, meu Hardware gera um sinal contrario ou seja ao invéz de ser 0-5V é de 5-0V, então eu preciso inverter esse sinal no meu programa para poder indicar o valor correto no meu display, alguem sabe como fazer isso ah é em Assembler.

Obrigado!

Marco
ASLA
marco@asla.com.br

MensagemEnviado: 02 Jun 2009 11:05
por Andre_Cruz
Marco,

Você precisa subtrair o valor lido no A/D (AN0) do valor máximo que pode ser lido, ou seja:
Valor máximo que pode ser lido: 5V
Valor lido: XV

Tensão real = Valor máximo que pode ser lido - Valor lido

Exemplo:
Valor lido: 1V

Tensão real = Valor máximo que pode ser lido - Valor lido
Tensão real = 5 - 1 = 4V

No site do labtoos, na secção de downloads o Exemplo do livro conectando o PIC, tem uma rotina de subtração de 16 Bits pode facilitar essa tarefa.

Espero que tenha conseguido sanar sua dúvida.
Abraço

André

MensagemEnviado: 02 Jun 2009 11:42
por lpagano
Por acaso essa AN0 não tem a referência de 5Vcc num pull-up interno? Se tiver pode ser isso que está gerando a leitura invertida?

MensagemEnviado: 02 Jun 2009 12:44
por Djalma Toledo Rodrigues
XOR FF

MensagemEnviado: 02 Jun 2009 13:07
por Controladores
Perfeito!! deu tudo certo!!! valeu a dica, salvou o dia hoje!!


Marco

Andre_Cruz escreveu:Marco,

Você precisa subtrair o valor lido no A/D (AN0) do valor máximo que pode ser lido, ou seja:
Valor máximo que pode ser lido: 5V
Valor lido: XV

Tensão real = Valor máximo que pode ser lido - Valor lido

Exemplo:
Valor lido: 1V

Tensão real = Valor máximo que pode ser lido - Valor lido
Tensão real = 5 - 1 = 4V

No site do labtoos, na secção de downloads o Exemplo do livro conectando o PIC, tem uma rotina de subtração de 16 Bits pode facilitar essa tarefa.

Espero que tenha conseguido sanar sua dúvida.
Abraço

André

MensagemEnviado: 02 Jun 2009 13:30
por Andre_Cruz
Legal Marco,

Abraço

André