?? i2cm_io.lst
字號:
297 000000bc 761A EDIS
298 000000bd 0006 LRETR
299
300 ;======================================================================
301 ; Data Transmit State Machine
302 ; TSTATE2: Drive SCL LOW & shiftout data to SDA line
303 ;=====================================================================
304 000000be TXMIT_S2:
305 000000be 560D TSET *+XAR6[0],#(SCL_BIT) ; Set the SCL pin as output
000000bf 02C6
306 000000c0 5609 TCLR *+XAR6[AR0],#SCL_BIT ; Drive the SCL pin LOW
000000c1 0296
307
308 000000c2 2DDC MOV T,*+XAR4[3] ; T=bitCntr
309
310 000000c3 5625 TBIT *+XAR4[2],T
000000c4 00D4
311 000000c5 EE09 SBF TX_SDA_HI,TC
312
313 000000c6 28C4 MOV *+XAR4[0],#TXMIT_S3_INDEX
000000c7 0026
314 000000c8 560D TSET *+XAR5[0],#(SDA_BIT) ; Set the SDA pin as output
000000c9 01C5
315 000000ca 5609 TCLR *+XAR5[AR0],#SDA_BIT ; Drive the SDA pin LOW
000000cb 0195
316 000000cc 761A EDIS
317 000000cd 0006 LRETR
318
TMS320C2000 COFF Assembler PC Version 3.06 Fri Aug 01 12:16:20 2003
Tools Copyright (c) 1996-2002 Texas Instruments Incorporated
i2cm_io.asm PAGE 8
319 000000ce TX_SDA_HI:
320 000000ce 5609 TCLR *+XAR5[0],#(SDA_BIT) ; Set the SDA pin as input
000000cf 01C5
321 000000d0 4195 TBIT *+XAR5[AR0],#SDA_BIT
322 000000d1 56BD MOVB *+XAR4[0],#TXMIT_S3_INDEX,TC
000000d2 26C4
323 000000d3 761A EDIS
324 000000d4 0006 LRETR
325
326 ;======================================================================
327 ; Data Transmit State Machine
328 ; TSTATE3: De-select SCL, and move to next state if sampled HIGH
329 ;=====================================================================
330 000000d5 TXMIT_S3:
331 000000d5 5609 TCLR *+XAR6[0],#(SCL_BIT) ; Set the SCL pin as input
000000d6 02C6
332 000000d7 4296 TBIT *+XAR6[AR0],#SCL_BIT
333 000000d8 EF09 SBF TXMIT_S3_EXIT,NTC
334
335 000000d9 0ADC INC *+XAR4[3] ; bitCntr++
336 000000da 28C4 MOV *+XAR4[0],#TXMIT_S2_INDEX
000000db 0024
337 000000dc 85DC MOV ACC,*+XAR4[3]
338 000000dd 5609 TCLR AL,#4
000000de 04A9
339 000000df 56B1 MOVB *+XAR4[0],#TXMIT_S4_INDEX,EQ
000000e0 28C4
340 ; Go to ack receive after Txmit
341 000000e1 TXMIT_S3_EXIT:
342 000000e1 761A EDIS
343 000000e2 0006 LRETR
344
345 ;======================================================================
346 ; Data Transmit State Machine
347 ; TSTATE4: Drive SCL LOW, and De-select SDA
348 ;=====================================================================
349 000000e3 TXMIT_S4:
350 000000e3 560D TSET *+XAR6[0],#(SCL_BIT) ; Set the SCL pin as output
000000e4 02C6
351 000000e5 5609 TCLR *+XAR6[AR0],#SCL_BIT ; Drive the SCL pin LOW
000000e6 0296
352 000000e7 5609 TCLR *+XAR5[0],#(SDA_BIT) ; Set the SDA pin as input
000000e8 01C5
353 000000e9 28C4 MOV *+XAR4[0],#TXMIT_S5_INDEX
000000ea 002A
354 000000eb 761A EDIS
355 000000ec 0006 LRETR
356
357 ;======================================================================
358 ; Data Transmit State Machine (Read Acknowledge)
359 ; TSTATE5: De-Assert SCL, Shift in ACK if SCL sampled HIGH
360 ;=====================================================================
361 000000ed TXMIT_S5:
362 000000ed 5609 TCLR *+XAR6[0],#(SCL_BIT) ; Set the SCL pin as input
000000ee 02C6
TMS320C2000 COFF Assembler PC Version 3.06 Fri Aug 01 12:16:20 2003
Tools Copyright (c) 1996-2002 Texas Instruments Incorporated
i2cm_io.asm PAGE 9
363 000000ef 4296 TBIT *+XAR6[AR0],#SCL_BIT
364 000000f0 EF09 SBF TXMIT_S5_EXIT,NTC
365
366 000000f1 28C4 MOV *+XAR4[0],#TXMIT_S6_INDEX
000000f2 002C
367
368 000000f3 5609 TCLR *+XAR4[1],#ACKSTAT_BIT
000000f4 00CC
369 000000f5 4195 TBIT *+XAR5[AR0],#SDA_BIT
370 000000f6 EF03 SBF TXMIT_S5_EXIT,NTC
371 000000f7 560D TSET *+XAR4[1],#ACKSTAT_BIT
000000f8 00CC
372
373 000000f9 TXMIT_S5_EXIT:
374 000000f9 761A EDIS
375 000000fa 0006 LRETR
376
377 ;======================================================================
378 ; Data Transmit State Machine (Read Acknowledge)
379 ; TSTATE6: Drive SCL LOW
380 ;=====================================================================
381 000000fb TXMIT_S6:
382 000000fb 560D TSET *+XAR6[0],#(SCL_BIT) ; Set the SCL pin as output
000000fc 02C6
383 000000fd 5609 TCLR *+XAR6[AR0],#SCL_BIT ; Drive the SCL pin LOW
000000fe 0296
384 000000ff 2BC4 MOV *+XAR4[0],#IDLE_INDEX ; Update the Task to next state
385 00000100 761A EDIS
386 00000101 0006 LRETR
387
388 ;======================================================================
389 ; IDLE STATE
390 ;=====================================================================
391 00000102 IDLE_S1:
392 00000102 761A EDIS
393 00000103 0006 LRETR
394
395 .align 2
396
397 00000104 TASK_PTR:
398 00000104 0102' .xlong IDLE_S1
00000105 0000
399 00000106 0023' .xlong START_S1
00000107 0000
400 00000108 002D' .xlong START_S2
00000109 0000
401 0000010a 0035' .xlong START_S3
0000010b 0000
402 0000010c 003D' .xlong START_S4
0000010d 0000
403
404 0000010e 0044' .xlong STOP_S1
0000010f 0000
405 00000110 004C' .xlong STOP_S2
00000111 0000
TMS320C2000 COFF Assembler PC Version 3.06 Fri Aug 01 12:16:20 2003
Tools Copyright (c) 1996-2002 Texas Instruments Incorporated
i2cm_io.asm PAGE 10
406 00000112 0053' .xlong STOP_S3
00000113 0000
407
408 00000114 005A' .xlong RSTART_S1
00000115 0000
409 00000116 0062' .xlong RSTART_S2
00000117 0000
410 00000118 0069' .xlong RSTART_S3
00000119 0000
411
412 0000011a 0070' .xlong ACK_S1
0000011b 0000
413 0000011c 0085' .xlong ACK_S2
0000011d 0000
414 0000011e 008C' .xlong ACK_S3
0000011f 0000
415
416 00000120 0095' .xlong RECV_S1
00000121 0000
417 00000122 009C' .xlong RECV_S2
00000123 0000
418 00000124 00AB' .xlong RECV_S3
00000125 0000
419
420 00000126 00B8' .xlong TXMIT_S1
00000127 0000
421 00000128 00BE' .xlong TXMIT_S2
00000129 0000
422 0000012a 00D5' .xlong TXMIT_S3
0000012b 0000
423 0000012c 00E3' .xlong TXMIT_S4
0000012d 0000
424 0000012e 00ED' .xlong TXMIT_S5
0000012f 0000
425 00000130 00FB' .xlong TXMIT_S6
00000131 0000
426
427
428
No Assembly Errors, No Assembly Warnings
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -