home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
DP Tool Club 12
/
CD_ASCQ_12_0294.iso
/
maj
/
2364
/
minilab
/
schema9.bas
< prev
next >
Wrap
BASIC Source File
|
1993-10-22
|
7KB
|
128 lines
REM W. Prévost 1993 : MINILAB: SCHEMA9 : OSCILLATEUR SINUSOIDAL
DEFINT A-Z: SCREEN 12
debut: LINE (350, 132)-(350, 161), 12: CIRCLE (350, 130), 2, 12
x = 335: y = 115: C = 12: GOSUB plus: GOSUB V: GOSUB cm: GOSUB cm
LINE (350, 188)-(350, 220), 15: CIRCLE (350, 222), 2, 15
x = 335: y = 237: C = 15: GOSUB moins: GOSUB V: GOSUB cm: GOSUB cm
mas = 325: fin = 485: LINE (190, mas)-(fin, mas), 7
LINE -(fin, mas - 20), 7: CIRCLE (fin, mas - 22), 2, 7
x = fin + 10: y = mas - 22: C = 7: GOSUB m0: x = x + 4: GOSUB V
cd = 190: cdy = 200: GOSUB cond1: LINE (cd, 213)-(cd, mas), 14
LINE (cd, 90)-(cd, 100), 14: LINE (cd, 100)-(cd, 200), 14
x = cd + 15: y = 208: C = 14: GOSUB C: xr = 240: yr = 200: cr = 14: GOSUB res1
LINE (xr, yr + 20)-(xr, mas), 14: LINE (320, 160)-(cd, 160), 14 'de + CI
LINE (xr, 160)-(xr, yr), 14
x = xr + 10: y = yr + 10: GOSUB R: xr = 300: yr = 280: cr = 10: GOSUB res1
LINE (320, 190)-(300, 190), cr: LINE -(300, yr), cr
x = xr - 15: y = yr + 10: C = cr: GOSUB Rm: GOSUB 1
LINE (xr, yr + 20)-(xr, mas), cr: LINE (xr, yr - 15)-(xr + 20, yr - 15), cr
LINE (xr + 20, yr - 11)-(xr + 45, yr - 19), cr, B
LINE (xr + 45, yr - 15)-(xr + 80, yr - 15), cr
x = xr + 25: y = yr: GOSUB Rm: GOSUB 2
a = xr + 80: B = yr: D = yr - 30: C = 9: LINE (a, B)-(a, D), C
LINE (a + 30, B - 5)-(a + 30, B + 5), 9: LINE -(a + 40, B), 9: LINE -(a + 30, B - 5), 9
LINE (a + 40, B - 5)-(a + 40, B + 5), 9: PAINT (a + 35, B), 9, 9
LINE (a + 40, D - 5)-(a + 40, D + 5), 9: LINE -(a + 30, D), 9: LINE -(a + 40, D - 5), 9
LINE (a + 30, D - 5)-(a + 30, D + 5), 9: PAINT (a + 35, D), 9, 9
LINE (a, B)-(a + 70, B), C: LINE (a, D)-(a + 70, D), C
LINE (a + 70, yr)-(a + 70, 176), 9
LINE (a + 70, 174)-(a + 70, 90), 14: LINE -(320, 90), 14
LINE (300, 86)-(320, 94), 14, B: x = 310: y = 105: C = 14: GOSUB R
LINE (300, 90)-(262, 90), 14: LINE (190, 90)-(247, 90), 14
cd = 254: cdy = 90: GOSUB condo2: x = 255: y = 108: GOSUB C
LINE (320, 150)-(320, 200), 5: LINE -(385, 175), 5: LINE -(320, 150), 5 'CI
x = 330: y = 175: C = 13: GOSUB a: GOSUB m0: GOSUB P
x = 310: y = 152: C = 5: GOSUB plus: x = 310: y = 195: GOSUB moins
LINE (385, 175)-(fin, 175), 5: LINE -(fin, 195), 5: CIRCLE (fin, 197), 2, 5
ohm$ = CHR$(234)
LOCATE 26, 5: COLOR 14: PRINT "R : 15 k"; ohm$
LOCATE 27, 5: COLOR 10: PRINT "R1 : 1OO k"; ohm$
LOCATE 28, 5: COLOR 10: PRINT "R2 : 22O k"; ohm$
LOCATE 26, 25: COLOR 14: PRINT "C : 4,7 nF"
LOCATE 27, 25: COLOR 9: PRINT "D : 1N 4148": COLOR 15
y = 250: cc2 = 13: k = 20: x = 440: FOR a = 180 TO 360 STEP 6
ang! = a * .01745: PSET (x + a / 6, y + k * SIN(ang!)), cc2: NEXT a
FOR a = 0 TO 180 STEP 4
ang! = a * .01745: PSET (x + 60 + a / 6, y + k * SIN(ang!)), cc2: NEXT a:
attente: f$ = "": WHILE f$ = "": f$ = INKEY$: WEND: f$ = UCASE$(f$)
IF f$ = "Q" THEN GOTO quitter
IF f$ = "C" THEN GOSUB calcul
GOTO attente: END
quitter: LINE (0, 61)-(639, 479), 0, BF: CHAIN "minilab\SCHEMAS.bas"
m0: FOR H = x - 1 TO x + 2: PSET (H, y - 4), C: NEXT H
FOR H = x - 1 TO x + 2: PSET (H, y + 4), C: NEXT H
FOR V = y TO y + 3: PSET (x - 2, V), C: NEXT V
FOR V = y TO y + 3: PSET (x + 3, V), C: NEXT V
FOR V = y - 3 TO y - 1: PSET (x - 2, V), C: NEXT V
FOR V = y - 3 TO y - 1: PSET (x + 3, V), C: NEXT V: x = x + 9: RETURN
a: PSET (x, y - 4), C: PSET (x + 1, y - 4), C
PSET (x - 1, y - 3), C: PSET (x + 2, y - 3), C
FOR vert = y - 2 TO y + 4: PSET (x - 2, vert), C: PSET (x + 3, vert), C: NEXT vert
FOR hor = x - 1 TO x + 2: PSET (hor, y + 1), C: NEXT hor: x = x + 9: RETURN
C: PSET (x, y - 4), C: PSET (x + 1, y - 4), C
PSET (x - 1, y - 3), C: PSET (x + 2, y - 3), C
FOR vert = y - 2 TO y + 2: PSET (x - 2, vert), C: NEXT vert
PSET (x + 3, y - 2), C: PSET (x + 3, y + 2), C
PSET (x, y + 4), C: PSET (x + 1, y + 4), C
PSET (x - 1, y + 3), C: PSET (x + 2, y + 3), C: x = x + 9: RETURN
P: FOR V = y - 4 TO y + 4: PSET (x - 2, V), C: NEXT V
FOR H = x - 1 TO x + 1: PSET (H, y - 4), C: NEXT H
PSET (x + 2, y - 3), C: PSET (x + 3, y - 2), C: PSET (x + 2, y - 1), C
FOR H = x - 1 TO x + 1: PSET (H, y), C: NEXT H: x = x + 9: RETURN
R: FOR V = y - 4 TO y + 4: PSET (x - 2, V), C: NEXT V
FOR H = x - 1 TO x + 1: PSET (H, y - 4), C: NEXT H
PSET (x + 2, y - 3), C: PSET (x + 3, y - 2), C: PSET (x + 2, y - 1), C
FOR H = x - 1 TO x + 1: PSET (H, y), C: NEXT H
FOR V = y + 1 TO y + 4: PSET (x + 2, V), C: NEXT V: x = x + 9: RETURN
V: FOR V = y - 4 TO y + 1: PSET (x - 2, V), C: PSET (x + 3, V), C: NEXT V
FOR V = y + 2 TO y + 3: PSET (x - 1, V), C: PSET (x + 2, V), C: NEXT V
PSET (x, y + 4), C: PSET (x + 1, y + 4), C: x = x + 9: RETURN
plus: x = x + 2: FOR H = x - 3 TO x + 3: PSET (H, y), C: NEXT H
FOR V = y - 3 TO y + 3: PSET (x, V), C: NEXT V: x = x + 8: RETURN
moins: x = x + 2: FOR H = x - 3 TO x + 3: PSET (H, y), C: NEXT H
x = x + 8: RETURN
1 : y = y + 1: PSET (x - 1, y - 3), C: FOR V = y - 3 TO y + 2: PSET (x, V), C: NEXT V
FOR H = x - 1 TO x + 1: PSET (H, y + 3), C: NEXT H: y = y - 1: x = x + 7: RETURN
2 : y = y + 1: FOR H = x - 1 TO x + 1: PSET (H, y - 3), C: NEXT H
PSET (x - 2, y - 2), C: PSET (x + 2, y - 2), C: PSET (x + 2, y - 1), C
FOR H = x - 1 TO x + 1: PSET (H, y), C: NEXT H: PSET (x - 2, y + 1), C
PSET (x - 2, y + 2), C
FOR H = x - 2 TO x + 2: PSET (H, y + 3), C: NEXT H: y = y - 1: x = x + 7: RETURN
cm: y = y + 1: FOR H = x - 1 TO x + 1: PSET (H, y - 3), C: NEXT H
PSET (x - 2, y - 2), C: PSET (x + 2, y - 2), C
FOR V = y - 1 TO y + 1: PSET (x - 2, V), C: NEXT V
PSET (x - 2, y + 2), C: PSET (x + 2, y + 2), C
FOR H = x - 1 TO x + 1: PSET (H, y + 3), C: NEXT H
x = x + 7: y = y - 1: RETURN
Rm: y = y + 1: FOR V = y - 3 TO y + 3: PSET (x - 2, V), C: NEXT V
PSET (x + 2, y - 2), C
FOR H = x - 1 TO x + 1: PSET (H, y - 3), C: NEXT H: x = x + 7: y = y - 1: RETURN
condo2: LINE (cd - 7, cdy - 8)-(cd - 2, cdy + 8), 14, B
LINE (cd + 7, cdy - 8)-(cd + 2, cdy + 8), 14, B: RETURN
cond1: LINE (cd - 7, cdy)-(cd + 7, cdy + 4), 14, B
LINE (cd - 7, cdy + 8)-(cd + 7, cdy + 12), 14, B: RETURN
res1: LINE (xr - 3, yr)-(xr + 3, yr + 20), cr, B: RETURN
calcul: a = 380: aa = 639: B = 123: bb = 355: cf = 0: GOSUB box2
LOCATE 10, 51: COLOR 3: PRINT "FREQUENCE (f):": LINE (398, 161)-(508, 161), 3
LOCATE 12, 51: PRINT "f"
COLOR 15: LOCATE 12, 52: PRINT " = 1 / 2 "; CHR$(227); " R C"
LOCATE 14, 51: PRINT " = 1 / 6,28 x "
COLOR 14: LOCATE 14, 66: PRINT "15 k"; ohm$; " x 4,7 nF"
COLOR 15: LOCATE 16, 51: PRINT " = 2,26 kHz"
LOCATE 18, 51: PRINT "Ce montage oscille quand :"
LOCATE 20, 51: PRINT "R2 = 2 x R1 environ"
f$ = "": WHILE f$ = "": f$ = INKEY$: WEND: LINE (a, B)-(aa, bb), 0, BF
LINE (639, B)-(639, bb), 9: GOTO debut
box2: LINE (a, B)-(aa, bb), 1, BF
LINE (a, B)-(aa, bb), 0, B: LINE (a + 5, B + 5)-(aa - 5, bb - 5), 0, B
PAINT (a + 3, B + 10), 7, 0: LINE (a + 6, B + 6)-(aa - 6, bb - 6), cf, BF
LINE (a + 1, B + 1)-(a + 1, bb - 1), 15: LINE -(aa - 1, bb - 1), 15
LINE (a + 35, B)-(a + 35, B + 5), 8: LINE (a + 35, bb - 5)-(a + 35, bb - 1), 8
LINE (aa - 35, B)-(aa - 35, B + 5), 8: LINE (aa - 35, bb - 5)-(aa - 35, bb - 1), 8
LINE (a + 1, B + 35)-(a + 5, B + 35), 8: LINE (a + 1, bb - 35)-(a + 5, bb - 35), 8
LINE (aa, B + 35)-(aa - 5, B + 35), 8: LINE (aa, bb - 35)-(aa - 5, bb - 35), 8
RETURN