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


von Eugen S. (eugen)


Angehängte Dateien:

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.

von schuppi (Gast)


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

von Eugen S. (eugen)


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

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.