'--------------------------------------------------------------------------' ' Test zum beschreiben und auslesen des I2C EEprom 24C128 ' ' ' Ausgabe fortlaufender Nummerierung auf dem Display und dem Terminalprogramm ' '------------------------------------------------------------------ ' ' 'Testprogramm für ATmega8 ' 'Der gesendete Text kann mit dem Hyperterminal von Windows angezeigt werden' ' 'Einstellungen am Hyperterminal: ' ' Bits pro sekunde: 9600 ' ' Datenbits : 8 ' ' Parität : keine ' ' Stoppbits : 1 ' ' Flusssteuerung : keine ' $regfile = "m8def.dat" $crystal = 3686400 ' Initialisierung des LCD Displays (unveränderte Standardbelegung) ' Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portd.4 , Db5 = Portd.5 , Db6 = Portd.6 , Db7 = Portd.7 , E = Portd.3 , Rs = Portd.2 Config Lcdbus = 4 Cls Cursor Off Noblink '------------------------------------------------------------------------- Config Sda = Portc.4 Config Scl = Portc.5 Dim X As Byte Dim A As Byte Dim B As Byte Dim Lesen As Byte Cls '----------schreibe ins eeprom------------- Do For A = 1 To 10 ' Schleifenanfang Incr X I2cstart ' Starte I2C I2cwbyte &HA0 ' Slave Adresse senden I2cwbyte 1 ' High Speicheradresse senden I2cwbyte A ' Low Speicheradresse Senden I2cwbyte X ' Sende Wert ais Varable X I2cstop ' I2C Stop Waitms 10 ' Pause von 10 Mikkisekunden Locate 1 , 1 ' Display Cursor in Zeile 1 Spalte 1 setzen Lcd "ins EEprom= " ; X ; "" ' Diplayanzeige Varable X Print " ins EEprom= " ; X ; "" ' Terminal Anzeige Variable X Waitms 500 ' Pause Next A ' Schleifenende '-----------lese aus eeprom------------------- For B = 1 To 10 ' Schleifenanfang I2cstart I2cwbyte &HA0 I2cwbyte 1 I2cwbyte B I2cstart I2cwbyte &HA1 I2crbyte Lesen , Nack I2cstop Locate 2 , 1 Lcd "Lese EEprom =" ; Lesen ; "" Print "Lese EEprom = " ; Lesen ; "" Waitms 500 Next B Loop End