10 CLS 20 KEY OFF 30 SCREEN 0,1,0,0 40 DIM DNO(10),DTM$(10),DRV$(10),DUNIT$(10) 860 REM main 870 CLS 880 PN$="COM2:1200,N,7,2,RS,CS,DS,CD" 890 N$="2":I$="1":P$="2":BP$="1":CP$="2":T$="2":F$="1":FUN$="DC VOLTAGE (V)" 891 REM 892 REM 893 GOTO 2050 894 REM 895 REM 900 LOCATE 3,1 1125 COLOR 0,7 1130 LOCATE 4,10:PRINT" MICRONTA MANUALRANGE BAR GRAPH DMM RS-232C DEMONSTRATION ":COLOR 7,0 1140 LOCATE 6,8:PRINT "Function ; DC VOLTAGE ":LOCATE 6,47:PRINT"Comparison ; OFF" 1150 LOCATE 7,8:PRINT"Interval ; 5 sec" 1160 LOCATE 8,8:PRINT"Printer On/Off ; OFF":LOCATE 8,47:PRINT"Low Limit":LOCATE 8,63:PRINT "High Limit" 1170 LOCATE 9,8:PRINT"File Open/Close; CLOSE" 1180 LOCATE 10,8:PRINT" File Name ;" 1190 LOCATE 11,8:PRINT" Time Rec. ; NO Port" 1200 LOCATE 12,8:PRINT "Beep On/Off ; ON":LOCATE 12,36:COLOR 0,7:PRINT " Com 1 ":COLOR 7,0:LOCATE 12,47:PRINT"NO":LOCATE 12,54:PRINT"TIME":LOCATE 12,67:PRINT"VALUE" 1210 LOCATE 10,8:PRINT" File Name ;" 1220 LOCATE 14,8:PRINT" VALUE " 1230 GOSUB 1970:LOCATE 18,7:COLOR 0,7:PRINT " Desired activity ? ":COLOR 7,0 1240 LOCATE 19,9:COLOR 0,7:PRINT "F";:COLOR 7,0:PRINT"=Function ";:COLOR 0,7:PRINT"I";:COLOR 7,0:PRINT"=Interval ";:COLOR 0,7:PRINT"P";:COLOR 7,0:PRINT"=Printer" 1250 LOCATE 20,9:COLOR 0,7:PRINT "L";:COLOR 7,0:PRINT"=File ";:COLOR 0,7:PRINT"B";:COLOR 7,0:PRINT"=Beep ";:COLOR 0,7:PRINT"C";:COLOR 7,0:PRINT"=Compare" 1260 LOCATE 21,9:COLOR 0,7:PRINT "R";:COLOR 7,0:PRINT"=Run ";:COLOR 0,7:PRINT"O";:COLOR 7,0:PRINT"=Port ";:COLOR 0,7:PRINT"Q";:COLOR 7,0:PRINT"=Quit " 1270 X$=INKEY$ 1280 IF X$="" THEN GOTO 1270 1290 IF X$="f" OR X$="F" THEN GOTO 1390 1300 IF X$="i" OR X$="I" THEN GOTO 1570 1310 IF X$="p" OR X$="P" THEN GOTO 1660 1320 IF X$="l" OR X$="L" THEN GOTO 1750 1330 IF X$="r" OR X$="R" THEN LOCATE 14,23:PRINT "RUN":R$="1":GOTO 2050 1340 IF X$="b" OR X$="B" THEN GOTO 2820 1350 IF X$="c" OR X$="C" THEN GOTO 2910 1360 IF X$="q" OR X$="Q" THEN PRINT:COM(1) OFF:CLOSE:SYSTEM 1370 IF X$="o" OR X$="O" THEN GOTO 3040 1380 GOTO 1230 1390 REM function set 1400 GOSUB 1970 1410 LOCATE 18,7:COLOR 0,7:PRINT " Function desired ( 1 - 9 ) ? ":COLOR 7,0 1420 LOCATE 20,8:COLOR 0,7:PRINT "1";:COLOR 7,0:PRINT "=DCV ";:COLOR 0,7:PRINT "2";:COLOR 7,0:PRINT "=ACV ";:COLOR 0,7:PRINT "3";:COLOR 7,0:PRINT "=OHM " 1430 LOCATE 21,8:COLOR 0,7:PRINT "4";:COLOR 7,0:PRINT "=DCA ";:COLOR 0,7:PRINT "5";:COLOR 7,0:PRINT "=ACA ";:COLOR 0,7:PRINT "6";:COLOR 7,0:PRINT "=FREQ " 1440 LOCATE 22,8:COLOR 0,7:PRINT "7";:COLOR 7,0:PRINT "=CAP ";:COLOR 0,7:PRINT "8";:COLOR 7,0:PRINT "=hFE ";:COLOR 0,7:PRINT "9";:COLOR 7,0:PRINT "=LOGIC " 1450 F$=INKEY$ 1460 IF F$="" THEN GOTO 1450 1470 IF F$="1" THEN FUN$="DC VOLTAGE (V)":LOCATE 6,25:PRINT SPACE$(15):LOCATE 6,25:PRINT "DC VOLTAGE":GOTO 1230 1480 IF F$="2" THEN FUN$="AC VOLTAGE (V)":LOCATE 6,25:PRINT SPACE$(15):LOCATE 6,25:PRINT "AC VOLTAGE":GOTO 1230 1490 IF F$="3" THEN FUN$="RESISTANCE (OHM)":LOCATE 6,25:PRINT SPACE$(15):LOCATE 6,25:PRINT "OHM":GOTO 1230 1500 IF F$="4" THEN FUN$="DC CURRENT (mA)":LOCATE 6,25:PRINT SPACE$(15):LOCATE 6,25:PRINT "DC A":GOTO 1230 1510 IF F$="5" THEN FUN$="AC CURRENT (mA)":LOCATE 6,25:PRINT SPACE$(15):LOCATE 6,25:PRINT "AC A":GOTO 1230 1520 IF F$="6" THEN FUN$="FREQUENCY (Hz)":LOCATE 6,25:PRINT SPACE$(15):LOCATE 6,25:PRINT "FREQ":GOTO 1230 1530 IF F$="7" THEN FUN$="CAPACITANCE(F)":LOCATE 6,25:PRINT SPACE$(15):LOCATE 6,25:PRINT "CAP ":GOTO 1230 1540 IF F$="8" THEN FUN$="hFE ":LOCATE 6,25:PRINT SPACE$(15):LOCATE 6,25:PRINT "hFE ":GOTO 1230 1550 IF F$="9" THEN FUN$="LOGIC(HI,LO) ":LOCATE 6,25:PRINT SPACE$(15):LOCATE 6,25:PRINT "LOGIC":GOTO 1230 1560 BEEP:GOTO 1450 1570 REM interval set 1580 GOSUB 1970 1590 LOCATE 18,8:PRINT "Interval Time ( S or 1 - 60 ) ?" 1600 LOCATE 19,8:PRINT " Single = S 1610 LOCATE 20,8:PRINT " Time = 1 sec to 60 sec" 1620 LOCATE 18,40:LINE INPUT;I$ 1630 IF I$="s" OR I$="S" THEN LOCATE 7,25:PRINT SPACE$(15):LOCATE 7,25:PRINT "Single":GOTO 1230 1640 IF VAL(I$)>=0 THEN LOCATE 7,25:PRINT CHR$(15):LOCATE 7,25:PRINT I$;" sec ":TC1=0:GOTO 1230 1650 BEEP:GOTO 1590 1660 REM printer set 1670 GOSUB 1970 1680 LOCATE 18,8:PRINT "Printer setting ( 1 - 2 ) ? " 1690 LOCATE 19,8:PRINT " Printer On = 1 " 1700 LOCATE 20,8:PRINT " Printer Off= 2 " 1710 P$=INKEY$ 1720 IF P$="1" THEN LOCATE 8,25:PRINT SPACE$(15):LOCATE 8,25:PRINT "ON":GOTO 1380 1730 IF P$="2" THEN LOCATE 8,25:PRINT SPACE$(15):LOCATE 8,25:PRINT "OFF":GOTO 1380 1740 GOTO 1680 1750 REM file set 1760 GOSUB 1970 1770 LOCATE 18,8:PRINT "File Handling ( 1 - 2 ) ? " 1780 LOCATE 19,8:PRINT " File Open = 1 " 1790 LOCATE 20,8:PRINT " File Close = 2 " 1800 N$=INKEY$ 1810 IF N$="1" THEN LOCATE 9,25:PRINT SPACE$(15):LOCATE 9,25:PRINT "OPEN":GOTO 1840 1820 IF N$="2" THEN LOCATE 9,25:PRINT SPACE$(15):LOCATE 9,25:PRINT "CLOSE":CLOSE #2:GOTO 1230 1830 GOTO 1800 1840 GOSUB 1970 1850 LOCATE 18,8:PRINT "File Name ? " 1860 LOCATE 19,8:PRINT " Driver:file name.prn" 1870 LOCATE 20,8:PRINT " ex) B:TEST.PRN " 1880 LOCATE 18,20:LINE INPUT " ";Z$ 1890 LOCATE 10,25:PRINT SPACE$(15):LOCATE 10,25:PRINT Z$ :CLOSE #2:OPEN "o",#2,Z$:GOSUB 1970 1900 LOCATE 18,8:PRINT "Times Recording ( 1 - 2 ) ? " 1910 LOCATE 19,8:PRINT " Time On = 1 " 1920 LOCATE 20,8:PRINT " Time Off = 2 " 1930 T$=INKEY$ 1940 IF T$="1" THEN LOCATE 11,25:PRINT SPACE$(10):LOCATE 11,25:PRINT "ON":GOTO 1230 1950 IF T$="2" THEN LOCATE 11,25:PRINT SPACE$(10):LOCATE 11,25:PRINT "OFF":GOTO 1230 1960 GOTO 1930 1970 REM desired window clear 1980 LOCATE 16,18:PRINT SPACE$(15) 1990 LOCATE 18,7:PRINT SPACE$(37) 2000 LOCATE 19,7:PRINT SPACE$(37) 2010 LOCATE 20,7:PRINT SPACE$(37) 2020 LOCATE 21,7:PRINT SPACE$(37) 2030 LOCATE 22,7:PRINT SPACE$(37) 2040 RETURN 2050 REM running program 2060 GOSUB 1970 2070 IF I$="s" OR I$="S" THEN GOTO 2150 2080 LOCATE 18,8:PRINT "REQUEST DATA (Y/N) ?" 2090 X$=INKEY$ 2100 IF X$="n" OR X$="N" THEN LOCATE 14,23:PRINT SPACE$(5):GOTO 1230 2110 IF TC=VAL(MID$(TIME$,8,1)) THEN GOTO 2080 2120 TC=VAL(MID$(TIME$,8,1)):TC1=TC1+1 2130 IF TC1=VAL(I$) THEN TC1=0:GOSUB 2220:GOTO 2080 2140 GOTO 2080 2150 LOCATE 18,8:PRINT "REQUEST DATA (Y/N) ?" 2160 X$=INKEY$ 2170 IF X$="y" OR X$="Y" THEN X$=" ":GOTO 2200 2180 IF X$="n" OR X$="N" THEN LOCATE 12,23:PRINT SPACE$(5):STOP 2190 GOTO 2150 2200 GOSUB 2220 2210 GOTO 2150 2220 '********** SERIAL COMMUNICATION RECEIVE MODULE ********* 2250 A$="D" :LOCATE 14,35:PRINT"BUSY" 2260 TM$=TIME$ 2270 EC=0:EC1=0:EC2=0 2280 OPEN PN$ AS #1 2290 'COM(1) OFF 2300 'COM(1) ON 2310 PRINT #1,A$; 2320 IN$=INPUT$(14,#1) 2330 VALUE$=MID$(IN$,4,6) 2340 RV$=VALUE$ 2350 UNIT$=MID$(IN$,10,4) 2360 SIGN$=MID$(IN$,3,1) 2370 'COM(1) OFF 2380 CLOSE #1 2390 LOCATE 14,35:PRINT SPACE$(5) 2400 REM 2410 LENGTH=LEN(VALUE$):VALUE=VAL(VALUE$) 2420 IF MID$(IN$,5,1)="O" OR MID$(IN$,6,1)="O" OR MID$(IN$,7,1)="O" THEN RV$="OFL" 2430 FV$=SIGN$+RV$ 2440 NO=NO+1 2450 LOCATE 16,18:PRINT SPACE$(15):LOCATE 16,18:PRINT SIGN$;" ";RV$;" ";UNIT$ 2530 GOSUB 3000 2540 IF N$="2" THEN RETURN 2550 IF PUNIT$=UNIT$ THEN GOTO 2560 ELSE WRITE #2,FUN$+"-"+UNIT$:PUNIT$=UNIT$ 2560 IF T$="1" THEN FV$=TM$+CHR$(28)+RV$ 2570 WRITE #2,FV$:RETURN 2580 REM 2590 REM COMMUNICATION ERROR DISPLAY 2600 STOP 3000 PRINT NO;SPACE$(8);TM$;SPACE$(12);SIGN$;RV$;" ";UNIT$ 3010 RETURN