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-Komplettbausatz/x.aspx/cid_74/detail_10/detail2_6878
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