jungi
09.03.2012, 01:07
Hallo,
ich habe schon länger mit den Gedanken gespielt, mich mal ein bisschen mit Microcontrollern zu beschäftigen. Habe mir nun ein AVRISP mk 2 gekauft und noch ein Mini RGB Fader hier rumliegen (https://www.eiwomisa.de/website/shop-bausaetze/led-steuerung/mini-rgb-fader-v1x/anleitungen.html). Den wollte ich eigentlich für die ersten Versuche missbrauchen. Auf den Board ist ein Attiny 2313 drauf und ein paar Taster und 3 Leds. Der Microcontroller ist mit Bascom programmiert. Ich möchte aber erstmal mit Assembler anfagen, kann ich den einfach überspielen oder muss ich was beachten? Muss mir die Tage nochmal ein Adapter-Kabel bauen von 10 auf 6 Pol ISP.
Ich habe mal mein erstes Programm geschrieben und es simuliert. PB0,PB1 sollen Eingänge sein (Pull up Widerstände aktiviert). PB2,PB3 Ausgänge. Der PBO soll den PB2 schalten und der PB1,PB3 . Also ein ganz simples Prorgamm. Ich musste allerdings sehr viele Sprünge einbauen, um das zu realisieren. Das muss doch auch einfacher gehen oder? Hier mal das Programm.
.include "tn2313def.inc"
ldi r16, 0xFC
out DDRB, r16 ; PB0,PB1 Eingänge S3,S4 ; Rest Ausgänge
ldi r16, 0x3 ; Pullup-Widerstände aktivieren.
out PORTB, r16
loop: sbic PINB,0 ; Kontrolle, ob Eingang PBO geschaltet. Wenn Schalter betätigt dann 0V -> nächster Schritt wird übersprungen
jmp next
sbi PortB,2 ; blaue LED einschalten
jmp Ein2
next: cbi PortB,2 ; blaue LED ausschalten
Ein2: sbic PINB,1 ; Nächsten Eingang kontrollieren
rjmp Aus
sbi PortB,3 ; grüne LED einschalten
rjmp loop
Aus: cbi PortB,3 ; grüne LED ausschalten
rjmp loop
Bin für jeden Tipp dankbar.
Grüße Jungi
ich habe schon länger mit den Gedanken gespielt, mich mal ein bisschen mit Microcontrollern zu beschäftigen. Habe mir nun ein AVRISP mk 2 gekauft und noch ein Mini RGB Fader hier rumliegen (https://www.eiwomisa.de/website/shop-bausaetze/led-steuerung/mini-rgb-fader-v1x/anleitungen.html). Den wollte ich eigentlich für die ersten Versuche missbrauchen. Auf den Board ist ein Attiny 2313 drauf und ein paar Taster und 3 Leds. Der Microcontroller ist mit Bascom programmiert. Ich möchte aber erstmal mit Assembler anfagen, kann ich den einfach überspielen oder muss ich was beachten? Muss mir die Tage nochmal ein Adapter-Kabel bauen von 10 auf 6 Pol ISP.
Ich habe mal mein erstes Programm geschrieben und es simuliert. PB0,PB1 sollen Eingänge sein (Pull up Widerstände aktiviert). PB2,PB3 Ausgänge. Der PBO soll den PB2 schalten und der PB1,PB3 . Also ein ganz simples Prorgamm. Ich musste allerdings sehr viele Sprünge einbauen, um das zu realisieren. Das muss doch auch einfacher gehen oder? Hier mal das Programm.
.include "tn2313def.inc"
ldi r16, 0xFC
out DDRB, r16 ; PB0,PB1 Eingänge S3,S4 ; Rest Ausgänge
ldi r16, 0x3 ; Pullup-Widerstände aktivieren.
out PORTB, r16
loop: sbic PINB,0 ; Kontrolle, ob Eingang PBO geschaltet. Wenn Schalter betätigt dann 0V -> nächster Schritt wird übersprungen
jmp next
sbi PortB,2 ; blaue LED einschalten
jmp Ein2
next: cbi PortB,2 ; blaue LED ausschalten
Ein2: sbic PINB,1 ; Nächsten Eingang kontrollieren
rjmp Aus
sbi PortB,3 ; grüne LED einschalten
rjmp loop
Aus: cbi PortB,3 ; grüne LED ausschalten
rjmp loop
Bin für jeden Tipp dankbar.
Grüße Jungi