File VOM.BAS

Directory of image this file is from
This file as a plain text file

5'     PROGRAM TO DESIGN A DC MULTIMETER 
7 FOR G=0 TO 8\PRINT\NEXT G
10 DIM M(5),V(5),O(5),R(5),A(5),E(5)
15 PRINT TAB(22)"*****  METER MOVEMENT  *****"\PRINT
20 PRINT"RESISTANCE (OHMS)";\INPUT R
25 PRINT"FULL SCALE CURRENT (AMPS)";\INPUT I  
30 PRINT\PRINT\PRINT
35 PRINT TAB(16)"*****  METER RANGES  (5 FOR EACH)  *****"\PRINT
40 PRINT"DC VOLTS";\INPUT V(1),V(2),V(3),V(4),V(5)
45 PRINT"AMPS IN INCREASING ORDER"  
46 FOR Q=5 TO 1 STEP -1\PRINT TAB(5);\INPUT A(Q)\IF A(Q)>A(Q+1) THEN 49 
47 PRINT\PRINT\PRINT"*** VALUES IN INCREASING ORDER!!! ***"\PRINT\PRINT 
48 Q=Q+1
49 NEXT Q 
50 PRINT"OHMS (LARGER THAN METER MOVEMENT) HALF SCALE"  
56 FOR Q=1 TO 5\PRINT TAB(5);\INPUT O(Q)\IF O(Q)>R THEN 59  
57 PRINT\PRINT\PRINT"*** VALUE IS NOT SUITIBLE FOR THE SERIES OHMMETER !!! ***" 
58 PRINT\PRINT\Q=Q-1
59 NEXT Q 
60 FOR P=0 TO 6\PRINT\NEXT P
65'     VOLTMETER DESIGN
70 FOR A=1 TO 5\M(A)=(V(A)-(I*R))/I\NEXT A
75 PRINT TA B(22)"*****  VOLTMETER  *****"\PRINT
78 PRINT"OHMS PER VOLT=";1/I
80 PRINT"RANGE(VOLTS)"," ","MULTIPLIER RESISTOR (OHMS)" 
85 FOR A=1 TO 5\PRINT V(A)," ",M(A)\NEXT A  
90 FOR P=0 TO 6\PRINT\NEXT P
91'     OHMMETER DESIGN 
92 PRINT TAB(23)"*****  OHMMETER  *****"\PRINT
95 FOR O=1 TO 5 
105 PRINT\PRINT\PRINT
115 PRINT"HALF SCALE VALUE=";O(O)\E(O)=INT((I*R)+1)*1.5  
120 PRINT"VOLTAGE=";E(O);" VOLTS","ZERO ADJUST RHEOSTAT=";(E(O)*.2)/I;" OHMS"
125 PRINT"CURRENT LIMITING RESISTOR=";(E(O)/I)-(R+(E(O)*.2)/I);" OHMS" 
130 PRINT TAB(20)"OHMMETER SCALE DIVIDED BY TENTHS"
135 FOR X=1 TO 10\X1=X1+.1\X2=X1*I\Z=(E(O)/I)*((I-X2)/X2)
140 PRINT Z,\NEXT X\PRINT\PRINT
141 X1=0 
142 NEXT O 
145 FOR P=0 TO 6\PRINT\NEXT P
150'     AMMETER DESIGN
155 E=I*R\R1=R\S=E/(A(5)-I)\S1=S 
160 FOR N=5 TO 2 STEP -1 
165 R(N)=((A(N-1)*S1)-(I*S1)-(R1*I))/A(N-1)  
170 S1=S1-R(N)\R1=R1+R(N)
175 NEXT N\R(1)=S1 
180 PRINT TAB(26)"*****  AMMETER  *****"\PRINT 
185 PRINT"SHUNT RESISTOR","VALUE"
190 FOR N=1 TO 5\PRINT N,R(N)\NEXT N 
195 FOR P=0 TO 8\PRINT\NEXT P
200 PRINT"DO YOU WANT ANOTHER RUN";\LINPUT A$
205 IF A$="YES"THEN 15\IF A$="NO"THEN 250  
210 PRINT"WHAT?"\GO TO 200 
250 END



Feel free to contact me, David Gesswein djg@pdp8online.com with any questions, comments on the web site, or if you have related equipment, documentation, software etc. you are willing to part with.  I am interested in anything PDP-8 related, computers, peripherals used with them, DEC or third party, or documentation. 

PDP-8 Home Page   PDP-8 Site Map   PDP-8 Site Search