Gast
#269
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!
|
Anzeige
|
LCD-Ansteuerung
Gast
#269
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!
Gast
#270
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
Gast
#273
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
Gast
#274
Naja, besser spät als nie :-D
Gast
#275
sorry, ich wahe was wichtiges vergesse! nach jedem RESET schreib acall lcdinit (initialization des LCD: 2linien, 5*8 pixels usw) Antwort schreiben |
Anzeige
|