DECLARE SUB MakeBox () DECLARE SUB GetMv (MV) DECLARE SUB MV2DG (MV, MTEMP) REM ============================================================= REM Program READ-DMM.BAS is copyright 2000 by Wallace Venable REM CALL MakeBox LOCATE 22, 12 PRINT "Press to quit." DO UNTIL INKEY$ = CHR$(27) CALL GetMv(MV) CALL MV2DG(MV, MTEMP) LOOP REM =========================== END of MAIN PROGRAM ============================= END SUB GetMv (MV) REM ============================ SUB GetMv ============================== REM === From Radio Shack 22-805 and Metex ME-11 instructions ======== OPEN "COM1:600,N,7,2,RS,CS,DS,CD" FOR RANDOM AS #2 A$ = "D" ' "D" activates data transmission PRINT #2, A$ IN$ = INPUT$(14, #2) CLOSE #2 REM ========= End quotation from meter instructions ================= REM =========== Parse and Verify input from meter =================== LOCATE 8, 8 PRINT "Reading is " LOCATE 4, 8 PRINT "Input string is "; IN$ SET$ = LEFT$(IN$, 3) LOCATE 6, 8 PRINT "Setting is "; SET$ UNIT$ = MID$(IN$, 10, 4) LOCATE 7, 8 PRINT "Units are "; UNIT$ MV = VAL(MID$(IN$, 4, 6)) LOCATE 8, 8 PRINT "Reading is "; MV REM ======== Routine will return meter reading as MV ================ END SUB SUB MakeBox REM ============================= SUB MakeBox ============================= CLS COLOR 3, 1 LOCATE 3, 1 PRINT " ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»" PRINT " º º" PRINT " º º" PRINT " º º" PRINT " º º" PRINT " º º" PRINT " º º" PRINT " º º" PRINT " º º" PRINT " º º" PRINT " º º" PRINT " º º" PRINT " º º" PRINT " º º" PRINT " º º" PRINT " º º" PRINT " º º" PRINT " º º" PRINT " º º" PRINT " º º" PRINT " ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ READ-DMM ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ" COLOR 7 END SUB SUB MV2DG (MV, MTEMP) REM ============================= SUB MV2DG ============================= REM == Conversion of thermocouple reading from millivolts to Farenheit REM == degrees. (Assuming MV > 0.18 and < 0.53 = 40 to 2300øF) REM == Based on reference junction at 32 degrees Farenheit and REM == ISA C96.1-1969 table IF MV < .18 THEN MTEMP = 40 IF MV >= .18 AND MV < 1.52 THEN MTEMP = 40 + (MV - .18) * 60 / (1.52 - .18) IF MV >= 1.52 AND MV < 3.82 THEN MTEMP = 100 + (MV - 1.52) * 100 / (3.82 - 1.52) IF MV >= 3.82 AND MV < 6.09 THEN MTEMP = 200 + (MV - 3.82) * 100 / (6.09 - 3.82) IF MV >= 6.09 AND MV < 8.31 THEN MTEMP = 300 + (MV - 6.09) * 100 / (8.31 - 6.09) IF MV >= 8.31 AND MV < 10.57 THEN MTEMP = 400 + (MV - 8.31) * 100 / (10.57 - 8.31) IF MV >= 10.57 AND MV < 12.86 THEN MTEMP = 500 + (MV - 10.57) * 100 / (12.86 - 10.57) IF MV >= 12.86 AND MV < 15.18 THEN MTEMP = 600 + (MV - 12.86) * 100 / (15.18 - 12.86) IF MV >= 15.18 AND MV < 17.53 THEN MTEMP = 700 + (MV - 15.18) * 100 / (17.53 - 15.18) IF MV >= 17.53 AND MV < 19.89 THEN MTEMP = 800 + (MV - 17.53) * 100 / (19.89 - 17.53) IF MV >= 19.89 AND MV < 22.26 THEN MTEMP = 900 + (MV - 19.89) * 100 / (22.26 - 19.89) IF MV >= 22.26 AND MV < 24.63 THEN MTEMP = 1000 + (MV - 22.26) * 100 / (24.63 - 22.26) IF MV >= 24.63 AND MV < 26.98 THEN MTEMP = 1100 + (MV - 24.63) * 100 / (26.98 - 24.63) IF MV >= 26.98 AND MV < 29.32 THEN MTEMP = 1200 + (MV - 26.98) * 100 / (29.32 - 26.98) IF MV >= 29.32 AND MV < 31.65 THEN MTEMP = 1300 + (MV - 29.32) * 100 / (31.65 - 29.32) IF MV >= 31.65 AND MV < 33.93 THEN MTEMP = 1400 + (MV - 31.65) * 100 / (33.93 - 31.65) IF MV >= 33.93 AND MV < 36.19 THEN MTEMP = 1500 + (MV - 33.93) * 100 / (36.19 - 33.93) IF MV >= 36.19 AND MV < 38.43 THEN MTEMP = 1600 + (MV - 36.19) * 100 / (38.43 - 36.19) IF MV >= 38.43 AND MV < 40.62 THEN MTEMP = 1700 + (MV - 38.43) * 100 / (40.62 - 38.43) IF MV >= 40.62 AND MV < 42.78 THEN MTEMP = 1800 + (MV - 40.62) * 100 / (42.78 - 40.62) IF MV >= 42.78 AND MV < 44.91 THEN MTEMP = 1900 + (MV - 42.78) * 100 / (44.91 - 42.78) IF MV >= 44.91 AND MV < 47! THEN MTEMP = 2000 + (MV - 44.91) * 100 / (47! - 44.91) IF MV >= 47! AND MV < 49.05 THEN MTEMP = 2100 + (MV - 47!) * 100 / (49.05 - 47!) IF MV >= 49.05 AND MV < 51.05 THEN MTEMP = 2200 + (MV - 49.05) * 100 / (51.05 - 49.05) IF MV >= 51.05 AND MV < 53! THEN MTEMP = 2300 + (MV - 51.05) * 100 / (53! - 51.05) LOCATE 10, 8 PRINT "Temperature is " LOCATE 10, 8 PRINT "Temperature is "; MTEMP END SUB