www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik ds89c420 @ 32mhz


Autor: Manfred (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

ich betreibe einen DS89C420 (8051er) mit 32MHz. Und vielleicht könnt
Ihr mal meine Rechnungen überprüfen?

Dieser µController arbeitet mit einem Maschinentakt je
Oszillatorperiode (nicht wie sonst üblich jede 12. Periode).
Ich erhalte dann bei 32MHz die Dauer eines Maschinentaktes = 31,25ns.

So, nun möchte ich ein 4*20 LCD ansteuern (HD66712 Controller) und habe
dafür meinen alten C-Quellcode für ein altes HD44780 rausgekramt. Denn
die beiden LCD-Controller sind fast gleich. Habe etwas geändert und
jetzt habe ich aber anscheinend Probleme mit den Zeiten der
Initialisierung (s. PDF Seite 429). Denn außer einer Balkenreihe in der
1. Reihe sowie in der 3. Reihe sehe ich nichts. Initialisiert hatte ich
aber alle 4 Zeilen.

Die Wartezeiten realisiere ich mit folgendem Code:

void wait(unsigned int x)    // Wartefunktion (x * 12µs) + 12µs
{
  unsigned int i;
  for(i=x; i>0; i--);
}

Die angegebene Zeit des Schleifendurchlaufs gilt aber nur für einen
"alten" 8051er mit 11.0592MHz. Jetzt möchte ich das gerne für meinen
µC umrechnen. Das geht aber nicht einfach so. Denn sonst würde meine
alte LCD Routine ja laufen. Die Simulation in µVision2 entspricht aber
nicht genau der Realität und ich müßte die Wartezeit irgendwie auf
meinen µC runter rechnen. Bin jetzt schätzungsweise bei (x * 2µs) für
meinen µC angelangt. Scheint aber noch nicht richtig zu sein.
Das Busy Flag kann ich erst ab einer bestimmten Initialisierungsstufe
abrufen. Es hapert ja aber schon vorher.

Wer weiß rat?
Manfred

Autor: edi.edi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
du bist fast 40 mal schneller als der standard....tuechtig bremsen!

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.