Forum: Mikrocontroller und Digitale Elektronik code ummodeln??


von Zu (Gast)


Lesenswert?

Hallo!
ich hab mal ne Frage
Ich habe diesen code hier gefunden.
http://www.batronix.com/asm/EM_Max_Display_1.asm
Und jetzt wollte ich fragen,ob man den auf ein Arduino mit Atmega328 
spielen kann,btw was muss da geändert werden?

Bin leider Laie in solchen Dingen aber rein Subjektiv würde ich sagen 
nur die ersten c.a. 10 Zeilen.Also da wo die Ports für die Daten,Takt 
und load bestimmt werden

Der Ganze Rest vom code so hoffe ich,gilt nur dem Max intern.Liege ich 
da richtig?

Also ich möchte NICHT Programmieren lernen nur einen Hinweis,ob das für 
einen Laien machbar ist.
Mit compilieren und brennen,hab ich mich schon etwas belesen und 
experimentiert.

MfG
Bernhardt

von Sam .. (sam1994)


Lesenswert?

Was soll das für eine Sprache sein? Sieht nach Assembler-Bascom-Mix aus.

Wenn du ein kleines bisschen C kannst, kann ich dir eine Ansteuerungslib 
hochladen.

von Zu (Gast)


Lesenswert?

Das wäre sehr nett.Ich hab zwar wenig Plan von irgendeiner Sprache,aber 
die Erfahrung hat mir gezeigt,das mann mit genügend biss,jedes Ding zum 
Laufen bringt
Dieses Bissgefühl,ist bei mir noch sehr stark und von wenig Frust 
getrübt ;-)

Außerdem hab ich schon gehört,das C wohl am vielseitigsten sein soll und 
am meisten verwendet wird(wen Asm auch schneller sein soll)

MfG
Bernhardt

von Sam .. (sam1994)


Angehängte Dateien:

Lesenswert?

Den Code habe ich vor 2 Jahren geschriebenn und wie ich sehe hab ich 
damals ziemlich schlecht programmiert. Hier die 2 Dateien.

Ein bisschen C wirst du trotzdem brauchen.

Hier noch ein kleines Beispiel zum testen:
1
int main()
2
{
3
    //Init MAX7219
4
    SPIMasterInit();
5
    SetMode(MAX_MODE_NORMAL);
6
    SetIntensity(Intensity / 10);
7
    SetDecodeMode(0x00);
8
    SetScanLimit(0x07);
9
    SetAll(0);  //Alle Segmente ausschalten
10
    
11
    SetDigit(0, chars[1]); //'1' an Segment 0
12
    SetDigit(1, chars[2]);
13
    
14
    for(;;);
15
}

Die Reihenfolge der Segmente ist frei bestimmbar. Sie wird in MAX7219.c 
festgelegt:
uint8_t code[] = {0,4,6,2,1,5,7,3};
Für die unveränderte Reihenfolge einfach zu
uint8_t code[] = {0,1,2,3,4,5,6,7};
ändern.

von Zu (Gast)


Lesenswert?

Besten Dank erstmal.Da hab ich was wo ich bissel rum probieren kann
Etz aber erstmal Bubu machen
N8
Berhardt

von Johann L. (gjlayde) Benutzerseite


Lesenswert?

Zu schrieb:
> Ich habe diesen code hier gefunden.
> http://www.batronix.com/asm/EM_Max_Display_1.asm
> Und jetzt wollte ich fragen,ob man den auf ein Arduino mit Atmega328
> spielen kann, btw was muss da geändert werden?

Geändert werden muss alles: es ist Assembler-Code für einen Atmel 
AT89C2051. Das ist kein AVR sondern ein 8051-Derivat.

Übrigens hab ich genau mit diesem Chip und diesem Assembler das 
Programmieren auf µC angefangen (weil ich drüber gestolpert bin) um mir 
eine (Baumann-)Uhr zu basteln.

...aber weil das alles sooo furchtbar war, bin ich schliesslich auf 
einen fast-pinkompatiblen AVR AT90S2312 + avr-gcc umgestiegen — auch 
wieder, weil ich zufällig drüber gestolpert bin :-)

von Sam .. (sam1994)


Lesenswert?

Mir fällt gerade ein, dass ich gar nicht weiß ob die SPI Initialisierung 
hinhaut. Der Code ist für einen Mega8.

von Thomas E. (thomase)


Lesenswert?

Zu schrieb:
> Und jetzt wollte ich fragen,ob man den auf ein Arduino mit Atmega328
> spielen kann
Nein.

>btw was muss da geändert werden?
Alles.

Google mal nach "Max7219 Arduino".Da wirst du fündig.

mfg.

von Jan (Gast)


Lesenswert?

Max7219 wird doch vom Arduino standardmäßig unterstützt. Arduino Doku 
nicht richtig gelesen?

von Zu (Gast)


Lesenswert?

Jan schrieb:
> Max7219 wird doch vom Arduino standardmäßig unterstützt. Arduino Doku
> nicht richtig gelesen?

Nö! :-) Noch nix gelesen,erstmal Hardware gebastelt
Den Arduino,hab ich erst seit ein paar Tagen.
Werde mich aber noch ausgiebig damit befassen

MfG
Bernhardt

von Jan (Gast)


Lesenswert?

Zu schrieb:
> Noch nix gelesen,erstmal Hardware gebastelt

Ob das wohl immer der richtige Weg ist? ;)

Lies mal http://www.arduino.cc/playground/Main/LedControl,
das ist die Dokumentation zum MAX7219 mit dem Arduino.

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.