1. Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.
    Dismiss Notice

errors...

Discussion in 'Microcontrollers' started by falleafd, Jun 14, 2003.

  1. falleafd

    falleafd New Member

    Joined:
    May 13, 2003
    Messages:
    412
    Likes:
    0
    Location:
    Vietnam
    TURN MOVLW H'0F'
    ANDWF XPORTB, 1 ;clear high bits of portB mirror rb4-rb7

    MOVLW H'07'
    ANDWF STDEX, 0 ;W as 00000sss

    CALL STEPTAB ;get control vector for this index

    IORWF XPORTB, 0 ;setup output for motor
    MOVWF XPORTB ;update mirror and
    MOVWF PORTB ;output the result!

    DLYSTEP MOVLW H'00'
    MOVWF TMRL
    MOVLW H'C0'
    MOVWF TMRH ;use 15 bit counter

    LO_STEP INCFSZ TMRL ;200ns*2cycle = 400ns/1bit_counter
    GOTO LO_STEP ;increase counter from D000 to ffff
    NOP ;time delay = 16384*400ns = 6.5536ms

    HI_STEP INCFSZ TMRH ;real time delay = 6.5536ms + 3*200 +
    GOTO LO_STEP ;... it's too small.. don't care bout it.
    NOP ;velocity = 1000/6.55 = 152.6 step per second

    RETURN


    This is the code I write to turn the motor step.

    However, when I call it in another routine, it warns that TURN is not previously defined.

    Error[113] D:\TURNING.ASM 113 : Symbol not previously defined (TURN)
    Error[113] D:\TURNING.ASM 127 : Symbol not previously defined (TURN)
    Message[302] D:\TURNING.ASM 147 : Register in operand not in bank 0. Ensure that bank bits are correct.
    Message[302] D:\TURNING.ASM 149 : Register in operand not in bank 0. Ensure that bank bits are correct.
    Error[113] D:\TURNING.ASM 158 : Symbol not previously defined (WAITPC)
    Error[113] D:\TURNING.ASM 171 : Symbol not previously defined (SET_SSR)
    Error[113] D:\TURNING.ASM 172 : Symbol not previously defined (CHG)
    Error[113] D:\TURNING.ASM 173 : Symbol not previously defined (TURNING)


    WaitPC, set_ssr, chg and turning are also my procedure, and it warns errors..

    Lines 113, 127 You may see from the code below.

    ZERO CLRF PORTB
    CLRF XPORTB

    MOVLW H'00'
    MOVWF STDEX
    BTFSS SW ;check switch
    GOTO CW_RST ;if off, turn the motor in clkwise
    GOTO ACW_RST ;if on, turn the motor in anticlkwise

    [113] CW_RST CALL TURN ;if the sw is off, turn half step

    BTFSC SW ;check sw
    GOTO MAIN ;done

    INC_CW INCF STDEX, 1 ;increase stdex
    GOTO CW_RST ;continue turn

    [127]ACW_RST CALL TURN ;if the sw is on, turn half step

    BTFSS SW ;check sw
    GOTO INC_CW ;if off, turn in clockwise until it on

    DEC_ACW DECF STDEX, 0 ;decrease stdex
    GOTO ACW_RST ;continue turn


    I cannot find what is the error here.
     
  2. isaacj

    isaacj New Member

    Joined:
    Dec 20, 2002
    Messages:
    57
    Likes:
    0
    Location:
    Mojave Desert
    If memory serves, labels need to be on a line all by themselves.

    TURN

    MOVLW H'0F'
    ANDWF XPORTB, 1
     
  3. falleafd

    falleafd New Member

    Joined:
    May 13, 2003
    Messages:
    412
    Likes:
    0
    Location:
    Vietnam
    Oh, I'm sorry. there is a mistake in my program, and I found it. It doesnt come from labels or instructions. In my program, there are a blank tab between labels and instructions. It's oki.

    Thanks muchie
     

Share This Page