Inverter dados da AN0

Enviado:
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

Enviado:
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é

Enviado:
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?

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

Enviado:
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é

Enviado:
02 Jun 2009 13:30
por Andre_Cruz
Legal Marco,
Abraço
André