mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Problem mit atMega32, Pcf8574 & LCD


Autor: gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo, ich weis wurde hier schon ab und zu diskutiert(mit4*20), aber 
eine lösung habe ich leider nicht wirklich gefunden
Ich habe einen Atmega32 und wollte über I2C ein LCD 16*2 ansteuern.

die Ports am PCF8574 sind wie im Datenblatt beschalten.
Mein Problem ist das das Display keine Reagtion zeigt.
Das Display funktioniert direkt am Mega32, also ein defekt des disp kan 
man ausschließen.
im Programm habe ich zum test noch eine andere anbindung zu i2C die 
Funktioniert, also I2C ports auch OK.
$regfile = "m32def.dat"
$framesize = 32
$swstack = 32
$hwstack = 32
$crystal = 1000000
$lib "Lcd_i2c.lib"                                          'My i2c driver for the LCD
Config I2cdelay = 1
Const Pcf8574_lcd = &H40                                    'Defines the address of the I/O expander for LCD
Config Scl = Portc.0                                        'Configure i2c SCL
Config Sda = Portc.1                                        'Configure i2c SDA
Dim _lcd_e As Byte                                          'Needed to control 4 line LCD
_lcd_e = 128                                                'Upper half of 4-line display is selected
Dim A As Byte
Config Lcd = 16 * 2                                         'configure lcd screen
Cls                                                         'clear the LCD display

'Cursor Off Noblink                                          'hide cursor
'Wait 1                                                      'wait a moment
'Cursor On Blink                                             'show cursor
'Wait 1                                                      'wait a moment
'Display Off                                                 'turn display off
'Wait 1                                                      'wait a moment
'Display On


Do

  Cls
   Locate 2 , 10                                            'that 
   Lcd "Test"
 I2cstart                                                    'start condition
   I2cwbyte &H90                                            '10010000  144                                          'Adress   Dez 144 90H B10010000
   I2cwbyte &B00000000                                      '00000000  0
   I2cwbyte &B10111111                                      '10111111  191
   I2cwbyte &B00000011                                      '00000011  3
   I2cwbyte &B00001111                                      '00001111  15 Ausgang
    Waitms 400
I2cstop
                                                    'start condition
   I2cstart                                                 'start condition
I2cwbyte &H90                                               '10010000  144                                          'Adress   Dez 144 90H B10010000
I2cwbyte &H00                                               '00000000  0
I2cwbyte &H7F                                               '01111111  127
I2cwbyte &H02                                               '00000010  2
I2cwbyte &H0F                                      '00001111  15 Ausgang
    Waitms 400
I2cstop
Loop
End

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ gast (Gast)

Deine Kommentare im Programm sind nicht sehr hilfreich. An welchen Pins 
vom PCF8574 hängen welche Pins vom LCD?

MFG
Falk

Autor: gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sorry einige Komentare sind noch aus der lcd_i2c_demo.bas  .

PCF |  DISPL.
________
P0  | DB4
P1  | DB5
P2  | DB6
P3  | DB7
P4  | RS
P5  |
P6  |
P7  | E

PCF | Mega32
INT |
SDA | SDA (Wiederstand gegen 5V)
SCL | SCL (Wiederstand gegen 5V)

A0,A1,A2,PIN8(VSS) nach GND

VDD nach 5V

Display
R/W,DB0,DB1,DB2,DB3 Nach GND

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ gast (Gast)

Nun, dann ist dein Programm noch ziemlich unbrauchbar. Denn du musst das 
LCD erst per Hand initialisieren. Die BASCOM Funktionen für das LCD 
laufen nur, wen dein LCD direkt am Controller hängt.

AVR-Tutorial: LCD

MfG
Falk

Autor: gast (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
ich hab mal die LCD & key i2c lib angehängt, ich gehe mal davon aus das 
die init in der lib mit dabei ist.

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hmmm, ich kenn mich leider nicht soo mit BASCOM aus, dass ich das mit 
der LIB vollständig schnalle. Irgendwie müssen doch die Zusatzbefehle zu 
finden sein?
Keine Ahnung.

MFg
Falk

Autor: gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ok danke Falk für deine Bemühungen..
war soweit schon alles richtig nur..

der PCF8574P hat gegenüber der gleichen Beschaltung zum PCF8574AP(den 
habe ich) andere I2C Adressen.

Ja manchmal sinds die einfachen dinge

Beitrag #5014912 wurde von einem Moderator gelöscht.

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.