- Akku Tests und Balkonkraftwerk Speicher         
Ergebnis 1 bis 8 von 8

Thema: PIC16F84 einfaches Lauflicht

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    19.05.2008
    Ort
    Lausitz
    Beiträge
    46

    PIC16F84 einfaches Lauflicht

    Anzeige

    E-Bike
    Hallo,
    hier mal ein Listing eines Lauflichtes:
    // Lauflicht, Taktfrequenz 4MHz

    #include <C:\cc5X\16F84.h> // Prozessor-Typ definieren
    #pragma config |= 0b.1111.1111.0010 // Konfigurations-Wort

    void pause(uns16 ms) // Unterprogramm zum Abwarten einer
    { // angegebenen Anzahl von Millisekunden
    while(ms) // Schleife verlassen, wenn ms=0 ist
    {
    OPTION = 2; // Vorteiler auf 8 einstellen
    TMR0 = 131; // 125 * 8 = 1000 (= 1 ms)
    while (TMR0); // Abwarten einer Millisekunde
    ms--; // "ms" mit jeder Millisekunde erniedrigen
    }
    }

    void main(void) // Hier beginnt das Hauptprogramm
    {
    char i;
    TRISB = 0b.0000.0000; // PortB als Ausgang definieren
    PORTB = 0;
    Sprungmarke:
    PORTB.0 = 1 ; // Bit 0 von PortB setzen
    pause(500); // LED 0 halbe Sekunde leuchten lassen
    for (i=0 ;i<7 ;i++) // folgende Befehle 8-mal wiederholen
    {
    PORTB = PORTB << 1 ; // 1 kommt ins nächste Bit links
    pause(500); // jede LED halbe Sekunde leuchten lassen
    }
    PORTB = 0; // Alle LEDs löschen
    PORTB.7 = 1 ;
    pause(500);
    for (i=0 ;i<7 ;i++)
    {
    PORTB = PORTB >>1 ;
    pause(500);
    }
    PORTB = 0;
    pause(500);
    goto Sprungmarke;
    }
    Ich möchte jetzt mit jeden einmaligen Durchlauf die Zeit verkürzen. Jetzt könnte man die pause(xxx) immer kleiner machen. Das muß doch auch intelligenter gehen. Weiterhin würde ich festlegen wollen wie lange der Rechts/Linkslauf des Lichtes gehen soll bis sich die Zeit verkürzt. Hat wer ne Idee???

    Gruß Shunth

  2. #2
    Benutzer Stammmitglied
    Registriert seit
    19.05.2008
    Ort
    Lausitz
    Beiträge
    46
    .....schuldigung das mit dem Listing....
    Angehängte Dateien Angehängte Dateien

  3. #3
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    05.11.2007
    Beiträge
    1.076
    Hallo Shunt, schau Dir mal bitte folgendes an:
    ich konnte es zwar nicht probieren, aber ich denke so in etwas dürfte es gehen.

    viel Spass noch
    Siro

  4. #4
    Benutzer Stammmitglied
    Registriert seit
    19.05.2008
    Ort
    Lausitz
    Beiträge
    46
    Hallo,
    ich danke dir für deine Idee aber beim assemblieren macht der vorab viele Fehler. Ich schau mir das aber mal an. Ist das für den PIC16f84 gedacht?

    Danke!

  5. #5
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    05.11.2007
    Beiträge
    1.076
    Hallo,
    ich hoffe doch nicht, Du hast versucht die .TXT Datei zu "Compilieren" das geht natürlich nicht. Das war nur ein ungefäre Anleitung, aber kein kompletter Code. Ich habe mal versucht, anhand deines Codes eine Compilierbare .C Datei zu erstellen. Das sollte eigentlich nun funktionieren.

    Siro

  6. #6
    Benutzer Stammmitglied
    Registriert seit
    19.05.2008
    Ort
    Lausitz
    Beiträge
    46
    ....ne, das war mir klar das der mit .txt nix anfangen kann...
    Danke der Mühe aber es kommt:

    uns16 AufAb = 100; // bei jedem Durchlauf soll die Zeit um 100 milli Sekunden veraendert werden
    ^------
    Error Versuch1.c 9: Initialized static and global RAM variables are not supported

    vielleicht der Compiler nicht der Richtige??????

  7. #7
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    05.11.2007
    Beiträge
    1.076
    Achso, dann kann das der Compiler nicht.
    Ich habs nochmal geändert.
    Siro

  8. #8
    Benutzer Stammmitglied
    Registriert seit
    19.05.2008
    Ort
    Lausitz
    Beiträge
    46
    Na Respekt Siro!!!! Ja, das funktioniert super!!! Die Anlaufzeit könnte etwas schneller gehen ( soll ein elektronisches Pendel simulieren mit LED und daher wäre die Zeit bis zum "Voll" schwingen kürzer, dann lange kurz schwingen und Auspendeln) Aber, ich sage dir echt vielen Dank!!!!
    Ist mein Compiler veraltet????



    Super Dank!!!!!!!!!!

Berechtigungen

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

Labornetzteil AliExpress