LCD-Ansteuerung

Gast #270
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
Gast #273
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

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.