mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik I2C-Bus und PCF 8574


Autor: Patrick (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo, wir versuchen mit dem uP C-509 über I2C-Bus den Baustein PCF 8574 
anzusteuern und zu beschreiben. Das Datenblatt besagt, dass die 
Mindestbetriebsspannung 2.5V sein muss, damit das IC nicht rückgesetzt 
wird. An allen I/O-Ports werden dann logische 1 ausgegeben, so wie bei 
unserem IC. Wir aber geben eine Spannung von 5V auf das IC. Was machen 
wir falsch?

MFG Patrick

Autor: holm (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sorry, meine Glaskugel ist zur Reparatur, deswegen würde ich sagen
poste mal Deinen Quellcode. Ich habe vor Kurzem erst mit dem Teil
hantiert, allerdings in Verbindung mit einem 8051 (AT89C2051) und hatte
keine Probleme damit...

Gruß,

Holm

Autor: Rahul, der Trollige (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Was machen wir falsch?

Die Polung der Spannung ist auch noch wichtig...

>Was machen wir falsch?
Das Fragestellen?!

Autor: Patrick (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das ist der Quellcode, mit dem wir versuchten, das IC anzusprechen

  MOV slaveadress,# 01000000b
  MOV daten,# 10101010b

START:  CALL startc
  MOV a,slaveadress
  CALL send
  nop
  nop
  MOV A,daten
        CALL stop
  JMP START



;*********************************************************************** 
*
;    Ports Used for I2C Communication
;*********************************************************************** 
*
  sda equ P1.7
  scl equ P1.6
  slaveadress equ 30h
  daten equ 31h

;*********************************************************************** 
*
;    Start Condition for I2C Communication
;*********************************************************************** 
*

startc:  clr scl
  setb sda
  nop
  nop
  setb scl
  nop
  nop
  clr sda
  ret


;*********************************************************************** 
*
;      Stop Condition For I2C Bus
;*********************************************************************** 
*

stop:
  nop
  nop
  clr sda
  setb scl
  nop
  nop
  setb sda
  nop
  nop
  clr scl
  ret

;*********************************************************************** 
*
;    Sending Data to slave on I2C bus
;           with Acknowledgement
;*********************************************************************** 
*

send:
  mov r7,#08
back:
  clr scl
  nop
  nop
  nop
  rlc a
  mov sda,c
  setb scl
  nop
  nop
  nop
  clr scl
  nop
  nop
  nop
  djnz r7,back
  setb sda
  setb scl
  nop
  nop
  nop
  nop
  clr scl
  nop
  nop
  nop
  ret

;*********************************************************************** 
*
;    Receiving Data from slave on I2C bus
;           with Acknowledgement
;*********************************************************************** 
*

recv:
  mov r7,#08
back2:
  setb sda
  setb scl
  nop
  nop
  nop
  mov c,sda
  rlc a
  clr scl
  nop
  nop
  nop
  djnz r7,back2
  setb sda
  clr scl
  nop
  nop
  nop
  clr sda
  setb scl
  nop
  nop
  nop
  clr scl
  nop
  nop
  nop
  mov @r0,a
  inc r0
  ret

END

Autor: OliverSo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ohne jetzt zu wissen, was eigentlich nicht geht, fällt mir nur

slaveadress equ 30h

auf. Wenn das die I2C-Slaveadresse des Buasteins sein soll, fühlt sich 
da weder ein 8574 noch ein 8574A angesprochen. Der 8547 braucht 40h 
(wenn die drei Adressbits auf Null gelötet wurden), ein 8547 A reagiert 
bei gleicher Verschaltung auf 70h.

Näheres dazu findet sich im Datenblatt.

Oliver

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.