- MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad         
Ergebnis 1 bis 2 von 2

Thema: 24bit - Zahl auf LCD ausgeben: bzw. Subtraktion: 24bit-24bit

  1. #1

    24bit - Zahl auf LCD ausgeben: bzw. Subtraktion: 24bit-24bit

    Anzeige

    Praxistest und DIY Projekte
    Hallo zusammen,

    Ich habe ein Problem mit Assembler und hoffe, dass dazu
    jemand eine Idee hat...
    Und zwar programmiere ich einen ATmega8 in Assembler (8mhz). Intention
    ist, einen Frequenzzähler (zum kontrollieren von Ventilatoren in
    hochspannungsschaltnetzteilen) zu entwickeln. Das Ding funktioniert
    soweit, die Frequenz wird im AVR berechnet, und soll jetzt auf einem LCD
    ausgegeben werden. Da der bereich von 110 - 1000 kHz geht sind die
    anzuzeigenden Zahlen 24 bittig!!! Die sind aufgeteilt in 3 Register,
    sagen wir r19:r17:r16. (Genaugenommen sind bei "1 000 000" nur 20 bit
    belegt, trotzdem muss ich natürlich mit 3 Registern rechnen (8bit pro
    reg) ). Ich muss jetzt 24 bit ins Dezimalsystem umrechnen & als Ascii zur Verfügung haben...
    Ich bin nun soweit, dass ich weiss, wie es gehen könnte: von der Zahl
    erst 1000000 abziehen, solange wie ein neg.überlauf entsteht. --> das
    wäre die 1 000 000 -Stelle (als ASCII),dann die 1 000 000er Stelle von
    der zahl abziehn, so dann die 100 000er stelle ermitteln, abziehen, dann
    10000er, usw... Dann hätte ich z.b von 490 386 die Ascii-zeichen:
    0 4 9 0 3 8 6
    das kann ich leicht am LCD ausgeben. NUR : wie subtrahiere ich in
    Assembler: 490386 - 100 000, beispielsweise? Das sind jeweils 3
    Register, also 24bit - 24bit in Assembler?
    Oder hat jemand eine ganz andere Idee zu Ausgabe von 24bit zahlen als
    Dezimalzahl aufnem LCD???

    Ich bin euch für jede Hilfe dankbar!!!,

    Moritz

  2. #2
    Erfahrener Benutzer Robotik Einstein Avatar von SprinterSB
    Registriert seit
    09.06.2005
    Ort
    An der Saar
    Beiträge
    2.802
    Schau mal nach Subtract with carry. Evtl den Subtrahend in Register laden. Die unteren 8 Bit macht man bit SUB und von da an mit Carry, genau wie beim Vergleichen: erst CP, dann CPC
    Disclaimer: none. Sue me.

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

LiFePO4 Speicher Test