Forum: Mikrocontroller und Digitale Elektronik Zähler programmieren mit AT89C5131


von Christian B. (karl92)


Lesenswert?

Hallo zusammen,

Seit einer Woche befasse ich mich mit Mikrocontrollertechnik und komme 
bei dieser Aufgabe mit bestem Willen nicht weiter.
Verwende einen Atmel AT89C5131 und Programmiere mit Raisonance, Ride7!
Die Aufgabe lautet:

Bei Programmstart soll ein Zähler 0-9 gestartet werden. Hierzu wird ein 
Zähler so schnell zählen, dass die Zahlen für das Auge nicht zu 
differenzieren sind.
Die Ausgabe der Zahl soll auf der 7 Segment-Anzeige sowie dem LCD, Zeile 
2 angezeigt werden. Auf der Zeile 1 steht folgender Text „Zähler“.
Wird die Taste S2 gerückt, so wird die Würfelzahl in beiden Ausgaben 
angezeigt, so lange die Taste gedrückt bleibt.

Könntet ihr mir da bitte weiterhelfen ?

Danke euch

von Peter D. (peda)


Lesenswert?

Wo ist das Problem?
1
sbit KEY_S2 = P1^1;          // the wanted port pin
2
#define KEY_PRESS 0          // low active
3
4
int main()
5
{
6
  unsigned char i = '0';
7
8
  lcd_init();
9
  lcd_puts( "any text" );
10
  for(;;){
11
    if( i == '9' )
12
      i = '0';
13
    else
14
      i++;
15
    lcd_xy( the_wanted_position );
16
    lcd_putchar( i );
17
    if KEY_S2 == KEY_PRESS ){
18
      delay_ms( 1000 );
19
      while( KEY_S2 == KEY_PRESS );
20
    }
21
  }
22
}

Da ich Deine IDE nicht kenne, können die Funktionen abweichend heißen.


Peter

von Christian B. (karl92)


Angehängte Dateien:

Lesenswert?

danke nochmals für deine Hilfe aber ich komm selbst nochnicht richtig 
drauf!
hab hier mal 2 Bilder... des eine ist ein beispiel für den umgang mit 
dem lcd und des andere ist mein aktueller stand in ride7.
könntet ihr mir vl noch ein kleines bisschen bei der umsetzung helfen?



dankeschön

von Karl H. (kbuchegg)


Lesenswert?

Dein Musterbeispiel (das auf dem Papier) ist doch schon fast soweit, 
dass man es zu einem Würfel umfunktionierten könnte!
Dein Musterbeispiel zählt nur dann 1 weiter, wenn die Taste gedrückt 
wird. Und jetzt soll eben dauernd gezählt werden. Und zwar nicht 
beliebig hoch sondern immer von 1 bis 6, wenn der Zähler auf 7 
weitergezählt wurde, dann wird er wieder auf 1 zurück gesetzt. Wobei 
deine Angabe da etwas widersprüchlich ist. Auf der einen Seite ist von 
einem Würfel die Rede, welcher bekanntlich 1 bis 6 Augen haben kann, auf 
der anderen Seite ist von einem Zähler 0 bis 9 die Rede. Aber das ist 
nicht wirklich wichtig, das sind im Programm nur 2 Zahlenwerte.

Faktum ist, dass man aus der Musterlösung mit ein paar Änderungen das 
Gewünschte erhalten kann (wenn man die 7-Segment Anzeige mal beiseite 
legt). Wenn man seine Grundlagen verstanden hat.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.