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
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
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.