Радио-86РК/Радио 04-88/Программа-мультиметр/Таблица 1
Данный материал защищён авторскими правами!
Использование материала заявлено как добросовестное, исключительно для образовательных некоммерческих целей. Автор: А. ДОЛГИЙ |
10 REM ******** ЧАСТОТОМЕР/МУЛЬТИМЕТР ********** 20 REM ************ ДЛЯ "РАДИО-86РК" *********** 30 REM *ASD* 08. 12. 87 40 GOTO 2010 100 REM +++ ПОДПРОГРАММА ОТСЧЕТА +++ 110 A=USR(I0) 120 N=K1+PEEK(N2)*K2+PEEK(N1)*K3+PEEK(N1+1)*K4 130 PRINT" ***************":E=0: RETURN 200 REM +++ МАСШТАБИРО0АНИЕ И ПЕЧАТЬ РЕЗУЛЬТАТА ++++ 210 IF ABS(X)<1E-9.THEN PRINT X*1E12;"П;U$:RETURN 220 IF ABS(X)<.000001 THEN PRINT Х*1Е9;"Н": U$: RETURN 230 IF ABS(X)<.001 THEN PRINT X*1E6;"MKФ":U$: RETURN 240 IF ABS(X)<1 THEN PRINT X*1000;"M":U$:RETURN 250 IF ABS(X)<1000 THEN PRINT X; U$: RETURN 260 IF ABS(X)<1E6 THEN PRINT X*.001;"K":U$: RETURN 270 PRINT X*.000001;"MГ";U$:RETURN 300 REM +++++ ИЗМЕРЕНИЕ ПЕРИОДА СИГНАЛА +++ 310 GOSUB 100: X=N*T0 320 U$="С": PRINT "ПЕРИОД " ;: GOTO 250 400 REM +++++ ИЗМЕРЕНИЕ ЧАСТОТЫ СИГНАЛА +++++ 410 GOSUB 100:X=1/(N*T0) 420 U$="ГЦ ": PRINT"ЧАСТОТА ";: GOTO 250 500 REM +++ ИЗМЕРЕНИЕ СОПРОТИBЛЕНИЯ +++++ 510 IF NOT KR THEN GOSUB 900:GOTO 940 520 GOSUB 100:X=R0*N/NR 530 U$=" OM " : PRINT " СОПРОТИ0ЛЕНИЕ " ; : GOTO 250 600 REM +++++ ИЗМЕРЕНИЕ ЕМКОСТИ +++++ 610 IF NOT КС THEN GOSUB 900: GOTO 940 620 GOSUB 100: X=C0*N/NC 630 U$= "ф": PRINT "ЕМКОСТЬ ": GOTO 210 700 REM +++++++ ИЗМЕРЕНИЕ ТЕМПЕРАТУРЫ +++ 710 GOSUB 100:X=(T1+273)/M*LOG(F1*N*T0)+T1 720 U$="ГРАД. ЦЕЛЬСИЯ ": PRINT" ТЕМПЕРАТУРА " ;: GOTO 250 800 REM +++ ИЗМЕРЕНИЕ НАПРЯЖЕНИЯ +++ 810 IF NOT KU OR NOT ZS THEN GOSUB 900 : GOTO 930 820 GOSUB 100:X=(N-N0)*SU 830 U$= "B": PRINT "НАПРЯЖЕНИЕ ";:GOTO 240 900 PRINT 910 РRIТ"ПЕРЕД ПЕРВЫМ ИЗМЕРЕНИЕМ "Z$" НЕОБХОДИМА КАЛИБРО0КА"; 920 RETURN 930 PRINT : PRINT "И УСТАНО0КА НУЛЯ"; 940 PRINT".": RETURN 1000 REM +++++ КАЛИБРОВКА +++++ 1010 PRINT" ПОДКЛЮЧИТЕ ЭТАЛОН К ПРЕОБРАЗО0АТЕЛЮ." 1020 PRINT''BBEДИTE ВИД И ТОЧНОЕ ЗНАЧЕНИЕ ЭТАЛОННОЙ ВЕЛИЧИНЫ." 1030 PRINT 1040 PRINT" R - СОПРОТИ0ЛЕНИЕ (КОМ)" 1050 PRINT" С - ЕМКОСТЬ (Нф)" 1060 PRINT" U - НАПРЯЖЕНИЕ (В)" 1070 PRINT 1080 PRINT"ПPИMEP: U=8.952" 1090 INPUT K$:L=LEN(K$):IF L<3 GOTO 1080 1100 K=VAL(RIGHT$(K$,L-2)):K1$=LEFT$(K$,1) 1110 IF K=0 THEN PRINT"HYЛEBOE ЗНАЧЕНИЕ НЕДОПУСТИМО" :GOTO 1090 1120 IF K1$="R" THEN R0=K*1000:GOSUB 100:NR=N:KR=-1:RETURN 1130 IF К1$="С" THEN C0=K*1E-9:GOSUB 100:NC=N:KC=-1:RETURN 1140 IF K1$="U" THEN PRINT"KAЛИБPOBKA ":К1$;" ?":RETURN 1150 GOSUB 100:NX=N:GOSUB 1210 1160 SU=K/(NX-N0):KU=-1:RETURN 1200 REM +++ УСТАНО0КА НУЛЯ ВОЛЬТМЕТРА +++ 1210 PRINT:PRINT" ЗАМКНИТЕ ВХОД ПРЕОБРАЗО0АТЕЛЯ " 1220 PRINT" 'НАПРЯЖЕНИЕ-ЧАСТОТА И НАЖМИТЕ ЛЮБУЮ КЛАВИШУ." 1230 Z=USR(-2045):GOSUB 100:N0=N:ZS=-1:RETURN 2000 REM +++ ГЛАВНАЯ ПРОГРАММА +++ 2010 PRINT 2020 PRINT ТАB(15);"ЧАСТОТОМЕР/МУЛЬТИМЕТР" 2030 PRINT 2040 PRINT" СИГНАЛ, ЧАСТОТУ ИЛИ ПЕРИОД КОТОРОГО НЕОБХОДИМО" 2050 PRINT"И3MEPИTb, ПОДАЙТЕ НА ВХОД КОМПЬЮТЕРА, ПРЕДНАЗНАЧЕН-" 2060 PRINT"HЫЙ ДЛЯ ПОДКЛЮЧЕНИЯ МАГНИТОФОНА. ПРИ ИЗМЕРЕНИИ ДРУ-" 2070 PRINT"ГИX ВЕЛИЧИН НА ЭТОТ ЖЕ ВХОД ПОДАЙТЕ СИГНАЛ ОТ ПРЕ-" 2080 РRIТ"ОБРАЗОВАТЕЛЯ ИЗМЕРЯЕМАЯ ВЕЛИЧИНА - ЧАСТОТА ." 2090 I0=12800:REM НАЧ. АДРЕС П/П ОТСЧЕТА ПЕРИОДА 2100 REM ВВОД КОДОВ ПОДПРОГРАММЫ 2110 FOR I=10 TO I0+79:READ С$:Х=0 2120 FOR J=1 TO 2;X=X*16 2130 D=ASC(MID$(C$,J,1))-48:IF D>9 THEN D=D-7 2140 X=X+D:NEXT:POKE I,X:NEXT 2150 N1=I:N2=N1+2:REM АДРЕСА РЕЗУЛЬТАТОВ РАБОТЫ ПОДПРОГРАММЫ 2160 KR=0:KC=0:KU=0:ZS=0:REM ФЛАГИ КАЛИБРО0КИ 2170 REM КОНСТАНТЫ ДЛЯ ВЫЧИСЛЕНИЯ ПЕРИОДА 2180 FQ=16E6:REM ЧАСТОТА КВАРЦЕВОГО РЕЗОНАТОРА РК (ГЦ) 2190 T0=9/FQ:K1=30.4:K2=11/128:K3=11.142:K4=K3*256 2200 REM КОНСТАНТЫ ДЛЯ ИЗМЕРЕНИЯ ТЕМПЕРАТУРЫ 2210 T1=0:F1=157.97:T2=100:F2=351.76 2220 M=(T1+273)/(T2-T1)*LOG(F1/F2) 2230 PRINT 2240 PRINT"И3MEPEHИE ВЫПОЛНЯЕТСЯ ПРИ НАЖАТИИ СЛЕДУЮЩИХ КЛАВИШ:" 2250 PRINT 2260 PRINT" 'F' - ЧАСТОТА:" 2270 PRINT" 'T' - ПЕРИОД:" 2280 PRINT" 'R' - СОПРОТИ0ЛЕНИЕ:" 2290 PRINT" 'С' - ЕМКОСТЬ:" 2300 PRINT" 'G- - ТЕМПЕРАТУРА:" 2310 PRINT" 'U' - НАПРЯЖЕНИЕ:" 2320 PRINT" '0' - УСТАНО0КА НУЛЯ ВОЛЬТМЕТРА:" 2330 PRINT" 'К'- КАЛИБРО0КА." 2340 PRINT 2350 PRINT" ДЛЯ ВЫХОДА ИЗ ПРОГРАММЫ НАЖМИТЕ 'Q'" 2360 Z$=CHR$(USR(-2045)): Е=-1 2370 IF Z$="T" THEN GOSUB 310 2380 IF Z$="F" THEN GOSUB 410 2390 IF Z$="R" THEN GOSUB 510 2400 IF Z$="C" THEN GOSUB 610 2410 IF Z$="G" THEN GOSUB 710 2420 IF Z$="U" THEN GOSUB 810 2450 IF Z$="K" THEN GOBUB 1000 2440 IF Z$="B" THEN GOSUB 1210 2450 IF NOT E GOTO 2360 2460 IF Z$="Q" GOTO 2230 3000 REM +++ КОДЫ ПОДПРОГРАММЫ ОТСЧЕТА +++ 3010 DATA E5,D5,C5,F5,21,00,00,39,22,54,32,31,D6,32,21,30 3020 DATA 32,E5,0E,3F,21,34,32,E5,0D,C2,17,32,11,00,00,21 3030 DATA 02,80,7Е,46,B8,СА,23,32,ЗЕ,80,32,08,Е0,СЗ,34,32 3040 DATA 31,56,32,13,7E,B8,C8,47,0D,C0,EB,22,50,32,21,AA 3050 DATA D7,39,22,52,32,2A,54,32,F9,F1,C1,D1,E1,C3,2D,F8