- fchao-Sinus-Wechselrichter AliExpress         
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 17

Thema: Erste Gehversuche mit Assembler

  1. #1
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    04.10.2006
    Beiträge
    131

    Erste Gehversuche mit Assembler

    Anzeige

    Praxistest und DIY Projekte
    Ich bin Neuling auf dem Gebiet der Assemblerprogrammierung. Ich habe schon zwar einiges in Assembler mit dem 8085 Prozessor angestellt, aber mit den Atmels fange ich wieder von Vorne an.
    Ich möchte mit einem ATtiny15 eine Analoge Spannung an ADC1 messen und mit 3 Led's ausgeben, ob die Spannung zu niedrig ist, passt, oder zu hoch ist.
    Ich habe mit AVR Studio schon ein paar Zeilen geschrieben, habe auch das entsprechende Include File eingebunden. AVR Studio nimmt aber nicht die vordefinierten Registernamen!! Es kommt immer "Invalid Register" egal was man für ein Register nimmt!
    AVR Studio meldet aber, daß die entsprechende Include Datei geladen worden ist.
    Und hat Jemand mal einen Beispielcode wie man eine Analoge Spannung misst und mit LED's auswertet??
    Ich weis mir da noch nicht richtig zu helfen.

  2. #2
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    08.05.2005
    Ort
    Issum
    Alter
    52
    Beiträge
    2.236
    Hallo rogerberglen,

    Willkommen in der Assemblerwelt
    Welche Register ergeben diesen Fehler ? Die Universal Register R0-R31
    ?

    Hmm, komisches Problem, kenne ich noch nicht, hast Du Dich vielleicht bei der tn15def.inc vertippt ?

    Zu Sache ADC einlesen,
    ich habe vor ein paar Jahren einen Thermometer gebaut, der mit 2 LEDs die Temperatur anzeigt.
    Einfache Sache, 2 LEDs rot u. Grün. ist die Ist Temperatur weit unter Soll (5 Grad drunter) blinkt die rote Led ist sie ziemlich nah an soll leuchtet sie dauernd, ist = soll Leuchten beide und genauso für übertemperatur mit der anderen led.
    Das ganze läuft seitdem mit einer Knopfzelle und befindet sich im Powerdowm Modus, wenn es nicht gebraucht wird.
    Ich poste Dir mal das PRogramm, vielleicht kannst Du Dir mal was abgucken

    Gruß Sebastian
    Angehängte Dateien Angehängte Dateien
    Software is like s e x: its better when its free.
    Linus Torvald

  3. #3
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    04.10.2006
    Beiträge
    131
    Bin schon ganz gespannt auf das Beispielprogramm. Ich habe keinen Tippfehler in der Include Datei. AVR Studio sagt ja auch, daß die at15def.inc geladen wurde. Ich will dan eigentlich nur mit dem Befehl LDI ADMUX,$01 eine 1 in das Register schreiben. AVR sagt dann lapidar "Invalid Register".

  4. #4
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    08.05.2005
    Ort
    Issum
    Alter
    52
    Beiträge
    2.236
    Ich will dan eigentlich nur mit dem Befehl LDI ADMUX,$01 eine 1 in das Register schreiben. AVR sagt dann lapidar "Invalid Register".
    Und hier ist der Fehler,
    Es geht so nicht!
    Du mußt schon den Umweg über einen Universallregister > 15 machen z.B.
    ldi r16,0x01
    out ADMUX,r16

    Schau Dir meinen Thermometer an, dann wir einiges klarer (oder auch nicht)
    Es ist zwar etwas "groß" für den Anfang, demonstriert Dir aber so ziemlich viele Sachen
    -Interrupts
    -Timer
    -ADC
    -EEPROM Zugriff
    -Sleepmodus
    - ? sonst noch was

    Gruß Sebastian
    Software is like s e x: its better when its free.
    Linus Torvald

  5. #5
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    04.10.2006
    Beiträge
    131
    Guter Tipp! So funktionierts. Dann kann ich mich ja ins Vergnügen stürzen. Ich nehme dann Dein Programm mal als Arbeitsgrundlage um die ganze Sache näher kennenzulernen.

  6. #6
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    08.05.2005
    Ort
    Issum
    Alter
    52
    Beiträge
    2.236
    Super !
    Vielleicht kannst Du auf meiner HP noch was brauchen, ein klick auf www genügt

    Gruß Sebastian
    Software is like s e x: its better when its free.
    Linus Torvald

  7. #7
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    04.10.2006
    Beiträge
    131
    Ich habe einfach mal das Programm so in AVR Studio eingetippt. Es werden aber beim Kompilieren Fehler angezeigt. Ich sehe nur keinen logischen Sinn dahinter.
    Lief das Programm genau in der Form??? Bei mir kommen zahlreiche Fehler wenn ich versuche das Programm zu kompilieren.

    1. .def 5Sekunden = R24
    Fehler: Analog1.asm(43): error: syntax error, unexpected INTEGER, expecting SYMBOL or FUNCTION or REGDEF.

    2. .org TOV0addr
    Fehler: Analog.asm(76): error: Use of undefined or forward referenced symbol 'TOV0addr' in .org

    3. .org ADCaddr
    Fehler: Analog1.asm(7: error: Use of undefined or forward referenced symbol 'ADCaddr' in .org

    Ich denke, daß AVR Studio noch weitere Fehler meldet wenn man diese bisher angezeigten behebt.
    Ich wäre da sehr dankbar das Programm mal zum Laufen zu bringen damit ich die Arbeitsweise der ADC Wandlung nachvollziehen kann.

  8. #8
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    08.05.2005
    Ort
    Issum
    Alter
    52
    Beiträge
    2.236
    hallo rogerberglen,
    Das Programm habe ich direkt aus dem Arbeitsverzeichnis kopiert, wo auch direkt die *hex mit drin war.

    Allerdings assembliere ich mit avra, da ich unter Linux arbeite.

    Avra soll aber kompatibel zu AVR assembler sein.
    Ich habe da aber eine Idee.
    Irgendwo muß bei avrstudio eine option "Assembler options" sein.
    Stell da mal vom "Assembler 2" auf "assembler 1" um.
    Wenn da immer noch Fehler kommen melde Dich nochmal, es ist eine Kleinigkeit.
    Gruß Sebastian
    Software is like s e x: its better when its free.
    Linus Torvald

  9. #9
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    08.05.2005
    Ort
    Issum
    Alter
    52
    Beiträge
    2.236
    Ich habe oben eine geänderte Version gepostet^
    Software is like s e x: its better when its free.
    Linus Torvald

  10. #10
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    04.10.2006
    Beiträge
    131
    Ich konnte die geänderte Version fehlerlos kompilieren! Ich habe in den Optionen auch Version1 des Kompilers umgestellt.
    Jetzt bräuchte ich nur noch eine Lösung wie man den im AVR Studio analoge Eingangsspannungen simulieren kann um die Funktion des ADC zu prüfen.

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

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

Labornetzteil AliExpress