Tabela de Resistores
Programa para leitura de resistores (cor->valor, valor->cor).
Teste o programa no WebMSX – The Online MSX Emulator
Para transformar números em cores: entre com o valor diretamente; se precisar usar a vírgula, use o ponto em seu lugar. Ex.: 1R5 = 1.5R; 3K3 = 3.3K; 1M2 = 1.2M
Obs.: Após o valor coloque a unidade de medida adequada (R, K ou M).
Para transformar cores em números: use as setas de cursor para selecionar a cor desejada e tecle RETURN.
Para a 4a. faixa (tolerância): Dourado = 5%; Prata = 10%; S/faixa = 20%
Autor: Luciano Sturaro – MSXPró
Código fonte
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 |
10 WIDTH40:KEYOFF:CLS:COLOR 1,1,1 20 GOSUB 1200 30 COLOR 15,4,4 40 ON STOP GOSUB 1390:STOP ON 50 LOCATE 10,0:PRINT"TABELA DE RESISTORES" 60 LOCATE 10,1:PRINT"--------------------" 70 LOCATE 6,4:PRINT"Para ajuda -> CONTROL + STOP" 80 LOCATE 10,10:PRINT"1) Valor -> Cores" 90 LOCATE 10,12:PRINT"2) Cores -> Valor" 100 LOCATE 10,14:PRINT"3) Encerra o Programa" 110 LOCATE 10,17:PRINT"Qual a sua opcao ?";:A$=INPUT$(1) 120 IF A$="1" THEN GOTO 620 130 IF A$="3" THEN CLS:END 140 IF A$<"1" OR A$>"3" THEN GOTO 110 150 CLS:X=4:V=0 160 LOCATE 10,0:PRINT"TABELA DE RESISTORES" 170 LOCATE 10,1:PRINT"--------------------" 180 LOCATE 2,4:PRINT"Preto ----" 190 LOCATE 2,5:PRINT"Marrom ---" 200 LOCATE 2,6:PRINT"Vermelho -" 210 LOCATE 2,7:PRINT"Laranja --" 220 LOCATE 2,8:PRINT"Amarelo --" 230 LOCATE 2,9:PRINT"Verde ----" 240 LOCATE 2,10:PRINT"Azul -----" 250 LOCATE 2,11:PRINT"Lilaz ----" 260 LOCATE 2,12:PRINT"Cinza ----" 270 LOCATE 2,13:PRINT"Branco ---" 280 LOCATE 2,14:PRINT"Dourado --" 290 LOCATE 2,15:PRINT"Prateado -" 300 LOCATE 13,22:PRINT"Esc para sair" 310 LOCATE12,4:PRINT"<--" 320 A$=INKEY$ 330 IF A$=CHR$(31) THEN X=X+1 ELSE GOTO 360 340 IF X>15 THEN X=15:BEEP:GOTO 320 350 LOCATE 12,X-1:PRINT" ":LOCATE12,X:PRINT"<--" 360 IF A$=CHR$(30) THEN X=X-1 ELSE GOTO 390 370 IF X<4 THEN X=4:BEEP:GOTO 320 380 LOCATE 12,X+1:PRINT" ":LOCATE12,X:PRINT"<--" 390 IF A$=CHR$(13) OR A$=CHR$(32) THEN GOSUB 420 400 IF A$=CHR$(27) THEN GOSUB 10 410 GOTO 320 420 V=V+1:F=X-4 430 LOCATE 15,20:PRINTV;"¦ Faixa 440 F$(V)=STR$(F) 450 IF V=3 THEN GOTO 470 460 RETURN 470 FORT=1TO200:NEXTT:LOCATE 9,20:PRINT"Valor do resistor =" 480 LOCATE 31,20 490 IF F$(3)=" 0" THEN PRINTF$(2);" ê":LOCATE30,20:PRINTF$(1) 500 IF F$(3)=" 1" THEN PRINTF$(2);"0 ê":LOCATE30,20:PRINTF$(1) 510 IF F$(3)=" 2" THEN PRINTF$(2);" Kê":LOCATE31,20:PRINT".":LOCATE29,20:PRINTF$(1) 520 IF F$(3)=" 3" THEN PRINTF$(2);" Kê":LOCATE30,20:PRINTF$(1) 530 IF F$(3)=" 4" THEN PRINTF$(2);"0 Kê":LOCATE30,20:PRINTF$(1) 540 IF F$(3)=" 5" THEN PRINTF$(2);" Mê":LOCATE31,20:PRINT".":LOCATE29,20:PRINTF$(1) 550 IF F$(3)=" 6" THEN PRINTF$(2);" Mê":LOCATE30,20:PRINTF$(1) 560 IF F$(3)=" 10" THEN PRINTF$(2);" ê":LOCATE31,20:PRINT".":LOCATE29,20:PRINTF$(1) 570 IF F$(3)=" 11" THEN PRINTF$(2);" ê":LOCATE30,20:PRINTF$(1):LOCATE29,20:PRINT"0." 580 LOCATE 12,22:PRINT"Outro Calculo ? (S/N)";: A$=INPUT$(1) 590 IF A$="S" OR A$="s" THEN GOTO 150 600 IF A$="N" OR A$="n" THEN GOTO 10 610 GOTO 580 620 CLS 630 POKE&HFCAB,1 640 LOCATE 10,0:PRINT"TABELA DE RESISTORES" 650 LOCATE 10,1:PRINT"--------------------" 660 LOCATE 0,21:PRINT"S + Enter para sair" 670 LOCATE 0,8:INPUT"Qual o valor ";V$ 680 F$(1)=LEFT$(V$,1) 690 IF F$(1)="S" OR F$(1)="s" THEN POKE&HFCAB,0:GOTO 10 700 IF F$(1)="0" THEN F$(1)=MID$(V$,3,1):F$(2)=MID$(V$,4,1):GOTO 730 710 F$(2)=MID$(V$,2,1) 720 IF F$(2)="." THEN F$(2)=MID$(V$,3,1) 730 FOR P=2TO4 740 F$(3)=MID$(V$,P,1) 750 IF F$(3)="R" OR F$(3)="K" OR F$(3)="M" THEN GOTO 770 760 NEXT P 770 IF F$(1)="1" THEN CF$(1)="Marrom" 780 IF F$(1)="2" THEN CF$(1)="Vermelho" 790 IF F$(1)="3" THEN CF$(1)="Laranja" 800 IF F$(1)="4" THEN CF$(1)="Amarelo" 810 IF F$(1)="5" THEN CF$(1)="Verde" 820 IF F$(1)="6" THEN CF$(1)="Azul" 830 IF F$(1)="7" THEN CF$(1)="Lilaz" 840 IF F$(1)="8" THEN CF$(1)="Cinza" 850 IF F$(1)="9" THEN CF$(1)="Branco" 860 IF F$(2)="R" OR F$(2)="K" OR F$(2)="M" OR F$(2)="" THEN F$(2)="0" 870 IF F$(2)="0" THEN CF$(2)="Preto" 880 IF F$(2)="1" THEN CF$(2)="Marrom" 890 IF F$(2)="2" THEN CF$(2)="Vermelho" 900 IF F$(2)="3" THEN CF$(2)="Laranja" 910 IF F$(2)="4" THEN CF$(2)="Amarelo" 920 IF F$(2)="5" THEN CF$(2)="Verde" 930 IF F$(2)="6" THEN CF$(2)="Azul" 940 IF F$(2)="7" THEN CF$(2)="Lilaz" 950 IF F$(2)="8" THEN CF$(2)="Cinza" 960 IF F$(2)="9" THEN CF$(2)="Branco" 970 V=VAL(V$) 980 IF F$(3)="R" THEN GOTO 1030 990 IF F$(3)="K" THEN GOTO 1060 1000 IF F$(3)="M" THEN GOTO 1090 1010 ' 1020 IF V<1 THEN CF$(3)="Prateado":GOTO 1110 1030 IF V<10 THEN CF$(3)="Dourado":GOTO 1110 1040 IF V<100 THEN CF$(3)="Preto":GOTO 1110 1050 IF V<1000 THEN CF$(3)="Marrom":GOTO 1110 1060 IF V<10 THEN CF$(3)="Vermelho":GOTO 1110 1070 IF V<100 THEN CF$(3)="Laranja":GOTO 1110 1080 IF V<1000 THEN CF$(3)="Amarelo":GOTO 1110 1090 IF V<10 THEN CF$(3)="Verde":GOTO 1110 1100 IF V<100 THEN CF$(3)="Azul":GOTO 1110 1110 LOCATE 0,15 1120 PRINT"1¦ Faixa = ";CF$(1) 1130 PRINT"2¦ Faixa = ";CF$(2) 1140 PRINT"3¦ Faixa = ";CF$(3) 1150 LOCATE 0,21:PRINT"Outro Calculo ? (S/N) ";:A$=INPUT$(1) 1160 POKE&HFCAB,0 1170 IF A$="S" OR A$="s" THEN GOTO 620 1180 IF A$="N" OR A$="n" THEN GOTO 10 1190 GOTO 1150 1200 POKE&HF923,&H4:VDP(2)=1:CLS 1210 LOCATE 10,0:PRINT"TABELA DE RESISTORES" 1220 LOCATE 10,1:PRINT"--------------------" 1230 LOCATE 0,3:PRINT"Para transformar numeros em cores:" 1240 PRINT:PRINT"entre com o valor diretamente, se pre-" 1250 PRINT"cisar usar a virgula, use o ponto em" 1260 PRINT"seu lugar. Ex:. 1270 PRINT 1280 PRINT"1R5 = 1.5R 3K3 = 3.3K 1M2 = 1.2M" 1290 PRINT 1300 PRINT"Obs: Apos o valor coloque a unidade de" 1310 PRINT"medida adequada ( R, K ou M )." 1320 PRINT:PRINT:PRINT"Para transformar cores em numeros:" 1330 PRINT:PRINT"use as setas de cursor para selecionar" 1340 PRINT"a cor desejada e tecle return." 1350 PRINT:PRINT"Para a 4¦ faixa: (Tolerancia)" 1360 PRINT 1370 PRINT"Dourado= 5% Prata= 10% S/ faixa= 20%" 1380 VDP(2)=0:POKE&HF923,&H0:RETURN 1390 VDP(2)=1:A$=INKEY$:IF A$="" THEN GOTO 1390 1400 VDP(2)=0:RETURN |