www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik fehlersuche 161A


Autor: wanderameise (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hoi,

habe das tutorial mal durchgeschaut und es so angepasst wie sein sein 
soll, leider funktioniert es nict so wie ich will:

main:
  DDRA = 0xff;
  PORTA = 0x00;
  _delay_ms(20);
  
  //PA0=RS PA1=R/W
  PORTA &= ~(1<<PA0);
  PORTA &= ~(1<<PA1);
  
  //DB4-DB7=PA3-PA6
  //sende 3
  PORTA |= (1<<PA3); 
  PORTA |= (1<<PA4);
  PORTA &= ~(1<<PA5);
  PORTA &= ~(1<<PA6);
   
  //PA2=enable
  PORTA |= (1<<PA2);
  _delay_us(5);                  
  PORTA &= ~(1<<PA2);
  _delay_ms(5);
   
  PORTA |= (1<<PA2);
  _delay_us(5);                  
  PORTA &= ~(1<<PA2);
  _delay_ms(2);
  
  PORTA |= (1<<PA2);
  _delay_us(5);                  
  PORTA &= ~(1<<PA2);

  // 4 Bit Modus aktivieren
  PORTA &= ~(1<<PA3); 
  PORTA |= (1<<PA4);
  PORTA &= ~(1<<PA5);
  PORTA &= ~(1<<PA6);
  
  PORTA |= (1<<PA2);
  _delay_us(5);                  
  PORTA &= ~(1<<PA2);   
  
  _delay_ms(1);
        lcd_command(0x25);
  
  _delay_ms(1);
  lcd_command(0x0F);

lcd_command wie im tutorial
void lcd_command(unsigned char temp1)
{
  unsigned char temp2 = temp1;
 
  PORTA &= ~(1<<PA0);        
 
  temp1 = temp1 >> 4;            
  temp1 = temp1 & 0x0F;
   
  PORTA &= ~(1<<PA3); 
  PORTA &= ~(1<<PA4);
  PORTA &= ~(1<<PA5);
  PORTA &= ~(1<<PA6);
  
  if(temp1 & 0x01) PORTA |=(1<<PA3) ;      
  if(temp1 & 0x02) PORTA |=(1<<PA4) ;
  if(temp1 & 0x04) PORTA |=(1<<PA5) ;
  if(temp1 & 0x08) PORTA |=(1<<PA6) ;
   
  _delay_us(1); 
  PORTA |= (1<<PA2);
  _delay_us(5);                  
  PORTA &= ~(1<<PA2);
 
  temp2 = temp2 & 0x0F;
   
  PORTA &= ~(1<<PA3); 
  PORTA &= ~(1<<PA4);
  PORTA &= ~(1<<PA5);
  PORTA &= ~(1<<PA6);        
   
  if(temp2 & 0x01) PORTA |=(1<<PC3) ;      
  if(temp2 & 0x02) PORTA |=(1<<PA4) ;
  if(temp2 & 0x04) PORTA |=(1<<PA5) ;
  if(temp2 & 0x08) PORTA |=(1<<PA6) ;
  
  PORTA |= (1<<PA2);
  _delay_us(5);                  
  PORTA &= ~(1<<PA2);
  _delay_us(42);
}

zu sehen sind 8 kästchen á 5x8. aber kein blinken!?!
bein durchmessen liegen auch alle pegel an den richtigen ports, bzw 
inputs des LCDs an! wo liegt mein fehler?

Autor: wanderameise (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
keiner ne idee?

Autor: micha (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
nehme mal an, es gebt um ein LCD Display. Hört sich so an, als wenn die 
Kontrastspannung zu hoch ist. Hast Du ein Poti dran?

Autor: wanderameise (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ja habe ein poti dran, es ist nicht voll aufgedreht und auch wenn ich 
diese  spannung verändere tut sich nichts!

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>ja habe ein poti dran, es ist nicht voll aufgedreht und auch wenn ich
>diese  spannung verändere tut sich nichts!

Dann ist das Poti wohl falsch angeschlossen, und der Kontrast
so voll aufgedreht.

Autor: wanderameise (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hehe ne meinte es tut sich nichts im sinne von cursor blinken etc...
der kontrast ändert sich schon, nur das lcd reagiert nicht auf meine 
befehle bzw die initialisierung läuft schief...

Autor: wanderameise (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hier das datenblatt
http://tinyurl.com/yh5ah82

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Welcher AVR, welche Taktfrequenz?

Autor: wanderameise (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
atmega32, 16Mhz

Autor: wanderameise (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
mh 8. letzte zeile im 2. quote. könnte ein fehler sein :)

Autor: wanderameise (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hat nix gebracht :(

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

Bewertung
0 lesenswert
nicht lesenswert
Probier mal die Hex-Datei im Anhang.

Autor: wanderameise (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hab den fehler gefunden, war was falsch gepolt.danke trotzdem!!

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.