Assembbler Pause für LCD

Gast #620314
hi,
ich wollte für mein LCD diese Pause einfügen...ich benutze 16MHz.

Nun wollte ich das so berechnen:


http://www.mikrocontroller.net/articles/AVR-Tutorial:_LCD#Lass_den_Assembler_rechnen


allerdings habe ich das nicht verstanden wie ich dort bei 16 MHZ auf die 
Pausen komme. Kann mir das nochmal jemand erklären?
Gast #620323
> "... Bei 4 Mhz werden also 4000000 / 3 * 50 / 1000000 = 66.6 Durchläufe
> durch die Schleife benötigt um eine Verzögerungszeit von 50µs (0.000050
> Sekunden) zu erreichen, hexadezimal ausgedrückt: $42 ..."
steht direkt darunter ;)
Einfach die 4000000(Hz) durch deine 16Mio. ersetzen. Und du musst die 
Zahl ja nicht unbedingt als Hexzahl in den Code schreiben ;)

hth. Jörg
Gast #620371
> dann isses halt aa bisschen weniger...
Bleibt die Frage, ob das reicht, d.h. wie genau die 50µs eingehalten 
werden müssen (steht im Datenblatt des Displays bzw. dessen 
Controllers).

Wenn die 255 (oder auch 0 ;) ) nicht gehen, kannst du noch ein "nop" 
einbauen:
1
.equ XTAL  = 16000000 ;muss irgendwo an den Anfang ;)
2
...
3
delay50us:                              ; 50us Pause
4
           ldi  temp1, ( XTAL * 50 / 4 ) / 1000000
5
delay50us_:
6
           dec  temp1
7
           nop                          ; tu nichts
8
           brne delay50us_
9
           ret
In der Formel steht jetzt eine 4, weil die schleife länger dauert.

hth. Jörg
Persönliche Seite #620426
> das geht ja nicht den bei der Rechnung mit 16MHz kommt das Raus:
> ((16 000 000 / 3) * 50) / 1 000 000 = 266.666667
> was nicht Möglich ist

Genau das steht ja auch im Tut. drinnen ;-)

>doch dein register kann bis 255 dann isses halt aa bisschen weniger...

Das geht eben nicht, wenn man es den Assembler ausrechnen lässt.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 19 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.