INTERFACCIA M10-TANDY 102 CON BUS I2C DI IKIWJQ



  INFORMAZIONI INDIRIZZI I/O M10 E TANDY 102 E MODIFICHE
 
  SCRITTURA PORTA 186 (RS232), PER LETTURA PORTA 208 FARE COME SEGUE:
  (D5) COLLEGARE 1N4148 DA IC(M23) PIN 15 ->|- A PIN 4 (PORTA BCR A 9 PIN)
  (D6)     "       "       "       "   2  ->|- A PIN 3   "     "     "

                                          2K7                
                                       *-\/\/\/----(VCC)    *--(SCL)--->
                           BC238B (C)  |                    |
   RS232 PIN     3K3           *-------*--------------------*    
    RTS--(4)---/\/\/\/---*----*(B)                          |     9 PIN
                       __|__   *-------(0V)                 *----(4) D5  
                  4148  /_\    (E)                 
                         |                            (0V)-------(5) 
                         |                            (0V)-------(7) 
                         |                            (VCC)------(9)
    0V---(7)---(0V)------*                2K7                
                                       *-\/\/\/----(VCC)    *--(SDA)--->
                           BC238B(C)   |                    |
                 3K3           *-------*--------------------*
    DTR-(20)---/\/\/\/---*----*(B)                          |   
                       __|__   *-------(0V)                 *----(3) D6
                  4148  /_\    (E)
                         |
                         |         
                        (0V)

      USO PORTA 208 SOLO LETTURA:  D0 = CD MODEM    D4 = TBRE UART
          74HC244 (M23)            D1 = OE UART     D5 = LIBERO
                                   D2 = FE UART     D6 = LIBERO
                                   D3 = PE UART     D7 = /LPS

      USO PORTE 8155: PA = 185           PA0-PA7 = TASTIERA
                      PB = 186           PB0,PB1 = DISPLAY
                      PC = 187               PB2 = CLOCK E CICALINO
                                             PB3 = RS232 = 0
                                             PB4 = PCS
                                             PB5 = ALTOPARLANTE = 1
                                             PB6 = /DTR = 0/1
                                             PB7 = /RTS = 0/1
     INPUT 186 = 39 (VALORE FISSO)

    SCRITTURA PORTA 186:                     LETTURA PORTA 208 (D5,D6):

           39 = (RTS=1/SCL=0, DTR=1/SDA=0)   SCL=1/D5=32
    39+128+64 = (RTS=0/SCL=1, DTR=0/SDA=1)   SDA=1/D6=64   
       39+128 = (RTS=0/SCL=1, DTR=1/SDA=0)   SCL E SDA = 1 = 240 (TANDY)
        39+64 = (RTS=1/SCL=0, DTR=0/SDA=1)   SCL E SDA = 1 = 241 (M10)
                                             SCL = 1 SDA = 0 = 177
                                             SCL = 0 SDA = 1 = 209
       EEPROM  CONNESSIONI                   SCL = 0 SDA = 0 = 145
             ===___===
     (0V)---(1)  2  (8)----(VCC)             INDIRIZZO DISPOSITIVO 24C16:
     (0V)---(2)  4  (7)----(0V)              D7 D6 D5 D4 D3  D2  D1  D0
     (0V)---(3)  C  (6)----(SCL)             1  0  1  0  A2  A1  A0  1/0
     (0V)---(4)  X  (5)----(SDA)             ==========  =========== MODO
             =========                           A       BANCO 0-7   R/W
                                           (160 DECIMALE)
                                            CON 24C32:   A2-A1-A0 = 0

     SCHEMA D'USO DISPOSITIVO I2C PER 24C16 E SIMILI.
     SCRITTURA DI UN SOLO DATO:
  1) START
  2) TX INDIRIZZO DISPOSITIVO = 160 (A0H) + BANCO + D0=0 (SCRITTURA)
  3) TX INDIRIZZO LOCAZIONE MEMORIA = 0-255
  4) TX DATO
  5) STOP

     SCRITTURA DI UNA STRINGA DI DATI:
  1) START
  2) TX INDIRIZZO DISPOSITIVO = 160 (A0H) + BANCO + D0=0 (SCRITTURA)
  3) TX INDIRIZZO LOCAZIONE MEMORIA = 0-255
  4) TX SCRITTURA DATO(1), DATO(2), DATO(3), -> DATO(N) 
  5) STOP
      
     LETTURA DI UN DATO CON INDIRIZZO MEMORIA CASUALE:
  1) START
  2) TX INDIRIZZO DISPOSITIVO = A0H + BANCO + D0=0 (SCRITTURA)
  3) TX INDIRIZZO LOCAZIONE MEMORIA = 0-255
  4) START
  5) TX INDIRIZZO DISPOSITIVO = A0H + BANCO + D0=1 (LETTURA)
  6) RX DATO
  7) STOP

     LETTURA DI UNA STRINGA DI DATI DALL'INDIRIZZO ATTUALE:
  1) START
  2) TX INDIRIZZO DISPOSITIVO = 160 (A0H) + BANCO + D0=1 (LETTURA)
  3) RX DATO(1), RX DATO(2), RX DATO(3), -> RX DATO(N) 
  4) STOP

     LETTURA DEL DATO ALL'INDIRIZZO ATTUALE:
  1) START
  2) TX INDIRIZZO DISPOSITIVO = 160 (A0H) + BANCO + D0=1 (LETTURA)
  3) RX DATO
  4) STOP

     ESEMPIO DI LETTURA CASUALE PER 24C32:
  1) START
  2) TX INDIRIZZO DISPOSITIVO = 160 (A0H) + D0=0 (SCRITTURA)
  3) TX INDIRIZZO BANCO 0-15
  4) TX INDIRIZZO LOCAZIONE MEMORIA 0-255
  5) TX INDIRIZZO DISPOSITIVO = 160 (A0H) + D0=1 (LETTURA)
  6) RX DATO
  7) STOP

  NOTA: AL TERMINE DEL DATO TRASMESSO O RICEVUTO IL PROGRAMMA INVIA UN
        SEGNALE DI CLOCK COME SINCRONISMO

(Esempio di programma per 24C16)..(e per 24c32)

(Vai a pagina1)