mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Codevision Countdown


Autor: Daniel Ascher (Firma: Ascher) (golfsburg)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Forumsmitglieder,

ich habe folgendes Programm geschrieben für das SKT200 Board.

#include <90s8535.h>
#include <stdio.h>

void main(void)
{
    DDRB = 0xFF;                       // PORTB = Ausgang
    DDRD = 0x01;                       // PORTD = Eingang
    PORTD = 0x01;                      // PORTD = PULL-UP
    do {
        if (!(PIND&0x01))              // Bit 3 = 0 dann ist Taster 
gedrückt
          PORTB = 0xFE;         // LEDs aus
  if (!(PIND&0x02))              // Bit 3 = 0 dann ist Taster gedrückt
          PORTB = 0xFD;         // LEDs aus
        else
          PORTB = 0xFF;         // LEDs an
    } while(1);                    // Mainloop
}

Jetzt möchte ich gerne einen Countdown mit den Schaltern hoch regeln das 
ich mir ein Belichtungsgerät bauen kann nur ich hab einfach zuwenig 
Erfahrung damit.

Kann mir einer von euch einen Tipp geben Bitte?

Viele Grüße

Daniel

: Verschoben durch Moderator
Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Fang damit an, dass du die LED im Sekundentakt blinken lässt. Dies 
deshalb, damit du erst einmal ein paar Techniken kennen lernst, wie man 
mit Zeiten in einem µC umgeht.

Autor: Golfsburg (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
#include <90s8535.h>
#include <stdio.h>

void main (void)

{

DDRB = 0b00000001;       //Datenrichtung festlegen.

while (1)                //Endlosschleife

{
PORTB.0 = 0;     //Codevision Compiler
delay_ms (500);
PORTB.0 = 1;
delay_ms (500);
}

}  //End main

Hallo leider kommt bei mir immer noch eine Fehlermeldung bei delay_ms 
(500); schreibt Codevision das ich ein undefiniertes Symbol verwende 
warscheinlich weil ich die LBR nicht eingebunden habe kannst du mir 
einen Tipp geben für den Fehler?

Viele Grüße

Daniel

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Golfsburg schrieb:
> #include <90s8535.h>
> #include <stdio.h>
>
> void main (void)
>
> {
>
> DDRB = 0b00000001;       //Datenrichtung festlegen.
>
> while (1)                //Endlosschleife
>
> {
> PORTB.0 = 0;     //Codevision Compiler
> delay_ms (500);
> PORTB.0 = 1;
> delay_ms (500);
> }
>
> }  //End main
>
> Hallo leider kommt bei mir immer noch eine Fehlermeldung bei delay_ms
> (500); schreibt Codevision das ich ein undefiniertes Symbol verwende
> warscheinlich weil ich die LBR nicht eingebunden habe kannst du mir
> einen Tipp geben für den Fehler?

Ob Codevision den delay_ms kennt oder nicht, musst du im Handbuch vom 
Codevision nachsehen.
Aber wahrscheinlich hast du dir das (ohne den fehlenden _) von einer 
Seite abgeschaut, die den WinAVR Compiler benutzt.

Diese Funktionsaufrufe sind alle Nicht-Standard C. Die Details musst du 
dir immer im Handbuch des Compilers suchen. Hier im Forum benutzen die 
meisten den WinAVR Compiler. Der ist nämlich gratis und die Syntax für 
den Einzelbitzugriff auf einen Port, wie die der Codevision Compiler als 
Erweiterung anbietet, wird ... gelinde gesagt .... überschätzt.

Autor: Golfsburg (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
#include <90s8535.h>
#include <stdio.h>
#include <delay.h>

void main (void)

{

DDRB = 0b00000001;       //Datenrichtung festlegen.

while (1)                //Endlosschleife

{
PORTB.0 = 0;     //Codevision Compiler
delay_ms (500);
PORTB.0 = 1;
delay_ms (500);
}

}  //End main

Na gut man sollte lieber mal die Bedienungsanleitung durchlesen würde 
ich sagen und dir recht geben.

Die LED blinkt jetzt im Sekundentakt.

Viele Grüße

Daniel

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.