Autor Thema: Schrittmotor Treiber fehler?  (Gelesen 2512 mal)

Offline destroyer667

  • Newbie
  • *
  • Beiträge: 1
    • Profil anzeigen
Schrittmotor Treiber fehler?
« am: November 17, 2014, 16:03:23 Nachmittag »
Habe ein Kleines Programm geschrieben eine Art Schrittmotor Treiber
jedoch scheint das Programm irgendwo einen Fehler zu haben den ich nicht entdecke
habe an die 4 Ausgänge LEDs gehängt und von Start an Leuchten nur die erste und letzte
komm daher nicht weiter
vielleicht kann mir ja hier jemand helfen
mfg Destro

Anhang geht aus irgendeinem Grund nicht daher hier der code:

;**********************************************************************
;   This file is a basic code template for object module code         *
;   generation on the PIC16F54. This file contains the                *
;   basic code building blocks to build upon.                         *
;                                                                     *
;   Refer to the MPASM User's Guide for additional information on     *
;   features of the assembler and linker.                             *
;                                                                     *
;   Refer to the respective PIC data sheet for additional             *
;   information on the instruction set.                               *
;                                                                     *
;**********************************************************************
;                                                                     *
;    Filename:        BioPic_V01.asm                                         *
;    Date:                                                            *
;    File Version:                                                    *
;                                                                     *
;    Author:                                                          *
;    Company:                                                         *
;                                                                     *
;**********************************************************************
;                                                                     *
;    Files required: P16F54.INC                                       *
;                                                                     *
;                                                                     *
;                                                                     *
;**********************************************************************
;                                                                     *
;    Notes:                                                           *
;                                                                     *
;                                                                     *
;                                                                     *
;                                                                     *
;**********************************************************************

    list      p=16F54             ; list directive to define processor
    #include <p16F54.inc>         ; processor specific variable definitions

    __CONFIG   _CP_ON & _WDT_ON & _HS_OSC

; '__CONFIG' directive is used to embed configuration word within .asm file.
; The lables following the directive are located in the respective .inc file.
; See respective data sheet for additional information on configuration word.

;***** VARIABLE DEFINITIONS
TEMP_VAR    UDATA
HeizTime0   res      1   
HeizTime1   res      1   
Sekunde      res      1   
HeizTime3   res      1   
PrellTime   res      1


;**********************************************************************
RESET_VECTOR   CODE   0x1FF       ; processor reset vector
        goto    start

MAIN    CODE    0x000
start   
Init
      CLRWDT                 ; Watchdog zurücksetzen
      movlw   0x0C           ; Definition für Port A laden   
      tris   PORTA           ; Definitioon in Port A eintragen
      movlw   0x9F           ; Definition für Port B laden   
      tris   PORTB           ; Definitioon in Port B eintragen
      movlw   0x07           ; Definition für Option Register laden      
      option                 ; Definitioon in Option eintragen
      CLRWDT                 ; Watchdog zurücksetzen

;==================================
;===                            ===
;===  Hauptporogramm Schleife   ===
;===                            ===
;==================================
Anfang
      goto   Schritt_1_abfrage   
      CLRWDT                 ; Watchdog zurücksetzen           ; Watchdog zurücksetzen
      goto   Anfang

;==================================
;===                            ===
;=== Ansteuerung Summer wenn OK ===
;===                            ===
;==================================

Schritt_1_abfrage
CLRWDT   
      BTfss   PORTB,0   ; Dir auf 0?
         goto    Schritt1_links ; beginne Schritte
      BTfsc   PORTB,1 ;Step auf 1?
         goto schritt_1
   
goto Schritt_1_abfrage

Schritt1_links
CLRWDT   
   BTfsc   PORTB,1 ;Step auf 1?
         goto schritt_8
      goto Schritt_1_abfrage

Schritt_2_abfrage   
CLRWDT   
      BTfss   PORTB,0   ; Dir auf 0?
         goto    Schritt2_links ; beginne Schritte
      BTfsc   PORTB,1 ;Step auf 1?
         goto schritt_2
goto Schritt_2_abfrage

Schritt2_links
CLRWDT
   BTfsc   PORTB,1 ;Step auf 1?
         goto schritt_1
goto Schritt_2_abfrage

Schritt_3_abfrage   
CLRWDT
      BTfss   PORTB,0   ; Dir auf 0?
         goto    Schritt3_links ; beginne Schritte
      BTfsc   PORTB,1 ;Step auf 1?
         goto schritt_3
goto Schritt_3_abfrage

Schritt3_links
CLRWDT
   BTfsc   PORTB,1 ;Step auf 1?
         goto schritt_2
goto Schritt_3_abfrage



Schritt_4_abfrage
CLRWDT   
      BTfss   PORTB,0   ; Dir auf 0?
         goto    Schritt4_links ; beginne Schritte
      BTfsc   PORTB,1 ;Step auf 1?
         goto schritt_4
goto Schritt_4_abfrage

Schritt4_links
CLRWDT
   BTfsc   PORTB,1 ;Step auf 1?
         goto schritt_3
goto Schritt_4_abfrage



Schritt_5_abfrage
CLRWDT   
      BTfss   PORTB,0   ; Dir auf 0?
         goto    Schritt5_links ; beginne Schritte
      BTfsc   PORTB,1 ;Step auf 1?
         goto schritt_5
goto Schritt_5_abfrage

Schritt5_links
CLRWDT
   BTfsc   PORTB,1 ;Step auf 1?
         goto schritt_4
goto Schritt_5_abfrage

Schritt_6_abfrage
CLRWDT   
      BTfss   PORTB,0   ; Dir auf 0?
         goto    Schritt6_links ; beginne Schritte
      BTfsc   PORTB,1 ;Step auf 1?
         goto schritt_6
