Forum: Mikrocontroller und Digitale Elektronik beispielprogramme für Atmel


von jim (Gast)


Lesenswert?

hi
hat jemand vielleicht einsteiger programme für
einen at89c2051 zu testzwecken
mfg

von Dominik (Gast)


Lesenswert?

Warum schreibst du nicht selber eins?? Ohne genauere Angaben z.B. was du
überhaupt machen willst (LCD, LED) wird sich warscheinlich eh keiner
melden... Sind doch nur paar Zeilen wo liegt das Problem??

von dr. know (Gast)


Lesenswert?

schaue doch mal hier:
http://www.erikbuchmann.de/

von Thomas (Gast)


Lesenswert?

Sieh mal hier rein:

www.batronix.de

Da gibt es auch einen Brenner zum Bestellen oder Selberbauen und einen
Assembler für kleine Programme kostenlos.

von Schoaschi (Gast)


Lesenswert?

Welchen Compiler benutzt du denn? Schau mal bei Keil nach ;-)

PS.: Welche Programmiersprache überhaupt?

von jim (Gast)


Lesenswert?

ich benutze keil und als prog c
ich bräuchte ein pim program zb für leds.
zum testen bzw als einstieg
mfg

von Cristian Grigoruta (Gast)


Lesenswert?

Ein Beispiel um eine LED blinken zu lassen!!!!
Viel Spass!!!

#include <AT892051.h>                 /* SFR für AT89c2051*/

/* Definitionen        */
    #define uchar unsigned char
    #define uint unsigned int

/* Globale Variable */

    sbit LED = P1^0;           // Bit - Variable definieren

/* Prototypen von Funktionen*/

    void wait(uint msec);

/* Funktionen*/


    void wait (uint msec);

    void wait(uint msec)    /* 1,104 ms  bei 12 MHz Quarz */
    {                       /* mal msec */
      uchar i,j;

      for (msec;msec!=0;msec--)
             for(i=0;i<90;i++)
                for(j=0;j<2;j++);
    }


/* Hauptprogramm */

    void main(void)
    {
        P1 = 0x00;
      while(1)        // Endlosschleife
      {
        wait(500);      /* in den Klammern schreibst du
                           die "wartezeit"! hier sind es 500ms */
        LED_Pin = 0;    // LED aus
        wait(500);
        LED_Pin = 1;    // LED ein
      }
    }
mfg Cri

von Cristian Grigoruta (Gast)


Lesenswert?

ups...
im Hauptprogram musst du LED_Pin auf LED umschreiben!!!!!
Habs dir umgeschrieben um es kürzer zu machen ;)

void main(void)
    {
      P1 = 0x00;
      while(1)          // Endlosschleife
      {
        wait(500);      /* in den Klammern schreibst du
                           die "wartezeit"! hier sind es 500ms */
        LED = 0;        // LED aus
        wait(500);
        LED = 1;        // LED ein
      }
    }
mfg Cri

von Cristian Grigoruta (Gast)


Lesenswert?

Achso!!!!!!  Die LED musst du mit der Katode (-) an den P1^0 führen und
mit der Anode (+) über eine R=330ohm an +5V!!!

-----|
     |      __
 P1^0|-----|____|------|<|-----o +5V
_____|     R=330       LED

von Cristian Grigoruta (Gast)


Lesenswert?

In meiner "ZEichnug" ist der R zwar vor der LED aber das ist ja egal
wie du weist oder acuh nicht weist! jetzt weist du es aber :)

mfg Cri

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.