- fchao-Sinus-Wechselrichter AliExpress         
Seite 2 von 4 ErsteErste 1234 LetzteLetzte
Ergebnis 11 bis 20 von 31

Thema: 1.Programm Taster betätigt, LED an

  1. #11
    Neuer Benutzer Öfters hier
    Registriert seit
    09.03.2007
    Beiträge
    13
    Anzeige

    LiFePo4 Akku selber bauen - Video
    Hallo,
    zeige mal deinen ganzen Code den du versucht hast in den PIC zu brennen!??

    Gruß

  2. #12
    Erfahrener Benutzer Begeisterter Techniker Avatar von µautonom
    Registriert seit
    04.04.2007
    Ort
    Paderborn
    Beiträge
    225
    Code:
    ;*************************************
    ;
    ; Includedatei für den PIC16F628A
       list p=16f628a
       #include p16f628a.inc
    
    ;*************************************
    ; Configuration festlegen
    ; 8Mhz Resonator: Brown out Reset on, Data Protection off, Power up Timer on, Watchdog off, LV-Programmierung off
    
       _CONFIG _BOREN_ON & _CP_OFF & _DATA_CP_OFF & _PWRTE_ON & _WDT_OFF & _LVP_OFF & _MCLRE_OFF & _HS_OSC & _LVP_OFF
    
    ;
    ;*************************************
    ;
    ; Pinfunktion festlegen
    
     CLRF    PORTA         ;Comperators off
     MOVLW   0x07         ;I/O Funktion ermöglichen
     MOVWF   CMCON
    
     BCF    STATUS, RP1      ;Bank 1 auswählen      
     BSF   STATUS, RP0
    
     MOVLW   0x3F             ;Pins config
     MOVWF   TRISA         ;PORTA Input
    
     MOVLW   0x00         ;PortB Output
     MOVWF    TRISB
    
     BCF   STATUS, RP0      ;Bank 0 auswählen
    
    org 0x0000
    ;***********************************************
    ;Taster abfragen , Led ausgeben
    anf
    BTFSS PORTA, RA0 ; teste Bit x von Porta
    goto Ledan ; springe,wenn Bit=0 (Schalter gedrückt)
    BCF PORTB, RB0 ; nicht gedrückt--> Led aus
    goto anf
    Ledan 
    BSF PORTB, RB0 ; setze Bit y von Port B (Led)
    goto anf
    
    end
    Den COde den ich versucht hab zu übersetzen mit MPLAB.

    EDIT: Hab was rausgefunden hab jetzt vor jedem Befehl ne Leertast egemacht dann sind die WARNUNGEn schoin mal weg

    Clean: Deleting intermediary and output files.
    Clean: Done.
    Executing: "C:\Programme\Microchip\MPASM Suite\MPAsmWin.exe" /q /p16F628A "Led.asm" /l"Led.lst" /e"Led.err" /o"Led.o"
    Warning[207] C:\DOKUMENTE UND EINSTELLUNGEN\PUTKIN\EIGENE DATEIEN\LEDTEST\LED.ASM 10 : Found label after column 1. (_CONFIG)
    Error[122] C:\DOKUMENTE UND EINSTELLUNGEN\PUTKIN\EIGENE DATEIEN\LEDTEST\LED.ASM 10 : Illegal opcode (_BOREN_ON)
    Error[152] C:\DOKUMENTE UND EINSTELLUNGEN\PUTKIN\EIGENE DATEIEN\LEDTEST\LED.ASM 16 : Executable code and data must be defined in an appropriate section
    Error[152] C:\DOKUMENTE UND EINSTELLUNGEN\PUTKIN\EIGENE DATEIEN\LEDTEST\LED.ASM 17 : Executable code and data must be defined in an appropriate section
    Error[152] C:\DOKUMENTE UND EINSTELLUNGEN\PUTKIN\EIGENE DATEIEN\LEDTEST\LED.ASM 18 : Executable code and data must be defined in an appropriate section
    Error[152] C:\DOKUMENTE UND EINSTELLUNGEN\PUTKIN\EIGENE DATEIEN\LEDTEST\LED.ASM 20 : Executable code and data must be defined in an appropriate section
    Error[152] C:\DOKUMENTE UND EINSTELLUNGEN\PUTKIN\EIGENE DATEIEN\LEDTEST\LED.ASM 21 : Executable code and data must be defined in an appropriate section
    Error[152] C:\DOKUMENTE UND EINSTELLUNGEN\PUTKIN\EIGENE DATEIEN\LEDTEST\LED.ASM 23 : Executable code and data must be defined in an appropriate section
    Message[302] C:\DOKUMENTE UND EINSTELLUNGEN\PUTKIN\EIGENE DATEIEN\LEDTEST\LED.ASM 24 : Register in operand not in bank 0. Ensure that bank bits are correct.
    Error[152] C:\DOKUMENTE UND EINSTELLUNGEN\PUTKIN\EIGENE DATEIEN\LEDTEST\LED.ASM 24 : Executable code and data must be defined in an appropriate section
    Error[152] C:\DOKUMENTE UND EINSTELLUNGEN\PUTKIN\EIGENE DATEIEN\LEDTEST\LED.ASM 26 : Executable code and data must be defined in an appropriate section
    Message[302] C:\DOKUMENTE UND EINSTELLUNGEN\PUTKIN\EIGENE DATEIEN\LEDTEST\LED.ASM 27 : Register in operand not in bank 0. Ensure that bank bits are correct.
    Error[152] C:\DOKUMENTE UND EINSTELLUNGEN\PUTKIN\EIGENE DATEIEN\LEDTEST\LED.ASM 27 : Executable code and data must be defined in an appropriate section
    Error[152] C:\DOKUMENTE UND EINSTELLUNGEN\PUTKIN\EIGENE DATEIEN\LEDTEST\LED.ASM 29 : Executable code and data must be defined in an appropriate section
    Error[113] C:\DOKUMENTE UND EINSTELLUNGEN\PUTKIN\EIGENE DATEIEN\LEDTEST\LED.ASM 35 : Symbol not previously defined (RA0)
    Error[113] C:\DOKUMENTE UND EINSTELLUNGEN\PUTKIN\EIGENE DATEIEN\LEDTEST\LED.ASM 37 : Symbol not previously defined (RB0)
    Error[113] C:\DOKUMENTE UND EINSTELLUNGEN\PUTKIN\EIGENE DATEIEN\LEDTEST\LED.ASM 40 : Symbol not previously defined (RB0)
    Halting build on first failure as requested.
    BUILD FAILED: Mon Aug 27 17:51:56 2007



  3. #13
    Erfahrener Benutzer Begeisterter Techniker Avatar von µautonom
    Registriert seit
    04.04.2007
    Ort
    Paderborn
    Beiträge
    225
    EDIT:// Hm da stimmt abr noch irgendwas nicht

    Code:
    ;*************************************
    ; Includedatei für den PIC16F628A
       list p=16f628a
       include "p16f628a.inc"
    
    ;*************************************
    ; Configuration festlegen
    ; 8Mhz Resonator: Brown out Reset on, Data Protection off, Power up Timer on, Watchdog off, LV-Programmierung off
    
     __config _BOREN_ON & _CP_OFF & _DATA_CP_OFF & _PWRTE_ON & _WDT_OFF & _LVP_OFF & _MCLRE_OFF & _HS_OSC & _LVP_OFF
    
    ;*************************************
    #define taster    PORTA,0
    #define led		  PORTB,0
    
     org 0x0000
     goto main
    ; Pinfunktion festlegen
    main
     CLRF    PORTA         ;Comperators off
     MOVLW   0x07         ;I/O Funktion ermöglichen
     MOVWF   CMCON
    
     BCF    STATUS, RP1      ;Bank 1 auswählen      
     BSF   STATUS, RP0
    
     MOVLW   0x3F             ;Pins config
     MOVWF   TRISA         ;PORTA Input
    
     MOVLW   0x00         ;PortB Output
     MOVWF    TRISB
    
     BCF   STATUS, RP0      ;Bank 0 auswählen
    
    ;***********************************************
    ;Taster abfragen , Led ausgeben
    anf
     BTFSS taster ; teste Bit x von Porta
     goto Ledan ; springe,wenn Bit=0 (Schalter gedrückt)
     BCF led ; nicht gedrückt--> Led aus
     goto anf
    Ledan 
     BSF led ; setze Bit y von Port B (Led)
     goto anf
    
     end
    Clean: Deleting intermediary and output files.
    Clean: Done.
    Executing: "C:\Programme\Microchip\MPASM Suite\MPAsmWin.exe" /q /p16F628A "Led.asm" /l"Led.lst" /e"Led.err" /o"Led.o"
    Message[302] C:\DOKUMENTE UND EINSTELLUNGEN\PUTKIN\EIGENE DATEIEN\LEDTEST\LED.ASM 28 : Register in operand not in bank 0. Ensure that bank bits are correct.
    Message[302] C:\DOKUMENTE UND EINSTELLUNGEN\PUTKIN\EIGENE DATEIEN\LEDTEST\LED.ASM 31 : Register in operand not in bank 0. Ensure that bank bits are correct.
    Executing: "C:\Programme\Microchip\MPASM Suite\MPLink.exe" "C:\Programme\Microchip\MPASM Suite\LKR\16f628a.lkr" "C:\Dokumente und Einstellungen\putkin\Eigene Dateien\Ledtest\Led.o" /o"LED.cof" /M"LED.map" /W
    MPLINK 4.11, Linker
    Copyright (c) 2007 Microchip Technology Inc.
    Error - section '.org_0' can not fit the absolute section. Section '.org_0' start=0x00000000, length=0x00000022
    Errors : 1

    Link step failed.
    BUILD FAILED: Mon Aug 27 18:18:50 2007


    Mfg

  4. #14
    Neuer Benutzer Öfters hier
    Registriert seit
    09.03.2007
    Beiträge
    13
    Code:
    ;*************************************
    ;
    ; Includedatei für den PIC16F628A
       list p=16f628a
       #include <p16f628a.inc>
    
    ;*************************************
    ; Configuration festlegen
     ; 8Mhz Resonator: Brown out Reset on, Data Protection off, Power up Timer on, Watchdog off, LV-Programmierung off
    
       __CONFIG _BOREN_ON & _CP_OFF & _DATA_CP_OFF & _PWRTE_ON & _WDT_OFF & _LVP_OFF & _MCLRE_OFF & _HS_OSC & _LVP_OFF
    
    ;
    ;*************************************
         org 0x00
         goto main
    ; Pinfunktion festlegen
    main
         CLRF    PORTA         ;Comperators off
         MOVLW   0x07         ;I/O Funktion ermöglichen
         MOVWF   CMCON
    
          BCF    STATUS, RP1      ;Bank 1 auswählen     
          BSF   STATUS, RP0
    
          MOVLW   0x3F             ;Pins config
          MOVWF   TRISA         ;PORTA Input
    
          MOVLW   0x00         ;PortB Output
          MOVWF    TRISB
    
          BCF   STATUS, RP0      ;Bank 0 auswählen
    
    
    ;***********************************************
    ;Taster abfragen , Led ausgeben
    anf
        BTFSS  PORTA, 0 ; teste Bit x von Porta
        goto     Ledan ; springe,wenn Bit=0 (Schalter gedrückt)
        BCF     PORTB, 0 ; nicht gedrückt--> Led aus
        goto     anf
    Ledan
        BSF     PORTB, 0 ; setze Bit y von Port B (Led)
        goto    anf
    
        end
    jeder befehl muss in einer Spalte stehen dadurch die meisten fehler
    so müsste es jetzt gehen

    Gruß

  5. #15
    Neuer Benutzer Öfters hier
    Registriert seit
    15.09.2006
    Ort
    Berlin
    Beiträge
    21
    So, da bin ich wieder.
    Also der 245 ist ein bidirektionaler Treiber.
    Mit H an DIR schaltet er von A nach B.
    HCT ist o.k kann aber nicht soviel Strom liefern wie
    der LS245 (24 mA bei L, 15mA bei H).
    Generell können alle TTL mehr Strom gegen Gnd schalten als gegen VCC.
    Pin 19 würde mit H alle Ein-u.Ausgänge hochohmig schalten.
    Die Spannungsversorgung reicht für alle drei Schaltungsteile.

    Ich hab deinen Code nochmal etwas modifiziert,
    hab aber nicht rausgekriegt, wie ich dieses Codefenster
    einbinden kann.

    MfG
    Digger

  6. #16
    Erfahrener Benutzer Begeisterter Techniker Avatar von µautonom
    Registriert seit
    04.04.2007
    Ort
    Paderborn
    Beiträge
    225
    hi,

    @picprogger teste ich sofort

    @digger du meinst so einCodefenster wie in meinem Beitrag?

    EInfach auf "Code" im Nachrichtentext wnen du den verfasst udn anschließend weider auf "Code*" um das fenster zu schließen


    EDIT:// Hab den Code ausprobiert es kommen ha nicht mehr diese Meldungen, aber es kommt die gleiche Fehlermedlung wie bei mir.

    Clean: Deleting intermediary and output files.
    Clean: Deleted file "C:\Dokumente und Einstellungen\putkin\Eigene Dateien\Ledtest\Led.o".
    Clean: Deleted file "C:\Dokumente und Einstellungen\putkin\Eigene Dateien\Ledtest\Led.lst".
    Clean: Done.
    Executing: "C:\Programme\Microchip\MPASM Suite\MPAsmWin.exe" /q /p16F628A "Led.asm" /l"Led.lst" /e"Led.err" /o"Led.o"
    Message[302] C:\DOKUMENTE UND EINSTELLUNGEN\PUTKIN\EIGENE DATEIEN\LEDTEST\LED.ASM 28 : Register in operand not in bank 0. Ensure that bank bits are correct.
    Message[302] C:\DOKUMENTE UND EINSTELLUNGEN\PUTKIN\EIGENE DATEIEN\LEDTEST\LED.ASM 31 : Register in operand not in bank 0. Ensure that bank bits are correct.
    Executing: "C:\Programme\Microchip\MPASM Suite\MPLink.exe" "C:\Programme\Microchip\MPASM Suite\LKR\16f628a.lkr" "C:\Dokumente und Einstellungen\putkin\Eigene Dateien\Ledtest\Led.o" /o"LED.cof" /M"LED.map" /W
    MPLINK 4.11, Linker
    Copyright (c) 2007 Microchip Technology Inc.
    Error - section '.org_0' can not fit the absolute section. Section '.org_0' start=0x00000000, length=0x00000022
    Errors : 1

    Link step failed.
    BUILD FAILED: Mon Aug 27 18:56:17 2007
    Mfg

  7. #17
    Neuer Benutzer Öfters hier
    Registriert seit
    09.03.2007
    Beiträge
    13
    Hey digger

    [/code] für ende des codes
    [code] für anfang des codes

  8. #18
    Neuer Benutzer Öfters hier
    Registriert seit
    15.09.2006
    Ort
    Berlin
    Beiträge
    21
    Hier nochmal die richtige Version.
    Code:
    ;************************************* 
    ; 
    ; Includedatei für den PIC16F628A 
       list p=16f628a 
       include "p16f628a.inc" 
    
    ;************************************* 
    ; Configuration festlegen 
    ; 8Mhz Resonator: Brown out Reset on, Data Protection off, Power up Timer on, Watchdog off, LV-Programmierung off 
    
       __CONFIG  _BODEN_ON & _CP_OFF & _DATA_CP_OFF & _PWRTE_ON & _WDT_OFF & _LVP_OFF & _MCLRE_OFF & _HS_OSC & _LVP_OFF 
    
    ;***** VARIABLEN******************
    w_temp        EQU     0x70        ; context saving 
    status_temp   EQU     0x71        ; context saving
    Flags		equ	H'0072'		; 	
    count		equ	H'0020'
    tempa 		equ	H'0021'
    tweek		equ	H'0022'		
    ;********************************* 
    ; Pinfunktion festlegen 
      
    	org 	0x0000            ;Programmstart 
     	goto	INIT
    	org	0x004             ; Interruptbehandlung
    INTSERV	movwf   w_temp            ; W register retten
    	movf	STATUS,w          ; status register nach W register
    	movwf	status_temp       ; STATUS register retten
    	bcf	STATUS,RP0	; Bank0	
    	bcf	STATUS,RP1
     ; hier kommt später Code hin
     ; für eventuelle Interrupts
    IntEnd	movf    status_temp,w    ; STATUS register 
    	movwf	STATUS		; wieder herstellen
    	swapf   w_temp,f
    	swapf   w_temp,w	; W register wieder herstellen
    				; ( Inhalt wie vor Interrupt)					
    	retfie                  ; Rücksprung aus Interruptbehandlung
    ;****************************************************************
    INIT	clrf   INTCON		; keine Interrupts zulassen
    	bcf	STATUS,IRP
    	bcf	STATUS,RP0	
    	bcf	STATUS,RP1	; Bank0
    
     	movlw   0x07          	;Comperators off
     	movwf   CMCON 		;I/O Funktion ermöglichen
    
    	clrf    PORTA         
    	clrf	PORTB		; alle Ausgänge Low
    
    	BCF    STATUS, RP1      ;Bank 1 auswählen       
    	BSF   STATUS, RP0 
    
    	movlw   0x3F          ;Pins config 
    	movwf   TRISA         ;PORTA 0-5 Input
    
    	movlw   0x00         ;PortB Output 
    	movwf    TRISB 
    
    	bcf   STATUS, RP0      ;Bank 0 auswählen 
    ; hier bei Bedarf andere Register 
    ; für Timer,CCP,EEprom,Usart,Vref
    ; initialisieren	
    
    ;*********************************************** 
    ;Taster abfragen , Led ausgeben 
    ;Hier steht das eigentliche Programm  
    ;
    Start	btfss	PORTA,0		; "überspringe nächsten Befehl,wenn Taster nicht gedrückt
    	goto	LedAn
    	bcf	PORTB,0		; Led aus
    	;andere Aufgaben hier
    	goto 	Start		
    LedAn	bsf	PORTB,0		; Led an
    	goto	Start
    
    ;**********SUB _Routinen*************************
    DEL1MS		movlw	D'198'		;t=(n-1)*5+2(call)+6(ret)+7(Kopf)
    		movwf	count
    		nop
    		goto $+1
    		goto $+1
    DLY1MS		goto $+1
    		decfsz	count,f
    		goto DLY1MS
    		return
    DEL200MS	movlw	D'199'
    		movwf	tempa
    DLY200		call	DEL1MS
    		decfsz	tempa,f
    		goto	DLY200
    		movlw	D'132'
    		movwf	count
    TWEEK200	decfsz	count,f
    		goto	TWEEK200
    		nop
    		return
    DELAY500	movlw	D'250'
    		movwf	tempa
    DLY500		call	DEL1MS
    		decfsz	tempa,f
    		goto	DLY500
    		movlw	D'64'
    		movwf	tweek
    TWEEK500	decfsz	tweek,f
    		goto	TWEEK500
    		movlw	D'250'
    		movwf	tempa
    DLY501		call	DEL1MS
    		decfsz	tempa,f
    		goto	DLY501
    		movlw	D'64'
    		movwf	tweek
    TWEEK501	decfsz	tweek,f
    		goto	TWEEK501
    		return
    end
    Die Delay-Zeiten sind für 8Mhz angepasst, kann man
    immer wieder mal gebrauchen.
    Ansonsten hat das Programm bei mir im Simulator(MPLAB)
    funktioniert.

    Viel Erfolg!
    Digger

  9. #19
    Erfahrener Benutzer Begeisterter Techniker Avatar von µautonom
    Registriert seit
    04.04.2007
    Ort
    Paderborn
    Beiträge
    225
    Hi, OHA du hast dir sehr viel Mühe gegeben , vielen Dank!

    Werds mal testen.

    EDIT:/// Ich verstehs nicht es kommt immer die Meldung ->

    MPLINK 4.11, Linker
    Copyright (c) 2007 Microchip Technology Inc.
    Error - section '.org_1' can not fit the absolute section. Section '.org_1' start=0x00000004, length=0x0000008c
    Errors : 1
    Clean: Deleting intermediary and output files.
    Clean: Deleted file "C:\Dokumente und Einstellungen\***\Eigene Dateien\Ledtest\Led.o".
    Clean: Deleted file "C:\Dokumente und Einstellungen\***\Eigene Dateien\Ledtest\Led.lst".
    Clean: Done.
    Executing: "C:\Programme\Microchip\MPASM Suite\MPAsmWin.exe" /q /p16F628A "Led.asm" /l"Led.lst" /e"Led.err" /o"Led.o"
    Message[302] C:\DOKUMENTE UND EINSTELLUNGEN\PUTKIN\EIGENE DATEIEN\LEDTEST\LED.ASM 57 : Register in operand not in bank 0. Ensure that bank bits are correct.
    Message[302] C:\DOKUMENTE UND EINSTELLUNGEN\PUTKIN\EIGENE DATEIEN\LEDTEST\LED.ASM 60 : Register in operand not in bank 0. Ensure that bank bits are correct.
    Executing: "C:\Programme\Microchip\MPASM Suite\MPLink.exe" "C:\Programme\Microchip\MPASM Suite\LKR\16f628a.lkr" "C:\Dokumente und Einstellungen\putkin\Eigene Dateien\Ledtest\Led.o" /o"LED.cof" /M"LED.map" /W
    MPLINK 4.11, Linker
    Copyright (c) 2007 Microchip Technology Inc.
    Error - section '.org_1' can not fit the absolute section. Section '.org_1' start=0x00000004, length=0x0000008c
    Errors : 1


    Link step failed.
    BUILD FAILED: Mon Aug 27 19:16:51 2007
    Was bedeutet das.

    Mfg

  10. #20
    Neuer Benutzer Öfters hier
    Registriert seit
    15.09.2006
    Ort
    Berlin
    Beiträge
    21
    Ist die falsche Version, krieg ich irgendwie nicht editiert.
    Also nochmal
    Code:
    ;************************************* 
    ; 
    ; Includedatei für den PIC16F628A 
       list p=16f628a 
       include "p16f628a.inc" 
    
    ;************************************* 
    ; Configuration festlegen 
    ; 8Mhz Resonator: Brown out Reset on, Data Protection off, Power up Timer on, Watchdog off, LV-Programmierung off 
    
      __CONFIG  _BODEN_ON & _CP_OFF & _DATA_CP_OFF & _PWRTE_ON & _WDT_OFF & _LVP_OFF & _MCLRE_OFF & _HS_OSC & _LVP_OFF 
    
    ;***** VARIABLEN******************
    w_temp        EQU     0x70        ; context saving 
    status_temp   EQU     0x71        ; context saving
    Flags		equ	H'0072'		; 	
    count		equ	H'0020'
    tempa 		equ	H'0021'
    tweek		equ	H'0022'		
    Blk			equ	H'0023'		
    
    ;********************************* 
    ; Pinfunktion festlegen 
      
    	org 	0x0000            ;Programmstart 
     	goto	INIT
    	org	0x004             ; Interruptbehandlung
    INTSERV	movwf   w_temp            ; W register retten
    	movf	STATUS,w          ; status register nach W register
    	movwf	status_temp       ; STATUS register retten
    	bcf	STATUS,RP0	; Bank0	
    	bcf	STATUS,RP1
     ; hier kommt später Code hin
     ; für eventuelle Interrupts
    IntEnd	movf    status_temp,w    ; STATUS register 
    	movwf	STATUS		; wieder herstellen
    	swapf   w_temp,f
    	swapf   w_temp,w	; W register wieder herstellen
    				; ( Inhalt wie vor Interrupt)					
    	retfie                  ; Rücksprung aus Interruptbehandlung
    ;****************************************************************
    INIT	clrf   INTCON		; keine Interrupts zulassen
    	bcf	STATUS,IRP
    	bcf	STATUS,RP0	
    	bcf	STATUS,RP1	; Bank0
    
     	movlw   0x07          	;Comperators off
     	movwf   CMCON 		;I/O Funktion ermöglichen
    
    	clrf    PORTA         
    	clrf	PORTB		; alle Ausgänge Low
    
    	BCF    STATUS, RP1      ;Bank 1 auswählen       
    	BSF   STATUS, RP0 
    
    	movlw   0x3F          ;Pins config 
    	movwf   TRISA         ;PORTA 0-5 Input
    
    	movlw   0x00         ;PortB Output 
    	movwf    TRISB 
    
    	bcf   STATUS, RP0      ;Bank 0 auswählen 
    ; hier bei Bedarf andere Register 
    ; für Timer,CCP,EEprom,Usart,Vref
    ; initialisieren	
    
    ;*********************************************** 
    ;Taster abfragen , Led ausgeben 
    ;Hier steht das eigentliche Programm  
    ;
    Start	movlw	0xff
    		movwf	PORTB		; alle Led an
    		movlw	0x05
    		movwf	Blk			; Schleifenzähler Blinken
    Blink	call	DELAY250	; 0,25 sec warten
    		movlw	0xff
    		xorwf	PORTB,f		; 
    		decfsz	Blk,f		; Schleife Blink 5 mal durchlaufen
    		goto	Blink
    Loop	btfss	PORTA,0		; überspringe nächsten Befehl,wenn Taster nicht gedrückt
    		goto	LedAn
    		bcf	PORTB,0		; Led aus
    	;andere Aufgaben hier
    		goto 	Loop		
    LedAn	bsf	PORTB,0		; Led an
    		goto	Loop
    
    ;**********SUB _Routinen für Warten*************************
    DEL1MS		movlw	D'198'		;t=(n-1)*5+2(call)+6(ret)+7(Kopf)
    			movwf	count
    			nop
    			goto $+1
    			goto $+1
    DLY1MS		goto $+1
    			decfsz	count,f
    			goto DLY1MS
    			return
    DELAY250	movlw	D'248'
    			movwf	tempa
    DLY250		call	DEL1MS
    			decfsz	tempa,f
    			goto	DLY250
    			movlw	D'83'
    			movwf	tempa
    TWEEK250	decfsz	tempa,f
    			goto	TWEEK250
    			movlw	D'250'	
    			movwf	tempa
    DLY251		call	DEL1MS
    			decfsz	tempa,f
    			goto	DLY251
    			movlw	D'83'
    			movwf	tempa
    TWEEK251	decfsz	tempa,f
    			goto	TWEEK251
    			return
    		end

Seite 2 von 4 ErsteErste 1234 LetzteLetzte

Berechtigungen

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

Solar Speicher und Akkus Tests