ajuste_centesimal

Software e Hardware para uC PIC

Moderadores: andre_luis, 51, guest2003, Renie

ajuste_centesimal

Mensagempor juniorlucival » 09 Set 2012 15:26

olá amigos, gostaria da ajuda de voces, estou escrevendo um código, e preciso monstrar no lcd um número de 10 bits, seu valor máximo é 999, pois usarei três casas apenas, preciso separar a unidade, dezena e centena em tres endereços de memória para trabalhar neles e enviar ao lcd, seria um ajuste de unidade dezena e centena, o pic que estou usando é 16f677 em asm(assembly). espero que os senhores possam me ajudar. so um raciócinio já ajuda o codigo eu faço ok.

obrigado a todos
:lol:
juniorlucival
Nibble
 
Mensagens: 63
Registrado em: 02 Jan 2010 14:44

Mensagempor Djalma Toledo Rodrigues » 09 Set 2012 20:17

Como uma pessoa faria isso?

Desta análise lógica dos procedimentos você tira o Fluxograma

e 'Assembla'
Avatar do usuário
Djalma Toledo Rodrigues
Dword
 
Mensagens: 2334
Registrado em: 03 Ago 2008 13:22

Mensagempor ze » 10 Set 2012 07:34

se em 6 meses voce não conseguir, me peça que gero o asm a seguir:
cen=(val/100)%10;
dez=(val/10)%10;
un=(val/1)%10;
Avatar do usuário
ze
Dword
 
Mensagens: 1655
Registrado em: 05 Jun 2007 14:32

Mensagempor MOR_AL » 10 Set 2012 18:20

10 bits permitem 1024 valores.
Procure na internet e faça o seguinte:
1 - Os seus 10 bits estarão contidos em dois registros de 8 bits cada.
Um contendo os 8 bits menos significativos (que chamarei de NumL) e outro contendo os 8 bits mais significativos (que chamarei de NumH). Neste último, os bits NumH.7 até NumH.2 valerão zero, de acordo com seus dados iniciais.
2 - Você terá que converter o número binário de 16 bits em Binário Codificado em Decimal (ou BCD) com até 5 dígitos. Cada um deles pertencente às Unidades (U), Dezenas (D), Centenas (C), Milhar (M) e Dezenas de Milhar (DM).
Essa conversão chama-se Binário para BCD. Pesquise "Binary to BCD" ou "b2BDC".
3 - Uma vez com os registros BCD, você terá que fazer a conversão de BCD para ASCII, que é o código necessário para ser enviado ao LCD.
Essa conversão é simples, bastando somar ao valor do dígito BCD um número fixo. Se me lembro, acho que é 48.
O zero em BCD vale 0 + 48 = 48 em ASCII.
O um em BCD vale 1 + 48 = 49 em ASCII.
E por aí vai, até o nove.
Bons projetos.
MOR_AL
"Para o triunfo do mal só é preciso que os bons homens não façam nada." Edmund Burke.
"Nunca discutas com pessoas estúpidas. Elas irão te arrastar ao nível delas e vencê-lo por possuir mais experiência em ser ignorante". Mark Twain
Avatar do usuário
MOR_AL
Dword
 
Mensagens: 2934
Registrado em: 19 Out 2006 09:38
Localização: Mangaratiba - RJ

OBRIGADO

Mensagempor juniorlucival » 10 Set 2012 21:03

AMIGOS GOSTARIA DE AGRADECER EU JA FIZ, FIZ UMA LAÇO COMO FUNDO DE ESCALA DE 999 VALORES, DAI CRIEI TRES VARIAVEIS
INCREMENTANDO AS DEZENAS UNIDADES E CENTENAS, FUNCIONOU BEM, MAS E QUE TEM HORAS QUE NÃO VEM IDÉIAS, POR ISSO PERGUNTEI, OBRIGADO A TODOS, E PARECE QUE TEM MUITOS GENIOS AQUI,
juniorlucival
Nibble
 
Mensagens: 63
Registrado em: 02 Jan 2010 14:44

OBRIGADO

Mensagempor juniorlucival » 10 Set 2012 21:07

MOR_AL RAPAZ MUITO OBRIGADO PELA DICA, VALEU MESMO, PESQUISEI E APRENDI MUITO.
juniorlucival
Nibble
 
Mensagens: 63
Registrado em: 02 Jan 2010 14:44

Re: OBRIGADO

Mensagempor MOR_AL » 11 Set 2012 11:37

juniorlucival escreveu:MOR_AL RAPAZ MUITO OBRIGADO PELA DICA, VALEU MESMO, PESQUISEI E APRENDI MUITO.

Não há de que.
Só mais uma pequena dica. :)

Costuma-se usar os caracteres normais; letras maiúsculas na primeira palavra da frase, em nomes próprios, etc.
Deixe para colocar todas as palavras com letras maiúsculas, quando desejar que entendam que você está "GRITANDO".
MOR_AL
"Para o triunfo do mal só é preciso que os bons homens não façam nada." Edmund Burke.
"Nunca discutas com pessoas estúpidas. Elas irão te arrastar ao nível delas e vencê-lo por possuir mais experiência em ser ignorante". Mark Twain
Avatar do usuário
MOR_AL
Dword
 
Mensagens: 2934
Registrado em: 19 Out 2006 09:38
Localização: Mangaratiba - RJ


Voltar para PIC

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante

x