home *** CD-ROM | disk | FTP | other *** search
- 10 ' *** NET*85 ***
- 20 ' SEE EDN FEB 4, 1981 PP 126-133
- 30 ' TRANSLATED TO MICROSOFT BASIC BY R.B. KOLBLY
- 35 ' DISK FILES FOR SAVING AND RESTORING NETWORKS ADDED
- 36 ' DATA FILE OUTPUT CAPABILITY ADDED
- 40 ' GOLDEN RULE SYSTEMS - FEBRUARY 22,1985
- 50 P$="FREQ= ##.####^^^^ AMPL= ##.##^^^^ 20LOG= ####.# PHASE= ####.#"
- 60 K=INT(FRE(A)/4)-23
- 70 X=INT((SQR(169+24*K)-26)/12)-1
- 80 PRINT USING "You have a maximum of ## Nodes Available";X
- 90 INPUT "Number of Nodes Desired (CR=10)";Y
- 100 IF X>=10 AND Y=0 THEN X=10:GOTO 140
- 110 IF X<10 AND Y=0 THEN X=Y:GOTO 140
- 120 IF Y>X THEN 170
- 130 IF Y<X THEN X=Y
- 140 DIM A(X,X),B(X,X),P(X,X),Q(X,X),R(X,X)
- 150 DIM S(X,X),I(2*X)
- 160 DIM T(2*X),M(2*X),N(2*X),O(2*X),L(2*X),Z(2*X)
- 170 PRINT USING "You have selected a maximum of ## nodes";X
- 180 FOR J=1 TO X
- 190 FOR I=1 TO X
- 200 P(I,J)=0
- 210 Q(I,J)=0
- 220 R(I,J)=0
- 230 S(I,J)=0
- 240 NEXT I
- 250 NEXT J
- 260 NODES=X:X=1:T(X)=0
- 270 N=0
- 280 PRINT "1 - Resistor 11 - Analyze Network"
- 290 PRINT "2 - Capacitor 12 - Enable/Disable Printer"
- 300 PRINT "3 - Inductor 13 - Restore Network from Disk"
- 310 PRINT "4 - Transmission Line 14 - Save Network to Disk"
- 320 PRINT "5 - Shorted Stub 15 - Generate ASCII Network File"
- 330 PRINT "6 - Open Stub 16 - Load Network from ASCII File"
- 340 PRINT "7 - Operational Amplifier 17 -"
- 350 PRINT "8 - NPN Transistor 18 -"
- 360 PRINT "9 - Field-effect Transistor 19 -"
- 370 PRINT " 10 - End "
- 410 PRINT
- 420 R6=0:INPUT "Select from list (<CR> for Menu)";R6
- 430 IF R6=1 THEN PRINT "(1) Resistor":GOTO 730
- 440 IF R6=2 THEN PRINT "(2) Capacitor":GOTO 810
- 450 IF R6=3 THEN PRINT "(3) Inductor":GOTO 770
- 460 IF R6=4 THEN PRINT "(4) Transmission Line":GOTO 560
- 470 IF R6=5 THEN PRINT "(5) Shorted Stub":GOTO 690
- 480 IF R6=6 THEN PRINT "(6) Open Stub":GOTO 710
- 490 IF R6=7 THEN PRINT "(7) Op Amp":GOTO 990
- 500 IF R6=8 THEN PRINT "(8) NPN Transistor":GOTO 880
- 510 IF R6=9 THEN PRINT "(9) FET Transistor":GOTO 840
- 520 IF R6=10 THEN PRINT "(10) Program Finish":CLS:END
- 530 IF R6=11 THEN PRINT "(11) Analysis":GOTO 1060
- 540 IF R6=12 THEN INPUT "(12) Hardcopy Output (Y/N)";H$:GOTO 4700
- 541 IF R6=13 THEN PRINT "(13) Restore Network from Disk":GOTO 3000
- 542 IF R6=14 THEN PRINT "(14) Save Network to Disk":GOTO 3500
- 543 IF R6=15 THEN PRINT "(15) Generate ASCII Network File":GOTO 5000
- 544 IF R6=16 THEN PRINT "(16) Load Network from ASCII File":GOTO 4000
- 550 GOTO 280
- 560 T(X)=1:INPUT "Shield in";M(X):REM *** TRANSMISSION LINE ***
- 570 INPUT "Center in";I(X):INPUT "Center out";O(X)
- 580 INPUT "Shield out";N(X):GOTO 610
- 590 INPUT "Node A";M(X)
- 600 INPUT "Node B";N(X)
- 610 INPUT "Z0";Z(X)
- 620 INPUT "Quarter-wave Frequency (Hz)";L(X)
- 630 IF I(X)>N THEN N=I(X)
- 640 IF M(X)>N THEN N=M(X)
- 650 IF N(X)>N THEN N=N(X)
- 660 IF O(X)>N THEN N=O(X)
- 670 X=X+1:T(X)=0
- 680 GOTO 420
- 690 T(X)=3: REM *** SHORTED STUB ***
- 700 GOTO 590
- 710 T(X)=2: REM *** OPEN STUB ***
- 720 GOTO 590
- 730 INPUT "Node A";I:INPUT "Node B";J:INPUT "Resistance (Ohms)";V
- 740 V=1/V
- 750 GOSUB 1430
- 760 GOTO 420
- 770 INPUT "Node A";I:INPUT "Node B";J:INPUT "Inductance (H)";V
- 780 V=1/V
- 790 GOSUB 1360
- 800 GOTO 420
- 810 INPUT "Node A";I:INPUT "Node B";J:INPUT "Capacitance (Farads)";V
- 820 GOSUB 1480
- 830 GOTO 420
- 840 INPUT "Gate";K:INPUT "Source";J:INPUT "Drain";I:INPUT "Gaim(Mho)";V
- 850 L=J
- 860 GOSUB 1530
- 870 GOTO 420
- 880 INPUT "Base";K:INPUT "Emitter";J:INPUT "Collector";I:INPUT "Beta";R5
- 890 INPUT "Rbe (Ohms)";V
- 900 V=1/V
- 910 L=I
- 920 I=K
- 930 GOSUB 1430
- 940 I=L
- 950 L=J
- 960 V=V*R5
- 970 GOSUB 1530
- 980 GOTO 420
- 990 INPUT "+In";K:INPUT "-In";L:INPUT "-Out";I:REM *** OP-AMP ***
- 1000 INPUT "+Out";J:INPUT "Gain(Vo/Vi)";R5:INPUT "Output Resistance(Ohms)";V
- 1010 V=1/V
- 1020 GOSUB 1430
- 1030 V=V*R5
- 1040 GOSUB 1530
- 1050 GOTO 420
- 1060 INPUT "Input Node";E:INPUT "Output Node";F:N=N-1
- 1070 INPUT "Start,Stop Frequencies (Hz)";G,H
- 1080 INPUT "# of Data Points";M
- 1090 INPUT "Frequency Sweep (0 for log, 1 for linear)";R6
- 1091 PFG=0:INPUT "Do you want output data files";Q$:Q$=LEFT$(Q$,1)
- 1092 IF Q$="Y" OR Q$="y" THEN GOSUB 7000
- 1093 IF H$<>"Y" THEN GOTO 1100
- 1094 IF LEN(H$)=0 THEN GOTO 1100
- 1095 LPRINT:LPRINT TOP$:LPRINT
- 1100 D=(H-G)/(M-1)
- 1110 R4=EXP(LOG(H/G)/(M-1))
- 1120 R0=G:R9=0
- 1130 R9=R9+1
- 1140 W=2*3.14159*R0
- 1150 O=E:Z=F
- 1160 GOSUB 2470
- 1170 GOSUB 2200
- 1180 V=R5:U=Z
- 1190 IF (E+F)/2=INT((E+F)/2) THEN 1210
- 1200 U=U-180
- 1210 O=E:Z=E
- 1220 GOSUB 2200
- 1230 U=U-Z
- 1240 IF V=0 THEN R7=-999:GOTO 1270
- 1250 IF R5=0 THEN R7=9999:GOTO 1270
- 1260 V=V/R5:R7=8.68589*LOG(V)
- 1270 IF U>180 THEN U=U-360
- 1280 IF U<-180 THEN U=U+360
- 1290 PRINT USING P$;R0,V,R7,U
- 1300 IF H$="Y" THEN LPRINT USING P$;R0,V,R7,U
- 1302 IF PFG=0 THEN GOTO 1310
- 1304 GOSUB 7200
- 1310 IF R6=0 THEN R0=R0*R4
- 1320 IF R6<>0 THEN R0=R0+D
- 1330 IF R9<>M THEN 1130
- 1340 N=N+1
- 1350 CLOSE:GOTO 420
- 1360 R(I,I)=R(I,I)+V:REM INDL
- 1370 R(J,J)=R(J,J)+V
- 1380 R(I,J)=R(I,J)-V
- 1390 R(J,I)=R(J,I)-V
- 1400 IF I>N THEN N=I
- 1410 IF J>N THEN N=J
- 1420 RETURN
- 1430 P(I,I)=P(I,I)+V:REM RESL
- 1440 P(J,J)=P(J,J)+V
- 1450 P(I,J)=P(I,J)-V
- 1460 P(J,I)=P(J,I)-V
- 1470 GOTO 1400
- 1480 Q(I,I)=Q(I,I)+V
- 1490 Q(J,J)=Q(J,J)+V:REM CAPL
- 1500 Q(I,J)=Q(I,J)-V
- 1510 Q(J,I)=Q(J,I)-V
- 1520 GOTO 1400
- 1530 P(I,K)=P(I,K)+V:REM TRANS
- 1540 P(J,L)=P(J,L)+V
- 1550 P(J,K)=P(J,K)-V
- 1560 P(I,L)=P(I,L)-V
- 1570 IF K>N THEN N=K
- 1580 IF L>K THEN N=L
- 1590 GOTO 1400
- 1600 IF N>1 THEN 1630: REM COMP
- 1610 O=A(1,1):Z=B(1,1)
- 1620 RETURN
- 1630 O=1
- 1640 Z=0
- 1650 K=1
- 1660 L=K
- 1670 S=ABS(A(K,K))+ABS(B(K,K))
- 1680 I=K-1
- 1690 I=I+1
- 1700 T=ABS(A(I,K))+ABS(B(I,K))
- 1710 IF S>=T THEN 1730
- 1720 L=I:S=T
- 1730 IF I<>N THEN 1690
- 1740 IF L=K THEN 1800
- 1750 J=0
- 1760 J=J+1
- 1770 S=-A(K,J):A(K,J)=A(L,J):A(L,J)=S
- 1780 A=-B(K,J):B(K,J)=B(L,J):B(L,J)=A
- 1790 IF J<>N THEN 1760
- 1800 L=K+1:I=L-1
- 1810 I=I+1
- 1820 A=A(K,K)*A(K,K)+B(K,K)*B(K,K)
- 1830 S=(A(I,K)*A(K,K)+B(I,K)*B(K,K))/A
- 1840 B(I,K)=(A(K,K)*B(I,K)-A(I,K)*B(K,K))/A
- 1850 A(I,K)=S
- 1860 IF I<>N THEN 1810
- 1870 C=K-1
- 1880 IF C=0 THEN 1960
- 1890 J=L-1
- 1900 J=J+1:I=0
- 1910 I=I+1
- 1920 A(K,J)=A(K,J)-A(K,I)*A(I,J)+B(K,I)*B(I,J)
- 1930 B(K,J)=B(K,J)-B(K,I)*A(I,J)-A(K,I)*B(I,J)
- 1940 IF C<>I THEN 1910
- 1950 IF J><N THEN 1900
- 1960 C=K
- 1970 K=K+1:I=K-1
- 1980 I=I+1:J=0
- 1990 J=J+1
- 2000 A(I,K)=A(I,K)-A(I,J)*A(J,K)+B(I,J)*B(J,K)
- 2010 B(I,K)=B(I,K)-B(I,J)*A(J,K)-A(I,J)*B(J,K)
- 2020 IF J<>C THEN 1990
- 2030 IF I<>N THEN 1980
- 2040 IF K<>N THEN 1660
- 2050 L=1
- 2060 C=INT(N/2)
- 2070 IF N=2*C THEN 2100
- 2080 L=0
- 2090 O=A(N,N):Z=B(N,N)
- 2100 I=0
- 2110 I=I+1
- 2120 J=N-I+L
- 2130 S=A(I,I)*A(J,J)-B(I,I)*B(J,J)
- 2140 A=A(I,I)*B(J,J)+A(J,J)*B(I,I)
- 2150 T=O*S-Z*A
- 2160 Z=Z*S+O*A
- 2170 O=T
- 2180 IF I<>C THEN 2110
- 2190 RETURN
- 2200 R5=N:REM DET
- 2210 N=N-1
- 2220 I=0
- 2230 K=0
- 2240 K=K+1
- 2250 IF K<>O THEN 2270
- 2260 I=1
- 2270 J=0:L=0
- 2280 L=L+1
- 2290 IF L<>Z THEN 2310
- 2300 J=1
- 2310 A(K,L)=P(K+I,L+J)
- 2320 B(K,L)=W*Q(K+I,L+J)-R(K+I,L+J)/W+S(K+I,L+J)
- 2330 IF L<>N THEN 2280
- 2340 IF K<>N THEN 2240
- 2350 GOSUB 1600
- 2360 N=R5
- 2370 R5=SQR(O*O+Z*Z)
- 2380 Y=Z
- 2390 IF O=0 THEN 2450
- 2400 Z=180/3.14159*ATN(Z/O)
- 2410 IF O>0 THEN RETURN
- 2420 Z=Z+SGN(Y)*180
- 2430 IF Y=0 THEN Z=180
- 2440 RETURN
- 2450 Z=90*SGN(Y)
- 2460 RETURN
- 2470 IF T(1)=0 THEN RETURN
- 2480 X=0
- 2490 R1=0
- 2500 R1=R1+1:R2=0
- 2510 R2=R2+1
- 2520 S(R1,R2)=0
- 2530 IF R2<>N+1 THEN 2510
- 2540 IF R1<>N+1 THEN 2500
- 2550 X=X+1
- 2560 IF X>20 THEN RETURN
- 2570 IF T(X)=0 THEN RETURN
- 2580 IF T(X)=1 THEN 2640
- 2590 IF T(X)=2 THEN 2830
- 2600 R1=-1/(Z(X)*TAN(.25*W/L(X)))
- 2610 Q=M(X):R=N(X)
- 2620 GOSUB 2870
- 2630 GOTO 2550
- 2640 R1=-1/(Z(X)*TAN(.25*W/L(X)))
- 2650 Q=M(X):R=I(X)
- 2660 GOSUB 2870
- 2670 Q=N(X):R=O(X):GOSUB 2870
- 2680 R1=1/(Z(X)*SIN(.25*W/L(X)))
- 2690 P=I(X)
- 2700 R=N(X)
- 2710 S(R,P)=S(R,P)-R1
- 2720 S(P,R)=S(P,R)-R1
- 2730 R=O(X)
- 2740 S(R,P)=S(R,P)+R1
- 2750 S(P,R)=S(P,R)+R1
- 2760 P=M(X)
- 2770 S(R,P)=S(R,P)-R1
- 2780 S(P,R)=S(P,R)-R1
- 2790 R=N(X)
- 2800 S(R,P)=S(R,P)+R1
- 2810 S(P,R)=S(P,R)+R1
- 2820 GOTO 2550
- 2830 R2=1/(Z(X)*TAN(.25*W/L(X)))
- 2840 R3=1/(Z(X)*SIN(.25*W/L(X)))
- 2850 R1=R3*R3/R2-R2
- 2860 GOTO 2610
- 2870 S(Q,Q)=S(Q,Q)+R1
- 2880 S(R,R)=S(R,R)+R1
- 2890 S(Q,R)=S(Q,R)-R1
- 2900 S(R,Q)=S(R,Q)-R1
- 2910 RETURN
- 2920 END
- 3000 INPUT "Name of File to load <CR> for Directory";F$:' LOAD FROM FILE
- 3010 IF LEN(F$)=0 THEN FILES:GOTO 3000
- 3020 IF F$="B:" THEN FILES "B:*.*":GOTO 3000
- 3030 IF F$="A:" THEN FILES "A:*.*":GOTO 3000
- 3040 OPEN "I",#1,F$
- 3050 INPUT #1,X
- 3060 ERASE A,B,P,Q,R,S,I,T,M,N,O,L,Z
- 3070 DIM A(X,X),B(X,X),P(X,X),Q(X,X),R(X,X)
- 3080 DIM S(X,X),I(2*X)
- 3090 DIM T(2*X),M(2*X),N(2*X),O(2*X),L(2*X),Z(2*X)
- 3095 INPUT #1,N
- 3100 FOR J=1 TO X
- 3110 INPUT #1,I(J),T(J),M(J),N(J),O(J),L(J),Z(J)
- 3120 FOR K=1 TO X
- 3130 INPUT #1,A(J,K),B(J,K),P(J,K),Q(J,K),R(J,K),S(J,K)
- 3140 NEXT K
- 3150 NEXT J
- 3160 CLOSE #1
- 3170 NODES=X:GOTO 420
- 3500 INPUT "Name of file to save <CR> for Directory";F$:' SAVE INTO FILE
- 3510 IF LEN(F$)=0 THEN FILES:GOTO 3500
- 3520 IF F$="B:" THEN FILES "B:*.*":GOTO 3500
- 3530 IF F$="A:" THEN FILES "A:*.*":GOTO 3500
- 3540 OPEN "O",#1,F$
- 3550 PRINT #1,NODES,N
- 3600 FOR J=1 TO NODES
- 3610 PRINT #1,I(J),T(J),M(J),N(J),O(J),L(J),Z(J)
- 3620 FOR K=1 TO NODES
- 3630 PRINT #1,A(J,K),B(J,K),P(J,K),Q(J,K),R(J,K),S(J,K)
- 3640 NEXT K
- 3650 NEXT J
- 3660 CLOSE #1
- 3670 GOTO 420
- 4000 INPUT "Name of file to load <cr> for directory";F$
- 4010 IF LEN(F$)=0 THEN FILES:GOTO 4000
- 4020 OPEN "I",#1,F$
- 4030 IF EOF(1) THEN CLOSE:GOTO 420
- 4035 R6$="":INPUT #1,R6$:R6$=LEFT$(R6$,1)
- 4040 IF R6$="1" THEN GOTO 4320
- 4050 IF R6$="2" THEN GOTO 4400
- 4060 IF R6$="3" THEN GOTO 4360
- 4070 IF R6$="4" THEN GOTO 4150
- 4080 IF R6$="5" THEN GOTO 4280
- 4090 IF R6$="6" THEN GOTO 4300
- 4100 IF R6$="7" THEN GOTO 4580
- 4110 IF R6$="8" THEN GOTO 4470
- 4120 IF R6$="9" THEN GOTO 4430
- 4130 IF EOF(1) THEN 420
- 4140 GOTO 4030
- 4150 T(X)=1:INPUT #1,M$:M(X)=VAL(M$):REM *** TRANSMISSION LINE ***
- 4160 INPUT #1,I$:I(X)=VAL(I$):INPUT #1,O$:O(X)=VAL(O$)
- 4170 INPUT #1,N$:N(X)=VAL(N$):GOTO 4200
- 4180 INPUT #1,M$:M(X)=VAL(M$)
- 4190 INPUT #1,N$:N(X)=VAL(N$)
- 4200 INPUT #1,Z$:Z(X)=VAL(Z$)
- 4210 INPUT #1,L$:L(X)=VAL(L$)
- 4220 IF I(X)>N THEN N=I(X)
- 4230 IF M(X)>N THEN N=M(X)
- 4240 IF N(X)>N THEN N=N(X)
- 4250 IF O(X)>N THEN N=O(X)
- 4260 X=X+1:T(X)=0
- 4270 GOTO 4030
- 4280 T(X)=3: REM *** SHORTED STUB ***
- 4290 GOTO 4180
- 4300 T(X)=2: REM *** OPEN STUB ***
- 4310 GOTO 4180
- 4320 INPUT #1,I$:I=VAL(I$):INPUT #1,J$:J=VAL(J$):INPUT #1,V$:V=VAL(V$)
- 4330 V=1/V
- 4340 GOSUB 1430
- 4350 GOTO 4030
- 4360 INPUT #1,I$:I=VAL(I$):INPUT #1,J$:J=VAL(J$):INPUT #1,V$:V=VAL(V$)
- 4370 V=1/V
- 4380 GOSUB 1360
- 4390 GOTO 4030
- 4400 INPUT #1,I$:I=VAL(I$):INPUT #1,J$:J=VAL(J$):INPUT #1,V$:V=VAL(V$)
- 4410 GOSUB 1480
- 4420 GOTO 4030
- 4430 INPUT #1,K$:K=VAL(K$):INPUT #1,J$:J=VAL(J$):INPUT #1,I$:I=VAL(I$):INPUT #1,V$:V=VAL(V$)
- 4440 L=J
- 4450 GOSUB 1530
- 4460 GOTO 4030
- 4470 INPUT "BASE";K:INPUT #1,J$:J=VAL(J$):INPUT #1,I$:I=VAL(I$):INPUT #1,R$:R5=VAL(R$)
- 4480 INPUT #1,V$:V=VAL(V$)
- 4490 V=1/V
- 4500 L=I
- 4510 I=K
- 4520 GOSUB 1430
- 4530 I=L
- 4540 L=J
- 4550 V=V*R5
- 4560 GOSUB 1530
- 4570 GOTO 4030
- 4580 INPUT #1,K$:K=VAL(K$):INPUT #1,L$:L=VAL(L$):INPUT #1,I$:I=VAL(I$)
- 4590 INPUT #1,J$:J=VAL(J$):INPUT #1,R$:R5=VAL(R$):INPUT #1,V$:V=VAL(V$)
- 4600 V=1/V
- 4610 GOSUB 1430
- 4620 V=V*R5
- 4630 GOSUB 1530
- 4640 GOTO 4030
- 4700 H$=LEFT$(H$,1)
- 4710 IF H$="y" THEN H$="Y"
- 4720 IF H$<>"Y" THEN GOTO 420
- 4730 LINE INPUT "Header for hardcopy output? ";TOP$
- 4740 GOTO 420
- 5000 INPUT "Name of file (<cr> for Directory)";F$
- 5010 IF LEN(F$)=0 THEN FILES:GOTO 5000
- 5020 OPEN "O",#1,F$
- 5200 PRINT "1 RESISTOR"
- 5210 PRINT "2 CAPACITOR"
- 5220 PRINT "3 INDUCTOR"
- 5230 PRINT "4 TRANSMISSION LINE"
- 5240 PRINT "5 SHORTED STUB"
- 5250 PRINT "6 OPEN STUB"
- 5260 PRINT "7 OPERATIONAL AMPLIFIER"
- 5270 PRINT "8 NPN TRANSISTOR"
- 5280 PRINT "9 FIELD-EFFECT TRANSISTOR"
- 5290 PRINT "10 STOP"
- 5360 R6=0:INPUT "SELECT FROM LIST";R6:R6$=STR$(R6)
- 5370 IF R6=1 THEN PRINT "(1) RESISTOR":GOTO 5690
- 5380 IF R6=2 THEN PRINT "(2) CAPACITOR":GOTO 5770
- 5390 IF R6=3 THEN PRINT "(3) INDUCTOR":GOTO 5730
- 5400 IF R6=4 THEN PRINT "(4) TRANSMISSION LINE":GOTO 5520
- 5410 IF R6=5 THEN PRINT "(5) SHORTED STUB":GOTO 5650
- 5420 IF R6=6 THEN PRINT "(6) OPEN STUB":GOTO 5670
- 5430 IF R6=7 THEN PRINT "(7) OP AMP":GOTO 5950
- 5440 IF R6=8 THEN PRINT "(8) NPN TRANSISTOR":GOTO 5840
- 5450 IF R6=9 THEN PRINT "(9) FET TRANSISTOR":GOTO 5800
- 5460 IF R6=10 THEN PRINT "(10) FILE COMPLETED":CLOSE #1:GOTO 420
- 5510 GOTO 5360
- 5520 INPUT "SHIELD IN";M$:REM *** TRANSMISSION LINE ***
- 5530 INPUT "CENTER IN";I$:INPUT "CENTER OUT";O$
- 5531 PRINT #1,R6$+" * TRANSMISSION LINE"
- 5532 PRINT #1,M$
- 5533 PRINT #1,I$
- 5534 PRINT #1,O$
- 5540 INPUT "SHIELD OUT";N$:PRINT #1,N$:GOTO 5570
- 5550 INPUT "NODE A";M$:PRINT #1,M$
- 5560 INPUT "NODE B";N$:PRINT #1,N$
- 5570 INPUT "Z0";Z$:PRINT #1,Z$
- 5580 INPUT "QUARTER-WAVE FREQUENCY (HZ)";L$:PRINT #1,L$
- 5640 GOTO 5360
- 5650 REM *** SHORTED STUB ***
- 5655 PRINT #1,R6$+" * SHORTED STUB"
- 5660 GOTO 5550
- 5670 PRINT #1,R6$+" * OPEN STUB":REM *** OPEN STUB ***
- 5680 GOTO 5550
- 5690 INPUT "NODE A";I$:INPUT "NODE B";J$:INPUT "RESISTANCE (OHMS)";V$
- 5700 PRINT #1,R6$+" * RESISTOR"
- 5702 PRINT #1,I$
- 5704 PRINT #1,J$
- 5706 PRINT #1,V$
- 5720 GOTO 5360
- 5730 INPUT "NODE A";I$:INPUT "NODE B";J$:INPUT "INDUCTANCE (H)";V$
- 5740 PRINT #1,R6$+" * INDUCTOR"
- 5742 PRINT #1,I$
- 5744 PRINT #1,J$
- 5746 PRINT #1,V$
- 5760 GOTO 5360
- 5770 INPUT "NODE A";I$:INPUT "NODE B";J$:INPUT "CAPACITANCE (FARADS)";V$
- 5775 PRINT #1,R6$+" * CAPACITOR"
- 5790 GOTO 5742
- 5800 INPUT "GATE";K$:INPUT "SOURCE";J$:INPUT "DRAIN";I$:INPUT "GAIN(MHO)";V$
- 5810 PRINT #1,R6$+" * FET"
- 5812 PRINT #1,K$
- 5814 PRINT #1,J$
- 5816 PRINT #1,I$
- 5818 PRINT #1,V$
- 5830 GOTO 5360
- 5840 INPUT "BASE";K$:INPUT "EMITTER";J$:INPUT "COLLECTOR";I$:INPUT "BETA";R5$
- 5850 INPUT "Rbe (OHMS)";V$
- 5860 PRINT #1,R6$+" * NPN TRANSISTOR"
- 5861 PRINT #1,K$
- 5862 PRINT #1,J$
- 5863 PRINT #1,I$
- 5864 PRINT #1,R5$
- 5865 PRINT #1,V$
- 5940 GOTO 5360
- 5950 INPUT "+IN";K$:INPUT "-IN";L$:INPUT "-OUT";I$:REM *** OP-AMP ***
- 5960 INPUT "+OUT";J$:INPUT "GAIN(V/V)";R5$:INPUT "OUTPUT RESISTANCE(OHMS)";V$
- 5970 PRINT #1,R6$+" * OP-AMP"
- 5972 PRINT #1,K$
- 5974 PRINT #1,L$
- 5976 PRINT #1,I$
- 5978 PRINT #1,J$
- 5980 PRINT #1,R5$
- 5990 PRINT #1,V$
- 6010 GOTO 5360
- 7000 DIM FL$(4,2)
- 7010 FOR J=1 TO 4:READ FL$(J,1):FL$(J,2)="N":NEXT J
- 7020 FOR J=1 TO 4
- 7030 IF FL$(J,2)="Y" THEN GOTO 7050
- 7040 PRINT STR$(J)+"- "+FL$(J,1)
- 7050 NEXT J
- 7060 PRINT
- 7070 INPUT "Choice (enter <cr> or 0 to exit)";C:C=INT(C)
- 7080 IF FL$(C,2)="Y" THEN PRINT "Already Selected!":GOTO 7070
- 7090 IF C=0 THEN RETURN
- 7100 PFG=1:INPUT "Name of Data File (<cr> for Directory)";F$
- 7110 IF LEN(F$)=0 THEN FILES:GOTO 7100
- 7120 FL$(C,2)="Y":OPEN "O",C,F$
- 7130 GOTO 7020
- 7140 DATA "Amplitude versus Frequency","Phase versus Frequency"
- 7150 DATA "Amplitude,Phase versus Frequency","Amplitude versus Phase"
- 7160 CLOSE
- 7200 FOR JJ=1 TO 4
- 7210 IF FL$(JJ,2)="N" THEN GOTO 7270
- 7220 ON JJ GOTO 7230,7240,7250,7260
- 7230 WRITE #1,R0,V:GOTO 7270
- 7240 WRITE #2,R0,U:GOTO 7270
- 7250 WRITE #3,R0,V,U:GOTO 7270
- 7260 WRITE #4,V,U
- 7270 NEXT JJ
- 7280 RETURN
-