www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Brauche Hilfe beim Programmiern von Silab MCU


Autor: Eugen Sauerwein (eugen)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo alle zusammen,

ich habe mir einige Beiträge im Forum schon durchgelesen aber war nicht 
würcklich was dabei was ich suche. Ich will mit dem Controller c8051f300 
von der Firma Silicon Lab. ein Programm schreiben und zwar in C und habe 
start schwierigkeiten. Ich habe von der Firma ein Kit (c8051f300-DK) für 
den Kontroller mitgebracht und versuche verzweifelt eine LED anhand 
einer Bediegung zum leuchten zu bringen. Ich muss dazu sagen, in C bin 
ich ein Anfänger! Ich habe schon im Assembler programiert und möchte 
jetzt C lernen.

Scheitere schon an den Kleinsten dingen, entmutiegend. Ich habe mir ein 
Beispeil programm, was dabei war, mal angeschaut und blicke nicht 
würklich durch.Un schon einiege Sachen im Netz durchgelesen.
Ich hoffe das Ihr mir sagen könnt, wie ich am besten anfange und worauf 
ich alles achten muss.

Das Programm was ich schreiben möchte sieht volgendermassen aus:

Wenn ich einen Taster betätige soll eine LED angehen. Und jedes mal wenn 
ich den Taster dann wieder betätiege soll die LED den Status ändert.

Eigentlich ganz simpel aber ich kriege es nicht würklich hin.

Brauche ein Rat wie ich anfangen kann.

Autor: schuppi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

Probier mal dieses Prog. sollte Funktionieren

Endlich mal wer der mit Silabs MC arbeitet ich habe meist den C8051F410 
oder den C8051F001

//CODE//


/* Port 0 Bitvariablen für Ein und Ausgabewerte an den Portpins P0.0 bis 
P0.7  */
sbit P00  = 0x80;       /* P0.0 (hat die Bitadresse 0x80) */
sbit P01  = 0x81;       /* P0.1                           */
sbit P02  = 0x82;       /* P0.2                           */
sbit P03  = 0x83;       /* P0.3                           */
sbit P04  = 0x84;       /* P0.4                           */
sbit P05  = 0x85;       /* P0.5                           */
sbit P06  = 0x86;       /* P0.6                           */
sbit P07  = 0x87;       /* P0.7 (hat die Bitadresse 0x87) */

#include "C8051F300.h"
#define Taster  P00   //Portpin an dem der Taster nach Masse hängt
#define Led     P01   //Portpin an dem die Led nach VCC hängt MC 
schaltet
                      //nach Masse!!

int i;


void main(){
    PCA0MD    &= ~0x40;
    PCA0MD    = 0x00;
    while(1){
        if(!Taster){
              Led = !Led;
              for(i=0;i<1000L;i++);
        }
    }
}


mfg

Autor: Eugen Sauerwein (eugen)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hi schuppi,

danke vorab. Habe gerade dein Programm versucht aber leider ohne erfolg.
Die LED hängt bei mir an P0.2 und der switch an P0.3. Habe im Programm 
die definition für Taster und LED demnach geändert, ist es so richtig? 
Und was soll "Schalter" sein?

Gruß

eugen

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.