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!
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
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
> Ich suche eine Ansteuerung für ein LCD.
Was ist das denn für ein LCD?
MfG
Andreas
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
sorry, ich wahe was wichtiges vergesse! nach jedem RESET schreib acall lcdinit (initialization des LCD: 2linien, 5*8 pixels usw)
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.