Elektroda.pl
Elektroda.pl
X
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

[Bascom][8051]AT89C2051 i 4xPCF8574AP - brak komunikacji

Ciapul 21 Mar 2010 10:43 1507 4
  • #1
    Ciapul
    Level 11  
    Witam

    Buduję układ oparty o AT89Cx051, 4 x PCF8574, 1 x PCF8583, 1 x PCF8582C-2. Jest to jeden z moich pierwszych układów bazujących na mikroprocesorach

    Napisałem prosty programik sprawdzający komunikację z poszczególnymi ukladami:

    
    Config Sda = P3.0
    Config Scl = P3.1
    Config Lcd = 16 * 2
    Config Lcdpin = Pin , Db4 = P1.4 , Db5 = P1.5 , Db6 = P1.6 , Db7 = P1.7 , Rs = P1.2 , E = P1.3
    Cursor On Blink
    
    Dim Adres As Byte
    
    Set P3.2                                                      'Up Button
    Set P3.3                                                      'Down Button
    Set P3.4                                                      'Left Button
    Set P3.5                                                      'Right Button
    Set P3.7
    
    Do
     Cls
      Lcd "Wyszukiwanie I2C"
      Waitms 500
      For Adres = 100 To 200
       I2cstart
       I2cwbyte Adres
       Waitms 100
       I2cstop
       If Err = 0 Then
         Cls
         Upperline
         Lcd "Znaleziono uklad"
         Lowerline
         Lcd "Adres " ; Adres
         Wait 5
       Else
         Cls
         Upperline
         Lcd "Error: " ; Err
         Lowerline
         Lcd "Adres: " ; Adres
         Wait 1
       End If
     Next Adres
    Loop
    


    Układy 8583 i 8582 wykrywane są zawsze poprawnie.
    Program bez problemu wykrywa pierwszy układ 8574 (adresy 112/113), nie widzi kolejnych.
    Wyjęcie pierwszego układu 8574 powoduje, że wykrywany jest tylko drugi układ (adresy 114/115) itd.
    W momencie gdy wszystkie układy były w podstawkach i zmieniłem zakres przeszukiwania adresów tak, aby zaczął się od 114 - drugi układ został wykryty. trzeci i czwarty już nie.

    Elektrycznie wszystko chyba jest ok. Robiłem próby z magistralą podciągniętą prze z 4k7 do VDD i bez rezystorów. Nic to nie zmienia.
    Układ muszę dość pilnie uruchomić, a skończyły mi się pomysły.

    Z góry dzięki za pomoc.
  • #2
    tadzik85
    Level 38  
    Skoro znasz ich adresy po co przeszukiwania??. Adresy są zawsze z góry dane.
  • #3
    Ciapul
    Level 11  
    Chciałem zrobić swego rodzaju selftest, sprawdzający czy wszystkie układy odpowiadają.