www.mikrocontroller.net

Forum: Compiler & IDEs 320x240 LCD controller atmega8


Autor: Lomy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,
ich möchte ein Controllerloses 320x240 pixel display mit einen mega8 
ansteuern,Grundlegend weis ich was zun tun ist, nur praktisch gehts dann 
doch nicht ... Also per interrupt wird das display auf 1Mhz basis 
refreshed, ich habe erst einmal eine ganz einfach Ablauf geschrieben um 
erst mal ein wenig zu testen und zwar sieht der interrupt so aus :
ISR(TIMER1_COMPA_vect){
if(row==239){
   next_frame();
   row=0;
 }else{
     if(takt==79){
      next_row();
      row++;
      takt=0;
     }else{
         DATA=(1<<D0)|(0<<D1)|(1<<D2)|(0<<D3);
         takt++;
         next_bits();
     }
  }

}
die next funktionen sind nur kruze impulse an Cp LP und Flm. jedoch 
zeigt mir das display nicht die gewünschten 2 an 2 aus pixel an =( oder 
zumindest lässt sich nur erahnen was an und aus ist wenn ich den 
kontrast höher stelle, von der schalten her etc ist alles einwandfrei. 
Ist es vielleicht zu ungenau FLM CP uns LP mit dem selben timer zu 
setzten ? verschiebt sich das signal nach jedem refresh und ich erkenne 
deshalb nur grob die an und aus pixel ??? bitte um hilfe. plz keine 
links zu fertigen controllern, es geht mir hier vorallem auch ums 
verständniss.

Autor: Läubi .. (laeubi) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Lomy schrieb:
> deshalb nur grob die an und aus pixel ??? bitte um hilfe. plz keine
> links zu fertigen controllern, es geht mir hier vorallem auch ums
> verständniss.
Warum schaust du dir diese nicht an wen es um das Verständniss geht 
lernt man doch am besten am Beispiel.

Autor: Lomy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich hab nur beispiele in assembler gefunden, wovon ich nur wenig ahnung 
habe oder fertige hex datein ohne quellcode.

Autor: Läubi .. (laeubi) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der Ansteuerpart läßt sich auch nur sinnvoll in ASM machen, da die Sache 
sehr Zeitkritisch ist. Wenn man da nicht taktgenau ist kommt halt nur 
matsch raus.
Beitrag "Einfacher Low Cost LCD Controller für 320x240 LCD im Textmodus"
Wäre denk ich ein guter EInstieg dort ist der Ansteuerteil in ASM und 
der Rest in C geschrieben wenn ich das richtig in Erinnerung habe.

Autor: Lomy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
naja ok , wenns nicht anders geht werd ich micht halt mal mit assembler 
auseinander setzten müssen, danke für die schnellen infos.

Autor: Rolf Magnus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Also per interrupt wird das display auf 1Mhz basis refreshed,

Bedeutet das, daß du eine Interrupt-Frequenz von 1 MHz hast? Da wirst 
du's nämlich mit einem AVR nicht schaffen. Selbst bei 20 Mhz 
Prozessortakt hast du pro ISR nur 20 Taktzyklen, von denen 2/3 schon 
für's Interrupt-Handling selbst draufgehen.

Autor: Lomy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
und wenn ich mit dem interrupt den ablauf eines assembler codes takten 
lasse ? müsste doch gehen

Autor: Tropenhitze (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>ich möchte ein Controllerloses 320x240 pixel display mit einen mega8
>ansteuern,

Vergiss es einfach!

Autor: Rolf Magnus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Lomy schrieb:
> und wenn ich mit dem interrupt den ablauf eines assembler codes takten
> lasse ? müsste doch gehen

Wenn dieser Assembler-Code nicht länger als 2 bis 3 Instruktionen ist, 
vielleicht.

Autor: Lehrmann Michael (ubimbo)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn du's unbedingt machen willst, dann versuch nicht mit einer 
Luftmatratze den Fahrweg der Titanic nachzupaddeln. Soll heißen vergiss 
deinen Mega8. Du müsstest fast hexen können wenn du das schaffen 
möchtest. Sorry aber mit deinem (momentanen) Wissen glaub ich nicht, 
dass du es schaffen würdest. Ich bin mir nicht mal sicher, ob das 
überhaupts zu schaffen ist.

Also schnapp dir einen FPGA und versuch's damit. Entsprechend Geld und 
Zeit musst du natürlich mitbrigen. VHDL ist leider nicht so einfach wie 
C.
Vorallem ziemlich teuer alles für einen Hobbybastler:  Hier Infos für 
dich :

http://www.mikrocontroller.net/articles/FPGA

Autor: Uwe Jaster (Firma: Ing.-Büro U. Jaster) (jupec)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Lomy,

es gibt 'ne Möglichkeit. Mit Interrupts wird das nie richtig 
funktionieren da die Abarbeitungszeiten der einzelnen Befehle 
unterschiedlich sind (bedingte-Jmp's!). Vergiß Interrupts und C! 
Funktionieren tuts nur mit laufzeitkonstanten Codes (ASM) und übere 'ne 
RAM Tabelle für die Steuerkomandos. Oder Hardware - d.h. Latches zur 
Synchonisation. FPGA geht auch ist aber das geiche als würde man mit 
einem Panzerkreuzer 'ne Luftmatratze versenken - CPLD schon besser 
(XLINX Software kostenlos aber 5GByte Eingabe per Schaltplan ohne VHDL). 
Die einfachste Lösung ist ein Display mit internem Bildwiederholspeicher 
und 8Bit-Bus. Da kannste an der Mega8 noch einen SPI-Dataflash 
(Zeichensatz) anschließen und hast sogar noch 'ne UART für RS232/485/USB 
für den Kontakt zur 'Außenwelt'.

UJ

Autor: Lomy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habs mit der taktung gemeistert =D zum testen hab ich erst mal ein 
streifen musster senkrecht entstehen lassen, allerding hab ich etwa in 
der 200sten zeile, etwa 2 zeilen gar nichts was ich mir nicht erklären 
kann, wenn ich das sterusignal abschalte und das display spinnt ein 
wenig rum, gehen die beiden zeilen noch. was gäbe es den für grunde 
warum das nicth geht ?

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.