- fchao-Sinus-Wechselrichter AliExpress         
Ergebnis 1 bis 10 von 13

Thema: Blinkfrequenz mit PIC 16F629

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Moderator Robotik Einstein Avatar von Kampi
    Registriert seit
    21.11.2009
    Ort
    Monheim, Nordrhein-Westfalen, Germany
    Alter
    35
    Beiträge
    3.501
    Blog-Einträge
    9
    Was meinst du mit beliebig erhöhen?
    Das Arbeitsregister im PIC ist 8-bit groß d.h. du kannst dort Zahlen zwischen 0 und 255 drin speichern. Wenn die Zahl jetzt 256 beträgt ist das eine 9 Bit Zahl und passt nicht mehr ins Arbeitsregister.

  2. #2
    Neuer Benutzer Öfters hier
    Registriert seit
    30.05.2011
    Beiträge
    26
    Mit beliebig erhöhen mein ich wenn ich die zahl 256 ins Arbeitsregister lade dann bekomm ich auf meinem oszi eine andere Frequenz als wenn ich 500 eingebe das ist das was mich stutzig macht. Wie könnte ich das Programm anders schreiben damit ich eine Blinkfrequenz von 1Hz oder 2 Hz erreiche hast du da vllt eine Idee? mfg Gremlin

  3. #3
    Moderator Robotik Einstein Avatar von Kampi
    Registriert seit
    21.11.2009
    Ort
    Monheim, Nordrhein-Westfalen, Germany
    Alter
    35
    Beiträge
    3.501
    Blog-Einträge
    9
    Du bekommst bei 256 eine andere Blinkfrequenz als eigentlich gedacht, weil 256 eine 9-bit Zahl ist und das Arbeitsregister nur 8 Bit aufnehmen kann.
    256 ist 1 0000 0000 und da nur 8 Bit ins Register reinpassen schreibt er im Endeffekt 0000 0000 und die 1 am Anfang wird abgeschnitten.
    500 ist 1 1111 0100 und dann schreibt er ins Arbeitsregister eine 1111 0100. Das sollte das ganze Problem sein. Wenn du mit 8-Bit nicht hinkommst musst du die Zahl halt in einen Low und einen High Teil aufteilen.
    Zum Beispiel die 500 wieder. 500 ist ja 1 1111 0100. Dann schreibst du in das Register was für den Low Teil der Zahl steht 1111 0100 und in das Register was für den High Teil steht 0000 0001. Und beim Zählen hast du dann auch jeweils ein Low und High Register. Beim High Register wird der Wert um 1 erhöht wenn im Low Register 1111 1111 steht. So kannst du dann auch mit 16-Bit Zahlen rechnen.

Berechtigungen

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

LiFePO4 Speicher Test