0 CLS:DEFINT A-Z:PRINT@1,"PROG.NE EEPROM I2C 24C16 DEL 17/2/02
1 SCL=128'SCL ALTO SDA BASSO
2 SDA=64'SDA ALTO SCL BASSO
3 OK=240'LETTURA DI S ENTRAMBI ALTI
4 U=186'PORTA COMANDI
5 Z=39'VALORE BASE X OUT 186,Z+....
6 L=208'LETTURA STATO
8 DIMC$(8)
9 KEY1,"GOTO514"+CHR$(13)
10 KEY6,"EDIT500-550"+CHR$(13)
11 GOTO130
50 'ALT 100,PART 200,CLOCK 300,TX 400
52 '500 PROVA SCRITTURA E LETTURA
55 '600 RX BYTE,700 CR+LF
100 OUT U,Z'STOP CHIUDE DIALOGO
102 OUT U,SCL+Z
105 OUT U,SDA+SCL+Z
110 RETURN
130 GOSUB100:GOTO500
135 '
200 S=INP(L):IF S=OK THEN209'STATO PREC
203 OUT U,SDA+Z'INIZIO DIALOGO
204 OUT U,SCL+SDA+Z
206 S=INP(L):IF S <> OK THEN 350
209 OUT U,SCL+Z
211 OUT U,Z
215 RETURN'TUTTO OK
217 '
300 'CLOCK
305 OUT U,SCL+Z'CHIAMATA CON SDA=0
307 OUT U,Z
308 RETURN
310 OUT U,SCL+SDA+Z'CHIAMATA CON SDA=1
312 OUT U,SDA+Z
315 RETURN
320 '
350 PRINT"BUS BLOCCATO";CHR$(7)
399 STOP
400 'CONVERSIONE DEC>BINARIO E TX DATO
402 B=ASC(D$)
405 N=B:B=N+1:N$=""
410 FOR C=7TO0 STEP -1
412 IF B>2^C THEN C$(C)="1":B=B-2^C ELSE C$(C)="0"
415 N$=N$+C$(C)
420 NEXT C
422 FOR C=7TO0 STEP -1
428 V$=C$(C)
430 IF V$="0"THEN OUT U,Z:GOSUB305
432 IF V$="1"THEN OUT U,SDA+Z:GOSUB 310
435 NEXT C
440 OUT U,SDA+Z
445 OUT U,SCL+SDA+Z
450 S=INP(L):IF S>200 THEN 350'SDA=1
455 OUT U,SDA+Z
460 RETURN
500 GOSUB200'START PER TX
502 B=160:GOSUB405'TX DI A0+PAGINA 0-7
503 B=0:GOSUB405'IND. BASSO
506 FOR X=1 TO 5:NEXT X
507 D$=INKEY$:IF D$=""THEN 507
508 IF ASC(D$)=13THEN CALL32,13:CALL32,10:GOSUB700:GOTO511
509 CALL32,ASC(D$):IF D$="["THENGOSUB402:GOTO513
510 GOSUB 402'TRASMISSIONE DATO
511 FOR X=1TO8:NEXT X
512 GOTO506
513 GOSUB 100
514 CLS:PRINT@15,"LETTURA
518 GOSUB 200'APRE RICEZIONE
519 B=160:GOSUB405'A0+PAGINA SCRITT.RA
521 B=0:GOSUB405'INDIRIZZO BASSO
525 GOSUB 200'START
527 B=161:GOSUB405'LETTURA
530 K$=INKEY$:IF K$<>""THEN 546
541 GOSUB600:IF D=91THEN 545 ELSE CALL32,D:GOTO530
545 GOSUB100'STOP
546 PRINT:GOTO500
548 GOTO530
600 D=0'LETTURA DI 1 BYTE
605 OUT U,SDA+Z'SCL=0
610 FORX=7TO0 STEP-1
615 OUT U,SDA+SCL+Z'SCL=1
620 S=INP(L):IFS>200THEN D=D+2^X'SDA=1
623 OUT U,SDA+Z'SCL=0
625 NEXT X
627 OUT U,SCL+Z'SINCRONISMO
628 OUT U,Z
630 RETURN
700 D$=CHR$(13):GOSUB402
706 D$=CHR$(10):GOSUB402
715 RETURN

(Vai a pagina1)