Gast
#3928867
Guten Tag Liebe Forumfreunde Ich Schlage mich seit längerer Zeit mit einem LCD Display herum, bei welchem ich einfach keine Anzeige hinbekomme. Es Handelt sich um einen SYH-LY-CYR22 Punktmatrix Display, welchen ich bei Distrelec erworben habe. ( http://www.distrelec.ch/de/LCD-Punktmatrixdisplay-4-75-mm-4-x-16-Display-Elektronik-DEM-16481-SYH-LY-CYR22/p/17551456?q=661576&page=1&origPos=1&origPageSize=10&simi=99.41 ) Dieser besitzt den Displaycontroller ST7066U-0T. Kennt sich jemand mit diesem Display(Controller) aus oder sind diese Controller evtl. sogar genormt? Bin um jede Hilfe froh. Auf jeden Fall habe ich den Display mit meinem PIC16f1518 Verkabelt und nutze PORT A als Datenleitung und PORT B 0-2 Als Steuersignale. Eine Initzialisierung habe ich mir anhand einer Anleitung im Internet Zusammengebastelt. void LCDstartup(void) { char counter; char instructions[8] = {0x30, 0x30, 0x30, 0x38, 0x08, 0x01, 0x06, 0x0C}; // char delays[8] = {160, 5, 5, 5, 5, 100, 5, 5}; for (counter = 0; counter <8 ; counter++) { RS = 0; RW = 0; ENABLE = 1; PORTA = instructions[counter]; _delay(10); ENABLE = 0; _delay(10); PORTA = 0x00; RS = 1; RW = 1; _delay(160); } } Und ein Zeichen würde ich gerne mit dieser Funktion Schreiben: RS = 0; //Register select set to 0 RW = 0; //Set to write ENABLE = 1; //Enable writing PORTA = (lcd_zeile1[vergleicher])+0x80; //place DRAM Adress on 8Bit bus _delay(10); ENABLE = 0; //Disable writing _delay(10); PORTA = 0x00; RW = 0; //Register select set to 1 RS = 1; // Set to reading //Data write into DRAM RW = 0; // Set to writing ENABLE = 1; // Enable writing PORTA = write_zeile1[vergleicher]; //place data on 8Bit bus _delay(10); ENABLE = 0; //Disable writing _delay(10); PORTA = 0; In diesem CODE-Schnipsel ist die Variable lcd_zeile1 für die einzelnen DRAM Adressen je nach Position auf dem Display. Die Variable write_zeile1 ist ein Array in welchem Buchstaben abgelegt sind, welche vorher als #define in den 8-Bit Wert definiert wurden, so wie es nachher auf die Datenleitungen des Display kommen sollte. Ich hoffe Ihr könnt mir dabei helfen, wenigstens ein Zeichen auf den Display zu bringen. Mit Freundlichen Grüssen Michael