
|
INFO - FAQ - CC2-Forum - CCPro-Forum |
|
||
|
suuuuper - vielen Dank !!! > Hi Stefan, > > so habe ich die Programmierung des 4x16-Displays (das "grüne-gelbe"-Display von Conrad )gelöst (so ist es recht verständlich). > Habe mir auch mal ein "blaues 2x16" kommen lassen (sieht schöner aus und braucht weniger STrom), allerdings werden dort die > Zeilenanfänge anders addressiert. Kannst du aber ganz leicht ausprobieren, indem du einen Test-Text mit immer anderen Adressen > ausprobierst. Irgendwann passt es schließlich. Gibt aber auch beim Conrad-Kundenservice (17 80 04) ein komplettes LCD-Datenblatt (jeweils für die > grün-gelbe oder blaue Version). Da stehen alle Adressen und ASCII-Codes drin. > > > Hoffe, das hilft dir weiter... > Todi > > > > > > Beschaltung: > > > Display-Pin 1 an Masse > Display-Pin 2 an +5V > Display-Pin 3 an 0 bis 5V (Kontrast) > > > Port 9 an Display-Pin 11 > Port 10 an Display-Pin 12 > Port 11 an Display-Pin 13 > Port 12 an Display-Pin 14 > > Port 13 an Display-Pin 5 > Port 14 an Display-Pin 4 > Port 15 an Display-Pin 6 > > > > > > > > 'Programm: > > define lcd_buf byte > define lcd_param byte > > > > > > define lcd_port byteport[2] > > > define lcd_rs port[14] > define lcd_rw port[13] > define lcd_e port[15] > > > '*** ASCII-Codes *** > define GA_ &H41 > define GB_ &H42 > define GC_ &H43 > define GD_ &H44 > define GE_ &H45 > define GF_ &H46 > define GG_ &H47 > define GH_ &H48 > define GI_ &H49 > define GJ_ &H4A > define GK_ &H4B > define GL_ &H4C > define GM_ &H4D > define GN_ &H4E > define GO_ &H4F > define GP_ &H50 > define GQ_ &H51 > define GR_ &H52 > define GS_ &H53 > define GT_ &H54 > define GU_ &H55 > define GV_ &H56 > define GW_ &H57 > define GX_ &H58 > define GY_ &H59 > define GZ_ &H5A > > define KA_ &H61 > define KB_ &H62 > define KC_ &H63 > define KD_ &H64 > define KE_ &H65 > define KF_ &H66 > define KG_ &H67 > define KH_ &H68 > define KI_ &H69 > define KJ_ &H6A > define KK_ &H6B > define KL_ &H6C > define KM_ &H6D > define KN_ &H6E > define KO_ &H6F > define KP_ &H70 > define KQ_ &H71 > define KR_ &H72 > define KS_ &H73 > define KT_ &H74 > define KU_ &H75 > define KV_ &H76 > define KW_ &H77 > define KX_ &H78 > define KY_ &H79 > define KZ_ &H7A > > define NULL_ &H30 > define EINS_ &H31 > define ZWEI_ &H32 > define DREI_ &H33 > define VIER_ &H34 > define FUENF_ &H35 > define SECHS_ &H36 > define SIEBEN_ &H37 > define ACHT_ &H38 > define NEUN_ &H39 > define LEERZ_ &H20 > define MINUS_ &H2D > define GLEICH_ &H3D > define DOPPELP_ &H3A > define KOMMA_ &H2C > define PROZENT_ &H25 > define PLUS_ &H2B > define BACK_ &H3C > define Frage_ &H3F > > '*** Programmoperationen *** > #init > > gosub lcd_init > > > > #display > > > lcd_param = 1 : gosub LCD_GOTOLINE > 'schreibe "Motor:" > lcd_param = GM_ : gosub LCD_WRITECHAR > lcd_param = KO_ : gosub LCD_WRITECHAR > lcd_param = KT_ : gosub LCD_WRITECHAR > lcd_param = KO_ : gosub LCD_WRITECHAR > lcd_param = KR_ : gosub LCD_WRITECHAR > lcd_param = DOPPELP_ : gosub LCD_WRITECHAR > > > lcd_param = 2 : gosub LCD_GOTOLINE > 'schreibe "Licht:" > lcd_param = GL_ : gosub LCD_WRITECHAR > lcd_param = KI_ : gosub LCD_WRITECHAR > lcd_param = KC_ : gosub LCD_WRITECHAR > lcd_param = KH_ : gosub LCD_WRITECHAR > lcd_param = KT_ : gosub LCD_WRITECHAR > lcd_param = DOPPELP_ : gosub LCD_WRITECHAR > > lcd_param = 3 : gosub LCD_GOTOLINE > 'schreibe "Power:" > lcd_param = GP_ : gosub LCD_WRITECHAR > lcd_param = KO_ : gosub LCD_WRITECHAR > lcd_param = KW_ : gosub LCD_WRITECHAR > lcd_param = KE_ : gosub LCD_WRITECHAR > lcd_param = KR_ : gosub LCD_WRITECHAR > lcd_param = DOPPELP_ : gosub LCD_WRITECHAR > > > lcd_param = 4 : gosub LCD_GOTOLINE > > lcd_param = GT_ : gosub LCD_WRITECHAR > lcd_param = KE_ : gosub LCD_WRITECHAR > lcd_param = KS_ : gosub LCD_WRITECHAR > lcd_param = KT_ : gosub LCD_WRITECHAR > lcd_param = _LEERZ_ : gosub LCD_WRITECHAR > lcd_param = DOPPELP_ : gosub LCD_WRITECHAR > > > end > > > > '*** LCD_Interface *** > > > #LCD_INIT > > ' alle ports 0 > lcd_port = OFF > > ' 8-Bit-Modus aktivieren > lcd_param=&H38 : gosub LCD_WRITECMD > > ' mit 8-Bit-Command in 4-Bit-Modus umschalten > lcd_port=&B00000010 > tog lcd_e > tog lcd_e > > ' ab jetzt 4-Bit-Modus > lcd_param = &H28 : gosub LCD_WRITECMD > lcd_param = &H0C : gosub LCD_WRITECMD > > ' Display loeschen > #LCD_CLS > lcd_param = &H02 : gosub LCD_WRITECMD > lcd_param = &H01 : gosub LCD_WRITECMD > return > > ' Zeilenwechsel > #LCD_GOTOLINE > if lcd_param = 1 then lcd_param = &H80 'Zeile 1 > if lcd_param = 2 then lcd_param = &HC0 'Zeile 2 > if lcd_param = 3 then lcd_param = &H94 'Zeile 3 > if lcd_param = 4 then lcd_param = &HD4 'Zeile 4 > goto LCD_WRITECMD > > ' LCD-Kommando > #LCD_WRITECMD > lcd_buf = OFF > goto LCD_WRITE > > ' Zeichenausgabe > #LCD_WRITECHAR > if lcd_param = BACK_ then return > lcd_buf = &B00100000 > > ' Kommando oder Zeichen an Display senden > #LCD_WRITE > lcd_port = lcd_buf or (lcd_param shr 4) ' Hi-Nibble > tog lcd_e > tog lcd_e > lcd_port = lcd_buf or (lcd_param and &H0F) ' Lo-Nibble > tog lcd_e > tog lcd_e > return |
| Antwort schreiben |