mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik AVR Displayansteuerung


Autor: AVR Interessierter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie schon einige zuvor, komme ich mit der Ansteuerung des Grafik-Display 
DataVision DG-16080-11 
(http://www.pollin.de/shop/shop.php?cf=suche_ergebn...) 
nicht weiter. Trotz der bisherigen Beitraege zu diesem Display, kann ich 
das Display nicht korrekt ansteuern.

Der verwendete µC ist ein ATMega8515L, der beim bekannten STK500 dabei 
ist. Die Pinbelegung wurde mehrfach geprueft:
                        1: GND
                        2: +5V
,-----------------,     3: +12,2V
|                 |     4: PB0
| TP-Anschluss -> |-|   5: PB1
|                 |-|   6: PB2
| 1 .......... 20 |     7-14: PORTD
'-----------------'     15: GND
                        16: +5V
                        17-20: NC

Das Merkwuerdige ist das scheinbar zufaellige Verhalten des Displays. 
Manchmal sieht man einen schwarzen, senkrechten Streifen auf der linken 
Seite, meistens jedoch nichts. Nichts im Sinne von unangeschlossen in 
der Verpackung liegend.

Die Versorgungsspannungen sind meiner Meinung nach stabil. Allerdings 
laeuft das STK500 unabhaengig von der POWER-Schalterstellung. Wenn der 
Schalter auf "aus" ist, messe ich +6,3V am Ausgang des 7805 (s.u.) und 
das STK500 wird nahe des LM317M (STK500) ziemlich warm.

+12,2V
>-------x----------x-----------------------
        |          |                      |
     STK500      7805--------|       Display(+12V)
        |          |    Display(+5V)      |
>-------x----------x---------x-------------
GND

Anbei der Quelltext:
.include "m8515def.inc"

.equ  RS = PB0
.equ  RW = PB1
.equ  E = PB2
.equ  B = PD7
; DB0...DB7  PORTD
; Takt ~3,6MHz
; AVR Studio Version 4.14.589

  ; Interruptvektoren
  .org 0x0000
  rjmp start
  reti reti reti reti
  reti reti reti reti
  reti reti reti reti
  reti reti reti reti
  reti reti

  .org 0x0013
start:
  ; Stack initialisieren
  ldi r16, low(ramend)
  out spl, r16
  ldi r16, high(ramend)
  out sph, r16

  ; PORTB, PORTD als Ausgang
  ser r20
  out DDRB, r20
  out DDRD, r20
  sbi PORTB, RS
  cbi PORTB, RW
  cbi PORTB, E

  ; LCD initalisieren
  eor r20, r20  ; Grafikmodus
  ldi r21, 0x32
  rcall LCD_Anweisung
  ldi r20, 1    ; Bits/Byte
  ldi r21, 8-1
  rcall LCD_Anweisung
  ldi r20, 2    ; Bytes/Zeile
  ldi r21, 160/8-1
  rcall LCD_Anweisung
  ldi r20, 3    ; Zeilenanzahl
  ldi r21, 80-1
  rcall LCD_Anweisung
  ldi r20, 8    ; Startadresse (lower)
  eor r21, r21
  rcall LCD_Anweisung
  ldi r20, 9    ; Startadresse (upper)
  eor r21, r21
  rcall LCD_Anweisung

  ldi r20, 10    ; Cursoradresse (lower)
  eor r21, r21
  rcall LCD_Anweisung
  ldi r20, 11    ; Cursoradresse (upper)
  eor r21, r21
  rcall LCD_Anweisung
  ldi r16, 80
w1:
  ldi r17, 160/8
w2:
  ldi r20, 12    ; schreiben
  ldi r21, 255
  rcall LCD_Anweisung
  dec r17
  brne w2
  dec r16
  brne w1

fertig:
  rjmp fertig



LCD_Anweisung:
  /*
    Befehl    r20
    Daten    r21
    geaendert  r22
  */
  push r22

  eor r22, r22
  out DDRD, r22
  sbi PORTB, RW
  sbi PORTB, RS
busy:
  sbi PORTB, E
  nop
  in r22, PIND
  cbi PORTB, E
  sbrc r22, 7
  rjmp busy

  cbi PORTB, RW
  ser r22
  out DDRD, r22
  out PORTD, r20
  sbi PORTB, E
  nop
  cbi PORTB, E

  cbi PORTB, RS
  out PORTD, r21
  sbi PORTB, E
  nop
  cbi PORTB, E

  pop r22
  ret

Gebrauchen koennte ich sowas wie einen Hinweis auf die Ursache ...

Autor: M. B. (freiberger77)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hast du schon mal den Anschluß des 7805 geprüft ?
Das sieht mir etwas seltsam aus.
Es sollten auch ca 5V rauskommen, und keine 6,3V

Autor: Michael U. (amiga)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich frage mich gerade, wie Du auf die 12V an Pin 3 kommst, das ist Vee, 
die kommt an den Schleifer eines Einstellreglers für den Kontrast. 
Dieser liegt zwischen GND und Pin 17, -10V, die das Display erzeugt...

Außerdem: Du weißt aber, daß das STK500 am Eingang einen 
Brückengleichrichter hat und die Netzteilbuchse nicht direkt mit GND des 
STK500 verbunden ist?

Irgendwas schließt Du also kurz mit solch einer BEschaltung, abhängig 
davon, welchen Anschluß der Netzteilbuchse Du mit GND verbindest.

Das muß nicht stören, aber wenn der Schalter in der GND-Leitung liegt 
sind die Verhältnisse bei offenem Schalter ziemlich undefiniert und 
evtl. ungesund für irgendwelche Komponenten.

Gruß aus Berlin
Michael

Autor: AVR Interessierter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Marco B.
        --------------------------------
+12,2V  |                              |
>-------x-------7805-------            |
        |         |       |       Display(+12V)
     STK500       |  Display(+5V)      |
        |         |       |            |
>-------x---------x-------x-------------
GND
_

@Michael U.
Das Datenblatt sagt mir jedenfalls was anderes (power supply for lcd). 
Außerdem messe ich am Pin17 -2,3V gegen GND. Der Brueckengleichrichter 
ist mir schon bekannt, jedoch weiß ich jetzt nicht genau warum ich etwas 
kurzschließen wuerde.
_

Waere das Programm soweit in Ordnung oder gibt es was Grundlegendes zu 
bemaengeln, sofern man das ohne die genaue Kenntnis der Außenbeschaltung 
des µC sagen kann? Ansonsten, was sollte ich denn hardwaremaeßig 
aendern, damit ich irgendwann zu einem funktionierendem etwas komme?

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.