goto Schritt_6_abfrage

Schritt6_links
CLRWDT
   BTfsc   PORTB,1 ;Step auf 1?
         goto schritt_5
goto Schritt_6_abfrage


Schritt_7_abfrage
CLRWDT   
      BTfss   PORTB,0   ; Dir auf 0?
         goto    Schritt7_links ; beginne Schritte
      BTfsc   PORTB,1 ;Step auf 1?
         goto schritt_7
goto Schritt_7_abfrage

Schritt7_links
CLRWDT
   BTfsc   PORTB,1 ;Step auf 1?
         goto schritt_6
goto Schritt_7_abfrage

Schritt_8_abfrage
CLRWDT   
      BTfss   PORTB,0   ; Dir auf 0?
         goto    Schritt8_links ; beginne Schritte
      BTfsc   PORTB,1 ;Step auf 1?
         goto schritt_8
goto Schritt_8_abfrage

Schritt8_links
CLRWDT
   BTfsc   PORTB,1 ;Step auf 1?
         goto schritt_7
goto Schritt_8_abfrage



   

schritt_1
CLRWDT
   BSF      PORTA,0   
   BCF      PORTA,1   
   BCF      PORTB,5   
   BSF      PORTB,6
BTfss   PORTB,0   ; Dir auf 0?
goto Schritt_prell1
BTfss   PORTB,1 ;Step auf 0?
goto Schritt_2_abfrage
goto schritt_1

Schritt_prell1
CLRWDT
   BTfss   PORTB,1 ;Step auf 0?
   goto Schritt_1_abfrage
goto schritt_1

schritt_2
CLRWDT
   BSF      PORTA,0   
   BCF      PORTA,1   
   BCF      PORTB,5   
   BCF      PORTB,6
BTfss   PORTB,0   ; Dir auf 0?
goto Schritt_prell2
BTfss   PORTB,1 ;Step auf 0?
goto Schritt_3_abfrage
goto schritt_2

Schritt_prell2
CLRWDT
   BTfss   PORTB,1 ;Step auf 0?
   goto Schritt_2_abfrage
goto schritt_2







schritt_3
CLRWDT
   BSF      PORTA,0   
   BSF      PORTA,1   
   BCF      PORTB,5   
   BCF      PORTB,6
BTfss   PORTB,0   ; Dir auf 0?
goto Schritt_prell3
BTfss   PORTB,1 ;Step auf 0?
goto Schritt_4_abfrage
goto schritt_3

Schritt_prell3
CLRWDT
   BTfss   PORTB,1 ;Step auf 0?
   goto Schritt_3_abfrage
goto schritt_3





schritt_4
CLRWDT
   BCF      PORTA,0   
   BSF      PORTA,1   
   BCF      PORTB,5   
   BCF      PORTB,6
BTfss   PORTB,0   ; Dir auf 0?
goto Schritt_prell4
BTfss   PORTB,1 ;Step auf 0?
goto Schritt_5_abfrage
goto schritt_4

Schritt_prell4
CLRWDT
   BTfss   PORTB,1 ;Step auf 0?
   goto Schritt_4_abfrage
goto schritt_4


schritt_5
CLRWDT
   BCF      PORTA,0   
   BSF      PORTA,1   
   BSF      PORTB,5   
   BCF      PORTB,6
BTfss   PORTB,0   ; Dir auf 0?
goto Schritt_prell5
BTfss   PORTB,1 ;Step auf 0?
goto Schritt_6_abfrage
goto schritt_5

Schritt_prell5
CLRWDT
   BTfss   PORTB,1 ;Step auf 0?
   goto Schritt_5_abfrage
goto schritt_5

schritt_6
CLRWDT
   BCF      PORTA,0   
   BCF      PORTA,1   
   BSF      PORTB,5   
   BCF      PORTB,6
BTfss   PORTB,0   ; Dir auf 0?
goto Schritt_prell6
BTfss   PORTB,1 ;Step auf 0?
goto Schritt_7_abfrage
goto schritt_6

Schritt_prell6
CLRWDT
   BTfss   PORTB,1 ;Step auf 0?
   goto Schritt_6_abfrage
goto schritt_6


schritt_7
CLRWDT
   BCF      PORTA,0   
   BCF      PORTA,1   
   BSF      PORTB,5   
   BSF      PORTB,6
BTfss   PORTB,0   ; Dir auf 0?
goto Schritt_prell7
BTfss   PORTB,1 ;Step auf 0?
goto Schritt_8_abfrage
goto schritt_7

Schritt_prell7
CLRWDT
   BTfss   PORTB,1 ;Step auf 0?
   goto Schritt_7_abfrage
goto schritt_7
schritt_8
CLRWDT
   BCF      PORTA,0   
   BCF      PORTA,1   
   BCF      PORTB,5   
   BSF      PORTB,6
BTfss   PORTB,0   ; Dir auf 0?
goto Schritt_prell8
BTfss   PORTB,1 ;Step auf 0?
goto Schritt_1_abfrage
goto schritt_8

Schritt_prell8
CLRWDT
   BTfss   PORTB,1 ;Step auf 0?
   goto Schritt_8_abfrage
goto schritt_8



      RETLW   0
; remaining code goes here
        END                       ; directive 'end of program'


picalic

  • Gast
Re: Schrittmotor Treiber fehler?
« Antwort #1 am: November 17, 2014, 23:07:16 Nachmittag »
Hallo Destro,

soweit scheint das Programm doch zu funktionieren? Zumindest die Ausgabe des Simulators sieht doch gar nicht so schlecht aus:

 


* Recent Topics