
Originally Posted by
Heckler
@Normnet... is it really that simple to convert degrees C to degrees F? across the whole range of -55C to +125C ??
I was thinking on the run above but the following is complete.
C value is * 1000 to hold 4 places.
Code:
C VAR LONG
F VAR LONG
iSIGN VAR BIT
GOTO MAIN
subC_TO_F:
F = C * 9
F = F / 5
IF iSIGN = 1 THEN 'if the sign bit is "1" is minus C
IF F > 320000 THEN
F = F - 320000
SEROUT2 sSEROUT_PIN,cBAUD,[" -",DEC C/10000,".",DEC4 C," C = -",DEC F/10000,".",DEC4 F," F",13]
ELSE
F = 320000 - F
SEROUT2 sSEROUT_PIN,cBAUD,[" -",DEC C/10000,".",DEC4 C," C = ",DEC F/10000,".",DEC4 F," F",13]
ENDIF
ELSE
F = F + 320000
SEROUT2 sSEROUT_PIN,cBAUD,[" ",DEC C/10000,".",DEC4 C," C = ",DEC F/10000,".",DEC4 F," F",13]
ENDIF
RETURN
MAIN:
SEROUT2 sSEROUT_PIN,cBAUD,[" ",13]
SEROUT2 sSEROUT_PIN,cBAUD,["START",13]
iSIGN = 1 'NEG
FOR C = 100 TO 0 STEP -1 '-.0100 C TO 0 C
GOSUB subC_TO_F
NEXT
iSIGN = 0 'POS
FOR C = 0 TO 100 STEP 1 '0 C TO .0100 C
GOSUB subC_TO_F
NEXT
iSIGN = 1
FOR C = 550000 TO 0 STEP -10000 '-55.0000 C TO 0 C 'DO STEP -1 FOR COMPLETE BUT FOREVER
GOSUB subC_TO_F
NEXT
iSIGN = 0
FOR C = 0 TO 1250000 STEP 10000 '0 C TO 125.0000 C 'DO STEP 1 FOR COMPLETE BUT FOREVER
GOSUB subC_TO_F
NEXT
STOP
END
Norm
Bookmarks