-
        

Ergebnis 1 bis 4 von 4

Thema: Zufallszahlen PIC16F84 cc5x

  1. #1
    volkan
    Gast

    Zufallszahlen PIC16F84 cc5x

    Anzeige

    Folgendes problem:

    Wir müssen als abschlussprojekt für die schule einen microcontroller (PIC 16F84) programmierein.
    Und zwar:

    Wir sollen 6aus45 (Lotto 6+1 zufallszahlen) auf einem LCD display ausgeben, hardware mäßig kein problem, aber die zufallszahl macht uns einfach zu schaffen, habe bereits lange gesucht, aber bis her nichts gefunden, und daher hier im forum unser versuch.
    Per taster soll die ziehnung gestartet werden und die 6+1 zahlen nacheinander auf dem display angezigt werden. Random funktion gibt’s leider keine, also sollte die zufallszahl wahrscheinlich mittels timer konstruiert werden!
    Um jede Hilfe dankbar, wir haben nämlich nicht mehr viel zeit!!!!
    Gruß

  2. #2
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.836
    Hi, Volkan !

    char random;

    char rand(void)
    {
    char sum = 0;

    if(random & 0x80)
    sum = 1;

    if(random & 0x20)
    sum ^= 1;

    if(random & 0x10)
    sum ^= 1;

    if(random & 0x04)
    sum ^= 1;

    random <<= 1;

    random |= sum;

    return(random);
    }

    void srand(char seed)
    {
    random = seed;
    }



    mfg robert

  3. #3
    Gast
    Das wird wahrscheinlich bei jedem Einschalten die gleichen Zufallszahlen erzeugen. Man müsste die Funktion mit irgendeiner Zufallszahl von außen initialisieren. Du könntest dafür beispielsweise Signale von einem AD-Wandler verwenden. Um eine möglichst große Zufälligkeit zu erreichen, könntest du den AD-Wandler mit einer kleinen Referenzspannung und kurzen Messzeit verwenden.

  4. #4
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.836
    Hi. JEDE Random Funktion liefert mit der gleichen SEED auch immer die gleiche Zahlenfolge (-->ausprobieren).

    Der Witz bei der Funktion ist, das der Wert Pseudo-zufällig herumspringt.

    Logo weiß der schlaue Denker, daß er als Seed irgendwas ebenfalls pseudo zufälliges nimmt, z.B. Timer, Uhrzeit oder sowas.
    mfg robert

Benutzer, die dieses Thema gelesen haben: 0

Derzeit gibt es keine Benutzer zum Anzeigen.

Berechtigungen

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