Hi,
hier mal ganz simpel,
Konstanten vorbelegen, Display initialisieren, unterschied zwischen Normal Mode und Horizontal Scroll Mode:
Code:
$REGFILE = m16def.dat 'Je nach Chip
$CRYSTAL = 7372800 'Je nach Quarz
$BAUD = 1200 'Je nach B0, B1 Einstellung
CONFIG PortD = OUTPUT
Config Com1 = Dummy , Synchrone = 0 , Parity = NONE , Stopbits = 2 , Databits = 8 , Clockpol = 1
'-----------------------------------------------------------------------
'Konstanten Definitionen für das VFD
'Helligkeit
CONST VFD_DIM = &H04
CONST VFD_DIM_100% = &HFF
CONST VFD_DIM_60% = &H60
CONST VFD_DIM_40% = &H40
CONST VFD_DIM_20% = &H20
'Formatierungen
CONST VFD_BACKSPACE = &H08
CONST VFD_NORMAL_MODE = &H11
CONST VFD_V_SCROLL_MODE = &H12
CONST VFD_H_SCROLL_MODE = &H16
CONST VFD_H_TAB = &H09
CONST VFD_LINE_FEED = &H0A
CONST VFD_RETURN = &H0D
'Positionen
CONST VFD_POSITION = &H10
CONST VFD_HOME_1st_Line = &H00
CONST VFD_HOME_2nd_LINE = &H14
'Cursor
CONST CURSOR_ON = &H13
CONST CURSOR_OFF = &H14
CONST CURSOR_BLINK = &H15
CONST VFD_RESET = &H1F
'-----------------------------------------------------------------------
'Initialisierung des Displays, Helligkeit 100%, Cursor aus
PRINTBIN VFD_RESET; VFD_DIM; VFD_DIM_100%; CURSOR_OFF;
'TEST
'Displayzeile Vollschreiben
PRINT "12345678901234567890";
'jetzt wird überschrieben, in nächste Zeile bei Zeilenüberlauf
waitms 250
PRINT "a";
waitms 250
PRINT "B";
waitms 250
PRINT "c";
waitms 250
PRINT "D";
waitms 250
PRINT "e";
waitms 500
'Neue Initialisierung des Displays, Helligkeit 60%, Cursor blikt
PRINTBIN VFD_RESET; VFD_DIM; VFD_DIM_100%; CURSOR_BLINK;
'Scroll Mode einschalten
PRINTBIN VFD_H_SCROLL_MODE;
'Displayzeile Vollschreiben
PRINT "12345678901234567890";
'jetzt wird gescrollt
waitms 250
PRINT "Aa";
waitms 250
PRINT "Bb";
waitms 250
PRINT "Cc";
waitms 250
PRINT "Dd";
waitms 250
PRINT "Ee";
waitms 250
DO
'Hauptprogramm, tu nix...
NOP
LOOP
Check vorher ab, ob das Display überhaupt geht, den TEST Pin von VCC auf GND, dann sollte das Display seinen Zeichensatz anzeigen.
Lesezeichen