📄 int.lst
字号:
173 // 10ms, CPU will close all the outputs.
174 //-----------------------------------------------------------------------------
175 void Timer_Init (void) {
176 1 SFRPAGE = TIMER01_PAGE;
177 1 TMOD |= 0x01;
178 1 CKCON |= 0x02;
179 1 TH0 = 0xFF;
C51 COMPILER V7.10 INT 07/27/2008 16:49:17 PAGE 4
180 1 TL0 = 0xFF;
181 1 }
182
183
184 /*
185 //-----------------------------------------------------------------------------
186 // CAN_send(unsigned char MsgNum,unsigned char *p ) :update the data & start send
187 //-----------------------------------------------------------------------------
188 void CAN_Transmit(unsigned char MsgNum,unsigned char *p_data )
189 {
190 unsigned char num;
191
192 SFRPAGE = CAN0_PAGE;
193 CAN0ADR = IF1CMDMSK;
194 CAN0DATL = 0x87; //wr/rd=1,mask=0,arb=0,control=0,,clrintpnd=0,txrqet=1,dataa=1,datab=1
195
196 CAN0ADR = IF1DATA1;
197 for(num=0;num<8;num++)
198 {
199 CAN0DATH=p_data[num];
200 num++;
201 CAN0DATL=p_data[num];
202 }
203
204 CAN0ADR = IF1CMDRQST;
205 CAN0DATL = MsgNum; //
206 }
207 */
208
209
210 //-----------------------------------------------------------------------------
211 // CAN_receive(unsigned char MsgNum,unsigned char *p )
212 //-----------------------------------------------------------------------------
213 void CAN_Receive (unsigned char MsgNum ,unsigned char *p)
214 {
215 1 unsigned char num;
216 1
217 1 SFRPAGE = CAN0_PAGE;
218 1 CAN0ADR = IF2CMDMSK;
219 1 CAN0DATL = 0x0F;
220 1 CAN0ADR = IF2CMDRQST;
221 1 CAN0DATL = MsgNum;
222 1
223 1 CAN0ADR = IF2DATA1;
224 1 for(num=0;num<4;num++)
225 1 {
226 2 *p++ = CAN0DATH;
227 2 *p++ = CAN0DATL;
228 2 }
229 1 }
230
231
232
233 //-----------------------------------------------------------------------------
234 // remote_rqst_int(unsigned char MsgNum , unsigned char id)
235 //wr/rd=1,mask=0,arb=1,control=1,,clrintpnd=0,txrqet=0,dataa=1,datab=1
236 //-----------------------------------------------------------------------------
237 void CAN_RemoteRqst_Init(unsigned char MsgNum , unsigned char id) //id=1
238 {
239 1
240 1 // unsigned char id_tempL,id_tempH;
241 1 // id_tempL = id << 2; // id & 0x0F) << 2
C51 COMPILER V7.10 INT 07/27/2008 16:49:17 PAGE 5
242 1 // id_tempH = id >> 6;
243 1 // id_tempH = id_tempH || 0x80; // MsgVal=1, Dir =0
244 1
245 1 SFRPAGE = CAN0_PAGE;
246 1 CAN0ADR = IF1CMDMSK;
247 1 CAN0DATL = 0xb0; //wr/rd=1,mask=0,arb=1,control=1,,clrintpnd=0,txrqet=0,dataa=1,datab=1
248 1 //?? remote data??
249 1
250 1 CAN0ADR = IF1ARB1;
251 1 CAN0DATH = 0x00;
252 1 CAN0DATL = 0x00;
253 1 CAN0DATH = 0x80; // MsgVal=1, Dir =0
254 1 CAN0DATL = (id << 2 ) & 0x3C; //IF2ARB
255 1 //MsgVal=1, Xad=0,Dir=0:receive
256 1
257 1 CAN0DATH = 0x04; //not use the filter,RxEn=1
258 1 CAN0DATL = 0x88; //IF2MSGC
259 1
260 1 CAN0ADR = IF1CMDRQST;
261 1 CAN0DATL = MsgNum;
262 1 }
263
264
265
266 //-----------------------------------------------------------------------------
267 // remote_rqst(unsigned char MsgNum)
268 //-----------------------------------------------------------------------------
269 void CAN_RemoteRqst(unsigned char MsgNum)
270 {
271 1 SFRPAGE = CAN0_PAGE;
272 1
273 1 CAN0ADR = IF1CMDMSK;
274 1 CAN0DATL = 0x87; //wr/rd=1,mask=0,arb=0,control=0,,clrintpnd=0,txrqet=1,dataa=1,datab=1
275 1 //?? remote data??
276 1
277 1 CAN0ADR = IF1CMDRQST;
278 1 CAN0DATL = MsgNum;
279 1 }
280
281 /*
282 void CAN_Remote_Send_Init(unsigned char MsgNum,unsigned char id )
283 {
284 SFRPAGE = CAN0_PAGE;
285 CAN0ADR = IF1CMDMSK;
286 CAN0DATL = 0xb3; //wr/rd=1,mask=0,arb=1,control=1,,clrintpnd=0,txrqet=0,dataa=1,datab=1
287
288 CAN0ADR = IF1ARB1;
289 CAN0DATH = 0x00;
290 CAN0DATL = 0x00;
291 CAN0DATH = 0xA0; //
292 CAN0DATL = (id << 2 ) & 0x3C; //0x80 | (((DO_Address & 0x0F) << 2)); //IF1ARB
293 //MsgVal=1, Xad=0,Dir=1:send
294 CAN0DATH = 0x0a; // not use the filter,UMask=0,RmtEn=1,TxIE=1
295 CAN0DATL = 0x88; //IF1MSGC: eob=1, dlc =8
296
297 CAN0DATH = 0x00;
298 CAN0DATL = 0x00; //data A1
299 CAN0DATH = 0x00;
300 CAN0DATL = 0x00; //data A2
301 CAN0DATH = 0x00;
302 CAN0DATL = 0x00; //data B1
303 CAN0DATH = 0x00;
C51 COMPILER V7.10 INT 07/27/2008 16:49:17 PAGE 6
304 CAN0DATL = 0x00; //data B2
305
306 CAN0ADR = IF1CMDRQST;
307 CAN0DATL = MsgNum; //
308 }
309
310
311 void CAN_Remote_Updata(unsigned char MsgNum,unsigned char *p_data )
312 {
313 unsigned char num;
314
315 SFRPAGE = CAN0_PAGE;
316 CAN0ADR = IF2CMDMSK;
317 CAN0DATL = 0x08; //wr/rd=0,mask=0,arb=0,control=0,,clrintpnd=1,txrqet=0,dataa=0,datab=0
318 CAN0ADR = IF2CMDRQST;
319 CAN0DATL = MsgNum; //
320
321 CAN0ADR = IF1CMDMSK;
322 CAN0DATL = 0x8b; //wr/rd=1,mask=0,arb=0,control=0,,clrintpnd=1,txrqet=0,dataa=1,datab=1
323
324 CAN0ADR = IF1DATA1;
325 for(num=0;num<8;num++)
326 {
327 CAN0DATH=p_data[num];
328 num++;
329 CAN0DATL=p_data[num];
330 }
331
332 CAN0ADR = IF1CMDRQST;
333 CAN0DATL = MsgNum;
334 }
335 */
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 330 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = 8 ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 3
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -