- MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad         
Ergebnis 1 bis 7 von 7

Thema: Anfänger: Programmierung 2 Eingänge schalten 2 Ausgänge

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    21.02.2009
    Beiträge
    17

    Anfänger: Programmierung 2 Eingänge schalten 2 Ausgänge

    Anzeige

    LiFePo4 Akku selber bauen - Video
    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...leitungen.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

  2. #2
    Erfahrener Benutzer Roboter Experte Avatar von ePyx
    Registriert seit
    14.05.2008
    Ort
    Falkensee
    Beiträge
    700
    Zitat Zitat von jungi Beitrag anzeigen
    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?
    Brauchst nichts weiter beachten. Eventuell, wenn da vorher Firmware drauf ist, würde ich einen Dump (eine Kopie) des Speichers machen und mir die Fuse-Bits anschauen, notieren und ggf. für deine Anwendng anpassen. Das wäre aber nur um später den Originalstand wiederherstellen zu können. Wenn dir das Schnuppe ist, dann schmeiß das Hex-File drauf.

    Was den Code angeht, zwei Tipps:

    • Benutze Code-Tags [CODE] und [ /CODE] (ohne Leerzeichen)
    • es empfiehlt sich eine Sprungmarke für den Resetzustand einzuführen und per .CSEG die Adressen mit entsprechenden Sprungmarken "anzuspringen"


    Ansonsten sieht es auf den ersten Blick recht ok aus. (Sorry, hab erst eine halbe Tasse Kaffee intus und unter 2 geht gar nix )
    Aber wenn du es simuliert hast und das gut aussah, dann wird es schon schiefgehen.
    Grüße,
    Daniel

  3. #3
    Moderator Robotik Einstein Avatar von Kampi
    Registriert seit
    21.11.2009
    Ort
    Monheim, Nordrhein-Westfalen, Germany
    Alter
    34
    Beiträge
    3.501
    Blog-Einträge
    9
    Womit Programmierst du in Assembler? Nimmst du dafür auch Bascom?
    Wenn ja brauchst du dir um die Fuses keinen Kopf machen. Ansonsten wie oben schon gesagt erstmal auslesen und irgendwo notieren.
    Programm sieht in Ordnung aus.
    In Assembler musst du eh teilweise mit recht vielen Sprüngen arbeiten. Ich bin nun auch nicht so Assemblerfixiert, deswegen kann ich dir leider nicht sagen was du da noch optimieren kannst.
    Aber sowas kommt mit der Zeit
    Irgendwann hast du da einen Blick für.
    Schaut ruhig mal auf meiner Homepage vorbei :
    http://kampis-elektroecke.de

    Oder folge mir auf Google+:
    Daniel Kampert

    Es gibt 10 Arten von Menschen. Die einen können Binär, die anderen nicht.

    Gruß
    Daniel

  4. #4
    Erfahrener Benutzer Roboter Experte Avatar von ePyx
    Registriert seit
    14.05.2008
    Ort
    Falkensee
    Beiträge
    700
    Zitat Zitat von Kampi Beitrag anzeigen
    Wenn ja brauchst du dir um die Fuses keinen Kopf machen.
    Ist Bascom nicht genauso abhängig, was den Takt bzw. den Vorteiler angeht ?
    Grüße,
    Daniel

  5. #5
    Moderator Robotik Einstein Avatar von Kampi
    Registriert seit
    21.11.2009
    Ort
    Monheim, Nordrhein-Westfalen, Germany
    Alter
    34
    Beiträge
    3.501
    Blog-Einträge
    9
    Zitat Zitat von ePyx Beitrag anzeigen
    Ist Bascom nicht genauso abhängig, was den Takt bzw. den Vorteiler angeht ?
    Ja aber da kannst du die Fuses nicht unbeabsichtigt umstellen, weil du das ja quasi bei der Programmierung machst, bzw. machen kannst.
    Wenn die schon richtig eingestellt sind kann er die Fusebits da ja getrost ignorieren.
    Schaut ruhig mal auf meiner Homepage vorbei :
    http://kampis-elektroecke.de

    Oder folge mir auf Google+:
    Daniel Kampert

    Es gibt 10 Arten von Menschen. Die einen können Binär, die anderen nicht.

    Gruß
    Daniel

  6. #6
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    8.652
    Zitat Zitat von jungi Beitrag anzeigen
    ... Muss mir die Tage nochmal ein Adapter-Kabel bauen von 10 auf 6 Pol ISP ...
    Vielleicht so (klick hier) ?

    Nicht nur in Assembler habe ich so einen Ausdruck:
    ldi r16, 0xFC

    so geschrieben:
    ldi r16, 0b11111100

    und sinngemäß dann

    ldi r16, 0x3
    ldi r16, 0b00000011

    Ich finde das klarer.
    Ciao sagt der JoeamBerg

  7. #7
    Neuer Benutzer Öfters hier
    Registriert seit
    21.02.2009
    Beiträge
    17
    Ich programmiere mit AVR Studio. Werde die Tage dann mal alles anschließen und testen.
    Bin gespannt.

Ähnliche Themen

  1. Eingänge und Ausgänge schützen
    Von cumi im Forum Elektronik
    Antworten: 5
    Letzter Beitrag: 21.07.2006, 17:46
  2. Pic Ausgänge mit Pic Eingänge .....
    Von Golo im Forum PIC Controller
    Antworten: 2
    Letzter Beitrag: 04.04.2006, 21:30
  3. PCF8574 Ausgänge und Eingänge
    Von Baui im Forum Elektronik
    Antworten: 13
    Letzter Beitrag: 24.01.2006, 13:51
  4. analoge Eingänge/Ausgänge
    Von Furtion im Forum AVR Hardwarethemen
    Antworten: 3
    Letzter Beitrag: 29.05.2005, 13:43
  5. ATMega8 <<-- Eingänge/Ausgänge
    Von seitenmaster im Forum Elektronik
    Antworten: 11
    Letzter Beitrag: 24.08.2004, 19:27

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Solar Speicher und Akkus Tests