Das Open-Control-Projekt - Die Alternative zur C-Control-I


Das Forum zur C-Control-1
Welche C-Control-Varianten existieren?
Übersicht - Suchen - Neueste 50 Beiträge - Neuer Beitrag - Login - Registrieren
INFO - FAQ - CC2-Forum - CCPro-Forum 

 Re: Servo per ASM mit CC steuern Kategorie: Programmierung ASM (von Martin Kaup, Homepage - 5.02.2005 17:12)
 Als Antwort auf Servo per ASM mit CC steuern von FlyingMatze - 5.02.2005 12:08
Hallo,

ich weiss zwar nicht ob man so ein Serve ansteuert, daber ich musste Deinen Code
ändern, damit er bei mir lief.
Ich habe ihn mit CASM05Z V3.16 von P&E Microcomputer Systems, Inc. compiliert.
Ich denke, dass ich deswegen die Sprungadressen ohne Doppelpunkt brauchte.

   org $101
      lda #$01       ;eine 1 in den Akkumulator laden
      sta $04        ;Port 1 (PA0) auf Ausgang setzen
      sta $00        ;Port 1 auf High setzen
      lda #$00       ;Akkumulator auf 0 setzen

Warteschleife
      Inca             ;Akkumulator incrementieren ;Anfang einer 255 langen Warteschleife
      CMP #$FF   ;mit 255 vergleichen
      BNE Warteschleife

      lda #$00       ;Akkumulator auf 0 setzen
      ; Müsste weg, da sonst ein $A1 mit Inhalt 0 statt 1ms eine 2ms-Schleife macht.

      inca             ;Akkumulator incrementieren
      cmp $A1      ;Mit der Variable der Servostellung vergleichen
      BNE Schleife

      LDA #$00
      STA $00        ;Port 1 wieder auf low setzen
.end

OK, der Code läuft. Man könnte ihn an evtl. Stellen vereinfachen.
Aber ich weiss nicht genau wo Dein Problem liegt.
Auch habe ich nicht nachgerechnet, ob man mit der Zählschleife bis 255
genau 1ms erreicht.

Gruss Martin


> Ich weis es gibt schon ein paar Threads zum Thema ansteuern eines Modellbauservos.
> Ich wollte jetzt aber selber mal versuchen einen Servo mit Hilfe von Asembler anzusteuern.Ich habe aber vorher noch nie Asembler programmiert.Ich hoffe einer von euch kann mir helfen und was zu meinem entwurfenem Programm sagen.
> Das Programm soll Impulse von 1-2ms liefern. Die Servoposition ist in der Basicvariable A1 gespeichert.
>
>         org $101
>
>         lda #$01         ;eine 1 in den Akkumulator laden
>         sda $04          ;Port 1 auf Ausgang setzen
>         sda $00          ;Port 1 auf High setzen
>         lda #$00         ;Akkumulator auf 0 setzen
> Warteschleife:
>         Inca             ;Akkumulator incrementieren ;Anfang einer 255 langen Warteschleife
>         CMP #$FF     ;mit 255 vergleichen
>         BNE Warteschfleife
>         lda #$00         ;Akkumulator auf 0 setzen
> Schleife:
>         Inca           ;Akkumulator incrementieren
>         Cmp $A1     ;Mit der Variable der Servostellung vergleichen
>         BNE Schleife
>         LDA #$00
>         SDA $00       ;Port 1 wieder auf low setzen
> .end
>
>
>
>


Meine Homepage: http://www.nettypes.de/b-control

 Antwort schreiben

Bisherige Antworten:

Re: Servo per ASM mit CC steuern (von FlyingMatze - 7.02.2005 10:48)
    Re: Servo per ASM mit CC steuern (von Dietmar - 7.02.2005 18:54)
    Re: Servo per ASM mit CC steuern (von Kay - 7.02.2005 17:53)
Re: Servo per ASM mit CC steuern (von Martin Kaup - 5.02.2005 19:33)