Hallo! Fange gerade an mit dem AVR Studio zu spielen und habe mir das Tutorial schon angesehen, nun habe ich folgendes Programm, was ich gerne programmieren würde, aber ich bekomms einfach nicht hin. Programmiere im AVR Studio mit Assembler. Die Codierung der Taster nehme ich binär vor! Das Programm soll folgendes können! Jedes Programm einzeln hatte ich schon am Laufen! H0=S0 and S1 H1=S2 and not S3 and S4 Das Programm soll beides gleichzeitig können, also in einem programm verpackt. Hoffe ihr könnt mir dabei helfen! Schön wäre nen Assembler-Code (vielleicht mit Kommenatren!?!) an dem ich es mir dann selber erklären könnte! Gruß und besten dank im Vorraus!
Hier mal mein bisheriger Assembler Code .include "8515def.inc" ldi r16, 0x01 Out ddrc, r16 loop1: in r16, pina andi r16, 0b00011100 cpi r16, 0b00001000 breq led_ein1 sbi portc, 0 rjmp loop1 led_ein1: cbi portc, 0 rjmp loop1 loop2: in r16, pina cpi r16, 0b11111100 breq led_ein2 cbi portc, 0 rjmp loop2 led_ein2: sbi portc, 0 rjmp loop2
org 0x00 rjmp main main: rcall loop1 rcall loop2 rjmp main loop1: ... ... ret ;statt rjmp loop1 ... ret ;statt rjmp loop1 loop2: ... ... ret ;statt rjpm loop2 ... ret ;statt rjmp loop2 Ich denke so könnte es gehen. Und nimm für dein primitives Projekt nen ordentlichen MC z.B. Attiny2313 oder Mega8, Mega16....
so??? .include "8515def.inc" ldi r16, 0x01 Out ddrc, r16 main: rcall loop1 rcall loop2 rjmp main loop1: in r16, pina andi r16, 0b00011100 cpi r16, 0b00001000 breq led_ein1 sbi portc, 0 ret ;statt rjmp loop1 led_ein1: cbi portc, 0 rjmp loop1 ret ;statt rjmp loop1 loop2: in r16, pina cpi r16, 0b11111100 breq led_ein2 cbi portc, 0 ret ;statt rjpm loop2 led_ein2: sbi portc, 0 ret ;statt rjmp loop2
Ja das sieht ganz gut aus. Hast du es mal durch den Compiler geschickt und gebrannt plus getestet? Vorausgesetzt deine Programmstückeln haben schon vorher funktioniert, müsste das eigentlich so laufen. Achso da fällt mir nochawas auf bei deinem Quellcode, Ausgänge und Eingänge müssen jeweils noch angepasst werden. Portc, 0 ist ja nur ein Ausgang....
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.