- SF800 Solar Speicher Tutorial         
Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 15 von 15

Thema: Wert < 255 teilen

  1. #11
    Neuer Benutzer Öfters hier
    Registriert seit
    08.06.2006
    Beiträge
    8
    Anzeige

    E-Bike
    Code:
    #include P16F84A.INC
    
    B0		equ	0
    B1		equ	1
    B2		equ	2
    B3		equ	3
    B4		equ	4
    B5		equ	5
    B6		equ	6
    B7		equ	7
    
    MSB		equ	7
    LSB		equ	0
    
    
    		#define	_C		STATUS,0
    		#define	_Z		STATUS,2
    orgx00
    ACCB7           equ     0x20
    ACCB6           equ     0x21
    ACCB5           equ     0x22
    ACCB4           equ     0x23
    ACCB3           equ     0x24
    ACCB2           equ     0x25
    ACCB1           equ     0x26
    ACCB0           equ     0x27
    ACC             equ     0x27    
    ;
    SIGN            equ     0x29   
    ;
    TEMPB3          equ     0x30
    TEMPB2          equ     0x31
    TEMPB1          equ     0x32
    TEMPB0          equ     0x33
    TEMP            equ     0x33    
    
    AARGB7          equ     0x20
    AARGB6          equ     0x21
    AARGB5          equ     0x22
    AARGB4          equ     0x23
    AARGB3          equ     0x24
    AARGB2          equ     0x25
    AARGB1          equ     0x26
    AARGB0          equ     0x27
    AARG            equ     0x27  
    ;
    BARGB3          equ     0x2B
    BARGB2          equ     0x2C
    BARGB1          equ     0x2D
    BARGB0          equ     0x2E
    BARG            equ     0x2E    
    
    REMB3           equ     0x20
    REMB2           equ     0x21
    REMB1           equ     0x22
    REMB0           equ     0x23    
    
    LOOPCOUNT       equ     0x34   
    	
    
    movlw B'00001001'
    	movwf AARGB0
    	movlw B'00000011'
    	movwf BARGB0
    	call  UMUL1616L
    	sleep
    
    
    UMUL1616L        
    
                    MOVLW   0x08
                    MOVWF   LOOPCOUNT
    
    LOOPUM1616A
                    RRF     BARGB1, F
                    BTFSC   _C
                    GOTO    ALUM1616NAP
                    DECFSZ  LOOPCOUNT, F
                    GOTO    LOOPUM1616A
    
                    MOVWF   LOOPCOUNT
    
    LOOPUM1616B
                    RRF     BARGB0, F
                    BTFSC   _C
                    GOTO    BLUM1616NAP
                    DECFSZ  LOOPCOUNT, F
                    GOTO    LOOPUM1616B
    
                    CLRF    AARGB0
                    CLRF    AARGB1
                    RETLW   0x00
    
    BLUM1616NAP
                    BCF     _C
                    GOTO    BLUM1616NA
    
    ALUM1616NAP
                    BCF     _C
                    GOTO    ALUM1616NA
    
    ALOOPUM1616
                    RRF     BARGB1, F
                    BTFSS   _C
                    GOTO    ALUM1616NA
                    MOVF   TEMPB1,W
                    ADDWF   AARGB1, F
                    MOVF            TEMPB0,W
                    BTFSC           _C
                    INCFSZ          TEMPB0,W
                    ADDWF           AARGB0, F
    
    ALUM1616NA
                    RRF    AARGB0, F
                    RRF    AARGB1, F
                    RRF    AARGB2, F
                    DECFSZ  LOOPCOUNT, F
                    GOTO    ALOOPUM1616
    
                    MOVLW   0x08
                    MOVWF   LOOPCOUNT
    
    BLOOPUM1616
                    RRF             BARGB0, F
                    BTFSS   _C
                    GOTO    BLUM1616NA
                    MOVF   TEMPB1,W
                    ADDWF   AARGB1, F
                    MOVF            TEMPB0,W
                    BTFSC           _C
                    INCFSZ          TEMPB0,W
                    ADDWF           AARGB0, F
    
    BLUM1616NA
                    RRF    AARGB0, F
                    RRF    AARGB1, F
                    RRF    AARGB2, F
                    RRF             AARGB3, F
                    DECFSZ  LOOPCOUNT, F
                    GOTO    BLOOPUM1616
    
    
    
    	end


    Im Picsim gibt er mir nur die Zahl 9 in 0x26 raus

    Verstehe nicht warum?! Was mache ich falsch?

  2. #12
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    07.12.2005
    Ort
    Euskirchen-Großbüllesheim
    Alter
    75
    Beiträge
    2.063
    orgx00
    ist ein LabelName.

    So fängt ein PIC-Programm bei mir an:
    Code:
    		org	0x0000		; 00h Reset-Vektor
    Reset
    		clrf	STATUS		; 00h Page 0, Bank 0
    		goto	Init		; 01h Initialisierung / ProgrammBeginn
    		goto	Reset		; 02h Reset-Vektor
    		goto	Reset		; 03h Reset-Vektor
    		goto	Interrupt	; 04h Interrupt-Vektor
    Der Rest steht unter: http://www.domnick-elektronik.de/picasm.htm
    MfG Karl-Heinz
    HobbyElektronik hier klicken ....

  3. #13
    Neuer Benutzer Öfters hier
    Registriert seit
    08.06.2006
    Beiträge
    8
    Mag ja alles stimmen.. nur erscheint mir das jetzt ziemlich egal bei meinem kleinen programm.

    Jedenfalls versteh ich immernoch nicht wie die Funktion anzuwenden ist

  4. #14
    Benutzer Stammmitglied
    Registriert seit
    27.01.2006
    Beiträge
    44
    Lennart,

    in Deinem Programm möchtest Du zwei 16-Bit zahlen multiplizieren. Du initialisierst aber nur 8Bit. Jeweils (AARGB0, AARGB1) und (BARGB0, BARGB1) bilden einen 16-Bit wert.

    Also: (AARGB0 -> 0, AARGB1 -> 9)
    (BARGB0 -> 0, BARGB1 -> 3)

    Ich denke "0" ist das high-byte und "1" ist das low-byte.

    Gruß
    Mario

    P.S.: Als kleiner Tipp, immer genau formulieren wo das Problem ist (Anfangs Multiplikation, dann Fehlermeldungen und nun Anwendung der AN-Routinen ?!?).

  5. #15
    Neuer Benutzer Öfters hier
    Registriert seit
    08.06.2006
    Beiträge
    8
    Als kleiner Tipp, immer genau formulieren wo das Problem ist (Anfangs Multiplikation, dann Fehlermeldungen und nun Anwendung der AN-Routinen ?!?).
    Sorry.. versuch es naechstesmal besser

    Probier es mal aus danke

    gruß lennart

    Edit:

    Habs probiert auf diese weise:

    Code:
    #include P16F84A.INC 
    
    B0      equ   0 
    B1      equ   1 
    B2      equ   2 
    B3      equ   3 
    B4      equ   4 
    B5      equ   5 
    B6      equ   6 
    B7      equ   7 
    
    MSB      equ   7 
    LSB      equ   0 
    
    
          #define   _C      STATUS,0 
          #define   _Z      STATUS,2 
    orgx00 
    ACCB7           equ     0x20 
    ACCB6           equ     0x21 
    ACCB5           equ     0x22 
    ACCB4           equ     0x23 
    ACCB3           equ     0x24 
    ACCB2           equ     0x25 
    ACCB1           equ     0x26 
    ACCB0           equ     0x27 
    ACC             equ     0x27    
    ; 
    SIGN            equ     0x29    
    ; 
    TEMPB3          equ     0x30 
    TEMPB2          equ     0x31 
    TEMPB1          equ     0x32 
    TEMPB0          equ     0x33 
    TEMP            equ     0x33    
    
    AARGB7          equ     0x20 
    AARGB6          equ     0x21 
    AARGB5          equ     0x22 
    AARGB4          equ     0x23 
    AARGB3          equ     0x24 
    AARGB2          equ     0x25 
    AARGB1          equ     0x26 
    AARGB0          equ     0x27 
    AARG            equ     0x27  
    ; 
    BARGB3          equ     0x2B 
    BARGB2          equ     0x2C 
    BARGB1          equ     0x2D 
    BARGB0          equ     0x2E 
    BARG            equ     0x2E    
    
    REMB3           equ     0x20 
    REMB2           equ     0x21 
    REMB1           equ     0x22 
    REMB0           equ     0x23    
    
    LOOPCOUNT       equ     0x34    
        
       movlw B'00000000' 
       movwf AARGB0
       movlw B'00000000' 
       movwf BARGB0 
       movlw B'00001001' 
       movwf AARGB1
       movlw B'00000011' 
       movwf BARGB1 
       call  UMUL1616L 
       sleep 
    
    
    UMUL1616L        
    
                    MOVLW   0x08 
                    MOVWF   LOOPCOUNT 
    
    LOOPUM1616A 
                    RRF     BARGB1, F 
                    BTFSC   _C 
                    GOTO    ALUM1616NAP 
                    DECFSZ  LOOPCOUNT, F 
                    GOTO    LOOPUM1616A 
    
                    MOVWF   LOOPCOUNT 
    
    LOOPUM1616B 
                    RRF     BARGB0, F 
                    BTFSC   _C 
                    GOTO    BLUM1616NAP 
                    DECFSZ  LOOPCOUNT, F 
                    GOTO    LOOPUM1616B 
    
                    CLRF    AARGB0 
                    CLRF    AARGB1 
                    RETLW   0x00 
    
    BLUM1616NAP 
                    BCF     _C 
                    GOTO    BLUM1616NA 
    
    ALUM1616NAP 
                    BCF     _C 
                    GOTO    ALUM1616NA 
    
    ALOOPUM1616 
                    RRF     BARGB1, F 
                    BTFSS   _C 
                    GOTO    ALUM1616NA 
                    MOVF   TEMPB1,W 
                    ADDWF   AARGB1, F 
                    MOVF            TEMPB0,W 
                    BTFSC           _C 
                    INCFSZ          TEMPB0,W 
                    ADDWF           AARGB0, F 
    
    ALUM1616NA 
                    RRF    AARGB0, F 
                    RRF    AARGB1, F 
                    RRF    AARGB2, F 
                    DECFSZ  LOOPCOUNT, F 
                    GOTO    ALOOPUM1616 
    
                    MOVLW   0x08 
                    MOVWF   LOOPCOUNT 
    
    BLOOPUM1616 
                    RRF             BARGB0, F 
                    BTFSS   _C 
                    GOTO    BLUM1616NA 
                    MOVF   TEMPB1,W 
                    ADDWF   AARGB1, F 
                    MOVF            TEMPB0,W 
                    BTFSC           _C 
                    INCFSZ          TEMPB0,W 
                    ADDWF           AARGB0, F 
    
    BLUM1616NA 
                    RRF    AARGB0, F 
                    RRF    AARGB1, F 
                    RRF    AARGB2, F 
                    RRF             AARGB3, F 
                    DECFSZ  LOOPCOUNT, F 
                    GOTO    BLOOPUM1616 
    
    
    
       end

Seite 2 von 2 ErsteErste 12

Berechtigungen

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

Solar Speicher und Akkus Tests