www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Programmierung mit CC5x-Compiler (PIC 16F84)


Autor: Georg Sanktas (charzzle)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Leute,

mein Name ist Georg und gehe in die Berufskolleg.
In der Schule müssen mein Schulkamerad und ich ein Projekt machen.
Unser Projekt heißt der Gedächtnistrainer.
Hier ist die Seite :
http://www.elv.de/Ged%C3%A4chtnis-Trainer-GT-100-K...

Wir sind mit der Platine soweit fertig. Wir fange jetzt an zu 
programmieren. Könnt ihr bitte Tipps geben oder ein 
Muster-Programmierung zeigen wie wir das machen sollten? Ihr müsst bitte 
uns bitte helfen.

Hier ist das Programm, was wir bisher gemacht haben:
Stimmt es soweit??


// fuer CC5X    Projekt-Gedächtnistrainer                     projekt1.c
//======================================================================
// Funktion:
//
// Verfahren:
//
// Anschluesse:
//
//----------------------------------------------------------------------
// Autor:
//======================================================================
   #include <16f84a.h>
//----------------------------------------------------------------------
   #pragma config = 0x3FF1              //PWRT = on, FOSC = XT, CP_off
//======================================================================
// Vereinbarungen/Deklarationen
//----------------------------------------------------------------------
void init(void);

//======================================================================
// Hauptprogramm
//
//----------------------------------------------------------------------
void main(void)
{
  srand(time(0));//setzt den Zufall

  int Level=1;
  int n=15; //Anzahl der Level
  int ln=2; //Anzahl der Steigerung pro Level
  int Array[ln*n];

  int i,fail;

  while(1)
  {
          for(i=0;i<ln*n;i++) Array[i]=0;

          for(i=0;i<Level*ln;i++)//lässt im Zufall blinken
          {
                if(rand() % 2 ==0)
                {
                          //rechte Lampe leuchten lassen
                          Array[i]=1;
                }
                else
                {
                          //linke Lampe leuchten lassen
                          Array[i]=2;
                }
          }
          fail=0;
          for(i=0;i<Level*ln;i++)//liest die Eingabe ein und vergleicht
          {
                //warten bis ein Button gedrückt wurde
                if(Array[i]==2 /*&& der rechte Button gedrückt wurde*/)
                {
                               fail=1;//Fehler
                               break;
                }
                if(Array[i]==1 /*&& der linke Button gedrückt wurde*/)
                {
                               fail=1;//Fehler
                               break;
                }
          }
          if(fail==1) //war es ein Fehler
          {
                      if(Level>1) Level--; //ja -> Level herabsetzen
          }
          else
          {
                      if(Level<n) Level++; //nein -> Level heraufsetzen
          }

          //richtige Levellampe leuchten lassen
  }

  return 0;
}
//======================================================================
// init                         // Voreinstellungen
//
//----------------------------------------------------------------------
void init(void)
{
  TRISB = 0x00;
  OPTION_REG = 0x07;
  anzeige = 0;
}
//======================================================================

Dateianhang:
Schaltplan

: Verschoben durch Moderator
Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was hat das mit "PC-Programmierung" zu tun?

Richtig: nichts.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.