Led Blink-Pause verlängern im Assembler-Code. Wie?

Gast #777777
Lesenswert?
• ▲
▼
Hallo.
Ich komme nicht dahinter. Wie bekomme ich die Pause verlängert?

Wie bekomme ich am besten eine Pause realisiert mit einer regelbaren 
konstanten um eine Led über die zeitkonstante dann zu dimmen?

MichZet

  List p=16f84

  #include<P16f84.INC>

        __CONFIG        _PWRTE_ON & _WDT_OFF & _XT_OSC

  ;************************************************

  ZAEHL1  equ 0c    ;Erster Zaehler für Warteschleife
  ZAEHL2  equ 0d    ;Zweiter Zaehler für Warteschleife

  bsf   03h,5     ; Auf Bank1 Umschalten
  movlw   0x0  ;
  movwf   TRISB    ; PortB auf Ausgang
  bcf   03h,5    ; zurück auf Bank0 umschalten
  clrf    PORTB           ; alle LEDs ausschalten
START
        btfss  PORTA,0    ; wenn PortA gedrückt pause

   call Pause
  bcf  PORTB,2    ; PortB 2 Aus
  bsf     PORTB,0    ; PortB 0 An
   call Pause    ;
  bsf  PORTB,2    ; PortB 2 An
  bcf     PORTB,0    ; PortB 0 Aus

  goto START    ;
Pause
Loop1
     decfsz ZAEHL1,1    ;Ziehe 1 ab von 255
        goto Loop1              ;wenn nicht 0, springe zu Loop1
  decfsz ZAEHL2,1   ;Ziehe 1 ab von 255
        goto Loop1    ;Springe zum Start der
 Warteschleife, wenn nicht 0. Diese
         ;Schleife zaehlt 255 mal von 255 auf 0 herunter

   Return

  End

Danke

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren