by Djula Djarmati
;**********************************************************************************************
;CONVERT 10-BIT BINARY TO THREE DECIMAL DIGITS (28 cycles, 25 program
memory)
;Input word: Digits+1:Digits
;Output digits: Digits+2:Digits+1:Digits
;Trashes: PRODH, PRODL
;**********************************************************************************************
Bin_To_Dec_999 movlw d'41' ;Multiply by 0.01 (41/4096)
mulwf Digits+1 ;
movff PRODL, Digits+2 ;
mulwf Digits ;
movf PRODH, w ;
addwf Digits+2, w ;
mullw 0x10 ;Lose the lower 8 bits
and shift
movf PRODH, w ;result 4 bits left
(divide by 4096)
movwf Digits+2 ;Save result
mullw d'100' ;and then multiply it
by 100
movf PRODL, w ;
subwf Digits, f ;Subtract from original
movf PRODH, w ;to get
subwfb Digits+1, f ;remainder
movf Digits, w ;Split remainder (0-99)
to two decimals
mullw D'205' ;
movlw D'32' ;Multiply by 0.1
mulwf PRODH ;(205/256 * 32/256)
movf PRODH, w ;
movwf Digits+1 ;Save result
mullw D'10' ;and then multiply it by 10
movf PRODL, w ;Subtract from original
subwf Digits, f ;Save remainder
return ;Done
| file: /Techref/microchip/math/radix/b2bu-10b3d-mullw-dd.htm, 2KB, , updated: 2011/3/6 18:07, local time: 2025/10/29 02:15,
216.73.216.50,10-8-63-169:LOG IN
|
| ©2025 These pages are served without commercial sponsorship. (No popup ads, etc...).Bandwidth abuse increases hosting cost forcing sponsorship or shutdown. This server aggressively defends against automated copying for any reason including offline viewing, duplication, etc... Please respect this requirement and DO NOT RIP THIS SITE. Questions? <A HREF="http://www.massmind.org/Techref/microchip/math/radix/b2bu-10b3d-mullw-dd.htm"> PIC Microcontoller Radix Math Method 10bit to BCD unpacked 3 digit in 25 inst 28 cycles by Djula Djarmati </A> |
| Did you find what you needed? |
Welcome to massmind.org! |
|
Ashley Roll has put together a really nice little unit here. Leave off the MAX232 and keep these handy for the few times you need true RS232! |
.