Hi Mehto
Ich verstehe, hätte ich also doch zuerst das Datenblatt lesen sollen :oops:
Ich dachte das Display buffert den Bildschirm und man muß nur in die jeweilige Adresse schreiben die sich geändert hat.
Vielen Dank für die Erklärung!
LG
Rubi
Druckbare Version
Hi Mehto
Ich verstehe, hätte ich also doch zuerst das Datenblatt lesen sollen :oops:
Ich dachte das Display buffert den Bildschirm und man muß nur in die jeweilige Adresse schreiben die sich geändert hat.
Vielen Dank für die Erklärung!
LG
Rubi
Hi Mehto,
zu deinem ASM-Code, der sbi und cbi-Befehl verbraucht doch glaub ich jeweils 2 Takte, der out-Befehl nur einen Takt.
Den Datenport und Adressbus zum Speicher würde ich mit jeweils einem extra PORT verbinden, da muss man nicht dauernd die DDRx umschalten, was auch Takte spart.
Hi millioneer,
das mit dem OUT kann ich ja noch machen, wobei es aber später zu Problemen kommen kann da an dem Port ja noch andere Signale sind. Dann müste ich zuerst deren Zustand auslesen,
schneller wirds dann auch nicht.
Für einen Extra-Port für den Datenbus reicht es leider nicht, sonst wäre später nur noch eine Datenüberragung via Uart möglich.
Gruß,
Mehto
So,
jetzt hab ich den Controller auf den Atmega162 umgerüstet und es funktioniert jetzt nach ein paar hürden wunderbar.
Jetzt ist wirklich absulut kein flimmern mehr sichtbar!
Bild hier
Bild hier
Bild hier
Hab noch einen kleinen Text aus dem Wiki reinkopiert ;-)
und hier in ganz groß:
Bild in groß
Zusätzlich hab ich jetzt noch eine Nor-Verknüpfung eingebaut damit die Daten direkt vom Sram zum Display können.
Werde demächst einen Schaltplan erstellen.
Als nächstes kommt jetzt die Datenübertragung dran, bis jetzt wird der Inhalt immer beim Programmstart geladen.
Wie weit seid ihr mit euren Displays?
Gruß,
Mehto
Hi!
S U P E R!! Hey das ist super!
....und jetzt Grafik... :D
Weiter so!!
VLG Tobi
Hi Tobi!
Kenst du zufällig ein Prgramm das einem ein 1-Bit Bild erstellt?
Grafik ist eigentlich noch einfacher als Text, nur ist es schwehr eine Grafik so zu erstellen.
Da wart ich lieber bis die Datenübertragung z.B. LCDHype funktioniert.
Gruß,
Mehto
hy du,
ich kenne nur ein programm, dass nennt sich BMP2C, soviel ich weiß macht dir das solche Bit dateien, klar du verwendest asm, aber den string kannste ja abgucken oder? wenn du interesse hast, gibs bei google ein, dann findest du es soforft.
des mit dem Display sieht echt gut aus, ich hab grad richtig gestaunt, wie viel Text dadrauf passt
hat nicht vielleicht doch jemand so ein display übrig? *ganzliebschau*
aber so ein Programm sollte man doch mittels vb relativ einfach programmieren können...
Danke Lion, werd mal schauen. Eigentlich ist es ja kein Problem, einfach BMP erstellen und mit einem Hexeditor öffnen. Nur kann ich mit den hexzahlen allein aneinandergequetsch nichts anfangen, die sollten am besten schon "0X" davor haben, oder als dezimal mit komma getrent :-)
@Pascal:
Leider hab ich keine Displays mehr übrig :-(
So ein Display bekommst du aber teilweise auch bei Ebay günstig, die funktionieren ohne Controller alle gleich.
Wichtig ist nur das es nicht größer als 640x400 Pixel hat, denn die mit 640x440 Pixel brauchen einen SRAM mit 64KB die es wiederum so gut wie gar nicht gibt...
*/EDIT Auf dem Display haben übrigens 4000 Zeichen Platz :cheesy:
Leider kann ich nur Assembler, HTML und ein bissele PHP :-s
Werd mal bei google suchen.
Gruß,
Mehto
hi,
also ich hab das programm aus meiner festplatte gekrammt und hier ist ein beispiel.
im anhang ein bmp bild und hier der code, der draus gemacht wird:
Code://#####################################
//Datei wurde erzeugt von BMP2C V1.11
//hk@holger-klabunde.de
//http://www.holger-klabunde.de
//#####################################
//#include <avr/pgmspace.h> //WinAVR
//#include <progmem.h> //AVR-GCC
//Einige 8051 Compiler wollen ein zusätzliches code
//const unsigned char code paulbmp[]= { //Keil
//prog_uchar paulbmp[]= { //AVR-GCC, WinAVR
//const rom unsigned char paulbmp[]= { //Microchip C18
const unsigned char paulbmp[]= { //SDCC
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x08,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x0C,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x0F,0xD8,0x00,0xC4,0x00,0x00,0x00,0x00,
0x00,0x07,0xD8,0x00,0x64,0x00,0x00,0x00,0x00,
0x00,0x0E,0xF8,0x00,0x24,0x78,0x00,0x00,0x00,
0x00,0x18,0x30,0x00,0x39,0xC0,0x00,0x60,0x00,
0x00,0x18,0x38,0x00,0x39,0x80,0x00,0x60,0x00,
0x00,0x30,0x18,0x00,0x1B,0x00,0x00,0x64,0x00,
0x00,0x30,0x18,0x00,0x1B,0x00,0x07,0xFC,0x00,
0x00,0x30,0x18,0x00,0x1E,0x00,0x0F,0xF8,0x00,
0x00,0x30,0x38,0x07,0xF6,0x00,0x08,0x1D,0x00,
0x00,0x1B,0xFF,0x8F,0xF5,0x00,0x18,0x07,0x80,
0x00,0x1F,0xE7,0xDE,0x3F,0xE0,0x08,0x03,0x00,
0x00,0x7F,0x00,0x7E,0x3E,0x70,0x08,0x07,0x00,
0x01,0xE0,0x00,0x32,0x3C,0x38,0x08,0x07,0x00,
0x07,0x80,0x00,0x33,0x18,0x3F,0xFC,0x0E,0x00,
0x07,0x00,0x00,0x67,0x38,0x7F,0xDF,0x9E,0x00,
0x0E,0x00,0x00,0x67,0xB8,0xF8,0x00,0xF8,0x00,
0x0C,0x00,0x00,0x65,0xF9,0xD8,0x00,0x38,0x00,
0x1C,0x00,0x00,0x60,0xFB,0xB8,0x00,0x18,0x00,
0x18,0x00,0x00,0x60,0xFF,0xB8,0x00,0x0C,0x00,
0x10,0x00,0x00,0x31,0xDD,0xF0,0x00,0x06,0x00,
0x30,0x00,0x00,0x1F,0x9F,0xE0,0x00,0x02,0x00,
0x30,0x78,0x00,0x07,0x8F,0xC0,0x00,0x03,0x00,
0x30,0x7C,0x00,0x07,0x0C,0x80,0x00,0x03,0x00,
0x30,0x30,0x00,0x0E,0x0C,0x00,0x00,0x03,0x00,
0x10,0x30,0x00,0x0E,0x0C,0x00,0x04,0x06,0x00,
0x18,0x30,0x01,0xFF,0xEC,0x00,0x0F,0xC6,0x00,
0x08,0x10,0x0F,0x5D,0xFE,0x00,0x07,0x86,0x00,
0x0C,0x18,0x3C,0x18,0x1F,0x80,0x06,0x06,0x00,
0x06,0x18,0x70,0x30,0x0D,0xE0,0x06,0x0E,0x00,
0x03,0x0C,0xE0,0x30,0x1C,0x30,0x0C,0x0C,0x00,
0x01,0x86,0xC2,0x10,0x1C,0x30,0x0C,0x1C,0x00,
0x00,0xFB,0x80,0x1C,0x38,0x38,0x1C,0x18,0x00,
0x00,0x3F,0x86,0x0F,0xF0,0x18,0x38,0x38,0x00,
0x00,0x01,0xA0,0x63,0xF0,0x98,0xF0,0x70,0x00,
0x00,0x01,0xA0,0x02,0x08,0x1F,0xC3,0xE0,0x00,
0x00,0x01,0x80,0x43,0x00,0x1F,0x1F,0xC0,0x00,
0x00,0x01,0x80,0x06,0x00,0x1F,0xFE,0x00,0x00,
0x00,0x00,0xF9,0x07,0x02,0x1B,0xE0,0x00,0x00,
0x00,0x01,0xC0,0x07,0x10,0x18,0x00,0x00,0x00,
0x00,0x03,0x6C,0x47,0x00,0xFE,0x00,0x00,0x00,
0x00,0x06,0x78,0x47,0x02,0x3F,0x80,0x00,0x00,
0x00,0x04,0x38,0x0F,0x83,0xF0,0xC0,0x00,0x00,
0x00,0x00,0x7E,0x3D,0x80,0xF0,0x30,0x00,0x00,
0x00,0x00,0xEF,0xFD,0xC1,0xF8,0x00,0x00,0x00,
0x00,0x00,0xC1,0xDB,0xFF,0x88,0x00,0x00,0x00,
0x00,0x00,0xC0,0xDB,0xFE,0x04,0x00,0x00,0x00,
0x00,0x00,0x00,0xDB,0xC0,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0xDE,0xC0,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x9E,0x80,0x00,0x00,0x00,0x00,
0x00,0x00,0x01,0x8C,0x80,0x00,0x00,0x00,0x00,
0x00,0x00,0x01,0x8D,0x80,0x00,0x00,0x00,0x00,
0x00,0x00,0x01,0x81,0x80,0x00,0x00,0x00,0x00,
0x00,0x00,0x01,0x99,0x80,0x00,0x00,0x00,0x00,
0x00,0x00,0x01,0xF9,0x80,0x00,0x00,0x00,0x00,
0x00,0x00,0x03,0xFB,0x80,0x00,0x00,0x00,0x00,
0x00,0x00,0x03,0x0F,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x01,0x87,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x7C,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
};
Code://#####################################
//Datei wurde erzeugt von BMP2C V1.11
//hk@holger-klabunde.de
//http://www.holger-klabunde.de
//#####################################
//#include <avr/pgmspace.h> //Win-AVR
//#include <progmem.h> //AVR-GCC
#define paulWIDTH 67 //Breite in Pixeln
#define paulBYTEWIDTH 9 //Breite in Bytes
#define paulHEIGHT 64 //Höhe in Pixeln
//extern const rom unsigned char paulbmp[]; //Microchip C18
//extern prog_uchar paulbmp[]; //AVR-GCC, WinAVR
//extern const unsigned char code paulbmp[]; //Keil
extern const unsigned char paulbmp[]; //SDCC
mal guggn ob es dir hilft.
[EDIT] kriege leider das bild nicht rauf, kA wieso,aber das bild is Paul Panther, kennt sicher jeder :D