matlxxx
29.12.2006, 15:35
Hallo!
Hab vorn paar tage mein display an den pcf gehängt und ein bisschen rumprobiert, hat auch das meiste geklappt \:D/
Nun wollte ich die lib funktionen und die ganze datenübertragung zum lcd ein bisschen besser verstehen. ich hoff ihr könnt mir da was beibringen!
erstmal die write funktion:
FUNCTION LCD_WRITE(BUF as byte,LCDDATA as byte)
define EXTPORT byteport[18]
define OUTBYTE as byte
'--------- ------WRITE HI NIBBLE ------------------------
OUTBYTE=BUF or (LCDDATA shr 4)
EXTPORT=OUTBYTE or 01000000b
EXTPORT=OUTBYTE and 10111111b
'--------------- WRITE LO NIBBLE ------------------------
OUTBYTE=BUF or (LCDDATA and 0Fh)
EXTPORT=OUTBYTE or 01000000b
EXTPORT=OUTBYTE and 10111111b
END FUNCTION
1)das mit Hi nibble und lo nibble glaub ich zu verstehn(weil ich im 4-bit mod. fahre, zuerst werden die oberen 4-bit gesendet und dann die unteren 4 bit)
dass ich die ersten vier bits erhalte wird LCDDATA shr 4
also wenn ich jetz lcddata 11111111 is dann wird mit shr 4 11110000 daraus oder??
2) was bewirkt die or funktion?? wenn ich beim windows-rechner die or funktion hernehme, zält er mir die 2 zahlen nur zusammen!
die aus der Digitaltechnik bekannte ODER funktion kann ich das nicht vergleichen oder???
2) Wenn ich zb. ein A schreiben will, dann: LCD_WRITE(20h,41h)
20h steht laut code tabelle des displays(oder auch ASCII tab.??) für ein @
41h steht für ein großes A
Warum jetzt 20h?????
freue mich auf jede Antwort
gruß martin
Hab vorn paar tage mein display an den pcf gehängt und ein bisschen rumprobiert, hat auch das meiste geklappt \:D/
Nun wollte ich die lib funktionen und die ganze datenübertragung zum lcd ein bisschen besser verstehen. ich hoff ihr könnt mir da was beibringen!
erstmal die write funktion:
FUNCTION LCD_WRITE(BUF as byte,LCDDATA as byte)
define EXTPORT byteport[18]
define OUTBYTE as byte
'--------- ------WRITE HI NIBBLE ------------------------
OUTBYTE=BUF or (LCDDATA shr 4)
EXTPORT=OUTBYTE or 01000000b
EXTPORT=OUTBYTE and 10111111b
'--------------- WRITE LO NIBBLE ------------------------
OUTBYTE=BUF or (LCDDATA and 0Fh)
EXTPORT=OUTBYTE or 01000000b
EXTPORT=OUTBYTE and 10111111b
END FUNCTION
1)das mit Hi nibble und lo nibble glaub ich zu verstehn(weil ich im 4-bit mod. fahre, zuerst werden die oberen 4-bit gesendet und dann die unteren 4 bit)
dass ich die ersten vier bits erhalte wird LCDDATA shr 4
also wenn ich jetz lcddata 11111111 is dann wird mit shr 4 11110000 daraus oder??
2) was bewirkt die or funktion?? wenn ich beim windows-rechner die or funktion hernehme, zält er mir die 2 zahlen nur zusammen!
die aus der Digitaltechnik bekannte ODER funktion kann ich das nicht vergleichen oder???
2) Wenn ich zb. ein A schreiben will, dann: LCD_WRITE(20h,41h)
20h steht laut code tabelle des displays(oder auch ASCII tab.??) für ein @
41h steht für ein großes A
Warum jetzt 20h?????
freue mich auf jede Antwort
gruß martin