Convertendo hexadecimal para dezembro com PIC

O

optech

Guest
Eu quero converter hex para dezembro usando PIC. Coisa que eu quero fazer é o seguinte: eu tenho 2 byte (como 27 e 0F) em dois registro no PIC (A_REG = 27, B_REG = 0F). Convertendo de 270F para o resultado decimal é 9999. Eu quero escrever este resultado conversão de registos PIC (C_REG = 99, D_REG = 99) Como posso fazer isso? Graças .....
 
Você precisa fazê-lo em Assembler ou C? De qualquer forma você precisa fazer uma cadeia de remanescentes depois de dividir a 10. No seu exemplo:% 0x270F 0x0A = 9% (0x270F / 0x0A) 0x0A% = 9 ((0x270F / 0x0A) / 0x0A) 0x0A% = 9 (((0x270F / 0x0A) / 0x0A) / 0x0A) 0x0A = 9
 
Salam, Se vc quiser conver hexadecimal para decimal para torná-lo a saída em um u lcd pode usar pic básicas, como o seguinte código, mas se vc quiser convertê-lo para qualquer u outro aplicativo pode usar o método Klug da divisão por 10 (se u pode postar a sua idéia eu iria ajudar mais u) hexa Palavra var, Isso tornaria os dois registros como principal 32bit: lcdout [color = red] dig4 [/color] hexa, que irá aparecer 4 dígitos decimais número final Espero que este seja o pensamento de ur & que ajudou u
 
Obrigado por suas respostas. Eu escrevi um código asm.
Code:
 # define L1 H'0210 "# define L2 H'0A 'LISTA P = 16F877 # include BANKSEL SAY1 ORG 0x00 Veri EQU H'20" SAY EQU H'21' EQU H'22 'SAY2 EQU H'23' PORTA movlw L1 - (L1/L2) * L2 MOVWF Veri movlw (L1/L2) - ((L1/L2) / L2) * L2 movwf SAY movlw (L1/L2/L2) - ((L1/L2) / L2 / L2) * L2 movwf SAY1 movlw (L1/L2/L2/L2) movwf SAY2 GOTO $ END
Mas esses códigos, eu acho que o compilador (MPLAB) calcular os resultados. Se eu carregar a um microcontrolador, como fazer valer a pena. No meu aparelho, L1 é mutável. Assim, não se pode calcular 16 bits de dados.
 

Welcome to EDABoard.com

Sponsor

Back
Top