PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : DOG-M Display an M-Unit 2.0



chfj82
09.04.2006, 17:41
Hallo,

ich versuche momentan vergeblich ein DOG-M Display (2x16) an meiner M-Unit 2.0 zu betreiben...

http://www.lcd-module.de/deu/dog/dog.htm

Angeschlossen hab ich es per 4bit @ 5V an den selben pins wie für das reguläre 2x16 Display

Leider kenne ich mich mit der 4-bit datenübertragung zum Display nicht besonders gut aus, deswegen klappt die Initalisierung schon gar nicht.

Vielleicht kann mir jemand kurz beschreiben wie ich die Grundlegend ein byte(8bit) bei einer 4bit datenleitung mit RS, R/W & E ans Display sende...

Danke!

Flo

chfj82
11.04.2006, 19:20
So ich habs jetzt doch selber geschafft!

Initalisiere und steuere das Display über 4bit, daher kann ich den nach dem Initalisieren mit der Print on LCD Routine von CCBasic arbeiten! (Anschluesse wie bei Standard Display)

Der Code von mir ist zwar nicht schön und nur schnell geschrieben, aber er funktioniert O:)



define dsp byteport[2]
define tmp byte

#main
gosub init_dsp
...

#start
print"#ON_LCD#";
print"#L101#";"Test";
print"#OFF#";
pause 1
goto start

#init_dsp
dsp = &b00000000
pause 2

for tmp=1 to 3
dsp = &b00000011 'Funtion Set (3x)
dsp = dsp or &b01000000 'setze Enable = 1
dsp = dsp xor &b01000000 'setze Enable = 0
pause 1
next

dsp = &b00000010 'Function Set
gosub dsp_Enable 'Send Byte

dsp = &b00000010 'Function Set
gosub dsp_Enable 'Send Byte
dsp = &b00001001 'Data
gosub dsp_Enable 'Send Byte

dsp = &b00000001 'Internal OSC
gosub dsp_Enable 'Send Byte
dsp = &b00001100 'Data
gosub dsp_Enable 'Send Byte

dsp = &b00000111 'Contrast Set
gosub dsp_Enable 'Send Byte
dsp = &b00000100 'Data
gosub dsp_Enable 'Send Byte

dsp = &b00000101 'Power On
gosub dsp_Enable 'Send Byte
dsp = &b00000010 'Data
gosub dsp_Enable 'Send Byte

dsp = &b00000110 'Follower
gosub dsp_Enable 'Send Byte
dsp = &b00001001 'Data
gosub dsp_Enable 'Send Byte

dsp = &b00000000 'Display ON
gosub dsp_Enable 'Send Byte
dsp = &b00001100 'Data
gosub dsp_Enable 'Send Byte
dsp = &b00000000
return

#dsp_Enable
dsp = dsp or &b01000000 'setze Enable = 1
dsp = dsp xor &b01000000 'setze Enable = 0
#busy_Flag
dsp = dsp or &b00010000 'setze RW = high (Read)
dsp = dsp or &b01000000 'setze Enable = 1
dsp = dsp xor &b01000000 'setze Enable = 0
if dsp = &b00011000 then goto busy_Flag
return