📄 can_ref.lst
字号:
00172 ;; Bit definitions CANCTRL
00173 #define trREQOP2 CANCTRL,7
00174 #define trREQOP1 CANCTRL,6
00175 #define trREQOP0 CANCTRL,5
00176 #define trABAT CANCTRL,4
00177 #define trCLKEN CANCTRL,2
00178 #define trCLKPRE1 CANCTRL,1
00179 #define trCLKPRE0 CANCTRL,0
00180
00181 ;; Dit definitions CNF3
00182 #define trWAKFIL CNF3,6
00183 #define trPHSEG22 CNF3,2
00184 #define trPHSEG21 CNF3,1
00185 #define trPHSEG20 CNF3,0
00186
00187 ;; Bit definitions CNF2
00188 #define trBTLMODE CNF2,7
00189 #define trSAM CNF2,6
00190 #define trPHSEG12 CNF2,5
00191 #define trPHSEG11 CNF2,4
00192 #define trPHSEG10 CNF2,3
00193 #define trPHSEG2 CNF2,2
00194 #define trPHSEG1 CNF2,1
00195 #define trPHSEG0 CNF2,0
00196
00197 ;; Bit definitions CNF1
00198 #define trSJW1 CNF1,7
00199 #define trSJW0 CNF1,6
00200 #define trBRP5 CNF1,5
00201 #define trBRP4 CNF1,4
00202 #define trBRP3 CNF1,3
00203 #define trBRP2 CNF1,2
00204 #define trBRP1 CNF1,1
00205 #define trBRP0 CNF1,0
00206
00207 ;; Bit definitions CANINTE
00208 #define trMERRE CANINTE,7
MPASM 02.20.15 Intermediate CAN_REF.ASM 2-8-2000 13:27:59 PAGE 15
CAN_Ref Design
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
00209 #define trWAKIE CANINTE,6
00210 #define trERRIE CANINTE,5
00211 #define trTX2IE CANINTE,4
00212 #define trTX1IE CANINTE,3
00213 #define trTX0IE CANINTE,2
00214 #define trRX1IE CANINTE,1
00215 #define trRX0IE CANINTE,0
00216
00217 ;; Bit definitions CANINTF
00218 #define trMERRF CANINTF,7
00219 #define trWAKIF CANINTF,6
00220 #define trERRIF CANINTF,5
00221 #define trTX2IF CANINTF,4
00222 #define trTX1IF CANINTF,3
00223 #define trTX0IF CANINTF,2
00224 #define trRX1IF CANINTF,1
00225 #define trRX0IF CANINTF,0
00226
00227 ;; Bit definitions EFLG
00228 #define trRX1OVR EFLG,7
00229 #define trRX0OVR EFLG,6
00230 #define trTXB0 EFLG,5
00231 #define trTXEP EFLG,4
00232 #define trRXEP EFLG,3
00233 #define trTXWAR EFLG,2
00234 #define trRXWAR EFLG,1
00235 #define trEWARN EFLG,0
00236
00237 ;; Bit definitions TXB0CTRL
00238 #define trABTF0 TXB0CTRL,6
00239 #define trMLOA0 TXB0CTRL,5
00240 #define trTXERR0 TXB0CTRL,4
00241 #define trTXREQ0 TXB0CTRL,3
00242 #define trTXP10 TXB0CTRL,1
00243 #define trTXP00 TXB0CTRL,0
00244
00245 ;; Bit definitions TXB1CTRL
00246 #define trABTF1 TXB1CTRL,6
00247 #define trMLOA1 TXB1CTRL,5
00248 #define trTXERR1 TXB1CTRL,4
00249 #define trTXREQ1 TXB1CTRL,3
00250 #define trTXP11 TXB1CTRL,1
00251 #define trTXP01 TXB1CTRL,0
00252
00253 ;; Bit definitions TXB2CTRL
00254 #define trABTF2 TXB2CTRL,6
00255 #define trMLOA2 TXB2CTRL,5
00256 #define trTXERR2 TXB2CTRL,4
00257 #define trTXREQ2 TXB2CTRL,3
00258 #define trTXP12 TXB2CTRL,1
00259 #define trTXP02 TXB2CTRL,0
00260
00261 ;; Bit definitions RXB0CTRL
MPASM 02.20.15 Intermediate CAN_REF.ASM 2-8-2000 13:27:59 PAGE 16
CAN_Ref Design
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
00262 #define trRXM10 RXB0CTRL,6
00263 #define trRXM00 RXB0CTRL,5
00264 #define trRXRTR0 RXB0CTRL,3
00265 #define trBUKT01 RXB0CTRL,2
00266 #define trBUKT00 RXB0CTRL,1
00267 #define trFILHIT00 RXB0CTRL,0
00268
00269 ;; Bit definitions RXB1CTRL
00270 #define trRXM11 RXB1CTRL,6
00271 #define trRXM01 RXB1CTRL,5
00272 #define trRXRTR1 RXB1CTRL,3
00273 #define trFILHIT12 RXB1CTRL,2
00274 #define trFILHIT11 RXB1CTRL,1
00275 #define trFILHIT10 RXB1CTRL,0
00276
00277
00278 ;; use with SPI_Rts function
00279 #define RTS0 0x01
00280 #define RTS1 0x02
00281 #define RTS2 0x04
00077
00078 ; errorlevel 0,-306,-302,-305
00079
00080
00081 ;******** constants
00082
00083 ;Crystal freq 4.00 MHz, Fosc/4 = 1 uS
00084 ;
00085 ; Timer 1: Uses no prescale => Tic is 1 uSec
00086 ; 8 bit rollover 256 uSec
00087 ; 16 bit rollover 65.536 mSec
00088
00089 ; 8 bit timers
00090 ; TMR1L: 1 uSec tics with maximum of 1/2 rollover = 128 uSec maximum
00091 ; TMR1H: 256 uSec tics with maximum of 1/2 rollover = 32.768 msec maximum
00092
00093
00094
00095 ;======================================================================
00096
00097 ;************************
00098 ; A/D selection ( value of ADCON0 )
00099
00100 #define dA2DRA0 B'01000000' ; fosc/8 clk, RA0, A/D off
00101 #define dA2DRA3 B'01011000' ; fosc/8 clk, RA3, A/D off
00102
00103
00104 ;************************
00105 ; special function defines
00106
00107 #define _SSPEN SSPCON,SSPEN ; SPI enable
00108
00109 ;************************
MPASM 02.20.15 Intermediate CAN_REF.ASM 2-8-2000 13:27:59 PAGE 17
CAN_Ref Design
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
00110
00111 ;; General control flags definitions
00112
00113 #define tbWork bGenFlags1,0 ; working bit
00114 #define tbReset bGenFlags1,1 ; must reset
00115 #define tbNewSPI bGenFlags1,2 ; new SPI data available
00116 #define tbRxMsgPend bGenFlags1,3 ; new CAN message received
00117 #define tbTxMsg bGenFlags1,4 ; xmit next CAN message
00118 #define tbRC2NowHigh bGenFlags1,5 ; Robot PWM signal high
00119
00120
00121 ;***************** PIN DEFINITIONS **************************
00122
00123 #define tp2510_CS_ PORTA,1 ; CS_ for 2510 chip
00124
00125 ;; I/O
00126 #define tpSwitch_ PORTB,1 ; Push button switch, Open => high
00127 #define tpLED PORTB,2 ; LED
00128
00129 ;; Analog In
00130 #define tpA2D_CS_ PORTB,1 ; CS_ for 3201 A2D chip
00131 #define tpEE_CS_ PORTB,2 ; CS_ for 25040 E2
00132
00133 ;***************** LOCAL REGISTER STORAGE **************************
00134 ;
00135 ;
00136 ;============ BANK 0 =================
00137
00138 cblock 0x20
00139 ;; interrupt variables
00000020 00140 bIntSaveSt ; save Status
00000021 00141 bIntSaveFSR ; save FSR
00000022 00142 bIntSavPCLATH ; interrupt storage for PCLATH
00000023 00143 bIntWork ; working
00000024 00144 iIntWork:2 ; working
00145
00146 ;; general work space
00000026 00147 bGenFlags1 ; general control flags 1
00000027 00148 bGenFlags2 ; general control flags 2
00000028 00149 bWork ; work byte
00000029 00150 bWork1 ; work byte
0000002A 00151 iWork:2 ; work integer
0000002C 00152 bCnt ; work byte counter
00153
00154 ;; Arithmetic
0000002D 00155 iA:2 ; 2 byte integer
0000002F 00156 iB:2 ; 2 byte integer
00157
00158 ;; Timer1
00000031 00159 iTimer1:2 ; counts Timer1 rollover
00000033 00160 bGenClk ; general clock
00000034 00161 bXmitClk ; Countdown to xmit next message
00162
MPASM 02.20.15 Intermediate CAN_REF.ASM 2-8-2000 13:27:59 PAGE 18
CAN_Ref Design
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
00163 ;; In/Out variables
00000035 00164 iA2DValue:2 ; 12 bit or 8 bit A2D value
00000037 00165 bPWMValue ; 8 bit PWM value
00000038 00166 iRecValue:2 ; 12 bit received value
00167
00168 ;; general control
0000003A 00169 bSwXmitID ; ID for transmission from DIP switch
0000003B 00170 bBaseRecID ; ID for reception from DIP switch
0000003C 00171 bRecIDNext ; Rec Base ID + 1
0000003D 00172 bXmitID ; ID for transmission of next msg
0000003E 00173 bNextMsgType ; Select next msg
00174
00175 ;; Received CAN message
0000003F 00176 iRecID_L ; ID of received message (3 bits left justified)
00000040 00177 iRecID_H ; ID of received message (8 bits left justified)
00000041 00178 bRecCount ; number of bytes received
00000042 00179 pRecDataBase:8 ; received data
00180
00181 ;; Low level SPI interface
0000004A 00182 b2510RegAdr ; Register address
0000004B 00183 b2510RegData ; Data sent/received
0000004C 00184 b2510RegMask ; Bit Mask
00185
00186 ; following used in interrupt
0000004D 00187 bSPICnt ; # bytes remaining to receive
0000004E 00188 pSPIBuf ; Pointer into buffer
0000004F 00189 pSPIBufBase:12 ; Base of SPI receive/xmit buffer
00190
00191 endc
00192
00193
00194 ; storage for interrupt service routine
00195 ; W saved in one of these locations depending on the page selected
00196 ; at the time the interrupt occured
00197
0000007F 00198 bIntSaveW0 equ 0x7F ; interrupt storage for W
00199
00200 ;============ BANK 1 =================
000000FF 00201 bIntSaveW1 equ 0xFF ; interrupt storage for W
00202
00203 ;*******************************************************************
00204 ;********** LOCAL MACROS *******************************************
00205 ;*******************************************************************
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -