www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik LCD-Ansteuerung


Autor: Johannes (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich suche eine Ansteuerung für ein LCD.
Die Ansteuerung soll ohne einen LCD Controller funktionieren.
Mein einziger Prozessor den ich habe ist der PIC16F873.
Bitte um Hilfe!

Autor: Robert (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich bräuchte auch eine Ansteuerung für eine LCD. Allerdings benütze ich 
einen Atmel 2051 µC. Und ein LCD mit den Controller HD44780 2x20 
Zeichen.
Bröchte dringend ein C programm für das, oder einen Link zu genaueren 
Infos

Autor: Andreas Schwarz (andreas) (Admin) Benutzerseite Flattr this
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Robert,

> Ich bräuchte auch eine Ansteuerung für eine LCD.
> Allerdings benütze ich einen Atmel 2051 µC. Und ein LCD mit
> den Controller HD44780 2x20 Zeichen.

schau dir mal http://www.erikbuchmann.de/ an, da gibt's ein 
Assemblerprogramm dafür.

MfG
Andreas

Autor: Andreas Schwarz (andreas) (Admin) Benutzerseite Flattr this
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Ich suche eine Ansteuerung für ein LCD.

Was ist das denn für ein LCD?

MfG
Andreas

Autor: Sapero (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
lcdcls:  mov  a,#1
  acall  befehl

lcdhome:  mov  a,#2
  sjmp  befehl
;------------------------SHIFT LEFT
lcdsl:
  mov  a,#24
  sjmp  befehl
;------------------------SHIFT RIGHT
lcdsr:
  mov  a,#28
  sjmp  befehl
;------------------------
lcdnext:
  mov  r0,#8
  acall  lcdsl
  djnz  r0,$-2
  ret
;------------------------
lcdback:
  mov  r0,#8
  acall  lcdsr
  djnz  r0,$-2
  ret
;------------------------
befehl:
  clr   lcdrs
  sjmp  dana1
;------------------------
dana:
  setb  lcdrs
dana1:  mov   lcddata,a
  acall  lcdwait
  setb  lcde
  acall  lcdwait
  clr  lcde
;------------------------
lcdwait:
  push  0    ; r0
  mov  r0,#0
  djnz  r0,$
  pop  0    ; r0
  ret
;------------------------
lcdinit:
  clr   lcde
  acall  lcdwait
  mov   r0,#6
  mov   dptr,#initt
initlo:  mov   a,#0
  movc  a,@a+dptr
  inc  dptr
  acall  befehl
  djnz  r0,initlo
  ret
initt:  db  6,12,16,56,128,2
;------------------------
print:  mov  a,#128
  acall  befehl
  pop  dph
  pop  dpl
printLoop:
  mov  a,#0
  movc  a,@a+dptr
  inc  dptr
  jnz  printdalej
  push  dpl
  push  dph
  ret
printdalej:
  cjne  a,#'|',printnormal
  acall  newline

  sjmp  printLoop
printnormal:
  acall  dana
  sjmp  printLoop
newline:
  mov  a,#192    ; kursor ins zweite linie
  ajmp  befehl

;-------------------------------------------------------------------
;und jetzt schreib das
  acall  lcdcls
  acall  print
  db  'hello world|das bin ich',0
; zeichen '|' ist wie enter

Autor: :-) (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Naja, besser spät als nie :-D

Autor: Sapero (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
sorry, ich wahe was wichtiges vergesse!

nach jedem RESET schreib acall lcdinit (initialization des LCD:
2linien, 5*8 pixels usw)

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.