Dim b2avall As Byte
Dim b2avalm As Byte
Dim b2avalh As Byte
'buffers for the converted bin to ASCII
Dim ascbfr7 As Byte
Dim ascbfr6 As Byte
Dim ascbfr5 As Byte
Dim ascbfr4 As Byte
Dim ascbfr3 As Byte
Dim ascbfr2 As Byte
Dim ascbfr1 As Byte
Dim ascbfr0 As Byte
Dim temp1 As Byte
Dim temp2 As Byte
Dim cntr1 As Byte
Dim cntr2 As Byte
TestLoop: ' load dummy test value
b2avall = TMR1L 'load your low Byte
b2avalm = TMR1H ' load your middle Byte
b2avalh = tmr1_cnt ;load your high Byte
Gosub bin2asc ' call 24 Bin to 8 ASCII subr
Lcdcmdout LcdLine1Home ' display contents of ASCII brs
Lcdout ascbfr7, ascbfr6, ascbfr5, ascbfr4, ascbfr3, ascbfr2, ascbfr1, ascbfr0,
WaitMs 500
Goto TestLoop
'convert 24bit bin To 8 asci in ascbfr0
bin2asc:
ASM: clrf ascbfr7
ASM: clrf ascbfr6
ASM: clrf ascbfr5
ASM: clrf ascbfr4
ASM: clrf ascbfr3
ASM: clrf ascbfr2
ASM: clrf ascbfr1
ASM: clrf ascbfr0
ASM: movlw .24
ASM: movwf temp1
bitlp2:
ASM: rlf b2avall,F
ASM: rlf b2avalm,F
ASM: rlf b2avalh,F
ASM: movlw ascbfr0
ASM: movwf FSR
ASM: movlw 0x8
ASM: movwf temp2
adjlp2:
ASM: rlf INDF,F
ASM: movlw 0x0a
ASM: subwf INDF,W
ASM: btfsc STATUS,C
ASM: movwf INDF
ASM: decf FSR,F
ASM: decfsz temp2,F
Goto adjlp2
ASM: decfsz temp1,F
Goto bitlp2
ASM: movlw 0x30
ASM: iorwf ascbfr7,F
ASM: iorwf ascbfr6,F
ASM: iorwf ascbfr5,F
ASM: iorwf ascbfr4,F
ASM: iorwf ascbfr3,F
ASM: iorwf ascbfr2,F
ASM: iorwf ascbfr1,F
ASM: iorwf ascbfr0,F
'' this section I use for leading Zero supression
'in your project load whatever symbols you need
If ascbfr7 = 0x30 Then
ascbfr7 = 0x20
Else
Goto skipz
Endif
If ascbfr6 = 0x30 Then
ascbfr6 = 0x20
Else
Goto skipz
Endif
If ascbfr5 = 0x30 Then
ascbfr5 = 0x20
Else
Goto skipz
Endif
If ascbfr4 = 0x30 Then
ascbfr4 = 0x20
Else
Goto skipz
Endif
If ascbfr3 = 0x30 Then
ascbfr3 = 0x20
Else
Goto skipz
Endif
If ascbfr2 = 0x30 Then
ascbfr2 = 0x20
Else
Goto skipz
Endif
If ascbfr1 = 0x30 Then
ascbfr1 = 0x20
Endif
skipz:
Return