Re: Binary to BCD conversion
Well John, Here is the way I would do it. Assuming all 4, 8 bit counters are connected in series to get 32 bits:
BIGNUM VAR LONG
VALUE VAR BYTE
JUNK VAR BYTE
CHARPOS VAR BYTE
DIGVALUE VAR BYTE
MAIN:
'THIS ASSUMES ALL 4, 8 BIT COUNTERS ARE IN SERIES ON SAME DATA AND CLOCK LINE
'ADJUST DATA AND CLOCK LINE TO YOUR HARDWARE CONFIGURATION
SHIFTIN REGDATAPIN,REGCLKPIN,MSBFIRST,[BIGNUM.BYTE3,BIGNUM.BYTE2,BIGNUM.BYTE1,BIGNUM.BYTE 0]
'32 BIT VALUE IS CLOCKED IN TO LONG VARIABLE
JUNK = 7 'SET DIGIT POINTER FOR 8 DIGITS TOTAL
WHILE JUNK < 255
VALUE = BIGNUM DIG(JUNK) 'VALUE OF DIGIT
CHARPOS = JUNK + 1 'CALCULATED CHARACTER POSITION
low load
shiftout datapin,clockpin,MSBFIRST,[CHARPOS, VALUE] 'DATA SHIFTED TO DISPLAY
high load
JUNK = JUNK - 1 'NEXT DIGIT FROM MSBYTE TO LSBYTE
WEND
pause 1000
goto main
I hope this bit of code will help you.
Dave Purola,
N8NTA
EN82fn
Bookmarks