wingman/MainMotorDriver/ASM/MainMotorDriver.lst

840 lines
49 KiB
Plaintext
Executable File
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

MPASM 5.02 MAINMOTORDRIVER.ASM 3-29-2006 0:37:12 PAGE 1
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
00001 ;=======================================================================================================
===
00002 ;
00003 ; Wingman MainMotorDriver copyright 2005
v1.0 (2005-04-22)
00004 ;
00005 ; Name: Christoffer Martinsson
00006 ; E-mail: cm@wsm.se
00007 ;
00008 ;
00009 ;=======================================================================================================
===
00010
Warning[205]: Found directive in column 1. (include)
00011 include P16F684.INC
00001 LIST
00002 ; P16F684.INC Standard Header File, Version 1.03 Microchip Technology, Inc.
00379 LIST
00012
00013 ; Temp-registers
00000020 00014 W_TEMP EQU 0x20 ; TempRegister for interrupt-routine
00000021 00015 STATUS_TEMP EQU 0x21 ; TempRegister for interrupt-routine
00000022 00016 DivRegH EQU 0x22 ; TempRegister for div-routine
00000023 00017 DivRegL EQU 0x23 ; TempRegister for div-routine
00000024 00018 SetPWM_Temp EQU 0x24
00019
00020 ; Time-definitions
00004E20 00021 minPulseValue =.20000
00009C40 00022 maxPulseValue =.40000
00004E20 00023 ms1Value =.20000
00002710 00024 ms05Value =.10000
00025
00026 ;=======================================================================================================
===
00027 ; Reset- and Interrupt-vectors
00028 ;=======================================================================================================
===
0000 00029 ORG 0x0000
0000 282C 00030 GOTO Main ;Reset-vector
0004 00031 ORG 0x0004
0004 2805 00032 GOTO Interrupt ;Interrupt-vector
00033 ;=======================================================================================================
===
00034 ; Macro
00035 ;=======================================================================================================
===
00036 ;-------------------------------------------------------------------------------------------------------
---
00037 ; StoreWregInTemp
00038 ;
00039 ; Description: Store Status and working-register in temp-registers
00040 ;
00041 ; Input: -
MPASM 5.02 MAINMOTORDRIVER.ASM 3-29-2006 0:37:12 PAGE 2
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
00042 ; ChangedReg: W_TEMP,STATUS_TEMP
00043 ; UsedReg: W,STATUS,W_TEMP,STATUS_TEMP
00044 ;-------------------------------------------------------------------------------------------------------
---
00045 StoreWregInTemp MACRO
00046 MOVWF W_TEMP ;Copy W to TEMP register
00047 SWAPF STATUS,W ;Swap status to be saved into W
00048 CLRF STATUS ;bank 0, regardless of current bank, Cle
ars IRP,RP1,RP0
00049 MOVWF STATUS_TEMP ;Save status to bank zero STATUS_TEMP register
00050 ENDM
00051 ;-------------------------------------------------------------------------------------------------------
---
00052 ; RestoreWregFromTemp
00053 ;
00054 ; Description: Restore Status and working-register from temp-registers
00055 ;
00056 ; Input: -
00057 ; ChangedReg: W,STATUS
00058 ; UsedReg: W,STATUS,W_TEMP,STATUS_TEMP
00059 ;-------------------------------------------------------------------------------------------------------
---
00060 RestoreWregFromTemp MACRO
00061 SWAPF STATUS_TEMP,W ;Swap STATUS_TEMP register into W (sets bank to
original state)
00062 MOVWF STATUS ;Move W into Status register
00063 SWAPF W_TEMP,F ;Swap W_TEMP
00064 SWAPF W_TEMP,W ;Swap W_TEMP into W
00065 ENDM
00066 ;-------------------------------------------------------------------------------------------------------
---
00067 ; Sub16L
00068 ;
00069 ; Description: Subtract literal from 16bit-register. Reg = Reg - Number, WITH VALID CARRY
00070 ;
00071 ; Input: RegH, RegL, Number
00072 ; ChangedReg: C
00073 ; UsedReg: W
00074 ;-------------------------------------------------------------------------------------------------------
---
00075 Sub16L MACRO RegH, RegL, Number
00076 MOVLW low Number
00077 SUBWF RegL
00078 MOVLW high Number
00079 ;BTFSS STATUS,C
00080 ;INCFSZ high Number,W
00081 SUBWF RegH
00082 ENDM
00083 ;-------------------------------------------------------------------------------------------------------
---
00084 ; Set16L
00085 ;
00086 ; Description: Sets 16bit-register to literal. Reg = Number
MPASM 5.02 MAINMOTORDRIVER.ASM 3-29-2006 0:37:12 PAGE 3
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
00087 ;
00088 ; Input: RegH, RegL, Number
00089 ; ChangedReg: C
00090 ; UsedReg: W
00091 ;-------------------------------------------------------------------------------------------------------
---
00092 Set16L MACRO RegH, RegL, Number
00093 MOVLW low Number
00094 MOVWF RegL
00095 MOVLW high Number
00096 MOVWF RegH
00097 ENDM
00098 ;-------------------------------------------------------------------------------------------------------
---
00099 ; Clear16
00100 ;
00101 ; Description: Clear 16bit-register.
00102 ;
00103 ; Input: RegH, RegL
00104 ; ChangedReg:
00105 ; UsedReg:
00106 ;-------------------------------------------------------------------------------------------------------
---
00107 Clear16 MACRO RegH, RegL
00108 CLRF RegH
00109 CLRF RegL
00110 ENDM
00111 ;-------------------------------------------------------------------------------------------------------
---
00112 ; Comp16L
00113 ;
00114 ; Description: Compare one 16bit-registers to literal if Reg1=Number then Z=1.
00115 ;
if Reg1<Number then C=1.
00116 ;
if Number<Reg1 then C=0.
00117 ; Input: RegH, RegL, Number
00118 ; ChangedReg: Z, C
00119 ; UsedReg: W
00120 ;-------------------------------------------------------------------------------------------------------
---
00121 Comp16L MACRO RegH, RegL, Number
00122 MOVF RegH,W
00123 SUBLW high Number
00124 BTFSS STATUS,Z
00125 EXITM
00126 MOVF RegL,W
00127 SUBLW low Number
00128 ENDM
00129 ;-------------------------------------------------------------------------------------------------------
---
MPASM 5.02 MAINMOTORDRIVER.ASM 3-29-2006 0:37:12 PAGE 4
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
00130 ; SetPWM
00131 ;
00132 ; Description: Sets hardware PWM-output to 8bit register-value. PWM = Reg
00133 ;
00134 ; Input: Reg
00135 ; ChangedReg: CCP1CON(4,5), CCPR1L
00136 ; UsedReg: W, CCP1CON(4,5), CCPR1L, Reg, SetPWM_Temp
00137 ;-------------------------------------------------------------------------------------------------------
---
00138 SetPWM MACRO Reg
00139 BCF STATUS,C
00140 MOVF Reg,W
00141 ANDLW b'00000011'
00142 MOVWF SetPWM_Temp
00143 RLF SetPWM_Temp,F
00144 RLF SetPWM_Temp,F
00145 RLF SetPWM_Temp,F
00146 RLF SetPWM_Temp,F
00147 MOVF CCP1CON,W
00148 ANDLW b'11001111'
00149 IORWF SetPWM_Temp,W
00150 MOVWF CCP1CON
00151 MOVF Reg,W
00152 ANDLW b'11111100'
00153 MOVWF SetPWM_Temp
00154 RRF SetPWM_Temp,F
00155 RRF SetPWM_Temp,F
00156 MOVF SetPWM_Temp,W
00157 MOVWF CCPR1L
00158 ENDM
00159 ;=======================================================================================================
===
00160 ; Interrupt routines
00161 ;=======================================================================================================
===
00162 Interrupt StoreWregInTemp
0005 00A0 M MOVWF W_TEMP ;Copy W to TEMP register
0006 0E03 M SWAPF STATUS,W ;Swap status to be saved into W
0007 0183 M CLRF STATUS ;bank 0, regardless of current bank, Cle
ars IRP,RP1,RP0
0008 00A1 M MOVWF STATUS_TEMP ;Save status to bank zero STATUS_TEMP register
00163 ;-------------------------------------------------------------------------------------------------------
---
00164 ; Timer1_Int
00165 ;
00166 ; Description: Increment pulseIn counter-registers
00167 ;-------------------------------------------------------------------------------------------------------
---
0009 1283 00168 Timer1_Int BCF STATUS,RP0 ; Bank 0
000A 1C0C 00169 BTFSS PIR1,TMR1IF
000B 280E 00170 GOTO Int_Return
000C 100C 00171 BCF PIR1,TMR1IF
MPASM 5.02 MAINMOTORDRIVER.ASM 3-29-2006 0:37:12 PAGE 5
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
000D 1010 00172 BCF T1CON,TMR1ON ; Timer1
off
00173 ;-------------------------------------------------------------------------------------------------------
---
00174 Int_Return RestoreWregFromTemp
000E 0E21 M SWAPF STATUS_TEMP,W ;Swap STATUS_TEMP register into W (sets bank to
original state)
000F 0083 M MOVWF STATUS ;Move W into Status register
0010 0EA0 M SWAPF W_TEMP,F ;Swap W_TEMP
0011 0E20 M SWAPF W_TEMP,W ;Swap W_TEMP into W
0012 0009 00175 RETFIE
00176
00177 ;=======================================================================================================
===
00178 ; Sub-routines
00179 ;=======================================================================================================
===
00180 ;-------------------------------------------------------------------------------------------------------
---
00181 ; Div16byL
00182 ;
00183 ; Description: Divide a 16bit-register with a literal. DivReg = DivReg / W.
00184 ;
00185 ; Input: DivRegH, DivRegL, W
00186 ; ChangedReg: Z, C, DivRegH, DivRegL
00187 ; UsedReg: W, DivRegH, DivRegL
00188 ;-------------------------------------------------------------------------------------------------------
---
0013 2026 00189 Div16byL CALL DivSkipHiShift
Warning[207]: Found label after column 1. (iDivRepeat)
00000008 00190 iDivRepeat =8
00191 WHILE iDivRepeat
0014 201F 00192 call DivCode
Warning[207]: Found label after column 1. (iDivRepeat)
00000007 00193 iDivRepeat--
0015 201F 00192 call DivCode
Warning[207]: Found label after column 1. (iDivRepeat)
00000006 00193 iDivRepeat--
0016 201F 00192 call DivCode
Warning[207]: Found label after column 1. (iDivRepeat)
00000005 00193 iDivRepeat--
0017 201F 00192 call DivCode
Warning[207]: Found label after column 1. (iDivRepeat)
00000004 00193 iDivRepeat--
0018 201F 00192 call DivCode
Warning[207]: Found label after column 1. (iDivRepeat)
00000003 00193 iDivRepeat--
0019 201F 00192 call DivCode
Warning[207]: Found label after column 1. (iDivRepeat)
00000002 00193 iDivRepeat--
001A 201F 00192 call DivCode
Warning[207]: Found label after column 1. (iDivRepeat)
MPASM 5.02 MAINMOTORDRIVER.ASM 3-29-2006 0:37:12 PAGE 6
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
00000001 00193 iDivRepeat--
001B 201F 00192 call DivCode
Warning[207]: Found label after column 1. (iDivRepeat)
00000000 00193 iDivRepeat--
00194 ENDW
001C 0DA3 00195 RLF DivRegL,F ; C << l
o << C
001D 1103 00196 BCF STATUS,Z
001E 0008 00197 RETURN ; we are done!
00198
001F 0DA3 00199 DivCode RLF DivRegL,F ; C << lo << C
0020 0DA2 00200 RLF DivRegH,F ; C << hi << C
0021 1C03 00201 BTFSS STATUS,C ; if Carry
0022 2826 00202 GOTO DivSkipHiShift
0023 02A2 00203 SUBWF DivRegH,F ; hi-=w
0024 1403 00204 BSF STATUS,C ; ignore carry
0025 0008 00205 RETURN ; done
00206 ; endif
0026 00207 DivSkipHiShift
0026 02A2 00208 SUBWF DivRegH,F ; hi-=w
0027 1803 00209 BTFSC STATUS,C ; if carry set
0028 0008 00210 RETURN ; done
0029 07A2 00211 ADDWF DivRegH,F ; hi+=w
002A 1003 00212 BCF STATUS,C ; clear carry
002B 0008 00213 RETURN
00214 ;=======================================================================================================
===
00215 ; Main
00216 ;=======================================================================================================
===
002C 1283 00217 Main BCF STATUS,RP0 ; Bank 0
002D 0187 00218 CLRF PORTC ; Clear
PORTC
002E 0185 00219 CLRF PORTA ; Clear
PORTA
002F 3007 00220 MOVLW 0x07
0030 0099 00221 MOVWF CMCON0 ; Compar
ator OFF
0031 0193 00222 CLRF CCPR1L
0032 304C 00223 MOVLW b'01001100'
0033 0095 00224 MOVWF CCP1CON
0034 3081 00225 MOVLW b'10000001'
0035 009F 00226 MOVWF ADCON0
00227
0036 1683 00228 BSF STATUS,RP0 ; Bank 1
0037 300D 00229 MOVLW b'00001101'
Message[302]: Register in operand not in bank 0. Ensure that bank bits are correct.
0038 0085 00230 MOVWF TRISA
Message[302]: Register in operand not in bank 0. Ensure that bank bits are correct.
0039 0187 00231 CLRF TRISC
003A 3001 00232 MOVLW b'00000001'
Message[302]: Register in operand not in bank 0. Ensure that bank bits are correct.
003B 0091 00233 MOVWF ANSEL ; All pi
MPASM 5.02 MAINMOTORDRIVER.ASM 3-29-2006 0:37:12 PAGE 7
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
ns to digital I/O except AN0
003C 303F 00234 MOVLW 0x3F
Message[302]: Register in operand not in bank 0. Ensure that bank bits are correct.
003D 0092 00235 MOVWF PR2
003E 3020 00236 MOVLW b'00100000'
Message[302]: Register in operand not in bank 0. Ensure that bank bits are correct.
003F 009F 00237 MOVWF ADCON1
0040 30CF 00238 MOVLW b'11001111'
Message[302]: Register in operand not in bank 0. Ensure that bank bits are correct.
0041 0081 00239 MOVWF OPTION_REG
00240
0042 1283 00241 BCF STATUS,RP0 ; Bank 0
0043 1512 00242 BSF T2CON,TMR2ON ; PWM on
0044 178B 00243 BSF INTCON,GIE
; Global interrup enable
00244
00245 ; MOVLW low .30000
00246 ; MOVWF TMR1L
00247 ; MOVLW high .30000
00248 ; MOVWF TMR1H
00249
00250 ;-------------------------------------------------------------------------------------------------------
---
00251 ; MainLoop
00252 ;-------------------------------------------------------------------------------------------------------
---
0045 1283 00253 Mainloop: BCF STATUS,RP0 ; Bank 0
0046 0064 00254 CLRWDT
00255
00256 ;DECODE_PPM
0047 1905 00257 PPM_Lo: BTFSC PORTA,2 ; Wait for pulse
to go low
0048 2847 00258 GOTO PPM_Lo
0049 1D05 00259 PPM_Hi: BTFSS PORTA,2 ; Wait for pulse
to go high (start measuring)
004A 2849 00260 GOTO PPM_Hi
00261 Clear16 TMR1H,TMR1L ; Clear
Timer1 countervalue
004B 018F M CLRF TMR1H
004C 018E M CLRF TMR1L
004D 1410 00262 BSF T1CON,TMR1ON ; Start
Timer1
004E 1905 00263 PPM_Loop: BTFSC PORTA,2 ; Wait for pulse to go l
ow (stop measuring)
004F 284E 00264 GOTO PPM_Loop
0050 1010 00265 BCF T1CON,TMR1ON ; Stop Timer1
00266 ; Comp16L TMR1H,TMR1L,minPulseValue
00267 ; BTFSC STATUS,C ; If cou
nter < minPulseValue (~1ms)
00268 ; GOTO Mainloop ; then g
oto Mainloop
00269 ; Comp16L TMR1H,TMR1L,maxPulseValue
MPASM 5.02 MAINMOTORDRIVER.ASM 3-29-2006 0:37:12 PAGE 8
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
00270 ; BTFSS STATUS,C ; else I
f counter > maxPulseValue (~2ms)
00271 ; GOTO Mainloop ; then g
oto Mainloop
00272 Sub16L TMR1H,TMR1L,ms1Value ; else counter-value - 1
ms
0051 3020 M MOVLW low ms1Value
Message[305]: Using default destination of 1 (file).
0052 028E M SUBWF TMR1L
0053 304E M MOVLW high ms1Value
M ;BTFSS STATUS,C
M ;INCFSZ high Number,W
Message[305]: Using default destination of 1 (file).
0054 028F M SUBWF TMR1H
00273 Comp16L TMR1H,TMR1L,ms05Value
0055 080F M MOVF TMR1H,W
0056 3C27 M SUBLW high ms05Value
0057 1D03 M BTFSS STATUS,Z
M EXITM
0058 1C03 00274 BTFSS STATUS,C ; If cou
nter > 0,5ms
0059 285B 00275 GOTO PWM_Fwr ; then g
oto PWM_forward
005A 2861 00276 GOTO PWM_Rev ; else g
oto PWN_reverse
00277
005B 1395 00278 PWM_Fwr: BCF CCP1CON,P1M1 ; Set H-bridge i
n forward-mode
00279 Sub16L TMR1H,TMR1L,ms05Value ; counter-value - 0,5ms
005C 3010 M MOVLW low ms05Value
Message[305]: Using default destination of 1 (file).
005D 028E M SUBWF TMR1L
005E 3027 M MOVLW high ms05Value
M ;BTFSS STATUS,C
M ;INCFSZ high Number,W
Message[305]: Using default destination of 1 (file).
005F 028F M SUBWF TMR1H
0060 2869 00280 GOTO PWM_SetVal ; goto P
WM_SetValue
0061 1795 00281 PWM_Rev: BSF CCP1CON,P1M1 ; Set H-bridge i
n reverse-mode
0062 30FF 00282 MOVLW 0xFF
0063 068F 00283 XORWF TMR1H,F ; Invert
counterH
0064 068E 00284 XORWF TMR1L,F ; Invert
counterL
00285 Sub16L TMR1H,TMR1L,(0xFFFF-ms05Value) ; Inverted counter-value - (6553
5-0,5ms)
0065 30EF M MOVLW low (0xFFFF-ms05Value)
Message[305]: Using default destination of 1 (file).
0066 028E M SUBWF TMR1L
MPASM 5.02 MAINMOTORDRIVER.ASM 3-29-2006 0:37:12 PAGE 9
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
0067 30D8 M MOVLW high (0xFFFF-ms05Value)
M ;BTFSS STATUS,C
M ;INCFSZ high Number,W
Message[305]: Using default destination of 1 (file).
0068 028F M SUBWF TMR1H
00286
0069 080F 00287 PWM_SetVal: MOVF TMR1H,W ; Divide by 79..
.
006A 00A2 00288 MOVWF DivRegH ; Load d
iv-routine with countervalue
006B 080E 00289 MOVF TMR1L,W
006C 00A3 00290 MOVWF DivRegL ; Load d
iv-routine with countervalue
006D 3028 00291 MOVLW ((ms05Value/0xFF)+1) ; Load div-routine with
divide-value
006E 2013 00292 CALL Div16byL ; Divide
!
00293
00294 SetPWM DivRegL
006F 1003 M BCF STATUS,C
0070 0823 M MOVF DivRegL,W
0071 3903 M ANDLW b'00000011'
0072 00A4 M MOVWF SetPWM_Temp
0073 0DA4 M RLF SetPWM_Temp,F
0074 0DA4 M RLF SetPWM_Temp,F
0075 0DA4 M RLF SetPWM_Temp,F
0076 0DA4 M RLF SetPWM_Temp,F
0077 0815 M MOVF CCP1CON,W
0078 39CF M ANDLW b'11001111'
0079 0424 M IORWF SetPWM_Temp,W
007A 0095 M MOVWF CCP1CON
007B 0823 M MOVF DivRegL,W
007C 39FC M ANDLW b'11111100'
007D 00A4 M MOVWF SetPWM_Temp
007E 0CA4 M RRF SetPWM_Temp,F
007F 0CA4 M RRF SetPWM_Temp,F
0080 0824 M MOVF SetPWM_Temp,W
0081 0093 M MOVWF CCPR1L
00295
0082 2845 00296 GOTO Mainloop
00297 END
MPASM 5.02 MAINMOTORDRIVER.ASM 3-29-2006 0:37:12 PAGE 10
SYMBOL TABLE
LABEL VALUE
ADCON0 0000001F
ADCON1 0000009F
ADCS0 00000004
ADCS1 00000005
ADCS2 00000006
ADFM 00000007
ADIE 00000006
ADIF 00000006
ADON 00000000
ADRESH 0000001E
ADRESL 0000009E
ANS0 00000000
ANS1 00000001
ANS2 00000002
ANS3 00000003
ANS4 00000004
ANS5 00000005
ANS6 00000006
ANS7 00000007
ANSEL 00000091
C 00000000
C1IE 00000003
C1IF 00000003
C1INV 00000004
C1OUT 00000006
C2IE 00000004
C2IF 00000004
C2INV 00000005
C2OUT 00000007
C2SYNC 00000000
CCP1CON 00000015
CCP1IE 00000005
CCP1IF 00000005
CCP1M0 00000000
CCP1M1 00000001
CCP1M2 00000002
CCP1M3 00000003
CCPR1H 00000014
CCPR1L 00000013
CHS0 00000002
CHS1 00000003
CHS2 00000004
CIS 00000003
CM0 00000000
CM1 00000001
CM2 00000002
CMCON0 00000019
CMCON1 0000001A
Clear16
Comp16L
DC 00000001
DC1B0 00000004
DC1B1 00000005
MPASM 5.02 MAINMOTORDRIVER.ASM 3-29-2006 0:37:12 PAGE 11
SYMBOL TABLE
LABEL VALUE
Div16byL 00000013
DivCode 0000001F
DivRegH 00000022
DivRegL 00000023
DivSkipHiShift 00000026
ECCPAS 00000017
ECCPAS0 00000004
ECCPAS1 00000005
ECCPAS2 00000006
ECCPASE 00000007
EEADR 0000009B
EECON1 0000009C
EECON2 0000009D
EEDAT 0000009A
EEDATA 0000009A
EEIE 00000007
EEIF 00000007
F 00000001
FSR 00000004
GIE 00000007
GO 00000001
GO_DONE 00000001
HTS 00000002
INDF 00000000
INTCON 0000000B
INTE 00000004
INTEDG 00000006
INTF 00000001
IOC 00000096
IOC0 00000000
IOC1 00000001
IOC2 00000002
IOC3 00000003
IOC4 00000004
IOC5 00000005
IOCA 00000096
IOCA0 00000000
IOCA1 00000001
IOCA2 00000002
IOCA3 00000003
IOCA4 00000004
IOCA5 00000005
IRCF0 00000004
IRCF1 00000005
IRCF2 00000006
IRP 00000007
Int_Return 0000000E
Interrupt 00000005
LTS 00000001
Main 0000002C
Mainloop 00000045
NOT_BOD 00000000
NOT_DONE 00000001
MPASM 5.02 MAINMOTORDRIVER.ASM 3-29-2006 0:37:12 PAGE 12
SYMBOL TABLE
LABEL VALUE
NOT_PD 00000003
NOT_POR 00000001
NOT_RAPU 00000007
NOT_T1SYNC 00000002
NOT_TO 00000004
OPTION_REG 00000081
OSCCON 0000008F
OSCTUNE 00000090
OSFIE 00000002
OSFIF 00000002
OSTS 00000003
P1M0 00000006
P1M1 00000007
PCL 00000002
PCLATH 0000000A
PCON 0000008E
PDC0 00000000
PDC1 00000001
PDC2 00000002
PDC3 00000003
PDC4 00000004
PDC5 00000005
PDC6 00000006
PEIE 00000006
PIE1 0000008C
PIR1 0000000C
PORTA 00000005
PORTC 00000007
PPM_Hi 00000049
PPM_Lo 00000047
PPM_Loop 0000004E
PR2 00000092
PRSEN 00000007
PS0 00000000
PS1 00000001
PS2 00000002
PSA 00000003
PSSAC0 00000002
PSSAC1 00000003
PSSBD0 00000000
PSSBD1 00000001
PWM1CON 00000016
PWM_Fwr 0000005B
PWM_Rev 00000061
PWM_SetVal 00000069
RAIE 00000003
RAIF 00000000
RD 00000000
RP0 00000005
RP1 00000006
RestoreWregFromTemp
SBODEN 00000004
SCS 00000000
MPASM 5.02 MAINMOTORDRIVER.ASM 3-29-2006 0:37:12 PAGE 13
SYMBOL TABLE
LABEL VALUE
STATUS 00000003
STATUS_TEMP 00000021
SWDTEN 00000000
Set16L
SetPWM
SetPWM_Temp 00000024
StoreWregInTemp
Sub16L
T0CS 00000005
T0IE 00000005
T0IF 00000002
T0SE 00000004
T1CKPS0 00000004
T1CKPS1 00000005
T1CON 00000010
T1GINV 00000007
T1GSS 00000001
T1IE 00000000
T1IF 00000000
T1OSCEN 00000003
T2CKPS0 00000000
T2CKPS1 00000001
T2CON 00000012
T2IE 00000001
T2IF 00000001
TMR0 00000001
TMR1CS 00000001
TMR1GE 00000006
TMR1H 0000000F
TMR1IE 00000000
TMR1IF 00000000
TMR1L 0000000E
TMR1ON 00000000
TMR2 00000011
TMR2IE 00000001
TMR2IF 00000001
TMR2ON 00000002
TOUTPS0 00000003
TOUTPS1 00000004
TOUTPS2 00000005
TOUTPS3 00000006
TRISA 00000085
TRISC 00000087
TUN0 00000000
TUN1 00000001
TUN2 00000002
TUN3 00000003
TUN4 00000004
Timer1_Int 00000009
ULPWUE 00000005
VCFG 00000006
VR0 00000000
VR1 00000001
MPASM 5.02 MAINMOTORDRIVER.ASM 3-29-2006 0:37:12 PAGE 14
SYMBOL TABLE
LABEL VALUE
VR2 00000002
VR3 00000003
VRCON 00000099
VREN 00000007
VRR 00000005
W 00000000
WDTCON 00000018
WDTPS0 00000001
WDTPS1 00000002
WDTPS2 00000003
WDTPS3 00000004
WPU 00000095
WPUA 00000095
WR 00000001
WREN 00000002
WRERR 00000003
W_TEMP 00000020
Z 00000002
_BOD_NSLEEP 00003EFF
_BOD_OFF 00003CFF
_BOD_ON 00003FFF
_BOD_SBODEN 00003DFF
_CPD_OFF 00003FFF
_CPD_ON 00003F7F
_CP_OFF 00003FFF
_CP_ON 00003FBF
_EC_OSC 00003FFB
_EXTRC 00003FFF
_EXTRCIO 00003FFE
_EXTRC_OSC_CLKOUT 00003FFF
_EXTRC_OSC_NOCLKOUT 00003FFE
_FCMEN_OFF 000037FF
_FCMEN_ON 00003FFF
_HS_OSC 00003FFA
_IESO_OFF 00003BFF
_IESO_ON 00003FFF
_INTOSC 00003FFD
_INTOSCIO 00003FFC
_INTRC_OSC_CLKOUT 00003FFD
_INTRC_OSC_NOCLKOUT 00003FFC
_LP_OSC 00003FF8
_MCLRE_OFF 00003FDF
_MCLRE_ON 00003FFF
_PWRTE_OFF 00003FFF
_PWRTE_ON 00003FEF
_WDT_OFF 00003FF7
_WDT_ON 00003FFF
_XT_OSC 00003FF9
__16F684 00000001
iDivRepeat 00000000
maxPulseValue 00009C40
minPulseValue 00004E20
ms05Value 00002710
MPASM 5.02 MAINMOTORDRIVER.ASM 3-29-2006 0:37:12 PAGE 15
SYMBOL TABLE
LABEL VALUE
ms1Value 00004E20
MEMORY USAGE MAP ('X' = Used, '-' = Unused)
0000 : X---XXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX
0040 : XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX
0080 : XXX------------- ---------------- ---------------- ----------------
All other memory blocks unused.
Program Memory Words Used: 128
Program Memory Words Free: 1920
Errors : 0
Warnings : 10 reported, 0 suppressed
Messages : 12 reported, 0 suppressed