Zähler programmieren mit AT89C5131

OP #2029539
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
#2029569
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
#2029734
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.

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.